From 1eb396257e3c5a81430f63d7756c82d965d6bce8 Mon Sep 17 00:00:00 2001 From: dragolea Date: Mon, 22 Jan 2024 09:41:54 +0200 Subject: [PATCH 1/8] Updated : tests --- .../@cds-models/AdminService/index.js | 14 +++ .../@cds-models/CatalogService/index.js | 26 +++++ .../@cds-models/CatalogService/index.ts | 13 +++ test/bookshop/@cds-models/_/index.js | 6 ++ test/bookshop/@cds-models/index.js | 8 ++ .../@cds-models/sap/capire/bookshop/index.js | 26 +++++ .../@cds-models/sap/capire/bookshop/index.ts | 13 +++ test/bookshop/@cds-models/sap/common/index.js | 12 +++ .../data/sap.capire.bookshop-Publishers.csv | 3 + test/bookshop/db/schema.cds | 6 +- .../cat-service/catalog-service.cds | 1 + .../controller/cat-service/catalog-service.ts | 2 + .../cat-service/handler/PublishersHandler.ts | 16 +++ .../cat-service/handler/UnboundActions.ts | 9 ++ .../CDS-TS-Dispatcher.postman_collection.json | 99 ++++++++++++++----- test/e2e/environment.json | 10 +- test/unit/ON.test.ts | 6 +- 17 files changed, 240 insertions(+), 30 deletions(-) create mode 100644 test/bookshop/@cds-models/AdminService/index.js create mode 100644 test/bookshop/@cds-models/CatalogService/index.js create mode 100644 test/bookshop/@cds-models/_/index.js create mode 100644 test/bookshop/@cds-models/index.js create mode 100644 test/bookshop/@cds-models/sap/capire/bookshop/index.js create mode 100644 test/bookshop/@cds-models/sap/common/index.js create mode 100644 test/bookshop/db/data/sap.capire.bookshop-Publishers.csv create mode 100644 test/bookshop/srv/controller/cat-service/handler/PublishersHandler.ts diff --git a/test/bookshop/@cds-models/AdminService/index.js b/test/bookshop/@cds-models/AdminService/index.js new file mode 100644 index 0000000..c49ffe1 --- /dev/null +++ b/test/bookshop/@cds-models/AdminService/index.js @@ -0,0 +1,14 @@ +// This is an automatically generated file. Please do not change its contents manually! +const cds = require('@sap/cds') +const csn = cds.entities('AdminService') +module.exports = { name: 'AdminService' } +module.exports.UserActivityLog = csn.UserActivityLog +module.exports.UserActivityLog_ = csn.UserActivityLog +module.exports.Promotion = csn.Promotions +module.exports.Promotions = csn.Promotions +module.exports.User = csn.Users +module.exports.Users = csn.Users +// events +// actions +module.exports.sendMail = 'sendMail' +// enums diff --git a/test/bookshop/@cds-models/CatalogService/index.js b/test/bookshop/@cds-models/CatalogService/index.js new file mode 100644 index 0000000..25e42d1 --- /dev/null +++ b/test/bookshop/@cds-models/CatalogService/index.js @@ -0,0 +1,26 @@ +// This is an automatically generated file. Please do not change its contents manually! +const cds = require('@sap/cds') +const csn = cds.entities('CatalogService') +module.exports = { name: 'CatalogService' } +module.exports.Book = csn.Books +module.exports.Books = csn.Books +module.exports.Author = csn.Authors +module.exports.Authors = csn.Authors +module.exports.Review = csn.Reviews +module.exports.Reviews = csn.Reviews +module.exports.Publisher = csn.Publishers +module.exports.Publishers = csn.Publishers +module.exports.BookEvent = csn.BookEvents +module.exports.BookEvents = csn.BookEvents +module.exports.BookStat = csn.BookStats +module.exports.BookStats = csn.BookStats +module.exports.Currency = csn.Currencies +module.exports.Currencies = csn.Currencies +module.exports.Genre = csn.Genres +module.exports.Genres = csn.Genres +// events +module.exports.OrderedBook = 'CatalogService.OrderedBook' +// actions +module.exports.submitOrder = 'submitOrder' +module.exports.submitOrderFunction = 'submitOrderFunction' +// enums diff --git a/test/bookshop/@cds-models/CatalogService/index.ts b/test/bookshop/@cds-models/CatalogService/index.ts index f53056b..1c452eb 100644 --- a/test/bookshop/@cds-models/CatalogService/index.ts +++ b/test/bookshop/@cds-models/CatalogService/index.ts @@ -71,6 +71,19 @@ export class Reviews extends Array {} Object.defineProperty(Review, 'name', { value: 'CatalogService.Reviews' }) Object.defineProperty(Reviews, 'name', { value: 'CatalogService.Reviews' }) +export function _PublisherAspect object>(Base: TBase) { + return class Publisher extends Base { + ID?: number; + name?: string | null; + static actions: { + } + }; +} +export class Publisher extends _._managedAspect(_PublisherAspect(__.Entity)) {} +export class Publishers extends Array {} +Object.defineProperty(Publisher, 'name', { value: 'CatalogService.Publishers' }) +Object.defineProperty(Publishers, 'name', { value: 'CatalogService.Publishers' }) + export function _BookEventAspect object>(Base: TBase) { return class BookEvent extends Base { name?: string | null; diff --git a/test/bookshop/@cds-models/_/index.js b/test/bookshop/@cds-models/_/index.js new file mode 100644 index 0000000..3ff3c3e --- /dev/null +++ b/test/bookshop/@cds-models/_/index.js @@ -0,0 +1,6 @@ +// This is an automatically generated file. Please do not change its contents manually! +const cds = require('@sap/cds') +const csn = cds.entities('_') +// events +// actions +// enums diff --git a/test/bookshop/@cds-models/index.js b/test/bookshop/@cds-models/index.js new file mode 100644 index 0000000..45a050e --- /dev/null +++ b/test/bookshop/@cds-models/index.js @@ -0,0 +1,8 @@ +// This is an automatically generated file. Please do not change its contents manually! +const cds = require('@sap/cds') +const csn = cds.entities('') +// events +// actions +// enums +module.exports.Roles ??= { USER: "USER", ADMIN: "ADMIN" } +module.exports.BookTypes ??= { BOOK_SIGNING: "BOOK_SIGNING", AUTHOR_TALK: "AUTHOR_TALK", BOOK_LUNCH: "BOOK_LUNCH" } diff --git a/test/bookshop/@cds-models/sap/capire/bookshop/index.js b/test/bookshop/@cds-models/sap/capire/bookshop/index.js new file mode 100644 index 0000000..93bc081 --- /dev/null +++ b/test/bookshop/@cds-models/sap/capire/bookshop/index.js @@ -0,0 +1,26 @@ +// This is an automatically generated file. Please do not change its contents manually! +const cds = require('@sap/cds') +const csn = cds.entities('sap.capire.bookshop') +module.exports.Book = csn.Books +module.exports.Books = csn.Books +module.exports.Publisher = csn.Publishers +module.exports.Publishers = csn.Publishers +module.exports.BookStat = csn.BookStats +module.exports.BookStats = csn.BookStats +module.exports.Author = csn.Authors +module.exports.Authors = csn.Authors +module.exports.Genre = csn.Genres +module.exports.Genres = csn.Genres +module.exports.Review = csn.Reviews +module.exports.Reviews = csn.Reviews +module.exports.BookEvent = csn.BookEvents +module.exports.BookEvents = csn.BookEvents +module.exports.User = csn.Users +module.exports.Users = csn.Users +module.exports.UserActivityLog = csn.UserActivityLog +module.exports.UserActivityLog_ = csn.UserActivityLog +module.exports.Promotion = csn.Promotions +module.exports.Promotions = csn.Promotions +// events +// actions +// enums diff --git a/test/bookshop/@cds-models/sap/capire/bookshop/index.ts b/test/bookshop/@cds-models/sap/capire/bookshop/index.ts index ff45d98..9a8f3dd 100644 --- a/test/bookshop/@cds-models/sap/capire/bookshop/index.ts +++ b/test/bookshop/@cds-models/sap/capire/bookshop/index.ts @@ -33,6 +33,19 @@ export class Books extends Array {} Object.defineProperty(Book, 'name', { value: 'sap.capire.bookshop.Books' }) Object.defineProperty(Books, 'name', { value: 'sap.capire.bookshop.Books' }) +export function _PublisherAspect object>(Base: TBase) { + return class Publisher extends Base { + ID?: number; + name?: string | null; + static actions: { + } + }; +} +export class Publisher extends _._managedAspect(_PublisherAspect(__.Entity)) {} +export class Publishers extends Array {} +Object.defineProperty(Publisher, 'name', { value: 'sap.capire.bookshop.Publishers' }) +Object.defineProperty(Publishers, 'name', { value: 'sap.capire.bookshop.Publishers' }) + export function _BookStatAspect object>(Base: TBase) { return class BookStat extends Base { ID?: number | null; diff --git a/test/bookshop/@cds-models/sap/common/index.js b/test/bookshop/@cds-models/sap/common/index.js new file mode 100644 index 0000000..f019ddd --- /dev/null +++ b/test/bookshop/@cds-models/sap/common/index.js @@ -0,0 +1,12 @@ +// This is an automatically generated file. Please do not change its contents manually! +const cds = require('@sap/cds') +const csn = cds.entities('sap.common') +module.exports.Language = csn.Languages +module.exports.Languages = csn.Languages +module.exports.Country = csn.Countries +module.exports.Countries = csn.Countries +module.exports.Currency = csn.Currencies +module.exports.Currencies = csn.Currencies +// events +// actions +// enums diff --git a/test/bookshop/db/data/sap.capire.bookshop-Publishers.csv b/test/bookshop/db/data/sap.capire.bookshop-Publishers.csv new file mode 100644 index 0000000..34f505c --- /dev/null +++ b/test/bookshop/db/data/sap.capire.bookshop-Publishers.csv @@ -0,0 +1,3 @@ +ID,name +1,Daniel +2,Sebastian \ No newline at end of file diff --git a/test/bookshop/db/schema.cds b/test/bookshop/db/schema.cds index 333482a..23dd168 100644 --- a/test/bookshop/db/schema.cds +++ b/test/bookshop/db/schema.cds @@ -37,6 +37,11 @@ entity Books : managed { } +entity Publishers : managed { + key ID : Integer; + name : String(111) @mandatory; +} + entity BookStats : managed { key ID : Integer; views : Integer; @@ -115,7 +120,6 @@ entity Promotions { // Associations books : Association to many Books; -// Add more associations as needed } // ************************************************************************************************** diff --git a/test/bookshop/srv/controller/cat-service/catalog-service.cds b/test/bookshop/srv/controller/cat-service/catalog-service.cds index e556a22..f02c914 100644 --- a/test/bookshop/srv/controller/cat-service/catalog-service.cds +++ b/test/bookshop/srv/controller/cat-service/catalog-service.cds @@ -5,6 +5,7 @@ service CatalogService { entity Books as projection on my.Books; entity Authors as projection on my.Authors entity Reviews as projection on my.Reviews; + entity Publishers as projection on my.Publishers; @odata.draft.enabled: true entity BookEvents as projection on my.BookEvents; diff --git a/test/bookshop/srv/controller/cat-service/catalog-service.ts b/test/bookshop/srv/controller/cat-service/catalog-service.ts index f91c724..98f67b6 100644 --- a/test/bookshop/srv/controller/cat-service/catalog-service.ts +++ b/test/bookshop/srv/controller/cat-service/catalog-service.ts @@ -2,6 +2,7 @@ import { CDSDispatcher } from '../../../../../lib'; import BookEventsHandler from './handler/BookEventsHandler'; import BookHandler from './handler/BookHandler'; import BookStatsHandler from './handler/BookStatsHandler'; +import { PublishersHandler } from './handler/PublishersHandler'; import ReviewHandler from './handler/ReviewHandler'; import UnboundActionsHandler from './handler/UnboundActions'; @@ -10,6 +11,7 @@ module.exports = new CDSDispatcher([ BookHandler, ReviewHandler, BookStatsHandler, + PublishersHandler, // Draft BookEventsHandler, // Unbound actions diff --git a/test/bookshop/srv/controller/cat-service/handler/PublishersHandler.ts b/test/bookshop/srv/controller/cat-service/handler/PublishersHandler.ts new file mode 100644 index 0000000..066988d --- /dev/null +++ b/test/bookshop/srv/controller/cat-service/handler/PublishersHandler.ts @@ -0,0 +1,16 @@ +/* eslint-disable @typescript-eslint/explicit-function-return-type */ +import { Publisher } from '#cds-models/CatalogService'; +import { AfterRead, EntityHandler, Inject, Request, SRV, Service, SingleInstanceCapable } from '../../../../../../lib'; +import BookService from '../../../service/BookService'; + +@EntityHandler(Publisher) +export class PublishersHandler { + @Inject(SRV) private readonly srv: Service; + @Inject(BookService) private readonly bookService: BookService; + + @AfterRead() + @SingleInstanceCapable() + private async addDiscount(results: Publisher[], req: Request, isSingleInstance: boolean) { + req.reject(400, 'OnError'); + } +} diff --git a/test/bookshop/srv/controller/cat-service/handler/UnboundActions.ts b/test/bookshop/srv/controller/cat-service/handler/UnboundActions.ts index dddaf33..bc54819 100644 --- a/test/bookshop/srv/controller/cat-service/handler/UnboundActions.ts +++ b/test/bookshop/srv/controller/cat-service/handler/UnboundActions.ts @@ -9,6 +9,8 @@ import { type Service, type TypedRequest, OnEvent, + OnError, + Request, } from '../../../../../../lib'; import { OrderedBook, submitOrder, submitOrderFunction } from '../../../../@cds-models/CatalogService'; @@ -40,6 +42,13 @@ class UnboundActionsHandler { public async onEvent(req: TypedRequest) { // } + + @OnError() + public onError(err: Error, req: Request): void { + if (req.entity === 'CatalogService.Publishers') { + err.message = 'OnError'; + } + } } export default UnboundActionsHandler; diff --git a/test/e2e/CDS-TS-Dispatcher.postman_collection.json b/test/e2e/CDS-TS-Dispatcher.postman_collection.json index a21d334..af57a72 100644 --- a/test/e2e/CDS-TS-Dispatcher.postman_collection.json +++ b/test/e2e/CDS-TS-Dispatcher.postman_collection.json @@ -1,6 +1,6 @@ { "info": { - "_postman_id": "53ccef89-ca7a-4efe-8cb9-e7c620ef49a0", + "_postman_id": "14e21f9c-391b-41f8-8800-16b25be854ef", "name": "CDS-TS-Dispatcher", "description": "`SAP CAP` `NodeJS-based project` using TypesScript decorators for rapid development.\n\nThe goal of SAP CAP Nodejs Decorators is to significantly reduce the boilerplate code required to implement JS handlers provided by the SAP CAP framework.", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", @@ -23,7 +23,11 @@ "listen": "test", "script": { "exec": [ - "pm.test(\"Currency code is missing \", function () {", + "pm.test(\"Currency code is missing\", function () {", + " pm.response.to.have.status(400);", + "});", + "", + "pm.test(\"Status code is 400\", function () {", " pm.response.to.have.status(400);", "});" ], @@ -485,7 +489,7 @@ " pm.expect(response[0].message).to.contains('On Create executed')", "});", "", - "pm.test(\"Successful POST request\", function () {", + "pm.test(\"Status code is 200\", function () {", " pm.expect(pm.response.code).to.be.oneOf([204, 201, 200]);", "});" ], @@ -538,6 +542,10 @@ " pm.expect(item.views.toString()).to.contains(\"444233\");", " }", " })", + "});", + "", + "pm.test(\"Status code is 200\", function () {", + " pm.response.to.have.status(200);", "});" ], "type": "text/javascript" @@ -567,19 +575,11 @@ "listen": "test", "script": { "exec": [ - "// pm.test(\"1 item should have 'views : 444233'\", function () {", - "// const response = pm.response.json();", "", - "// response.value.forEach((item) => {", - "// if(item.views === 444233) {", - "// pm.expect(item.views.toString()).to.contains(\"444233\");", - "// }", - "// })", - "// });", "", - "// pm.test(\"Successful POST request\", function () {", - "// pm.expect(pm.response.code).to.be.oneOf([204, 201, 200]);", - "// });" + "pm.test(\"Status code is 200\", function () {", + " pm.expect(pm.response.code).to.be.oneOf([204, 201, 200]);", + "});" ], "type": "text/javascript" } @@ -589,13 +589,19 @@ "method": "GET", "header": [], "url": { - "raw": "{{baseUrl}}/{{catalogService}}/{{bookStatsEntity}}(ID=1)", + "raw": "{{baseUrl}}/{{catalogService}}/{{bookStatsEntity}}?$filter=ID eq 1", "host": [ "{{baseUrl}}" ], "path": [ "{{catalogService}}", - "{{bookStatsEntity}}(ID=1)" + "{{bookStatsEntity}}" + ], + "query": [ + { + "key": "$filter", + "value": "ID eq 1" + } ] } }, @@ -620,8 +626,8 @@ "", "});", "", - "pm.test(\"Successful POST request\", function () {", - " pm.expect(pm.response.code).to.be.oneOf([204, 201, 200]);", + "pm.test(\"Status code is 200\", function () {", + " pm.expect(pm.response.code).to.be.oneOf([204, 201, 200]);", "});" ], "type": "text/javascript" @@ -671,8 +677,8 @@ "", "});", "", - "pm.test(\"Successful POST request\", function () {", - " pm.expect(pm.response.code).to.be.oneOf([204, 201, 200]);", + "pm.test(\"Status code is 200\", function () {", + " pm.expect(pm.response.code).to.be.oneOf([204, 201, 200]);", "});" ], "type": "text/javascript" @@ -796,8 +802,8 @@ " pm.expect(stock).to.eql(6);", "});", "", - "pm.test(\"Successful POST request\", function () {", - " pm.expect(pm.response.code).to.be.oneOf([200, 201, 202]);", + "pm.test(\"Status code is 200\", function () {", + " pm.expect(pm.response.code).to.be.oneOf([204, 201, 200]);", "});" ], "type": "text/javascript" @@ -831,6 +837,47 @@ } ] }, + { + "name": "@OnError", + "item": [ + { + "name": "Error pop-up", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"This get entity should return 200 and message 'OnError'\", function () {", + " const response = pm.response.json();", + " pm.expect(response.error.message).to.eql('OnError')", + "});", + "", + "pm.test(\"Status code is 400\", function () {", + " pm.response.to.have.status(400);", + "});" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/{{catalogService}}/{{publishersEntity}}", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "{{catalogService}}", + "{{publishersEntity}}" + ] + } + }, + "response": [] + } + ] + }, { "name": "@OnBoundAction", "item": [ @@ -849,8 +896,8 @@ " pm.expect(response.stats).to.equals(444233);", "});", "", - "pm.test(\"Successful POST request\", function () {", - " pm.expect(pm.response.code).to.be.oneOf([201, 202, 200]);", + "pm.test(\"Status code is 200\", function () {", + " pm.expect(pm.response.code).to.be.oneOf([204, 201, 200]);", "});" ], "type": "text/javascript" @@ -901,8 +948,8 @@ " pm.expect(response.value).to.equals(true);", "});", "", - "pm.test(\"Status code is 204\", function () {", - " pm.response.to.have.status(200);", + "pm.test(\"Status code is 200\", function () {", + " pm.expect(pm.response.code).to.be.oneOf([204, 201, 200]);", "});" ], "type": "text/javascript" diff --git a/test/e2e/environment.json b/test/e2e/environment.json index 932de20..270fb2c 100644 --- a/test/e2e/environment.json +++ b/test/e2e/environment.json @@ -74,6 +74,12 @@ "type": "default", "enabled": true }, + { + "key": "publishersEntity", + "value": "Publishers", + "type": "default", + "enabled": true + }, { "key": "--------------------------------", "value": null, @@ -88,6 +94,6 @@ } ], "_postman_variable_scope": "environment", - "_postman_exported_at": "2023-10-27T08:14:54.871Z", - "_postman_exported_using": "Postman/10.19.2" + "_postman_exported_at": "2024-01-19T08:24:56.255Z", + "_postman_exported_using": "Postman/10.22.2" } \ No newline at end of file diff --git a/test/unit/ON.test.ts b/test/unit/ON.test.ts index 576e8a6..d2d4d6a 100644 --- a/test/unit/ON.test.ts +++ b/test/unit/ON.test.ts @@ -1,5 +1,5 @@ /* eslint-disable @typescript-eslint/explicit-function-return-type */ -import { Request } from '../../lib/index'; +import { OnError, Request } from '../../lib/index'; import { EntityHandler, OnAction, @@ -40,6 +40,9 @@ class BookHandler { @OnEvent(OrderedBook) public async onEvent(req: TypedRequest) {} + @OnError() + public async onError(error: Error, req: Request) {} + @OnBoundAction(submitOrder) public async onBoundActionMethod(req: TypedRequest, next: Function) {} @@ -87,6 +90,7 @@ describe('ON', () => { testEvent('ACTION', 'OnAction'); testEvent('FUNC', 'OnFunction'); testEvent('EVENT', 'OnEvent'); + testEvent('ERROR', 'OnError'); // BOUND ACTION & FUNCTION testEvent('BOUND_ACTION', 'OnBoundAction'); From 3b7fc651f20c60223435c6f96d03526961cddd36 Mon Sep 17 00:00:00 2001 From: dragolea Date: Mon, 22 Jan 2024 09:42:26 +0200 Subject: [PATCH 2/8] Deleted: tests file --- .../@cds-models/AdminService/index.js | 14 ---------- .../@cds-models/CatalogService/index.js | 26 ------------------- test/bookshop/@cds-models/_/index.js | 6 ----- test/bookshop/@cds-models/index.js | 8 ------ .../@cds-models/sap/capire/bookshop/index.js | 26 ------------------- test/bookshop/@cds-models/sap/common/index.js | 12 --------- 6 files changed, 92 deletions(-) delete mode 100644 test/bookshop/@cds-models/AdminService/index.js delete mode 100644 test/bookshop/@cds-models/CatalogService/index.js delete mode 100644 test/bookshop/@cds-models/_/index.js delete mode 100644 test/bookshop/@cds-models/index.js delete mode 100644 test/bookshop/@cds-models/sap/capire/bookshop/index.js delete mode 100644 test/bookshop/@cds-models/sap/common/index.js diff --git a/test/bookshop/@cds-models/AdminService/index.js b/test/bookshop/@cds-models/AdminService/index.js deleted file mode 100644 index c49ffe1..0000000 --- a/test/bookshop/@cds-models/AdminService/index.js +++ /dev/null @@ -1,14 +0,0 @@ -// This is an automatically generated file. Please do not change its contents manually! -const cds = require('@sap/cds') -const csn = cds.entities('AdminService') -module.exports = { name: 'AdminService' } -module.exports.UserActivityLog = csn.UserActivityLog -module.exports.UserActivityLog_ = csn.UserActivityLog -module.exports.Promotion = csn.Promotions -module.exports.Promotions = csn.Promotions -module.exports.User = csn.Users -module.exports.Users = csn.Users -// events -// actions -module.exports.sendMail = 'sendMail' -// enums diff --git a/test/bookshop/@cds-models/CatalogService/index.js b/test/bookshop/@cds-models/CatalogService/index.js deleted file mode 100644 index 25e42d1..0000000 --- a/test/bookshop/@cds-models/CatalogService/index.js +++ /dev/null @@ -1,26 +0,0 @@ -// This is an automatically generated file. Please do not change its contents manually! -const cds = require('@sap/cds') -const csn = cds.entities('CatalogService') -module.exports = { name: 'CatalogService' } -module.exports.Book = csn.Books -module.exports.Books = csn.Books -module.exports.Author = csn.Authors -module.exports.Authors = csn.Authors -module.exports.Review = csn.Reviews -module.exports.Reviews = csn.Reviews -module.exports.Publisher = csn.Publishers -module.exports.Publishers = csn.Publishers -module.exports.BookEvent = csn.BookEvents -module.exports.BookEvents = csn.BookEvents -module.exports.BookStat = csn.BookStats -module.exports.BookStats = csn.BookStats -module.exports.Currency = csn.Currencies -module.exports.Currencies = csn.Currencies -module.exports.Genre = csn.Genres -module.exports.Genres = csn.Genres -// events -module.exports.OrderedBook = 'CatalogService.OrderedBook' -// actions -module.exports.submitOrder = 'submitOrder' -module.exports.submitOrderFunction = 'submitOrderFunction' -// enums diff --git a/test/bookshop/@cds-models/_/index.js b/test/bookshop/@cds-models/_/index.js deleted file mode 100644 index 3ff3c3e..0000000 --- a/test/bookshop/@cds-models/_/index.js +++ /dev/null @@ -1,6 +0,0 @@ -// This is an automatically generated file. Please do not change its contents manually! -const cds = require('@sap/cds') -const csn = cds.entities('_') -// events -// actions -// enums diff --git a/test/bookshop/@cds-models/index.js b/test/bookshop/@cds-models/index.js deleted file mode 100644 index 45a050e..0000000 --- a/test/bookshop/@cds-models/index.js +++ /dev/null @@ -1,8 +0,0 @@ -// This is an automatically generated file. Please do not change its contents manually! -const cds = require('@sap/cds') -const csn = cds.entities('') -// events -// actions -// enums -module.exports.Roles ??= { USER: "USER", ADMIN: "ADMIN" } -module.exports.BookTypes ??= { BOOK_SIGNING: "BOOK_SIGNING", AUTHOR_TALK: "AUTHOR_TALK", BOOK_LUNCH: "BOOK_LUNCH" } diff --git a/test/bookshop/@cds-models/sap/capire/bookshop/index.js b/test/bookshop/@cds-models/sap/capire/bookshop/index.js deleted file mode 100644 index 93bc081..0000000 --- a/test/bookshop/@cds-models/sap/capire/bookshop/index.js +++ /dev/null @@ -1,26 +0,0 @@ -// This is an automatically generated file. Please do not change its contents manually! -const cds = require('@sap/cds') -const csn = cds.entities('sap.capire.bookshop') -module.exports.Book = csn.Books -module.exports.Books = csn.Books -module.exports.Publisher = csn.Publishers -module.exports.Publishers = csn.Publishers -module.exports.BookStat = csn.BookStats -module.exports.BookStats = csn.BookStats -module.exports.Author = csn.Authors -module.exports.Authors = csn.Authors -module.exports.Genre = csn.Genres -module.exports.Genres = csn.Genres -module.exports.Review = csn.Reviews -module.exports.Reviews = csn.Reviews -module.exports.BookEvent = csn.BookEvents -module.exports.BookEvents = csn.BookEvents -module.exports.User = csn.Users -module.exports.Users = csn.Users -module.exports.UserActivityLog = csn.UserActivityLog -module.exports.UserActivityLog_ = csn.UserActivityLog -module.exports.Promotion = csn.Promotions -module.exports.Promotions = csn.Promotions -// events -// actions -// enums diff --git a/test/bookshop/@cds-models/sap/common/index.js b/test/bookshop/@cds-models/sap/common/index.js deleted file mode 100644 index f019ddd..0000000 --- a/test/bookshop/@cds-models/sap/common/index.js +++ /dev/null @@ -1,12 +0,0 @@ -// This is an automatically generated file. Please do not change its contents manually! -const cds = require('@sap/cds') -const csn = cds.entities('sap.common') -module.exports.Language = csn.Languages -module.exports.Languages = csn.Languages -module.exports.Country = csn.Countries -module.exports.Countries = csn.Countries -module.exports.Currency = csn.Currencies -module.exports.Currencies = csn.Currencies -// events -// actions -// enums From 16d75717205107b2d6fbd91f739fff2ef556ba46 Mon Sep 17 00:00:00 2001 From: dragolea Date: Mon, 22 Jan 2024 09:42:39 +0200 Subject: [PATCH 3/8] Updated : Readme.md --- README.md | 124 +++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 95 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index 8549f9a..8b4adb1 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,7 @@ The goal of CDS-TS-Dispatcher is to significantly reduce the boilerplate code re - [OnAction](#onaction) - [OnFunction](#onfunction) - [OnEvent](#onevent) + - [OnError](#onerror) - [OnBoundAction](#onboundaction) - [OnBoundFunction](#onboundfunction) - [Methods : `draft entity`](#methods--draft-entity) @@ -294,10 +295,14 @@ The `CDSDispatcher` constructor allows you to create an instance for dispatching import { CDSDispatcher } from '@dxfrontier/cds-ts-dispatcher'; module.exports = new CDSDispatcher([ + // Entities BookHandler, ReviewHandler, + BookStatsHandler, + // Draft + BookEventsHandler, + // Unbound actions UnboundActionsHandler, - // ... ]).initialize(); ``` @@ -328,10 +333,11 @@ import { EntityHandler } from '@dxfrontier/cds-ts-dispatcher'; import { MyEntity } from 'YOUR_CDS_TYPER_ENTITIES_LOCATION'; @EntityHandler(MyEntity) -class CustomerHandler { - ... +export class CustomerHandler { + // ... constructor() {} - ... + // ... +} ``` > [!NOTE] @@ -353,10 +359,11 @@ When applying `ServiceLogic` decorator, the class becomes eligible to be used wi import { ServiceLogic } from '@dxfrontier/cds-ts-dispatcher'; @ServiceLogic() -class CustomerService { - ... +export class CustomerService { + // ... constructor() {} - ... + // ... +} ```

(back to top)

@@ -373,10 +380,11 @@ When applying `Repository` decorator, the class becomes eligible to be used with import { Repository } from '@dxfrontier/cds-ts-dispatcher'; @Repository() -class CustomerRepository { - ... +export class CustomerRepository { + // ... constructor() {} - ... + // ... +} ``` ###### `[Optional]` - BaseRepository @@ -390,7 +398,7 @@ It simplifies the implementation by offering a set of ready-to-use actions for i - `.find()`: Query the database to find specific data. - `.delete()`: Remove records from the database. - `.exists()`: Check the existence of data in the database. -- ... and many other actions +- and many more ... To get started, refer to the official documentation **[BaseRepository](https://github.com/dxfrontier/cds-ts-repository)**. Explore the capabilities it offers and enhance your data access layer with ease. @@ -403,7 +411,7 @@ import { BaseRepository } from '@dxfrontier/cds-ts-repository'; import { MyEntity } from 'YOUR_CDS_TYPER_ENTITIES_LOCATION'; @Repository() -class CustomerRepository extends BaseRepository { +export class CustomerRepository extends BaseRepository { constructor() { super(MyEntity); } @@ -428,6 +436,13 @@ class CustomerRepository extends BaseRepository { The `@UnboundActions` decorator is utilized at the `class-level` to annotate a `class` as a specialized class which will be used only for Unbound actions. +The following decorators can be used inside of `@UnboundActions()` : + +- [@OnAction](#onaction) +- [@OnFunction](#onfunction) +- [@OnEvent](#onevent) +- [@OnError](#onerror) + `Example` ```typescript @@ -439,12 +454,13 @@ import { ActionRequest, ActionReturn, TypedRequest, + Request, } from '@dxfrontier/cds-ts-dispatcher'; import { MyAction, MyFunction, MyEvent } from 'YOUR_CDS_TYPER_ENTITIES_LOCATION'; @UnboundActions() -class UnboundActionsHandler { - // ... @Inject all dependencies, if needed. +export class UnboundActionsHandler { + // ... @Inject dependencies, if needed. constructor() {} @@ -468,6 +484,12 @@ class UnboundActionsHandler { public async onEventMethod(req: TypedRequest) { // ... } + + // Unbound error + @OnError() + public onErrorMethod(err: Error, req: Request) { + // ... + } } ``` @@ -503,13 +525,17 @@ import { EntityHandler, Inject, SRV, Service } from "@dxfrontier/cds-ts-dispatch import { MyEntity } from 'YOUR_CDS_TYPER_ENTITIES_LOCATION'; @EntityHandler(MyEntity) -class CustomerHandler { +export class CustomerHandler { ... @Inject(CustomerService) private customerService: CustomerService + @Inject(CustomerRepository) private customerService: CustomerRepository + @Inject(AnyOtherInjectableClass) private repository: AnyOtherInjectableClass + @Inject(SRV) private srv: Service - ... + // ... constructor() {} - ... + // ... +} ``` > [!NOTE] @@ -526,19 +552,20 @@ This specialized `@Inject` can be used as a `constant` in `@ServiceLogic, @Repos `Example` ```typescript -import { EntityHandler, Inject, SRV, Service } from "@dxfrontier/cds-ts-dispatcher"; +import { EntityHandler, Inject, SRV, Service } from '@dxfrontier/cds-ts-dispatcher'; import { MyEntity } from 'YOUR_CDS_TYPER_ENTITIES_LOCATION'; @EntityHandler(MyEntity) // OR @ServiceLogic() // OR @Repository() // OR @UnboundActions -class CustomerHandler { // OR CustomerService, CustomerRepository - ... - @Inject(SRV) private srv: Service - ... +export class CustomerHandler { + // @Inject dependencies + @Inject(SRV) private srv: Service; + constructor() {} - ... + // ... +} ``` > [!NOTE] @@ -558,7 +585,7 @@ The handlers receive one argument: See also the official SAP JS **[CDS-Before](https://cap.cloud.sap/docs/node.js/core-services#srv-before-request) event** -> [!NOTE] +> [!TIP] > If `@odata.draft.enabled: true` to manage event handlers for draft version you can use `@BeforeCreateDraft(), BeforeReadDraft(), @BeforeUpdateDraft(), @BeforeDeleteDraft()`

(back to top)

@@ -700,7 +727,7 @@ The handlers receive two arguments: See also the official SAP JS **[CDS-After](https://cap.cloud.sap/docs/node.js/core-services#srv-after-request) event** -> [!NOTE] +> [!TIP] > If `@odata.draft.enabled: true` to manage event handlers for draft version you can use `@AfterCreateDraft(), AfterReadDraft(), @AfterUpdateDraft(), @AfterDeleteDraft()`

(back to top)

@@ -840,7 +867,7 @@ The handlers receive two arguments: See also the official SAP JS **[CDS-On](https://cap.cloud.sap/docs/node.js/core-services#srv-on-request) event** -> [!NOTE] +> [!TIP] > If `@odata.draft.enabled: true` to manage event handlers for draft version you can use `@OnCreateDraft(), @OnReadDraft(), @OnUpdateDraft(), @OnDeleteDraft(), @OnBoundActionDraft(), @OnBoundFunctionDraft()`

(back to top)

@@ -1077,6 +1104,43 @@ this.on('AEvent', async (req) => {

(back to top)

+###### OnError + +**@OnError**() + +Use `@OnError` decorator to register custom error handler. + +Error handlers are invoked whenever an error occurs during event processing of all potential events and requests, and are used to augment or modify error messages, before they go out to clients. + +`Example` + +```typescript +import { OnError, Request } from "@dxfrontier/cds-ts-dispatcher"; + +@OnError() +public onError(err: Error, req: Request) { // sync func + err.message = 'New message' + // ... +} +``` + +`Equivalent to 'JS'` + +```typescript +this.on('error', async (err, req) => { + err.message = 'New message'; + // ... +}); +``` + +> [!CAUTION] +> OnError callback are expected to be a **`sync`** function, i.e., **`not async`**, not returning `Promises`. + +> [!TIP] +> More info can be found at + +

(back to top)

+ ###### OnBoundAction **@OnBoundAction**(`name` : CdsAction) @@ -1586,7 +1650,7 @@ this.on('SAVE', MyEntity, async (req, next) => { All active entity [On](#on), [Before](#before), [After](#after) events have also a `Draft` variant. > [!NOTE] -> Except the `@OnAction(), @OnFunction()` as this are bound to the service and not to an entity. +> Except the `@OnAction(), @OnFunction(), @OnEvent(), @OnError()` as this are bound to the service and not to an entity.

(back to top)

@@ -1685,11 +1749,13 @@ npm install --save-dev npm-run-all - npx @cap-js/cds-typer "*" --outputDirectory gen/srv/@cds-models ``` +`Steps explained` + - `npm ci` - Will do a clean install -- `npm run build:production` - will run the package.json script command for CDS build and transpilation of TS to JS +- `npm run build:production` - will run the package.json script command for CDS build and transpilation of TS to JS and clean the `TS files`. - `npx @cap-js/cds-typer "*" --outputDirectory gen/srv/@cds-models` - will make sure the @cds-models are generated. -5. Run to produce the `.mtar file` +5. Run command to produce the `.mtar file` ```bash mbt build From 45ac92467dd82ae2ebe06886aecd596062a7b493 Mon Sep 17 00:00:00 2001 From: dragolea Date: Mon, 22 Jan 2024 09:43:08 +0200 Subject: [PATCH 4/8] Feature : New @OnError decorator which can be used to catch errors during requests --- lib/decorators/method.ts | 38 ++++++++++++++++++++++++++++++- lib/util/helpers/CDSDispatcher.ts | 35 ++++++++++++++++------------ lib/util/types/types.ts | 5 +++- 3 files changed, 62 insertions(+), 16 deletions(-) diff --git a/lib/decorators/method.ts b/lib/decorators/method.ts index 68317f7..42a881e 100644 --- a/lib/decorators/method.ts +++ b/lib/decorators/method.ts @@ -8,6 +8,7 @@ import { type DRAFT_EVENTS, type CdsFunction, type CdsEvent, + type ReturnErrorRequest, } from '../util/types/types'; import { MetadataDispatcher } from '../util/helpers/MetadataDispatcher'; import Constants from '../util/constants/Constants'; @@ -140,6 +141,33 @@ function buildOnEvent(options: { event: CRUD_EVENTS; handlerType: HandlerType; i }; } +/** + * Builds a decorator for handling the .on('error) method. + * + * @param event - The custom action event to handle. + * @param handlerType - The type of handler (Before, After, On). + */ + +function buildOnError(options: { event: CRUD_EVENTS; handlerType: HandlerType; isDraft: boolean }) { + return function () { + return function ( + target: Target, + _: string | symbol, + descriptor: TypedPropertyDescriptor, + ): void { + const metadataDispatcher = new MetadataDispatcher(target, Constants.DECORATOR.METHOD_ACCUMULATOR_NAME); + const { event, handlerType, isDraft } = options; + + metadataDispatcher.addMethodMetadata({ + event, + handlerType, + callback: descriptor.value!, + isDraft, + }); + }; + }; +} + /** * Builds a decorator for handling the .on method. * @@ -406,10 +434,17 @@ const OnFunction = buildOnAction({ event: 'FUNC', handlerType: HandlerType.On, i /** * * This decorator can be applied to methods that need to execute custom logic when a custom function event is triggered. - * @see [CDS-TS-Dispatcher - On function](https://github.com/dxfrontier/cds-ts-dispatcher#onfunction) + * @see [CDS-TS-Dispatcher - On function](https://github.com/dxfrontier/cds-ts-dispatcher#onevent) */ const OnEvent = buildOnEvent({ event: 'EVENT', handlerType: HandlerType.On, isDraft: false }); +/** + * + * This decorator can be applied to methods that needs to catch the errors. + * @see [CDS-TS-Dispatcher - On function](https://github.com/dxfrontier/cds-ts-dispatcher#onerror) + */ +const OnError = buildOnError({ event: 'ERROR', handlerType: HandlerType.On, isDraft: false }); + /** * * This decorator can be applied to methods when a new draft is created from an active instance. @@ -555,6 +590,7 @@ export { OnAction, OnFunction, OnEvent, + OnError, OnBoundAction, OnBoundFunction, // ON events - Draft diff --git a/lib/util/helpers/CDSDispatcher.ts b/lib/util/helpers/CDSDispatcher.ts index 75dc061..efb9371 100644 --- a/lib/util/helpers/CDSDispatcher.ts +++ b/lib/util/helpers/CDSDispatcher.ts @@ -14,6 +14,7 @@ import { type Service, type ServiceImpl, type Request, + type ReturnErrorRequest, } from '../types/types'; import { SRV } from '../constants/Constants'; @@ -25,7 +26,10 @@ import cds from '@sap/cds'; class CDSDispatcher { private srv: Service; - private container: Container; + private readonly container: Container = new Container({ + skipBaseClassChecks: true, + autoBindInjectable: true, + }); /** * Creates an instance of CDSDispatcher. @@ -35,15 +39,6 @@ class CDSDispatcher { if (Util.isEmptyArray(entities)) { throw new Error('The new CDSDispatcher constructor cannot be empty!'); } - - this.initializeContainer(); - } - - private initializeContainer(): void { - this.container = new Container({ - skipBaseClassChecks: true, - autoBindInjectable: true, - }); } private storeService(srv: Service): void { @@ -58,6 +53,13 @@ class CDSDispatcher { return await callback.call(entity, req, isSingleInstance); } + private executeOnErrorCallback(handlerAndEntity: [Handler, Constructable], err: Error, req: Request): unknown | void { + const [handler, entity] = handlerAndEntity; + const callback = handler.callback as ReturnErrorRequest; + + return callback.call(entity, err, req); + } + private async executeOnCallback( handlerAndEntity: [Handler, Constructable], req: Request, @@ -146,7 +148,6 @@ class CDSDispatcher { private registerOnHandler(handlerAndEntity: [Handler, Constructable]): void { const { event, actionName, getEventName, entity } = this.getHandlerProps(...handlerAndEntity); - // CRUD_EVENTS.[ACTION, FUNC] if (event === 'ACTION' || event === 'FUNC') { this.srv.on(actionName!, async (req, next) => { return await this.executeOnCallback(handlerAndEntity, req, next); @@ -155,7 +156,6 @@ class CDSDispatcher { return; } - // CRUD_EVENTS.[BOUND_ACTION, BOUND_FUNC] if (event === 'BOUND_ACTION' || event === 'BOUND_FUNC') { this.srv.on(actionName!, entity.name, async (req, next) => { return await this.executeOnCallback(handlerAndEntity, req, next); @@ -164,7 +164,6 @@ class CDSDispatcher { return; } - // CRUD_EVENTS.[EVENT] if (event === 'EVENT') { this.srv.on(getEventName(), async (req, next) => { return await this.executeOnCallback(handlerAndEntity, req, next); @@ -173,7 +172,15 @@ class CDSDispatcher { return; } - // CRUD_EVENTS.[NEW, CANCEL, CREATE, READ, UPDATE, DELETE, EDIT, SAVE] + if (event === 'ERROR') { + this.srv.on('error', (err, req) => { + return this.executeOnErrorCallback(handlerAndEntity, err, req); + }); + + return; + } + + // CRUD_EVENTS[NEW, CANCEL, CREATE, READ, UPDATE, DELETE, EDIT, SAVE] this.srv.on(event, entity, async (req, next) => { return await this.executeOnCallback(handlerAndEntity, req, next); }); diff --git a/lib/util/types/types.ts b/lib/util/types/types.ts index 7ac31db..9ee9bf5 100644 --- a/lib/util/types/types.ts +++ b/lib/util/types/types.ts @@ -35,7 +35,8 @@ type CRUD_EVENTS = | 'FUNC' | 'BOUND_ACTION' | 'BOUND_FUNC' - | 'EVENT'; + | 'EVENT' + | 'ERROR'; type ServiceCallback = (srv: Service) => void; @@ -43,6 +44,7 @@ type ReturnRequest = (req: Request, ...args: any[]) => Promise; type ReturnResultsAndRequest = (results: any | any[] | boolean, req: Request, ...args: any[]) => Promise; type ReturnRequestAndNext = (req: Request, next: Function, ...args: any[]) => Promise; type ReturnSingleInstanceCapable = (isSingleInstance: boolean) => Promise; +type ReturnErrorRequest = (err: Error, req: Request) => any | void; /** * Use this type to have the '@sap/cds - Request' typed. @@ -78,6 +80,7 @@ export { type ReturnResultsAndRequest, type ReturnRequestAndNext, type ReturnSingleInstanceCapable, + type ReturnErrorRequest, // type CDSTyperEntity, type CdsFunction, From 561fa4823cef971dc36c85fdd7ef0a31df4c43e1 Mon Sep 17 00:00:00 2001 From: Automated Version Bump Date: Mon, 22 Jan 2024 07:44:47 +0000 Subject: [PATCH 5/8] ci: version bump to 0.1.23 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index dcb0f0b..84acb3f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@dxfrontier/cds-ts-dispatcher", - "version": "0.1.22", + "version": "0.1.23", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@dxfrontier/cds-ts-dispatcher", - "version": "0.1.22", + "version": "0.1.23", "license": "MIT", "workspaces": [ "./test/bookshop" diff --git a/package.json b/package.json index e327993..3206d50 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@dxfrontier/cds-ts-dispatcher", - "version": "0.1.22", + "version": "0.1.23", "description": "The goal of CDS-TS-Dispatcher is to significantly reduce the boilerplate code required to implement TS handlers provided by the SAP CAP framework.", "main": "./dist/index.js", "module": "./dist/index.mjs", From 0b406fbfbbde58cc48fce32904e64b23fec59fac Mon Sep 17 00:00:00 2001 From: dragolea Date: Mon, 22 Jan 2024 10:26:06 +0200 Subject: [PATCH 6/8] Updated: tests due to fail on github of the unit tests --- .../@cds-models/AdminService/index.js | 14 ++++++++++ .../@cds-models/CatalogService/index.js | 26 +++++++++++++++++++ test/bookshop/@cds-models/_/index.js | 6 +++++ test/bookshop/@cds-models/index.js | 8 ++++++ .../@cds-models/sap/capire/bookshop/index.js | 26 +++++++++++++++++++ test/bookshop/@cds-models/sap/common/index.js | 12 +++++++++ 6 files changed, 92 insertions(+) create mode 100644 test/bookshop/@cds-models/AdminService/index.js create mode 100644 test/bookshop/@cds-models/CatalogService/index.js create mode 100644 test/bookshop/@cds-models/_/index.js create mode 100644 test/bookshop/@cds-models/index.js create mode 100644 test/bookshop/@cds-models/sap/capire/bookshop/index.js create mode 100644 test/bookshop/@cds-models/sap/common/index.js diff --git a/test/bookshop/@cds-models/AdminService/index.js b/test/bookshop/@cds-models/AdminService/index.js new file mode 100644 index 0000000..c49ffe1 --- /dev/null +++ b/test/bookshop/@cds-models/AdminService/index.js @@ -0,0 +1,14 @@ +// This is an automatically generated file. Please do not change its contents manually! +const cds = require('@sap/cds') +const csn = cds.entities('AdminService') +module.exports = { name: 'AdminService' } +module.exports.UserActivityLog = csn.UserActivityLog +module.exports.UserActivityLog_ = csn.UserActivityLog +module.exports.Promotion = csn.Promotions +module.exports.Promotions = csn.Promotions +module.exports.User = csn.Users +module.exports.Users = csn.Users +// events +// actions +module.exports.sendMail = 'sendMail' +// enums diff --git a/test/bookshop/@cds-models/CatalogService/index.js b/test/bookshop/@cds-models/CatalogService/index.js new file mode 100644 index 0000000..25e42d1 --- /dev/null +++ b/test/bookshop/@cds-models/CatalogService/index.js @@ -0,0 +1,26 @@ +// This is an automatically generated file. Please do not change its contents manually! +const cds = require('@sap/cds') +const csn = cds.entities('CatalogService') +module.exports = { name: 'CatalogService' } +module.exports.Book = csn.Books +module.exports.Books = csn.Books +module.exports.Author = csn.Authors +module.exports.Authors = csn.Authors +module.exports.Review = csn.Reviews +module.exports.Reviews = csn.Reviews +module.exports.Publisher = csn.Publishers +module.exports.Publishers = csn.Publishers +module.exports.BookEvent = csn.BookEvents +module.exports.BookEvents = csn.BookEvents +module.exports.BookStat = csn.BookStats +module.exports.BookStats = csn.BookStats +module.exports.Currency = csn.Currencies +module.exports.Currencies = csn.Currencies +module.exports.Genre = csn.Genres +module.exports.Genres = csn.Genres +// events +module.exports.OrderedBook = 'CatalogService.OrderedBook' +// actions +module.exports.submitOrder = 'submitOrder' +module.exports.submitOrderFunction = 'submitOrderFunction' +// enums diff --git a/test/bookshop/@cds-models/_/index.js b/test/bookshop/@cds-models/_/index.js new file mode 100644 index 0000000..3ff3c3e --- /dev/null +++ b/test/bookshop/@cds-models/_/index.js @@ -0,0 +1,6 @@ +// This is an automatically generated file. Please do not change its contents manually! +const cds = require('@sap/cds') +const csn = cds.entities('_') +// events +// actions +// enums diff --git a/test/bookshop/@cds-models/index.js b/test/bookshop/@cds-models/index.js new file mode 100644 index 0000000..45a050e --- /dev/null +++ b/test/bookshop/@cds-models/index.js @@ -0,0 +1,8 @@ +// This is an automatically generated file. Please do not change its contents manually! +const cds = require('@sap/cds') +const csn = cds.entities('') +// events +// actions +// enums +module.exports.Roles ??= { USER: "USER", ADMIN: "ADMIN" } +module.exports.BookTypes ??= { BOOK_SIGNING: "BOOK_SIGNING", AUTHOR_TALK: "AUTHOR_TALK", BOOK_LUNCH: "BOOK_LUNCH" } diff --git a/test/bookshop/@cds-models/sap/capire/bookshop/index.js b/test/bookshop/@cds-models/sap/capire/bookshop/index.js new file mode 100644 index 0000000..93bc081 --- /dev/null +++ b/test/bookshop/@cds-models/sap/capire/bookshop/index.js @@ -0,0 +1,26 @@ +// This is an automatically generated file. Please do not change its contents manually! +const cds = require('@sap/cds') +const csn = cds.entities('sap.capire.bookshop') +module.exports.Book = csn.Books +module.exports.Books = csn.Books +module.exports.Publisher = csn.Publishers +module.exports.Publishers = csn.Publishers +module.exports.BookStat = csn.BookStats +module.exports.BookStats = csn.BookStats +module.exports.Author = csn.Authors +module.exports.Authors = csn.Authors +module.exports.Genre = csn.Genres +module.exports.Genres = csn.Genres +module.exports.Review = csn.Reviews +module.exports.Reviews = csn.Reviews +module.exports.BookEvent = csn.BookEvents +module.exports.BookEvents = csn.BookEvents +module.exports.User = csn.Users +module.exports.Users = csn.Users +module.exports.UserActivityLog = csn.UserActivityLog +module.exports.UserActivityLog_ = csn.UserActivityLog +module.exports.Promotion = csn.Promotions +module.exports.Promotions = csn.Promotions +// events +// actions +// enums diff --git a/test/bookshop/@cds-models/sap/common/index.js b/test/bookshop/@cds-models/sap/common/index.js new file mode 100644 index 0000000..f019ddd --- /dev/null +++ b/test/bookshop/@cds-models/sap/common/index.js @@ -0,0 +1,12 @@ +// This is an automatically generated file. Please do not change its contents manually! +const cds = require('@sap/cds') +const csn = cds.entities('sap.common') +module.exports.Language = csn.Languages +module.exports.Languages = csn.Languages +module.exports.Country = csn.Countries +module.exports.Countries = csn.Countries +module.exports.Currency = csn.Currencies +module.exports.Currencies = csn.Currencies +// events +// actions +// enums From b2104f3b2638e79a6208c2f736add8909382de08 Mon Sep 17 00:00:00 2001 From: dragolea Date: Mon, 22 Jan 2024 10:26:31 +0200 Subject: [PATCH 7/8] Update package.json --- package.json | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index e327993..e2c3a02 100644 --- a/package.json +++ b/package.json @@ -12,23 +12,32 @@ "./test/bookshop" ], "scripts": { + "eslint:message": "echo 'Eslint started...'", "eslint": "npx eslint .", "eslint:fix": "npx eslint . --fix", - "eslint:message": "echo 'Eslint started...'", + "prettier:message": "echo 'Prettier started ...'", "prettier": "npx prettier . --check", "prettier:fix": "npx prettier . --write", - "prettier:message": "echo 'Prettier started ...'", + "check": "run-s eslint:message eslint prettier:message prettier", + "fix": "run-s eslint:message eslint:fix prettier:message prettier:fix", - "test:e2e": "newman run ./test/e2e/CDS-TS-Dispatcher.postman_collection.json --environment ./test/e2e/environment.json --bail", + "start:bookshop": "npm run start --prefix ./test/bookshop", + + "tests:e2e": "newman run ./test/e2e/CDS-TS-Dispatcher.postman_collection.json --environment ./test/e2e/environment.json --bail", "test:unit": "npm run build:entities:test --prefix ./test/bookshop && jest", - "test:live-server:e2e-tests": "start-server-and-test start:bookshop http://localhost:4004 test:e2e", + + "test:live-server:e2e-tests": "start-server-and-test start:bookshop http://localhost:4004 tests:e2e", + "test:all": "run-s test:unit test:live-server:e2e-tests", + "prepare": "husky install", - "build:clean": "echo 'Clean dist folder' && npx rimraf ./dist/{*.js,*.map,*.ts,*.mts,*.mjs}", + "build:message": "echo 'Build started...'", + "build:clean": "echo 'Clean dist folder' && npx rimraf ./dist/{*.js,*.map,*.ts,*.mts,*.mjs}", "build:ts": "tsup", + "build": "run-s build:clean build:message build:ts" }, "repository": { From 3f1a7243b78e9910f7efc23fe95637644d0363d6 Mon Sep 17 00:00:00 2001 From: dragolea Date: Mon, 22 Jan 2024 10:33:49 +0200 Subject: [PATCH 8/8] Changes due to failed of tests on github --- .github/workflows/tests.yml | 3 + package-lock.json | 1439 +++++++++++------ package.json | 1 + .../@cds-models/AdminService/index.js | 14 - .../@cds-models/CatalogService/index.js | 26 - test/bookshop/@cds-models/_/index.js | 6 - test/bookshop/@cds-models/index.js | 8 - .../@cds-models/sap/capire/bookshop/index.js | 26 - test/bookshop/@cds-models/sap/common/index.js | 12 - 9 files changed, 963 insertions(+), 572 deletions(-) delete mode 100644 test/bookshop/@cds-models/AdminService/index.js delete mode 100644 test/bookshop/@cds-models/CatalogService/index.js delete mode 100644 test/bookshop/@cds-models/_/index.js delete mode 100644 test/bookshop/@cds-models/index.js delete mode 100644 test/bookshop/@cds-models/sap/capire/bookshop/index.js delete mode 100644 test/bookshop/@cds-models/sap/common/index.js diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index daad80d..f3eb3f6 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -57,5 +57,8 @@ jobs: - name: Instal SAP CDS-DK run: npm i -g @sap/cds-dk ts-node + - name: Instal Globally typescript + run: npm i -g typescript + - name: Start server and start e2e tests run: npm run test:live-server:e2e-tests diff --git a/package-lock.json b/package-lock.json index 84acb3f..5b6b859 100644 --- a/package-lock.json +++ b/package-lock.json @@ -65,12 +65,12 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", "dev": true, "dependencies": { - "@babel/highlight": "^7.22.13", + "@babel/highlight": "^7.23.4", "chalk": "^2.4.2" }, "engines": { @@ -149,30 +149,30 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz", - "integrity": "sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.2.tgz", - "integrity": "sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==", + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.7.tgz", + "integrity": "sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-module-transforms": "^7.23.0", - "@babel/helpers": "^7.23.2", - "@babel/parser": "^7.23.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.7", + "@babel/parser": "^7.23.6", "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.2", - "@babel/types": "^7.23.0", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -197,12 +197,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", "dev": true, "dependencies": { - "@babel/types": "^7.23.0", + "@babel/types": "^7.23.6", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -212,14 +212,14 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", - "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.15", - "browserslist": "^4.21.9", + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -283,9 +283,9 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", - "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", @@ -335,9 +335,9 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", "dev": true, "engines": { "node": ">=6.9.0" @@ -353,32 +353,32 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", - "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz", - "integrity": "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==", + "version": "7.23.8", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.8.tgz", + "integrity": "sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==", "dev": true, "dependencies": { "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.2", - "@babel/types": "^7.23.0" + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", @@ -461,9 +461,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", + "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -533,9 +533,9 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -635,9 +635,9 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", + "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -664,20 +664,20 @@ } }, "node_modules/@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz", + "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", + "debug": "^4.3.1", "globals": "^11.1.0" }, "engines": { @@ -694,12 +694,12 @@ } }, "node_modules/@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", + "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-string-parser": "^7.23.4", "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, @@ -726,17 +726,17 @@ } }, "node_modules/@cap-js/cds-types": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@cap-js/cds-types/-/cds-types-0.1.0.tgz", - "integrity": "sha512-aGIq8m3Ni2ScQtZWK4Rc/TnBJ4LjN4tdSmUatwUA5PSlCua8prheuDJ/k1xRL1F61Rsw0i6G5mZ2HbF2f2dbpA==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@cap-js/cds-types/-/cds-types-0.2.0.tgz", + "integrity": "sha512-s4iVwAjf+rRIUu6jaEooXFcJv16+sP5CTkreQPxDUyxLWWGlhvEr67TuIH0C6Cnp4PPIsYmBK3AVxSW2mNc2wg==", "peerDependencies": { "@sap/cds": ">=7" } }, "node_modules/@cap-js/db-service": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@cap-js/db-service/-/db-service-1.3.2.tgz", - "integrity": "sha512-EEwsEOM4ragtQdAuApjT77xhJac28EszCsH0/9yg1EYoCZMWk2n+hwWTk9yMnXGDZmmiKc6uScq8DetgyPvaGg==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@cap-js/db-service/-/db-service-1.5.1.tgz", + "integrity": "sha512-+wQNGmHDNQjOJtLbmZ2Q/evAu3Ddlvvj3MGOy1K4PjDAJFAvh6D2Mv0E6q3jHnbVlGVQD8Mzpsi3ulOII7flRw==", "dev": true, "engines": { "node": ">=16", @@ -774,19 +774,35 @@ } }, "node_modules/@dxfrontier/cds-ts-repository": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@dxfrontier/cds-ts-repository/-/cds-ts-repository-0.3.5.tgz", - "integrity": "sha512-DRdfcbx4H3+f+xYnyy/whxjbz3eH57uCUY1pOrPKlQKAUobEMQnCFL9WO01GPW18MwvGXIYXDuFqqDxqNcYg1g==", + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@dxfrontier/cds-ts-repository/-/cds-ts-repository-0.3.6.tgz", + "integrity": "sha512-Ruib4/vGnRQ0Y0skMdS+e+rpcoHaPD6pA+RdcfbXrpp1BxCoigRmItHUpjgrttgbgsVPq/F9NfghoWLKNCR1dg==", "dev": true, "dependencies": { "@sap/cds": "^7.5.0", "ts-mixer": "^6.0.3" } }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz", + "integrity": "sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@esbuild/android-arm": { - "version": "0.19.7", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.7.tgz", - "integrity": "sha512-YGSPnndkcLo4PmVl2tKatEn+0mlVMr3yEpOOT0BeMria87PhvoJb5dg5f5Ft9fbCVgtAz4pWMzZVgSEGpDAlww==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.11.tgz", + "integrity": "sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==", "cpu": [ "arm" ], @@ -800,9 +816,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.19.7", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.7.tgz", - "integrity": "sha512-YEDcw5IT7hW3sFKZBkCAQaOCJQLONVcD4bOyTXMZz5fr66pTHnAet46XAtbXAkJRfIn2YVhdC6R9g4xa27jQ1w==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz", + "integrity": "sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==", "cpu": [ "arm64" ], @@ -816,9 +832,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.19.7", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.7.tgz", - "integrity": "sha512-jhINx8DEjz68cChFvM72YzrqfwJuFbfvSxZAk4bebpngGfNNRm+zRl4rtT9oAX6N9b6gBcFaJHFew5Blf6CvUw==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.11.tgz", + "integrity": "sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==", "cpu": [ "x64" ], @@ -832,9 +848,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.19.7", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.7.tgz", - "integrity": "sha512-dr81gbmWN//3ZnBIm6YNCl4p3pjnabg1/ZVOgz2fJoUO1a3mq9WQ/1iuEluMs7mCL+Zwv7AY5e3g1hjXqQZ9Iw==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz", + "integrity": "sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==", "cpu": [ "arm64" ], @@ -848,9 +864,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.19.7", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.7.tgz", - "integrity": "sha512-Lc0q5HouGlzQEwLkgEKnWcSazqr9l9OdV2HhVasWJzLKeOt0PLhHaUHuzb8s/UIya38DJDoUm74GToZ6Wc7NGQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz", + "integrity": "sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==", "cpu": [ "x64" ], @@ -864,9 +880,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.7", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.7.tgz", - "integrity": "sha512-+y2YsUr0CxDFF7GWiegWjGtTUF6gac2zFasfFkRJPkMAuMy9O7+2EH550VlqVdpEEchWMynkdhC9ZjtnMiHImQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz", + "integrity": "sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==", "cpu": [ "arm64" ], @@ -880,9 +896,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.19.7", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.7.tgz", - "integrity": "sha512-CdXOxIbIzPJmJhrpmJTLx+o35NoiKBIgOvmvT+jeSadYiWJn0vFKsl+0bSG/5lwjNHoIDEyMYc/GAPR9jxusTA==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz", + "integrity": "sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==", "cpu": [ "x64" ], @@ -896,9 +912,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.19.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.7.tgz", - "integrity": "sha512-Y+SCmWxsJOdQtjcBxoacn/pGW9HDZpwsoof0ttL+2vGcHokFlfqV666JpfLCSP2xLxFpF1lj7T3Ox3sr95YXww==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz", + "integrity": "sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==", "cpu": [ "arm" ], @@ -912,9 +928,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.19.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.7.tgz", - "integrity": "sha512-inHqdOVCkUhHNvuQPT1oCB7cWz9qQ/Cz46xmVe0b7UXcuIJU3166aqSunsqkgSGMtUCWOZw3+KMwI6otINuC9g==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz", + "integrity": "sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==", "cpu": [ "arm64" ], @@ -928,9 +944,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.19.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.7.tgz", - "integrity": "sha512-2BbiL7nLS5ZO96bxTQkdO0euGZIUQEUXMTrqLxKUmk/Y5pmrWU84f+CMJpM8+EHaBPfFSPnomEaQiG/+Gmh61g==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz", + "integrity": "sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==", "cpu": [ "ia32" ], @@ -944,9 +960,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.19.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.7.tgz", - "integrity": "sha512-BVFQla72KXv3yyTFCQXF7MORvpTo4uTA8FVFgmwVrqbB/4DsBFWilUm1i2Oq6zN36DOZKSVUTb16jbjedhfSHw==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz", + "integrity": "sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==", "cpu": [ "loong64" ], @@ -960,9 +976,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.19.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.7.tgz", - "integrity": "sha512-DzAYckIaK+pS31Q/rGpvUKu7M+5/t+jI+cdleDgUwbU7KdG2eC3SUbZHlo6Q4P1CfVKZ1lUERRFP8+q0ob9i2w==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz", + "integrity": "sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==", "cpu": [ "mips64el" ], @@ -976,9 +992,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.19.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.7.tgz", - "integrity": "sha512-JQ1p0SmUteNdUaaiRtyS59GkkfTW0Edo+e0O2sihnY4FoZLz5glpWUQEKMSzMhA430ctkylkS7+vn8ziuhUugQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz", + "integrity": "sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==", "cpu": [ "ppc64" ], @@ -992,9 +1008,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.19.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.7.tgz", - "integrity": "sha512-xGwVJ7eGhkprY/nB7L7MXysHduqjpzUl40+XoYDGC4UPLbnG+gsyS1wQPJ9lFPcxYAaDXbdRXd1ACs9AE9lxuw==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz", + "integrity": "sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==", "cpu": [ "riscv64" ], @@ -1008,9 +1024,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.19.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.7.tgz", - "integrity": "sha512-U8Rhki5PVU0L0nvk+E8FjkV8r4Lh4hVEb9duR6Zl21eIEYEwXz8RScj4LZWA2i3V70V4UHVgiqMpszXvG0Yqhg==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz", + "integrity": "sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==", "cpu": [ "s390x" ], @@ -1024,9 +1040,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.19.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.7.tgz", - "integrity": "sha512-ZYZopyLhm4mcoZXjFt25itRlocKlcazDVkB4AhioiL9hOWhDldU9n38g62fhOI4Pth6vp+Mrd5rFKxD0/S+7aQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz", + "integrity": "sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==", "cpu": [ "x64" ], @@ -1040,9 +1056,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.19.7", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.7.tgz", - "integrity": "sha512-/yfjlsYmT1O3cum3J6cmGG16Fd5tqKMcg5D+sBYLaOQExheAJhqr8xOAEIuLo8JYkevmjM5zFD9rVs3VBcsjtQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz", + "integrity": "sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==", "cpu": [ "x64" ], @@ -1056,9 +1072,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.19.7", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.7.tgz", - "integrity": "sha512-MYDFyV0EW1cTP46IgUJ38OnEY5TaXxjoDmwiTXPjezahQgZd+j3T55Ht8/Q9YXBM0+T9HJygrSRGV5QNF/YVDQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz", + "integrity": "sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==", "cpu": [ "x64" ], @@ -1072,9 +1088,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.19.7", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.7.tgz", - "integrity": "sha512-JcPvgzf2NN/y6X3UUSqP6jSS06V0DZAV/8q0PjsZyGSXsIGcG110XsdmuWiHM+pno7/mJF6fjH5/vhUz/vA9fw==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz", + "integrity": "sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==", "cpu": [ "x64" ], @@ -1088,9 +1104,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.19.7", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.7.tgz", - "integrity": "sha512-ZA0KSYti5w5toax5FpmfcAgu3ZNJxYSRm0AW/Dao5up0YV1hDVof1NvwLomjEN+3/GMtaWDI+CIyJOMTRSTdMw==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz", + "integrity": "sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==", "cpu": [ "arm64" ], @@ -1104,9 +1120,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.19.7", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.7.tgz", - "integrity": "sha512-CTOnijBKc5Jpk6/W9hQMMvJnsSYRYgveN6O75DTACCY18RA2nqka8dTZR+x/JqXCRiKk84+5+bRKXUSbbwsS0A==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz", + "integrity": "sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==", "cpu": [ "ia32" ], @@ -1120,9 +1136,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.19.7", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.7.tgz", - "integrity": "sha512-gRaP2sk6hc98N734luX4VpF318l3w+ofrtTu9j5L8EQXF+FzQKV6alCOHMVoJJHvVK/mGbwBXfOL1HETQu9IGQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz", + "integrity": "sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==", "cpu": [ "x64" ], @@ -1182,6 +1198,28 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/@eslint/js": { "version": "8.56.0", "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", @@ -1213,19 +1251,41 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", "minimatch": "^3.0.5" }, "engines": { "node": ">=10.10.0" } }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -1240,11 +1300,107 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", + "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", + "dev": true + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -1670,9 +1826,9 @@ "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz", + "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==", "dev": true, "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", @@ -1714,6 +1870,16 @@ "node": ">= 8" } }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, "node_modules/@postman/form-data": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/@postman/form-data/-/form-data-3.1.1.tgz", @@ -1756,9 +1922,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.5.2.tgz", - "integrity": "sha512-ee7BudTwwrglFYSc3UnqInDDjCLWHKrFmGNi4aK7jlEyg4CyPa1DCMrZfsN1O13YT76UFEqXz2CoN7BCGpUlJw==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.6.tgz", + "integrity": "sha512-MVNXSSYN6QXOulbHpLMKYi60ppyO13W9my1qogeiAqtjb2yR4LSmfU2+POvDkLzhjYLXz9Rf9+9a3zFHW1Lecg==", "cpu": [ "arm" ], @@ -1769,9 +1935,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.5.2.tgz", - "integrity": "sha512-xOuhj9HHtn8128ir8veoQsBbAUBasDbHIBniYTEx02pAmu9EXL+ZjJqngnNEy6ZgZ4h1JwL33GMNu3yJL5Mzow==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.6.tgz", + "integrity": "sha512-T14aNLpqJ5wzKNf5jEDpv5zgyIqcpn1MlwCrUXLrwoADr2RkWA0vOWP4XxbO9aiO3dvMCQICZdKeDrFl7UMClw==", "cpu": [ "arm64" ], @@ -1782,9 +1948,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.5.2.tgz", - "integrity": "sha512-NTGJWoL8bKyqyWFn9/RzSv4hQ4wTbaAv0lHHRwf4OnpiiP4P8W0jiXbm8Nc5BCXKmWAwuvJY82mcIU2TayC20g==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.6.tgz", + "integrity": "sha512-CqNNAyhRkTbo8VVZ5R85X73H3R5NX9ONnKbXuHisGWC0qRbTTxnF1U4V9NafzJbgGM0sHZpdO83pLPzq8uOZFw==", "cpu": [ "arm64" ], @@ -1795,9 +1961,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.5.2.tgz", - "integrity": "sha512-hlKqj7bpPvU15sZo4za14u185lpMzdwWLMc9raMqPK4wywt0wR23y1CaVQ4oAFXat3b5/gmRntyfpwWTKl+vvA==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.6.tgz", + "integrity": "sha512-zRDtdJuRvA1dc9Mp6BWYqAsU5oeLixdfUvkTHuiYOHwqYuQ4YgSmi6+/lPvSsqc/I0Omw3DdICx4Tfacdzmhog==", "cpu": [ "x64" ], @@ -1808,9 +1974,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.5.2.tgz", - "integrity": "sha512-7ZIZx8c3u+pfI0ohQsft/GywrXez0uR6dUP0JhBuCK3sFO5TfdLn/YApnVkvPxuTv3+YKPIZend9Mt7Cz6sS3Q==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.6.tgz", + "integrity": "sha512-oNk8YXDDnNyG4qlNb6is1ojTOGL/tRhbbKeE/YuccItzerEZT68Z9gHrY3ROh7axDc974+zYAPxK5SH0j/G+QQ==", "cpu": [ "arm" ], @@ -1821,9 +1987,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.5.2.tgz", - "integrity": "sha512-7Pk/5mO11JW/cH+a8lL/i0ZxmRGrbpYqN0VwO2DHhU+SJWWOH2zE1RAcPaj8KqiwC8DCDIJOSxjV9+9lLb6aeA==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.6.tgz", + "integrity": "sha512-Z3O60yxPtuCYobrtzjo0wlmvDdx2qZfeAWTyfOjEDqd08kthDKexLpV97KfAeUXPosENKd8uyJMRDfFMxcYkDQ==", "cpu": [ "arm64" ], @@ -1834,9 +2000,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.5.2.tgz", - "integrity": "sha512-KrRnuG5phJx756e62wxvWH2e+TK84MP2IVuPwfge+GBvWqIUfVzFRn09TKruuQBXzZp52Vyma7FjMDkwlA9xpg==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.6.tgz", + "integrity": "sha512-gpiG0qQJNdYEVad+1iAsGAbgAnZ8j07FapmnIAQgODKcOTjLEWM9sRb+MbQyVsYCnA0Im6M6QIq6ax7liws6eQ==", "cpu": [ "arm64" ], @@ -1846,10 +2012,23 @@ "linux" ] }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.6.tgz", + "integrity": "sha512-+uCOcvVmFUYvVDr27aiyun9WgZk0tXe7ThuzoUTAukZJOwS5MrGbmSlNOhx1j80GdpqbOty05XqSl5w4dQvcOA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.5.2.tgz", - "integrity": "sha512-My+53GasPa2D2tU5dXiyHYwrELAUouSfkNlZ3bUKpI7btaztO5vpALEs3mvFjM7aKTvEbc7GQckuXeXIDKQ0fg==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.6.tgz", + "integrity": "sha512-HUNqM32dGzfBKuaDUBqFB7tP6VMN74eLZ33Q9Y1TBqRDn+qDonkAUyKWwF9BR9unV7QUzffLnz9GrnKvMqC/fw==", "cpu": [ "x64" ], @@ -1860,9 +2039,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.5.2.tgz", - "integrity": "sha512-/f0Q6Sc+Vw54Ws6N8fxaEe4R7at3b8pFyv+O/F2VaQ4hODUJcRUcCBJh6zuqtgQQt7w845VTkGLFgWZkP3tUoQ==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.6.tgz", + "integrity": "sha512-ch7M+9Tr5R4FK40FHQk8VnML0Szi2KRujUgHXd/HjuH9ifH72GUmw6lStZBo3c3GB82vHa0ZoUfjfcM7JiiMrQ==", "cpu": [ "x64" ], @@ -1873,9 +2052,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.5.2.tgz", - "integrity": "sha512-NCKuuZWLht6zj7s6EIFef4BxCRX1GMr83S2W4HPCA0RnJ4iHE4FS1695q6Ewoa6A9nFjJe1//yUu0kgBU07Edw==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.6.tgz", + "integrity": "sha512-VD6qnR99dhmTQ1mJhIzXsRcTBvTjbfbGGwKAHcu+52cVl15AC/kplkhxzW/uT0Xl62Y/meBKDZvoJSJN+vTeGA==", "cpu": [ "arm64" ], @@ -1886,9 +2065,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.5.2.tgz", - "integrity": "sha512-J5zL3riR4AOyU/J3M/i4k/zZ8eP1yT+nTmAKztCXJtnI36jYH0eepvob22mAQ/kLwfsK2TB6dbyVY1F8c/0H5A==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.6.tgz", + "integrity": "sha512-J9AFDq/xiRI58eR2NIDfyVmTYGyIZmRcvcAoJ48oDld/NTR8wyiPUu2X/v1navJ+N/FGg68LEbX3Ejd6l8B7MQ==", "cpu": [ "ia32" ], @@ -1899,9 +2078,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.5.2.tgz", - "integrity": "sha512-pL0RXRHuuGLhvs7ayX/SAHph1hrDPXOM5anyYUQXWJEENxw3nfHkzv8FfVlEVcLyKPAEgDRkd6RKZq2SMqS/yg==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.6.tgz", + "integrity": "sha512-jqzNLhNDvIZOrt69Ce4UjGRpXJBzhUBzawMwnaDAwyHriki3XollsewxWzOzz+4yOFDkuJHtTsZFwMxhYJWmLQ==", "cpu": [ "x64" ], @@ -1930,9 +2109,9 @@ } }, "node_modules/@sap/cds-compiler": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/@sap/cds-compiler/-/cds-compiler-4.3.2.tgz", - "integrity": "sha512-jkh15G0f5CfUqT3bE2bgtLA83xgW7AK/KKjPV7AjLcN6Ygm5rKJnE73V0xaQIOxrdBCrH8oqbtXQ1csXgu0V9g==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@sap/cds-compiler/-/cds-compiler-4.5.0.tgz", + "integrity": "sha512-RzQPQShg0bWAv344sPF/qw/Y6uxA67N4JNIFwanXcvKdtigfPtiZDpEEWG+0Saalyd6PFI5WpYvF3Vbyb5qniA==", "dependencies": { "antlr4": "4.9.3" }, @@ -1946,9 +2125,9 @@ } }, "node_modules/@sap/cds-fiori": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@sap/cds-fiori/-/cds-fiori-1.1.0.tgz", - "integrity": "sha512-dj+OMS3bpbYx7pO/SUSbZkt2KIs2RiAnaxhO+RZmL89DR8r67MEft2/vQbg00AGoH0Al/NKK0AFiHHyNL/+CWg==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@sap/cds-fiori/-/cds-fiori-1.2.2.tgz", + "integrity": "sha512-9bJKiIq8dCmwEcIXES7jiAcmiyJlDjjKdnvceAmqCU5Z925ZaalVIGYdnmmlQyciPUzD/bk3vRxmrPIogP6leA==", "peerDependencies": { "@sap/cds": ">=7", "express": ">=4" @@ -1996,9 +2175,9 @@ "dev": true }, "node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "dev": true, "dependencies": { "type-detect": "4.0.8" @@ -2014,9 +2193,9 @@ } }, "node_modules/@swc/core": { - "version": "1.3.103", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.103.tgz", - "integrity": "sha512-PYtt8KzRXIFDwxeD7BA9ylmXNQ4hRVcmDVuAmL3yvL9rgx7Tn3qn6T37wiMVZnP1OjqGyhuHRPNycd+ssr+byw==", + "version": "1.3.105", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.105.tgz", + "integrity": "sha512-me2VZyr3OjqRpFrYQJJYy7x/zbFSl9nt+MAGnIcBtjDsN00iTVqEaKxBjPBFQV9BDAgPz2SRWes/DhhVm5SmMw==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -2031,16 +2210,16 @@ "url": "https://opencollective.com/swc" }, "optionalDependencies": { - "@swc/core-darwin-arm64": "1.3.103", - "@swc/core-darwin-x64": "1.3.103", - "@swc/core-linux-arm-gnueabihf": "1.3.103", - "@swc/core-linux-arm64-gnu": "1.3.103", - "@swc/core-linux-arm64-musl": "1.3.103", - "@swc/core-linux-x64-gnu": "1.3.103", - "@swc/core-linux-x64-musl": "1.3.103", - "@swc/core-win32-arm64-msvc": "1.3.103", - "@swc/core-win32-ia32-msvc": "1.3.103", - "@swc/core-win32-x64-msvc": "1.3.103" + "@swc/core-darwin-arm64": "1.3.105", + "@swc/core-darwin-x64": "1.3.105", + "@swc/core-linux-arm-gnueabihf": "1.3.105", + "@swc/core-linux-arm64-gnu": "1.3.105", + "@swc/core-linux-arm64-musl": "1.3.105", + "@swc/core-linux-x64-gnu": "1.3.105", + "@swc/core-linux-x64-musl": "1.3.105", + "@swc/core-win32-arm64-msvc": "1.3.105", + "@swc/core-win32-ia32-msvc": "1.3.105", + "@swc/core-win32-x64-msvc": "1.3.105" }, "peerDependencies": { "@swc/helpers": "^0.5.0" @@ -2052,9 +2231,9 @@ } }, "node_modules/@swc/core-darwin-arm64": { - "version": "1.3.103", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.103.tgz", - "integrity": "sha512-Dqqz48mvdm/3PHPPA6YeAEofkF9H5Krgqd/baPf0dXcarzng6U9Ilv2aCtDjq7dfI9jfkVCW5zuwq98PE2GEdw==", + "version": "1.3.105", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.105.tgz", + "integrity": "sha512-buWeweLVDXXmcnfIemH4PGnpjwsDTUGitnPchdftb0u1FU8zSSP/lw/pUCBDG/XvWAp7c/aFxgN4CyG0j7eayA==", "cpu": [ "arm64" ], @@ -2068,9 +2247,9 @@ } }, "node_modules/@swc/core-darwin-x64": { - "version": "1.3.103", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.103.tgz", - "integrity": "sha512-mhUVSCEAyFLqtrDtwr9qPbe891J8cKxq53CD873/ZsUnyasHMPyWXzTvy9qjmbYyfDIArm6fGqjF5YsDKwGGNg==", + "version": "1.3.105", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.105.tgz", + "integrity": "sha512-hFmXPApqjA/8sy/9NpljHVaKi1OvL9QkJ2MbbTCCbJERuHMpMUeMBUWipHRfepGHFhU+9B9zkEup/qJaJR4XIg==", "cpu": [ "x64" ], @@ -2084,9 +2263,9 @@ } }, "node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.3.103", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.103.tgz", - "integrity": "sha512-rYLmwxr01ZHOI6AzooqwB0DOkMm0oU8Jznk6uutV1lHgcwyxsNiC1Css8yf77Xr/sYTvKvuTfBjThqa5H716pA==", + "version": "1.3.105", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.105.tgz", + "integrity": "sha512-mwXyMC41oMKkKrPpL8uJpOxw7fyfQoVtIw3Y5p0Blabk+espNYqix0E8VymHdRKuLmM//z5wVmMsuHdGBHvZeg==", "cpu": [ "arm" ], @@ -2100,9 +2279,9 @@ } }, "node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.3.103", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.103.tgz", - "integrity": "sha512-w+5XFpUqxiAGUBiyRyYR28Ghddp5uVyo+dHAkCnY1u3V6RsZkY3vRwmoXT7/HxVGV7csodJ1P9Cp9VaRnNvTKA==", + "version": "1.3.105", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.105.tgz", + "integrity": "sha512-H7yEIVydnUtqBSUxwmO6vpIQn7j+Rr0DF6ZOORPyd/SFzQJK9cJRtmJQ3ZMzlJ1Bb+1gr3MvjgLEnmyCYEm2Hg==", "cpu": [ "arm64" ], @@ -2116,9 +2295,9 @@ } }, "node_modules/@swc/core-linux-arm64-musl": { - "version": "1.3.103", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.103.tgz", - "integrity": "sha512-lS5p8ewAIar7adX6t0OrkICTcw92PXrn3ZmYyG5hvfjUg4RPQFjMfFMDQSne32ZJhGXHBf0LVm1R8wHwkcpwgA==", + "version": "1.3.105", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.105.tgz", + "integrity": "sha512-Jg7RTFT3pGFdGt5elPV6oDkinRy7q9cXpenjXnJnM2uvx3jOwnsAhexPyCDHom8SHL0j+9kaLLC66T3Gz1E4UA==", "cpu": [ "arm64" ], @@ -2132,9 +2311,9 @@ } }, "node_modules/@swc/core-linux-x64-gnu": { - "version": "1.3.103", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.103.tgz", - "integrity": "sha512-Lf2cHDoEPNB6TwexHBEZCsAO2C7beb0YljhtQS+QfjWLLVqCiwt5LRCPuKN2Bav7el9KZXOI5baXedUeFj0oFg==", + "version": "1.3.105", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.105.tgz", + "integrity": "sha512-DJghplpyusAmp1X5pW/y93MmS/u83Sx5GrpJxI6KLPa82+NItTgMcl8KBQmW5GYAJpVKZyaIvBanS5TdR8aN2w==", "cpu": [ "x64" ], @@ -2148,9 +2327,9 @@ } }, "node_modules/@swc/core-linux-x64-musl": { - "version": "1.3.103", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.103.tgz", - "integrity": "sha512-HR1Y9iiLEO3F49P47vjbHczBza9RbdXWRWC8NpcOcGJ4Wnw0c2DLWAh416fGH3VYCF/19EuglLEXhvSj0NXGuA==", + "version": "1.3.105", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.105.tgz", + "integrity": "sha512-wD5jL2dZH/5nPNssBo6jhOvkI0lmWnVR4vnOXWjuXgjq1S0AJpO5jdre/6pYLmf26hft3M42bteDnjR4AAZ38w==", "cpu": [ "x64" ], @@ -2164,9 +2343,9 @@ } }, "node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.3.103", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.103.tgz", - "integrity": "sha512-3/GfROD1GPyf2hi6R0l4iZ5nrrKG8IU29hYhZCb7r0ZqhL/58kktVPlkib8X/EAJI8xbhM/NMl76h8ElrnyH5w==", + "version": "1.3.105", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.105.tgz", + "integrity": "sha512-UqJtwILUHRw2+3UTPnRkZrzM/bGdQtbR4UFdp79mZQYfryeOUVNg7aJj/bWUTkKtLiZ3o+FBNrM/x2X1mJX5bA==", "cpu": [ "arm64" ], @@ -2180,9 +2359,9 @@ } }, "node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.3.103", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.103.tgz", - "integrity": "sha512-9ejEFjfgPi0ibNmtuiRbYq9p4RRV6oH1DN9XjkYM8zh2qHlpZHKQZ3n4eHS0VtJO4rEGZxL8ebcnTNs62wqJig==", + "version": "1.3.105", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.105.tgz", + "integrity": "sha512-Z95C6vZgBEJ1snidYyjVKnVWiy/ZpPiIFIXGWkDr4ZyBgL3eZX12M6LzZ+NApHKffrbO4enbFyFomueBQgS2oA==", "cpu": [ "ia32" ], @@ -2196,9 +2375,9 @@ } }, "node_modules/@swc/core-win32-x64-msvc": { - "version": "1.3.103", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.103.tgz", - "integrity": "sha512-/1RvaOmZolXurWAUdnELYynVlFUiT0hj3PyTPoo+YK6+KV7er4EqUalRsoUf3zzGepQuhKFZFDpQn6Xi9kJX1A==", + "version": "1.3.105", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.105.tgz", + "integrity": "sha512-3J8fkyDPFsS3mszuYUY4Wfk7/B2oio9qXUwF3DzOs2MK+XgdyMLIptIxL7gdfitXJBH8k39uVjrIw1JGJDjyFA==", "cpu": [ "x64" ], @@ -2224,9 +2403,9 @@ "dev": true }, "node_modules/@types/babel__core": { - "version": "7.20.3", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.3.tgz", - "integrity": "sha512-54fjTSeSHwfan8AyHWrKbfBWiEUrNTZsUwPTDSNaaP1QDQIZbeNUg3a59E9D+375MzUw/x1vx2/0F5LBz+AeYA==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dev": true, "dependencies": { "@babel/parser": "^7.20.7", @@ -2237,18 +2416,18 @@ } }, "node_modules/@types/babel__generator": { - "version": "7.6.6", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.6.tgz", - "integrity": "sha512-66BXMKb/sUWbMdBNdMvajU7i/44RkrA3z/Yt1c7R5xejt8qh84iU54yUWCtm0QwGJlDcf/gg4zd/x4mpLAlb/w==", + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", "dev": true, "dependencies": { "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__template": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.3.tgz", - "integrity": "sha512-ciwyCLeuRfxboZ4isgdNZi/tkt06m8Tw6uGbBSBgWrnnZGNXiEyM27xc/PjXGQLqlZ6ylbgHMnm7ccF9tCkOeQ==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "dev": true, "dependencies": { "@babel/parser": "^7.1.0", @@ -2256,42 +2435,48 @@ } }, "node_modules/@types/babel__traverse": { - "version": "7.20.3", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.3.tgz", - "integrity": "sha512-Lsh766rGEFbaxMIDH7Qa+Yha8cMVI3qAK6CHt3OR0YfxOIn5Z54iHiyDRycHrBqeIiqGa20Kpsv1cavfBKkRSw==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", + "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", "dev": true, "dependencies": { "@babel/types": "^7.20.7" } }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, "node_modules/@types/graceful-fs": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.8.tgz", - "integrity": "sha512-NhRH7YzWq8WiNKVavKPBmtLYZHxNY19Hh+az28O/phfp68CF45pMFud+ZzJ8ewnxnC5smIdF3dqFeiSUQ5I+pw==", + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", "dev": true, "dependencies": { "@types/node": "*" } }, "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", "dev": true }, "node_modules/@types/istanbul-lib-report": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.2.tgz", - "integrity": "sha512-8toY6FgdltSdONav1XtUHl4LN1yTmLza+EuDazb/fEmRNCwjyqNVIQWs2IfC74IqjHkREs/nQ2FWq5kZU9IC0w==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", "dev": true, "dependencies": { "@types/istanbul-lib-coverage": "*" } }, "node_modules/@types/istanbul-reports": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.3.tgz", - "integrity": "sha512-1nESsePMBlf0RPRffLZi5ujYh7IH1BWL4y9pr+Bn3cJBdxz+RTP8bUFljLz9HvzhhOSWKdyBZ4DIivdL6rvgZg==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", "dev": true, "dependencies": { "@types/istanbul-lib-report": "*" @@ -2320,9 +2505,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.8.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.10.tgz", - "integrity": "sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w==", + "version": "20.11.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.5.tgz", + "integrity": "sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==", "dev": true, "dependencies": { "undici-types": "~5.26.4" @@ -2335,24 +2520,24 @@ "dev": true }, "node_modules/@types/stack-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.2.tgz", - "integrity": "sha512-g7CK9nHdwjK2n0ymT2CW698FuWJRIx+RP6embAzZ2Qi8/ilIrA1Imt2LVSeHUzKvpoi7BhmmQcXz95eS0f2JXw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", "dev": true }, "node_modules/@types/yargs": { - "version": "17.0.29", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.29.tgz", - "integrity": "sha512-nacjqA3ee9zRF/++a3FUY1suHTFKZeHba2n8WeDw9cCVdmzmHpIxyzOJBcpHvvEmS8E9KqWlSnWHUkOrkhWcvA==", + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", "dev": true, "dependencies": { "@types/yargs-parser": "*" } }, "node_modules/@types/yargs-parser": { - "version": "21.0.2", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.2.tgz", - "integrity": "sha512-5qcvofLPbfjmBfKaLfj/+f+Sbd6pN4zl7w7VSVI5uz7m9QZTuB2aZAa2uo1wHFBNN2x6g/SoTkXmd8mQnQF2Cw==", + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { @@ -2503,30 +2688,6 @@ } } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@typescript-eslint/utils": { "version": "6.19.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.19.0.tgz", @@ -2589,9 +2750,9 @@ } }, "node_modules/acorn": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", - "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -2896,12 +3057,12 @@ "dev": true }, "node_modules/axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.5.tgz", + "integrity": "sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==", "dev": true, "dependencies": { - "follow-redirects": "^1.15.0", + "follow-redirects": "^1.15.4", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } @@ -3058,9 +3219,9 @@ } }, "node_modules/better-sqlite3": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-9.1.1.tgz", - "integrity": "sha512-FhW7bS7cXwkB2SFnPJrSGPmQerVSCzwBgmQ1cIRcYKxLsyiKjljzCbyEqqhYXo5TTBqt5BISiBj2YE2Sy2ynaA==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-9.3.0.tgz", + "integrity": "sha512-ww73jVpQhRRdS9uMr761ixlkl4bWoXi8hMQlBGhoN6vPNlUHpIsNmw4pKN6kjknlt/wopdvXHvLk1W75BI+n0Q==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -3110,9 +3271,9 @@ } }, "node_modules/bluebird": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", - "integrity": "sha512-UfFSr22dmHPQqPP9XWHRhq+gWnHCYguQGkXQlbyPtW5qTnhFWA8/iXg765tH0cAjy7l/zPJ1aBTO0g5XgA7kvQ==", + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, "node_modules/body-parser": { @@ -3159,13 +3320,12 @@ "link": true }, "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "node_modules/braces": { @@ -3190,9 +3350,9 @@ } }, "node_modules/browserslist": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", - "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", + "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", "dev": true, "funding": [ { @@ -3209,9 +3369,9 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001541", - "electron-to-chromium": "^1.4.535", - "node-releases": "^2.0.13", + "caniuse-lite": "^1.0.30001565", + "electron-to-chromium": "^1.4.601", + "node-releases": "^2.0.14", "update-browserslist-db": "^1.0.13" }, "bin": { @@ -3358,9 +3518,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001559", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001559.tgz", - "integrity": "sha512-cPiMKZgqgkg5LY3/ntGeLFUpi6tzddBNS58A4tnTgQw1zON7u2sZMU7SzOeVH4tj20++9ggL+V6FDOFMTaFFYA==", + "version": "1.0.30001579", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001579.tgz", + "integrity": "sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==", "dev": true, "funding": [ { @@ -4046,6 +4206,12 @@ "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", "dev": true }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -4063,9 +4229,9 @@ "peer": true }, "node_modules/electron-to-chromium": { - "version": "1.4.574", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.574.tgz", - "integrity": "sha512-bg1m8L0n02xRzx4LsTTMbBPiUd9yIR+74iPtS/Ao65CuXvhVZHP0ym1kSdDG3yHFDXqHQQBKujlN1AQ8qZnyFg==", + "version": "1.4.640", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.640.tgz", + "integrity": "sha512-z/6oZ/Muqk4BaE7P69bXhUhpJbUM9ZJeka43ZwxsDshKtePns4mhBlh8bU5+yrnOnz3fhG82XLzGUXazOmsWnA==", "dev": true }, "node_modules/emittery": { @@ -4207,9 +4373,9 @@ } }, "node_modules/esbuild": { - "version": "0.19.7", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.7.tgz", - "integrity": "sha512-6brbTZVqxhqgbpqBR5MzErImcpA0SQdoKOkcWK/U30HtQxnokIpG3TX2r0IJqbFUzqLjhU/zC1S5ndgakObVCQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz", + "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==", "dev": true, "hasInstallScript": true, "bin": { @@ -4219,28 +4385,29 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/android-arm": "0.19.7", - "@esbuild/android-arm64": "0.19.7", - "@esbuild/android-x64": "0.19.7", - "@esbuild/darwin-arm64": "0.19.7", - "@esbuild/darwin-x64": "0.19.7", - "@esbuild/freebsd-arm64": "0.19.7", - "@esbuild/freebsd-x64": "0.19.7", - "@esbuild/linux-arm": "0.19.7", - "@esbuild/linux-arm64": "0.19.7", - "@esbuild/linux-ia32": "0.19.7", - "@esbuild/linux-loong64": "0.19.7", - "@esbuild/linux-mips64el": "0.19.7", - "@esbuild/linux-ppc64": "0.19.7", - "@esbuild/linux-riscv64": "0.19.7", - "@esbuild/linux-s390x": "0.19.7", - "@esbuild/linux-x64": "0.19.7", - "@esbuild/netbsd-x64": "0.19.7", - "@esbuild/openbsd-x64": "0.19.7", - "@esbuild/sunos-x64": "0.19.7", - "@esbuild/win32-arm64": "0.19.7", - "@esbuild/win32-ia32": "0.19.7", - "@esbuild/win32-x64": "0.19.7" + "@esbuild/aix-ppc64": "0.19.11", + "@esbuild/android-arm": "0.19.11", + "@esbuild/android-arm64": "0.19.11", + "@esbuild/android-x64": "0.19.11", + "@esbuild/darwin-arm64": "0.19.11", + "@esbuild/darwin-x64": "0.19.11", + "@esbuild/freebsd-arm64": "0.19.11", + "@esbuild/freebsd-x64": "0.19.11", + "@esbuild/linux-arm": "0.19.11", + "@esbuild/linux-arm64": "0.19.11", + "@esbuild/linux-ia32": "0.19.11", + "@esbuild/linux-loong64": "0.19.11", + "@esbuild/linux-mips64el": "0.19.11", + "@esbuild/linux-ppc64": "0.19.11", + "@esbuild/linux-riscv64": "0.19.11", + "@esbuild/linux-s390x": "0.19.11", + "@esbuild/linux-x64": "0.19.11", + "@esbuild/netbsd-x64": "0.19.11", + "@esbuild/openbsd-x64": "0.19.11", + "@esbuild/sunos-x64": "0.19.11", + "@esbuild/win32-arm64": "0.19.11", + "@esbuild/win32-ia32": "0.19.11", + "@esbuild/win32-x64": "0.19.11" } }, "node_modules/escalade": { @@ -4379,9 +4546,9 @@ } }, "node_modules/eslint-config-standard-with-typescript": { - "version": "43.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard-with-typescript/-/eslint-config-standard-with-typescript-43.0.0.tgz", - "integrity": "sha512-AT0qK01M5bmsWiE3UZvaQO5da1y1n6uQckAKqGNe6zPW5IOzgMLXZxw77nnFm+C11nxAZXsCPrbsgJhSrGfX6Q==", + "version": "43.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-standard-with-typescript/-/eslint-config-standard-with-typescript-43.0.1.tgz", + "integrity": "sha512-WfZ986+qzIzX6dcr4yGUyVb/l9N3Z8wPXCc5z/70fljs3UbWhhV+WxrfgsqMToRzuuyX9MqZ974pq2UPhDTOcA==", "dev": true, "dependencies": { "@typescript-eslint/parser": "^6.4.0", @@ -4493,6 +4660,16 @@ "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" } }, + "node_modules/eslint-plugin-import/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/eslint-plugin-import/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", @@ -4514,6 +4691,18 @@ "node": ">=0.10.0" } }, + "node_modules/eslint-plugin-import/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/eslint-plugin-import/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -4551,6 +4740,28 @@ "eslint": ">=7.0.0" } }, + "node_modules/eslint-plugin-n/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint-plugin-n/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/eslint-plugin-promise": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", @@ -4591,6 +4802,28 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/espree": { "version": "9.6.1", "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", @@ -4829,9 +5062,9 @@ "dev": true }, "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -4869,9 +5102,9 @@ "dev": true }, "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz", + "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==", "dev": true, "dependencies": { "reusify": "^1.0.4" @@ -4984,9 +5217,9 @@ } }, "node_modules/flat-cache": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", - "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, "dependencies": { "flatted": "^3.2.9", @@ -4994,7 +5227,7 @@ "rimraf": "^3.0.2" }, "engines": { - "node": ">=12.0.0" + "node": "^10.12.0 || >=12.0.0" } }, "node_modules/flatted": { @@ -5032,6 +5265,34 @@ "is-callable": "^1.1.3" } }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -5282,10 +5543,32 @@ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "dependencies": { - "is-glob": "^4.0.3" + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=10.13.0" + "node": "*" } }, "node_modules/globals": { @@ -5621,9 +5904,9 @@ ] }, "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", "dev": true, "engines": { "node": ">= 4" @@ -6045,9 +6328,9 @@ "dev": true }, "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, "engines": { "node": ">=8" @@ -6110,6 +6393,24 @@ "node": ">=8" } }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", @@ -6666,14 +6967,14 @@ } }, "node_modules/joi": { - "version": "17.11.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", - "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", + "version": "17.12.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.0.tgz", + "integrity": "sha512-HSLsmSmXz+PV9PYoi3p7cgIbj06WnEBNT28n+bbBNcPZXZFqCzzvGqpTBPujx/Z0nh1+KNQPDrNgdmQ8dq0qYw==", "dev": true, "dependencies": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.4", "@sideway/formula": "^3.0.1", "@sideway/pinpoint": "^2.0.0" } @@ -6863,12 +7164,12 @@ } }, "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", + "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", "dev": true, "engines": { - "node": ">=10" + "node": ">=14" } }, "node_modules/lines-and-columns": { @@ -6972,15 +7273,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lint-staged/node_modules/lilconfig": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", - "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", - "dev": true, - "engines": { - "node": ">=14" - } - }, "node_modules/lint-staged/node_modules/mimic-fn": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", @@ -6994,9 +7286,9 @@ } }, "node_modules/lint-staged/node_modules/npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz", + "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==", "dev": true, "dependencies": { "path-key": "^4.0.0" @@ -7460,15 +7752,18 @@ "dev": true }, "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/minimist": { @@ -7480,6 +7775,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/mkdirp": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", @@ -7587,9 +7891,9 @@ "dev": true }, "node_modules/node-abi": { - "version": "3.51.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.51.0.tgz", - "integrity": "sha512-SQkEP4hmNWjlniS5zdnfIXTk1x7Ome85RDzHlTbBtzE97Gfwz/Ipw4v/Ryk20DWIy3yCNVLVlGKApCnmvYoJbA==", + "version": "3.54.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.54.0.tgz", + "integrity": "sha512-p7eGEiQil0YUV3ItH4/tBb781L5impVmmx2E9FRKF7d18XXzp4PGT2tdYMFY6wQqgxD0IwNZOiSJ0/K0fSi/OA==", "dev": true, "dependencies": { "semver": "^7.3.5" @@ -7620,9 +7924,9 @@ "dev": true }, "node_modules/node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", "dev": true }, "node_modules/normalize-package-data": { @@ -7692,6 +7996,16 @@ "node": ">=4" } }, + "node_modules/npm-run-all/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/npm-run-all/node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -7755,6 +8069,18 @@ "node": ">=4" } }, + "node_modules/npm-run-all/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/npm-run-all/node_modules/path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", @@ -7887,13 +8213,13 @@ } }, "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", "has-symbols": "^1.0.3", "object-keys": "^1.1.1" }, @@ -8123,6 +8449,31 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dev": true, + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", + "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, "node_modules/path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", @@ -8266,21 +8617,27 @@ } }, "node_modules/postcss-load-config": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", - "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^2.1.1" + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" }, "engines": { "node": ">= 14" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, "peerDependencies": { "postcss": ">=8.0.9", "ts-node": ">=9.0.0" @@ -8910,9 +9267,9 @@ } }, "node_modules/rfdc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", + "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==", "dev": true }, "node_modules/rimraf": { @@ -8931,10 +9288,13 @@ } }, "node_modules/rollup": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.5.2.tgz", - "integrity": "sha512-CRK1uoROBfkcqrZKyaFcqCcZWNsvJ6yVYZkqTlRocZhO2s5yER6Z3f/QaYtO8RGyloPnmhwgzuPQpNGeK210xQ==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.6.tgz", + "integrity": "sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg==", "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, "bin": { "rollup": "dist/bin/rollup" }, @@ -8943,18 +9303,19 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.5.2", - "@rollup/rollup-android-arm64": "4.5.2", - "@rollup/rollup-darwin-arm64": "4.5.2", - "@rollup/rollup-darwin-x64": "4.5.2", - "@rollup/rollup-linux-arm-gnueabihf": "4.5.2", - "@rollup/rollup-linux-arm64-gnu": "4.5.2", - "@rollup/rollup-linux-arm64-musl": "4.5.2", - "@rollup/rollup-linux-x64-gnu": "4.5.2", - "@rollup/rollup-linux-x64-musl": "4.5.2", - "@rollup/rollup-win32-arm64-msvc": "4.5.2", - "@rollup/rollup-win32-ia32-msvc": "4.5.2", - "@rollup/rollup-win32-x64-msvc": "4.5.2", + "@rollup/rollup-android-arm-eabi": "4.9.6", + "@rollup/rollup-android-arm64": "4.9.6", + "@rollup/rollup-darwin-arm64": "4.9.6", + "@rollup/rollup-darwin-x64": "4.9.6", + "@rollup/rollup-linux-arm-gnueabihf": "4.9.6", + "@rollup/rollup-linux-arm64-gnu": "4.9.6", + "@rollup/rollup-linux-arm64-musl": "4.9.6", + "@rollup/rollup-linux-riscv64-gnu": "4.9.6", + "@rollup/rollup-linux-x64-gnu": "4.9.6", + "@rollup/rollup-linux-x64-musl": "4.9.6", + "@rollup/rollup-win32-arm64-msvc": "4.9.6", + "@rollup/rollup-win32-ia32-msvc": "4.9.6", + "@rollup/rollup-win32-x64-msvc": "4.9.6", "fsevents": "~2.3.2" } }, @@ -8991,13 +9352,13 @@ } }, "node_modules/safe-array-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", - "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz", + "integrity": "sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.5", + "get-intrinsic": "^1.2.2", "has-symbols": "^1.0.3", "isarray": "^2.0.5" }, @@ -9028,15 +9389,18 @@ ] }, "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.2.tgz", + "integrity": "sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", + "call-bind": "^1.0.5", + "get-intrinsic": "^1.2.2", "is-regex": "^1.1.4" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -9161,14 +9525,15 @@ } }, "node_modules/set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz", + "integrity": "sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==", "dependencies": { "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.2", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -9479,12 +9844,6 @@ "node": ">=16" } }, - "node_modules/start-server-and-test/node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, "node_modules/statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", @@ -9512,6 +9871,12 @@ "bluebird": "^2.6.2" } }, + "node_modules/stream-length/node_modules/bluebird": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", + "integrity": "sha512-UfFSr22dmHPQqPP9XWHRhq+gWnHCYguQGkXQlbyPtW5qTnhFWA8/iXg765tH0cAjy7l/zPJ1aBTO0g5XgA7kvQ==", + "dev": true + }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -9560,6 +9925,36 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/string-width/node_modules/ansi-regex": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", @@ -9661,6 +10056,19 @@ "node": ">=8" } }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-bom": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", @@ -9692,14 +10100,14 @@ } }, "node_modules/sucrase": { - "version": "3.34.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", - "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", "dev": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", - "glob": "7.1.6", + "glob": "^10.3.10", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", @@ -9710,7 +10118,7 @@ "sucrase-node": "bin/sucrase-node" }, "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" } }, "node_modules/sucrase/node_modules/commander": { @@ -9723,20 +10131,22 @@ } }, "node_modules/sucrase/node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -9814,6 +10224,28 @@ "node": ">=8" } }, + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/test-exclude/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -10369,9 +10801,9 @@ "dev": true }, "node_modules/v8-to-istanbul": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz", - "integrity": "sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg==", + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", + "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", "dev": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", @@ -10542,6 +10974,53 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/wrap-ansi/node_modules/ansi-regex": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", diff --git a/package.json b/package.json index 538c2f2..94a2330 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "eslint:message": "echo 'Eslint started...'", "eslint": "npx eslint .", "eslint:fix": "npx eslint . --fix", + "prettier:message": "echo 'Prettier started ...'", "prettier": "npx prettier . --check", "prettier:fix": "npx prettier . --write", diff --git a/test/bookshop/@cds-models/AdminService/index.js b/test/bookshop/@cds-models/AdminService/index.js deleted file mode 100644 index c49ffe1..0000000 --- a/test/bookshop/@cds-models/AdminService/index.js +++ /dev/null @@ -1,14 +0,0 @@ -// This is an automatically generated file. Please do not change its contents manually! -const cds = require('@sap/cds') -const csn = cds.entities('AdminService') -module.exports = { name: 'AdminService' } -module.exports.UserActivityLog = csn.UserActivityLog -module.exports.UserActivityLog_ = csn.UserActivityLog -module.exports.Promotion = csn.Promotions -module.exports.Promotions = csn.Promotions -module.exports.User = csn.Users -module.exports.Users = csn.Users -// events -// actions -module.exports.sendMail = 'sendMail' -// enums diff --git a/test/bookshop/@cds-models/CatalogService/index.js b/test/bookshop/@cds-models/CatalogService/index.js deleted file mode 100644 index 25e42d1..0000000 --- a/test/bookshop/@cds-models/CatalogService/index.js +++ /dev/null @@ -1,26 +0,0 @@ -// This is an automatically generated file. Please do not change its contents manually! -const cds = require('@sap/cds') -const csn = cds.entities('CatalogService') -module.exports = { name: 'CatalogService' } -module.exports.Book = csn.Books -module.exports.Books = csn.Books -module.exports.Author = csn.Authors -module.exports.Authors = csn.Authors -module.exports.Review = csn.Reviews -module.exports.Reviews = csn.Reviews -module.exports.Publisher = csn.Publishers -module.exports.Publishers = csn.Publishers -module.exports.BookEvent = csn.BookEvents -module.exports.BookEvents = csn.BookEvents -module.exports.BookStat = csn.BookStats -module.exports.BookStats = csn.BookStats -module.exports.Currency = csn.Currencies -module.exports.Currencies = csn.Currencies -module.exports.Genre = csn.Genres -module.exports.Genres = csn.Genres -// events -module.exports.OrderedBook = 'CatalogService.OrderedBook' -// actions -module.exports.submitOrder = 'submitOrder' -module.exports.submitOrderFunction = 'submitOrderFunction' -// enums diff --git a/test/bookshop/@cds-models/_/index.js b/test/bookshop/@cds-models/_/index.js deleted file mode 100644 index 3ff3c3e..0000000 --- a/test/bookshop/@cds-models/_/index.js +++ /dev/null @@ -1,6 +0,0 @@ -// This is an automatically generated file. Please do not change its contents manually! -const cds = require('@sap/cds') -const csn = cds.entities('_') -// events -// actions -// enums diff --git a/test/bookshop/@cds-models/index.js b/test/bookshop/@cds-models/index.js deleted file mode 100644 index 45a050e..0000000 --- a/test/bookshop/@cds-models/index.js +++ /dev/null @@ -1,8 +0,0 @@ -// This is an automatically generated file. Please do not change its contents manually! -const cds = require('@sap/cds') -const csn = cds.entities('') -// events -// actions -// enums -module.exports.Roles ??= { USER: "USER", ADMIN: "ADMIN" } -module.exports.BookTypes ??= { BOOK_SIGNING: "BOOK_SIGNING", AUTHOR_TALK: "AUTHOR_TALK", BOOK_LUNCH: "BOOK_LUNCH" } diff --git a/test/bookshop/@cds-models/sap/capire/bookshop/index.js b/test/bookshop/@cds-models/sap/capire/bookshop/index.js deleted file mode 100644 index 93bc081..0000000 --- a/test/bookshop/@cds-models/sap/capire/bookshop/index.js +++ /dev/null @@ -1,26 +0,0 @@ -// This is an automatically generated file. Please do not change its contents manually! -const cds = require('@sap/cds') -const csn = cds.entities('sap.capire.bookshop') -module.exports.Book = csn.Books -module.exports.Books = csn.Books -module.exports.Publisher = csn.Publishers -module.exports.Publishers = csn.Publishers -module.exports.BookStat = csn.BookStats -module.exports.BookStats = csn.BookStats -module.exports.Author = csn.Authors -module.exports.Authors = csn.Authors -module.exports.Genre = csn.Genres -module.exports.Genres = csn.Genres -module.exports.Review = csn.Reviews -module.exports.Reviews = csn.Reviews -module.exports.BookEvent = csn.BookEvents -module.exports.BookEvents = csn.BookEvents -module.exports.User = csn.Users -module.exports.Users = csn.Users -module.exports.UserActivityLog = csn.UserActivityLog -module.exports.UserActivityLog_ = csn.UserActivityLog -module.exports.Promotion = csn.Promotions -module.exports.Promotions = csn.Promotions -// events -// actions -// enums diff --git a/test/bookshop/@cds-models/sap/common/index.js b/test/bookshop/@cds-models/sap/common/index.js deleted file mode 100644 index f019ddd..0000000 --- a/test/bookshop/@cds-models/sap/common/index.js +++ /dev/null @@ -1,12 +0,0 @@ -// This is an automatically generated file. Please do not change its contents manually! -const cds = require('@sap/cds') -const csn = cds.entities('sap.common') -module.exports.Language = csn.Languages -module.exports.Languages = csn.Languages -module.exports.Country = csn.Countries -module.exports.Countries = csn.Countries -module.exports.Currency = csn.Currencies -module.exports.Currencies = csn.Currencies -// events -// actions -// enums