diff --git a/.eslintignore b/.eslintignore index 2bf4b4d..734ce7e 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,7 +1,4 @@ -app/ -approuter/ -test/ -integration-test/ -reports/ node_modules/ -*.ts +reports/ +test/ +test-integration/ diff --git a/.eslintrc.yml b/.eslintrc.yml index 7947fc9..356d8ca 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -3,9 +3,9 @@ root: true # https://eslint.org/docs/rules/ env: node: true - es2020: true + es2019: true parserOptions: - ecmaVersion: 10 + ecmaVersion: 2019 globals: sap: false SELECT: false @@ -17,8 +17,8 @@ globals: plugins: - jest extends: - - "eslint:recommended" - - "plugin:jest/recommended" + - eslint:recommended + - plugin:jest/recommended - prettier rules: no-unused-vars: [off] @@ -31,3 +31,4 @@ rules: strict: [error] curly: [error] no-constant-condition: [error, { checkLoops: false }] + no-prototype-builtins: off diff --git a/.gitignore b/.gitignore index 71f9e93..7963b8f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,38 +1,11 @@ -gen/ -db/gen/ -srv/gen/ -.gen/ - -node_modules/ -target/ -*.db -.DS_Store -_out -.che/ -.cds_gen.log -*.orig - -# mta -*.mtar -.mta/ - -# bower -bower_components/ - -#coverage -reports - -# idea .idea/ - -#JUnit -junit.xml - -# temp +.DS_Store +node_modules/ +reports/ temp/ -memheap.txt -memleaks.txt - -# typescript -test-server-ts.js -test-server-ts.js.map +test/_env/gen/ +test/_env/util/typescript/test-server.js +test/_env/util/typescript/test-server.js.map +test/_env/test.db +test/_env/test.db-journal +test-integration/_env/gen/ \ No newline at end of file diff --git a/.npmignore b/.npmignore index 00871e3..534bd80 100644 --- a/.npmignore +++ b/.npmignore @@ -1,20 +1,16 @@ .idea/ -app/ -approuter/ +node_modules/ reports/ -integration-test/ test/ +test-integration/ .eslintignore .eslintrc.yml .gitignore .npmignore +.prettierignore .prettierrc.yml .xmake.cfg CONTRIBUTING.md jest.config.js -jest-integration-test.json -junit.xml -test-server.js -test-server-ts.ts -test-server-ts.js -tsconfig.json +jest.setup.js +jest-xmake.config.js diff --git a/.pipeline/config.properties b/.pipeline/config.properties deleted file mode 100644 index e9937a2..0000000 --- a/.pipeline/config.properties +++ /dev/null @@ -1,156 +0,0 @@ -# --------------------------------------------------------------------------- -# define id of cloud foundry credentials (CF_USERNAME & CF_PASSWORD) -# --------------------------------------------------------------------------- -# as configured in Credentials section of Jenkins -cfCredentialsId= -# --------------------------------------------------------------------------- - -# --------------------------------------------------------------------------- -# define GitHub credentials -# --------------------------------------------------------------------------- -# as configured in Credentials section of Jenkins -#ssh credentials for write access to git (e.g. for versioning) -gitSSHCredentials= -#"Personal access token" for access to GitHub REST API -#has to be stored in password part of the credentials -githubCredentials=github-oauth-token -# --------------------------------------------------------------------------- - -# --------------------------------------------------------------------------- -# define Git information - overwrite Jenkins default -# --------------------------------------------------------------------------- -gitUserName=thor -gitUserEMail=DL_5992E1607BCF8441C50001BF@exchange.sap.corp -# --------------------------------------------------------------------------- - -# --------------------------------------------------------------------------- -# define Cloud Access Manager (CAM) credentials -# Note: For productive deployment without CAM Credentials -# use value of cfCredentialsId also for camCredentialsId -# and leave camSystemRole empty -# --------------------------------------------------------------------------- -# as configured in Credentials section of Jenkins -camCredentialsId= -# System role for your solution as maintained in SPC -camSystemRole= -# --------------------------------------------------------------------------- - -# --------------------------------------------------------------------------- -# define PPMS I7P credentials -# --------------------------------------------------------------------------- -# as configured in Credentials section of Jenkins -ppmsCredentialsId=fb9e2052-a126-4f03-91b4-3680b4a87984 -ppmsID=73554900100200011859 - -# --------------------------------------------------------------------------- -# define whitesource properties -# --------------------------------------------------------------------------- -whitesourceProductName=SHC - CDS_RUNTIME 1.0 - -# --------------------------------------------------------------------------- -# define xMake build quality "Milestone" or "Release" -# --------------------------------------------------------------------------- -xMakeBuildQuality=Release -#git url of non-Abap Assemblys release fork -xMakeNaasReleaseForkRepo= -xMakeShipmentType=indirectshipment -xMakeNovaCredentialsId=xmakeNova -xMakeDevCredentialsId=xmakeDev -# --------------------------------------------------------------------------- - -# --------------------------------------------------------------------------- -# define cloud foundry environment (org, space) including application manifests -# --------------------------------------------------------------------------- -cfApiEndpoint= -cfOrg=cdsnode -cfTestSpace= -cfTestManifest= - -cfPerfSpace= -cfPerfManifest= - -cfProdApiEndpoint= -cfProdOrg= -cfProdSpace= -cfProdManifest= -# Technical user to be used for app deployment in prod space -cfProdUser= - -# --------------------------------------------------------------------------- - -# --------------------------------------------------------------------------- -# Extension points - name & location of groovy files -# --------------------------------------------------------------------------- -# custom integration tests -extensionIntegrationTestScript= - -# --------------------------------------------------------------------------- -# define cloud foundry application name -# --------------------------------------------------------------------------- -cfAppName= -# --------------------------------------------------------------------------- - -# --------------------------------------------------------------------------- -# define email notification distribution list -# --------------------------------------------------------------------------- -notificationRecipients=oliver.klemenz@sap.com -# --------------------------------------------------------------------------- - -# --------------------------------------------------------------------------- -# define Checkmarx project name & groupId -# --------------------------------------------------------------------------- -checkmarxProject=cds-odata-v2-adapter-proxy -checkmarxGroupId=49e3e4b5-9e89-4781-b14f-32a11bfdd1a5 -checkmarxCredentialsId=CHECKMARX_USER -# --------------------------------------------------------------------------- - -# --------------------------------------------------------------------------- -# Control execution of OPA tests -# --------------------------------------------------------------------------- -runOpaTests=false -opaTimeout=5 -modulesToCheckWithOpa= -# --------------------------------------------------------------------------- - -# --------------------------------------------------------------------------- -# Operations-related information -# --------------------------------------------------------------------------- -# Spring Boot by default provides the endpoint /health for health checks -healthCheckUrlAcceptance= -healthCheckUrlPerformance= -healthCheckUrlProduction= -# --------------------------------------------------------------------------- - -# --------------------------------------------------------------------------- -# Control execution of acceptance tests -# --------------------------------------------------------------------------- -runFunctionalAcceptanceTests=false -accTestUrl= -# git url to repository with acceptance tests. Leave empty if tests are in current repo -accTestRepository= -# --------------------------------------------------------------------------- - -# --------------------------------------------------------------------------- -# Control execution of performance tests -# --------------------------------------------------------------------------- -runPerformanceUnitTests=false -runPerformanceJMeterTests=false -perfJMeterTestRepository= -perfJMeterTestUrl= -runPerformanceSUT=false -perfSUTRepository= -perfSUTestUrl= -#SUT output csv file, e.g.: testAngularCC.csv -perfSUTResultCSV= -#id of the SUT test case: e.g. WDTest#testAngularCC -perfSUTTestCase= -# --------------------------------------------------------------------------- - -# --------------------------------------------------------------------------- -# define InfluxDB host -# --------------------------------------------------------------------------- -# host where InfluxDB is installed -# rest of the configuration done in Jenkins system configuration -# use empty string if no InfluxDB is used -influxDBServer=jenkins -# --------------------------------------------------------------------------- diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index d8d1628..0000000 --- a/.prettierignore +++ /dev/null @@ -1 +0,0 @@ -.pipeline/ \ No newline at end of file diff --git a/.xmake.cfg b/.xmake.cfg index 92f57f6..8531bdc 100644 --- a/.xmake.cfg +++ b/.xmake.cfg @@ -7,7 +7,7 @@ bundle=true publish_npm=true before_publish=prepareRelease install-arguments=--no-save,--no-package-lock -test-arguments=--scripts-prepend-node-path +test-arguments=--scripts-prepend-node-path,--,--config=jest-xmake.config.js make-shrinkwrap=false [env_all] diff --git a/CHANGELOG.md b/CHANGELOG.md index 6a155a9..edf3107 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,9 +7,11 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. -## Version 1.8.22 - tbd +## Version 1.9.0 - tbd -- Represent time component of `cds.Date/Edm.DateTime` with second precision (i.e. `00:00:00`) +- CDS 6 compatible version +- Enhance proxy option `target` with mode `auto` to handle dynamic target/port assignment (e.g. for unit-tests) +- Represent time component of `cds.Date/Edm.DateTime` with second precision (i.e. `00:00:00`) ## Version 1.8.21 - 2022-06-22 @@ -229,7 +231,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ### Fixed - Fix query options not part of action parameters -- Proxy option `caseInsensitive` to transform search function e.g. `substringof` to case insensitive variant +- Proxy option `caseInsensitive` to transform search function e.g. `substringof` to case-insensitive variant ## Version 1.7.9 - 2021-08-06 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d945dc4..23c1cc9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,15 +1,25 @@ # Contribution Guide -**Do you want to contribute to CDS OData V2 Adapter Proxy?** +### Do you want to contribute to CDS OData V2 Adapter Proxy? Contributions via **pull requests** are welcome. The development team of CDS OData V2 Adapter Proxy is looking forward to any contribution. The following contribution guide gives you a high level overview of the project and should help to jump start your contribution. -- Code is contained in file `lib/index.js` -- Tests are located in folder `test` +- Source code is located at file `src/index.js` +- Typings are defined in `src/index.d.ts` +- Unit Tests are located in folder `test` +- HANA Integration Tests are located in folder `test-integration`: `npm test:integration` -**Did find an issue?** +### How to run the project? + +- `npm test`: Execute test suite (unit tests + integration tests) + - `npm run test:unit`: Execute unit tests only + - `npm run test:integration`: Execute integration tests only +- `npm start`: Start test server incl. example apps (SQLite) + - `npm run start:hana` Start test server incl. example apps (HANA) + +### Did find an issue? Open a new issue [here](https://github.wdf.sap.corp/cds-community/cds-odata-v2-adapter-proxy/issues/new). diff --git a/Jenkinsfile b/Jenkinsfile deleted file mode 100644 index 207e9da..0000000 --- a/Jenkinsfile +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env groovy -@Library(['piper-lib-os','piper-lib','piper-next']) _ - -startPipeline() diff --git a/README.md b/README.md index 77ed085..9da2ea0 100644 --- a/README.md +++ b/README.md @@ -204,17 +204,17 @@ It's disabled by default, but can be enabled using option [compressResponseMixed Instantiates a CDS OData V2 Adapter Proxy Express Router for a CDS-based OData V4 Server: -- **options:** CDS OData V2 Adapter Proxy options object +- **options:** CDS OData V2 Adapter Proxy options object. - **base:** Base path under which the service is reachable. Default is `''`. - **path:** Path under which the proxy is reachable. Default is `'v2'`. - **model:** CDS service model (path(s) or CSN). Default is `'all'`. - - **port:** Target port, which points to OData V4 backend port. Default is process.env.PORT or `4004`. - - **target:** Target, which points to OData V4 backend host/port. Default is e.g. `'http://localhost:4004'`. + - **port:** Target port which points to OData V4 backend port. Default is process.env.PORT or `4004`. + - **target:** Target which points to OData V4 backend host:port. Use `'auto'` to infer the target from server url after listening. Default is e.g. `'http://localhost:4004'`. - **targetPath:** Target path to which is redirected. Default is `''`. - **services:** Service mapping object from url path name to service name. Default is `{}`. - **mtxRemote:** CDS model is retrieved remotely via MTX endpoint for multitenant scenario. Default is `false`. - **mtxEndpoint:** Endpoint to retrieve MTX metadata when option 'mtxRemote' is active. Default is `'/mtx/v1'`. - - **ieee754Compatible:** `Edm.Decimal` and `Edm.Int64` are serialized IEEE754 compatible. Default is `true`. + - **ieee754Compatible:** Edm.Decimal and Edm.Int64 are serialized IEEE754 compatible. Default is `true`. - **disableNetworkLog:** Disable networking logging. Default is `true`. - **fileUploadSizeLimit:** File upload file size limit (in bytes). Default is `10485760` (10 MB). - **continueOnError:** Indicates to OData V4 backend to continue on error. Default is `false`. @@ -223,15 +223,15 @@ Instantiates a CDS OData V2 Adapter Proxy Express Router for a CDS-based OData V - **isoDateTime:** Use ISO 8601 format for type cds.DateTime (Edm.DateTimeOffset). Default is `false`. - **isoTimestamp:** Use ISO 8601 format for type cds.Timestamp (Edm.DateTimeOffset). Default is `false`. - **isoDateTimeOffset:** Use ISO 8601 format for type Edm.DateTimeOffset (cds.DateTime, cds.Timestamp). Default is `false`. - - **bodyParserLimit:** Request and response body parser size limit. Default is '100mb'. - - **returnCollectionNested**: Collection of entity type is returned nested into a `results` section. Default is `true`. + - **bodyParserLimit:** Request and response body parser size limit. Default is `'100mb'`. + - **returnCollectionNested**: Collection of entity type is returned nested into a results section. Default is `true`. - **returnComplexNested**: Function import return structure of complex type (non collection) is nested using function import name. Default is `true`. - **returnPrimitiveNested**: Function import return structure of primitive type (non collection) is nested using function import name. Default is `true`. - **returnPrimitivePlain**: Function import return value of primitive type is rendered as plain JSON value. Default is `true`. - - **messageTargetDefault**: Specifies the message target default, if target is undefined. Default is `/#TRANSIENT#`. - - **caseInsensitive**: Transforms search functions e.g. substringof to case insensitive variant. Default is `false`. + - **messageTargetDefault**: Specifies the message target default, if target is undefined. Default is `'/#TRANSIENT#'`. + - **caseInsensitive**: Transforms search functions i.e. substringof, startswith, endswith to case-insensitive variant. Default is `false`. - **propagateMessageToDetails**: Propagates root error or message always to details section. Default is `false`. - - **contentDisposition**: Default content disposition for media streams (inline, attachment), if not available or calculated. Default is `attachment`. + - **contentDisposition**: Default content disposition for media streams (inline, attachment), if not available or calculated. Default is `'attachment'`. - **calcContentDisposition**: Calculate content disposition for media streams even if already available. Default is `false`. - **quoteSearch**: Specifies if search expression is quoted automatically. Default is `true`. - **fixDraftRequests**: Specifies if unsupported draft requests are converted to a working version. Default is `false`. diff --git a/context.xml b/context.xml deleted file mode 100644 index 758605e..0000000 --- a/context.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - Oliver Klemenz - oliver.klemenz@sap.com - - - - git - git@github.wdf.sap.corp:cds-community/cds-odata-v2-adapter-proxy.git - - - ssh - master - - /lib - - - - diff --git a/integration-test/.npmrc b/integration-test/.npmrc deleted file mode 100644 index 22fdabb..0000000 --- a/integration-test/.npmrc +++ /dev/null @@ -1,4 +0,0 @@ -@sap:registry=https://int.repositories.cloud.sap/artifactory/api/npm/build-milestones-npm/ -node_sqlite3_binary_host_mirror=https://int.repositories.cloud.sap/artifactory/build-releases/com/sap/cds/node-sqlite3-binary/5.0.8/node-sqlite3-binary-5.0.8.zip!/ -strict-ssl=false -package-lock=false diff --git a/integration-test/_env/.npmrc b/integration-test/_env/.npmrc deleted file mode 100644 index ed84cb7..0000000 --- a/integration-test/_env/.npmrc +++ /dev/null @@ -1,2 +0,0 @@ -registry=https://int.repositories.cloud.sap/artifactory/api/npm/build-milestones-npm/ -strict-ssl=false diff --git a/integration-test/_env/index.js b/integration-test/_env/index.js deleted file mode 100644 index 44ba1a4..0000000 --- a/integration-test/_env/index.js +++ /dev/null @@ -1,57 +0,0 @@ -"use strict"; - -const express = require("express"); -const http = require("http"); -const cds = require("@sap/cds"); -const odatav2proxy = require("../../lib"); - -process.env.XS_APP_LOG_LEVEL = "debug"; - -const credentials = require("./db/default-services").hana[0].credentials; - -module.exports = async (service, defaultPort, fnInit) => { - // new-canary-dev-02 - cds.env.requires.db = { - kind: "hana", - credentials, - }; - const db = await cds.connect.to("db"); - - let port = defaultPort || 0; - const servicePath = `./integration-test/_env/srv/${service}`; - const app = express(); - - const srv = await cds.load(servicePath); - await cds.serve(servicePath).in(app); - - // Backend - let server; - await new Promise((resolve) => { - server = new http.Server(app); - server.listen(port, () => { - port = server.address().port; - console.info(`Server listening on port ${port}`); - resolve(); - }); - }); - - // Proxy - app.use( - odatav2proxy({ - path: "v2", - model: servicePath, - port: port, - }) - ); - - const context = { port, server, app, cds, srv, db }; - if (fnInit) { - await fnInit(context); - } - return context; -}; - -module.exports.end = (context) => { - context.cds.disconnect(); - context.server.close(); -}; diff --git a/integration-test/_env/srv/index.cds b/integration-test/_env/srv/index.cds deleted file mode 100644 index 0501e64..0000000 --- a/integration-test/_env/srv/index.cds +++ /dev/null @@ -1,2 +0,0 @@ -using from './agreementService'; -using from './mainService'; \ No newline at end of file diff --git a/integration-test/jest-integration.config.js b/integration-test/jest-integration.config.js deleted file mode 100644 index 7930331..0000000 --- a/integration-test/jest-integration.config.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; - -require("@sap/hana-client/lib/index.js"); - -module.exports = { - reporters: ["default"], - automock: false, - bail: false, - clearMocks: true, - collectCoverage: false, - moduleDirectories: ["node_modules"], - modulePathIgnorePatterns: [], - resetMocks: false, - resetModules: false, - testMatch: ["**/integration-test/**/*-test.js"], - testPathIgnorePatterns: ["/node_modules/"], - verbose: true, - setupFilesAfterEnv: ["../jest.setup.js"], - testEnvironmentOptions: { - url: "http://localhost/", - }, -}; diff --git a/jest-xmake.config.js b/jest-xmake.config.js new file mode 100644 index 0000000..7bcf58e --- /dev/null +++ b/jest-xmake.config.js @@ -0,0 +1,16 @@ +"use strict"; + +const baseConfig = require("./jest.config"); + +module.exports = { + ...baseConfig, + coverageThreshold: { + global: { + branches: 75, + functions: 85, + lines: 85, + statements: 85, + }, + }, + testMatch: ["**/test/**/*-test.js"], +}; diff --git a/jest.config.js b/jest.config.js index 14c6396..26dd8ef 100644 --- a/jest.config.js +++ b/jest.config.js @@ -6,22 +6,22 @@ module.exports = { bail: false, clearMocks: true, collectCoverage: true, - collectCoverageFrom: ["**/index.js", "!**/srv/**/*.js", "!**/test/**/*.js", "!**/integration-test/**/*.js"], + collectCoverageFrom: ["**/index.js", "!**/srv/**/*.js", "!**/test/**/*.js", "!**/test-integration/**/*.js"], coverageDirectory: "reports/coverage/unit/", coverageReporters: ["lcov", "text"], coverageThreshold: { global: { - branches: 75, - functions: 85, - lines: 85, - statements: 85, + branches: 80, + functions: 90, + lines: 90, + statements: 90, }, }, moduleDirectories: ["node_modules"], modulePathIgnorePatterns: [], resetMocks: false, resetModules: false, - testMatch: ["**/test/**/*-test.js"], + testMatch: ["**/test/**/*-test.js", "**/test-integration/**/*-test.js"], testPathIgnorePatterns: ["/node_modules/"], verbose: true, setupFilesAfterEnv: ["./jest.setup.js"], diff --git a/jest.setup.js b/jest.setup.js index 3eeb37c..e85fe30 100644 --- a/jest.setup.js +++ b/jest.setup.js @@ -1,3 +1,7 @@ "use strict"; jest.setTimeout(30000); // in milliseconds (30 sec) + +beforeAll(async () => { + await global._init; +}); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 825418b..5871ee3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@sap/cds-odata-v2-adapter-proxy", - "version": "1.8.21", + "version": "1.9.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -15,36 +15,36 @@ } }, "@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "version": "7.18.6", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", "dev": true, "requires": { - "@babel/highlight": "^7.16.7" + "@babel/highlight": "^7.18.6" } }, "@babel/compat-data": { - "version": "7.18.5", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/compat-data/-/compat-data-7.18.5.tgz", - "integrity": "sha512-BxhE40PVCBxVEJsSBhB6UWyAuqJRxGsAw8BdHMJ3AKGydcwuWW4kOO3HmqBQAdcq/OP+/DlTVxLvsCzRTnZuGg==", + "version": "7.18.6", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/compat-data/-/compat-data-7.18.6.tgz", + "integrity": "sha512-tzulrgDT0QD6U7BJ4TKVk2SDDg7wlP39P9yAx1RfLy7vP/7rsDRlWVfbWxElslu56+r7QOhB2NSDsabYYruoZQ==", "dev": true }, "@babel/core": { - "version": "7.18.5", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/core/-/core-7.18.5.tgz", - "integrity": "sha512-MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ==", + "version": "7.18.6", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/core/-/core-7.18.6.tgz", + "integrity": "sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ==", "dev": true, "requires": { "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.18.2", - "@babel/helper-compilation-targets": "^7.18.2", - "@babel/helper-module-transforms": "^7.18.0", - "@babel/helpers": "^7.18.2", - "@babel/parser": "^7.18.5", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.18.5", - "@babel/types": "^7.18.4", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.18.6", + "@babel/helper-compilation-targets": "^7.18.6", + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helpers": "^7.18.6", + "@babel/parser": "^7.18.6", + "@babel/template": "^7.18.6", + "@babel/traverse": "^7.18.6", + "@babel/types": "^7.18.6", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -76,23 +76,23 @@ } }, "@babel/generator": { - "version": "7.18.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/generator/-/generator-7.18.2.tgz", - "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==", + "version": "7.18.7", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/generator/-/generator-7.18.7.tgz", + "integrity": "sha512-shck+7VLlY72a2w9c3zYWuE1pwOKEiQHV7GTUbSnhyl5eu3i04t30tBY82ZRWrDfo3gkakCFtevExnxbkf2a3A==", "dev": true, "requires": { - "@babel/types": "^7.18.2", - "@jridgewell/gen-mapping": "^0.3.0", + "@babel/types": "^7.18.7", + "@jridgewell/gen-mapping": "^0.3.2", "jsesc": "^2.5.1" }, "dependencies": { "@jridgewell/gen-mapping": { - "version": "0.3.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", - "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", + "version": "0.3.2", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", "dev": true, "requires": { - "@jridgewell/set-array": "^1.0.0", + "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", "@jridgewell/trace-mapping": "^0.3.9" } @@ -100,13 +100,13 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.18.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz", - "integrity": "sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==", + "version": "7.18.6", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.6.tgz", + "integrity": "sha512-vFjbfhNCzqdeAtZflUFrG5YIFqGTqsctrtkZ1D/NB0mDW9TwW3GmmUepYY4G9wCET5rY5ugz4OGTcLd614IzQg==", "dev": true, "requires": { - "@babel/compat-data": "^7.17.10", - "@babel/helper-validator-option": "^7.16.7", + "@babel/compat-data": "^7.18.6", + "@babel/helper-validator-option": "^7.18.6", "browserslist": "^4.20.2", "semver": "^6.3.0" }, @@ -120,109 +120,109 @@ } }, "@babel/helper-environment-visitor": { - "version": "7.18.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz", - "integrity": "sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==", + "version": "7.18.6", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.6.tgz", + "integrity": "sha512-8n6gSfn2baOY+qlp+VSzsosjCVGFqWKmDF0cCWOybh52Dw3SEyoWR1KrhMJASjLwIEkkAufZ0xvr+SxLHSpy2Q==", "dev": true }, "@babel/helper-function-name": { - "version": "7.17.9", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", - "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", + "version": "7.18.6", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/helper-function-name/-/helper-function-name-7.18.6.tgz", + "integrity": "sha512-0mWMxV1aC97dhjCah5U5Ua7668r5ZmSC2DLfH2EZnf9c3/dHZKiFa5pRLMH5tjSl471tY6496ZWk/kjNONBxhw==", "dev": true, "requires": { - "@babel/template": "^7.16.7", - "@babel/types": "^7.17.0" + "@babel/template": "^7.18.6", + "@babel/types": "^7.18.6" } }, "@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "version": "7.18.6", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" } }, "@babel/helper-module-imports": { - "version": "7.16.7", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", - "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", + "version": "7.18.6", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" } }, "@babel/helper-module-transforms": { - "version": "7.18.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz", - "integrity": "sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA==", + "version": "7.18.6", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/helper-module-transforms/-/helper-module-transforms-7.18.6.tgz", + "integrity": "sha512-L//phhB4al5uucwzlimruukHB3jRd5JGClwRMD/ROrVjXfLqovYnvQrK/JK36WYyVwGGO7OD3kMyVTjx+WVPhw==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-simple-access": "^7.17.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.18.0", - "@babel/types": "^7.18.0" + "@babel/helper-environment-visitor": "^7.18.6", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.18.6", + "@babel/template": "^7.18.6", + "@babel/traverse": "^7.18.6", + "@babel/types": "^7.18.6" } }, "@babel/helper-plugin-utils": { - "version": "7.17.12", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz", - "integrity": "sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==", + "version": "7.18.6", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.6.tgz", + "integrity": "sha512-gvZnm1YAAxh13eJdkb9EWHBnF3eAub3XTLCZEehHT2kWxiKVRL64+ae5Y6Ivne0mVHmMYKT+xWgZO+gQhuLUBg==", "dev": true }, "@babel/helper-simple-access": { - "version": "7.18.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz", - "integrity": "sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ==", + "version": "7.18.6", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", + "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", "dev": true, "requires": { - "@babel/types": "^7.18.2" + "@babel/types": "^7.18.6" } }, "@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "version": "7.18.6", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" } }, "@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "version": "7.18.6", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", + "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", "dev": true }, "@babel/helper-validator-option": { - "version": "7.16.7", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", - "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", + "version": "7.18.6", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", "dev": true }, "@babel/helpers": { - "version": "7.18.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/helpers/-/helpers-7.18.2.tgz", - "integrity": "sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg==", + "version": "7.18.6", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/helpers/-/helpers-7.18.6.tgz", + "integrity": "sha512-vzSiiqbQOghPngUYt/zWGvK3LAsPhz55vc9XNN0xAl2gV4ieShI2OQli5duxWHD+72PZPTKAcfcZDE1Cwc5zsQ==", "dev": true, "requires": { - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.18.2", - "@babel/types": "^7.18.2" + "@babel/template": "^7.18.6", + "@babel/traverse": "^7.18.6", + "@babel/types": "^7.18.6" } }, "@babel/highlight": { - "version": "7.17.12", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/highlight/-/highlight-7.17.12.tgz", - "integrity": "sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==", + "version": "7.18.6", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -286,9 +286,9 @@ } }, "@babel/parser": { - "version": "7.18.5", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/parser/-/parser-7.18.5.tgz", - "integrity": "sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw==", + "version": "7.18.6", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/parser/-/parser-7.18.6.tgz", + "integrity": "sha512-uQVSa9jJUe/G/304lXspfWVpKpK4euFLgGiMQFOCpM/bgcAdeoHwi/OQz23O9GK2osz26ZiXRRV9aV+Yl1O8tw==", "dev": true }, "@babel/plugin-syntax-async-generators": { @@ -400,39 +400,39 @@ } }, "@babel/plugin-syntax-typescript": { - "version": "7.17.12", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.12.tgz", - "integrity": "sha512-TYY0SXFiO31YXtNg3HtFwNJHjLsAyIIhAhNWkQ5whPPS7HWUFlg9z0Ta4qAQNjQbP1wsSt/oKkmZ/4/WWdMUpw==", + "version": "7.18.6", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", + "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.17.12" + "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/template": { - "version": "7.16.7", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "version": "7.18.6", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/template/-/template-7.18.6.tgz", + "integrity": "sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==", "dev": true, "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.6", + "@babel/types": "^7.18.6" } }, "@babel/traverse": { - "version": "7.18.5", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/traverse/-/traverse-7.18.5.tgz", - "integrity": "sha512-aKXj1KT66sBj0vVzk6rEeAO6Z9aiiQ68wfDgge3nHhA/my6xMM/7HGQUNumKZaoa2qUPQ5whJG9aAifsxUKfLA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.18.2", - "@babel/helper-environment-visitor": "^7.18.2", - "@babel/helper-function-name": "^7.17.9", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.18.5", - "@babel/types": "^7.18.4", + "version": "7.18.6", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/traverse/-/traverse-7.18.6.tgz", + "integrity": "sha512-zS/OKyqmD7lslOtFqbscH6gMLFYOfG1YPqCKfAW5KrTeolKqvB8UelR49Fpr6y93kYkW2Ik00mT1LOGiAGvizw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.6", + "@babel/helper-function-name": "^7.18.6", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.18.6", + "@babel/types": "^7.18.6", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -461,12 +461,12 @@ } }, "@babel/types": { - "version": "7.18.4", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/types/-/types-7.18.4.tgz", - "integrity": "sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==", + "version": "7.18.7", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@babel/types/-/types-7.18.7.tgz", + "integrity": "sha512-QG3yxTcTIBoAcQmkCs+wAPYZhu7Dk9rXKacINfNbdJDNERTbLQbHGyVG8q/YGMPeCJRIhSY0+fTc5+xuh6WPSQ==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-validator-identifier": "^7.18.6", "to-fast-properties": "^2.0.0" } }, @@ -476,23 +476,6 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "@colors/colors": { - "version": "1.5.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "dev": true - }, - "@dabh/diagnostics": { - "version": "2.0.3", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", - "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==", - "dev": true, - "requires": { - "colorspace": "1.1.x", - "enabled": "2.0.x", - "kuler": "^2.0.0" - } - }, "@eslint/eslintrc": { "version": "1.3.0", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", @@ -629,15 +612,15 @@ } }, "@jest/core": { - "version": "28.1.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@jest/core/-/core-28.1.1.tgz", - "integrity": "sha512-3pYsBoZZ42tXMdlcFeCc/0j9kOlK7MYuXs2B1QbvDgMoW1K9NJ4G/VYvIbMb26iqlkTfPHo7SC2JgjDOk/mxXw==", + "version": "28.1.2", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@jest/core/-/core-28.1.2.tgz", + "integrity": "sha512-Xo4E+Sb/nZODMGOPt2G3cMmCBqL4/W2Ijwr7/mrXlq4jdJwcFQ/9KrrJZT2adQRk2otVBXXOz1GRQ4Z5iOgvRQ==", "dev": true, "requires": { "@jest/console": "^28.1.1", - "@jest/reporters": "^28.1.1", + "@jest/reporters": "^28.1.2", "@jest/test-result": "^28.1.1", - "@jest/transform": "^28.1.1", + "@jest/transform": "^28.1.2", "@jest/types": "^28.1.1", "@types/node": "*", "ansi-escapes": "^4.2.1", @@ -646,15 +629,15 @@ "exit": "^0.1.2", "graceful-fs": "^4.2.9", "jest-changed-files": "^28.0.2", - "jest-config": "^28.1.1", + "jest-config": "^28.1.2", "jest-haste-map": "^28.1.1", "jest-message-util": "^28.1.1", "jest-regex-util": "^28.0.2", "jest-resolve": "^28.1.1", - "jest-resolve-dependencies": "^28.1.1", - "jest-runner": "^28.1.1", - "jest-runtime": "^28.1.1", - "jest-snapshot": "^28.1.1", + "jest-resolve-dependencies": "^28.1.2", + "jest-runner": "^28.1.2", + "jest-runtime": "^28.1.2", + "jest-snapshot": "^28.1.2", "jest-util": "^28.1.1", "jest-validate": "^28.1.1", "jest-watcher": "^28.1.1", @@ -683,25 +666,25 @@ } }, "@jest/environment": { - "version": "28.1.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@jest/environment/-/environment-28.1.1.tgz", - "integrity": "sha512-9auVQ2GzQ7nrU+lAr8KyY838YahElTX9HVjbQPPS2XjlxQ+na18G113OoBhyBGBtD6ZnO/SrUy5WR8EzOj1/Uw==", + "version": "28.1.2", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@jest/environment/-/environment-28.1.2.tgz", + "integrity": "sha512-I0CR1RUMmOzd0tRpz10oUfaChBWs+/Hrvn5xYhMEF/ZqrDaaeHwS8yDBqEWCrEnkH2g+WE/6g90oBv3nKpcm8Q==", "dev": true, "requires": { - "@jest/fake-timers": "^28.1.1", + "@jest/fake-timers": "^28.1.2", "@jest/types": "^28.1.1", "@types/node": "*", "jest-mock": "^28.1.1" } }, "@jest/expect": { - "version": "28.1.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@jest/expect/-/expect-28.1.1.tgz", - "integrity": "sha512-/+tQprrFoT6lfkMj4mW/mUIfAmmk/+iQPmg7mLDIFOf2lyf7EBHaS+x3RbeR0VZVMe55IvX7QRoT/2aK3AuUXg==", + "version": "28.1.2", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@jest/expect/-/expect-28.1.2.tgz", + "integrity": "sha512-HBzyZBeFBiOelNbBKN0pilWbbrGvwDUwAqMC46NVJmWm8AVkuE58NbG1s7DR4cxFt4U5cVLxofAoHxgvC5MyOw==", "dev": true, "requires": { "expect": "^28.1.1", - "jest-snapshot": "^28.1.1" + "jest-snapshot": "^28.1.2" } }, "@jest/expect-utils": { @@ -714,13 +697,13 @@ } }, "@jest/fake-timers": { - "version": "28.1.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@jest/fake-timers/-/fake-timers-28.1.1.tgz", - "integrity": "sha512-BY/3+TyLs5+q87rGWrGUY5f8e8uC3LsVHS9Diz8+FV3ARXL4sNnkLlIB8dvDvRrp+LUCGM+DLqlsYubizGUjIA==", + "version": "28.1.2", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@jest/fake-timers/-/fake-timers-28.1.2.tgz", + "integrity": "sha512-xSYEI7Y0D5FbZN2LsCUj/EKRR1zfQYmGuAUVh6xTqhx7V5JhjgMcK5Pa0iR6WIk0GXiHDe0Ke4A+yERKE9saqg==", "dev": true, "requires": { "@jest/types": "^28.1.1", - "@sinonjs/fake-timers": "^9.1.1", + "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", "jest-message-util": "^28.1.1", "jest-mock": "^28.1.1", @@ -728,28 +711,28 @@ } }, "@jest/globals": { - "version": "28.1.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@jest/globals/-/globals-28.1.1.tgz", - "integrity": "sha512-dEgl/6v7ToB4vXItdvcltJBgny0xBE6xy6IYQrPJAJggdEinGxCDMivNv7sFzPcTITGquXD6UJwYxfJ/5ZwDSg==", + "version": "28.1.2", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@jest/globals/-/globals-28.1.2.tgz", + "integrity": "sha512-cz0lkJVDOtDaYhvT3Fv2U1B6FtBnV+OpEyJCzTHM1fdoTsU4QNLAt/H4RkiwEUU+dL4g/MFsoTuHeT2pvbo4Hg==", "dev": true, "requires": { - "@jest/environment": "^28.1.1", - "@jest/expect": "^28.1.1", + "@jest/environment": "^28.1.2", + "@jest/expect": "^28.1.2", "@jest/types": "^28.1.1" } }, "@jest/reporters": { - "version": "28.1.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@jest/reporters/-/reporters-28.1.1.tgz", - "integrity": "sha512-597Zj4D4d88sZrzM4atEGLuO7SdA/YrOv9SRXHXRNC+/FwPCWxZhBAEzhXoiJzfRwn8zes/EjS8Lo6DouGN5Gg==", + "version": "28.1.2", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@jest/reporters/-/reporters-28.1.2.tgz", + "integrity": "sha512-/whGLhiwAqeCTmQEouSigUZJPVl7sW8V26EiboImL+UyXznnr1a03/YZ2BX8OlFw0n+Zlwu+EZAITZtaeRTxyA==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^28.1.1", "@jest/test-result": "^28.1.1", - "@jest/transform": "^28.1.1", + "@jest/transform": "^28.1.2", "@jest/types": "^28.1.1", - "@jridgewell/trace-mapping": "^0.3.7", + "@jridgewell/trace-mapping": "^0.3.13", "@types/node": "*", "chalk": "^4.0.0", "collect-v8-coverage": "^1.0.0", @@ -768,7 +751,7 @@ "string-length": "^4.0.1", "strip-ansi": "^6.0.0", "terminal-link": "^2.0.0", - "v8-to-istanbul": "^9.0.0" + "v8-to-istanbul": "^9.0.1" } }, "@jest/schemas": { @@ -781,12 +764,12 @@ } }, "@jest/source-map": { - "version": "28.0.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@jest/source-map/-/source-map-28.0.2.tgz", - "integrity": "sha512-Y9dxC8ZpN3kImkk0LkK5XCEneYMAXlZ8m5bflmSL5vrwyeUpJfentacCUg6fOb8NOpOO7hz2+l37MV77T6BFPw==", + "version": "28.1.2", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@jest/source-map/-/source-map-28.1.2.tgz", + "integrity": "sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==", "dev": true, "requires": { - "@jridgewell/trace-mapping": "^0.3.7", + "@jridgewell/trace-mapping": "^0.3.13", "callsites": "^3.0.0", "graceful-fs": "^4.2.9" } @@ -816,14 +799,14 @@ } }, "@jest/transform": { - "version": "28.1.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@jest/transform/-/transform-28.1.1.tgz", - "integrity": "sha512-PkfaTUuvjUarl1EDr5ZQcCA++oXkFCP9QFUkG0yVKVmNObjhrqDy0kbMpMebfHWm3CCDHjYNem9eUSH8suVNHQ==", + "version": "28.1.2", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@jest/transform/-/transform-28.1.2.tgz", + "integrity": "sha512-3o+lKF6iweLeJFHBlMJysdaPbpoMmtbHEFsjzSv37HIq/wWt5ijTeO2Yf7MO5yyczCopD507cNwNLeX8Y/CuIg==", "dev": true, "requires": { "@babel/core": "^7.11.6", "@jest/types": "^28.1.1", - "@jridgewell/trace-mapping": "^0.3.7", + "@jridgewell/trace-mapping": "^0.3.13", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", @@ -863,27 +846,27 @@ } }, "@jridgewell/resolve-uri": { - "version": "3.0.7", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", - "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", + "version": "3.0.8", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@jridgewell/resolve-uri/-/resolve-uri-3.0.8.tgz", + "integrity": "sha512-YK5G9LaddzGbcucK4c8h5tWFmMPBvRZ/uyWmN1/SbBdIvqGUdWGkJ5BAaccgs6XbzVLsqbPJrBSFwKv3kT9i7w==", "dev": true }, "@jridgewell/set-array": { - "version": "1.1.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@jridgewell/set-array/-/set-array-1.1.1.tgz", - "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==", + "version": "1.1.2", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", "dev": true }, "@jridgewell/sourcemap-codec": { - "version": "1.4.13", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", - "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==", + "version": "1.4.14", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", "dev": true }, "@jridgewell/trace-mapping": { - "version": "0.3.13", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz", - "integrity": "sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==", + "version": "0.3.14", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", + "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", "dev": true, "requires": { "@jridgewell/resolve-uri": "^3.0.3", @@ -905,17 +888,6 @@ "rimraf": "^3.0.2", "semver": "^7.3.5", "tar": "^6.1.11" - }, - "dependencies": { - "semver": { - "version": "7.3.7", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } } }, "@nodelib/fs.scandir": { @@ -953,18 +925,6 @@ "requires": { "@gar/promisify": "^1.0.1", "semver": "^7.3.5" - }, - "dependencies": { - "semver": { - "version": "7.3.7", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "optional": true, - "requires": { - "lru-cache": "^6.0.0" - } - } } }, "@npmcli/move-file": { @@ -987,347 +947,2445 @@ } } }, - "@sap-cloud-sdk/analytics": { - "version": "1.54.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@sap-cloud-sdk/analytics/-/analytics-1.54.2.tgz", - "integrity": "sha512-CUoyVJ2HjPGJKwhV7EnUWR9n7c/uYpDyygy8ROzpgdT1qDVyMNWjtaaCbR4a15afIpRvJ5soLDFFLWyK6CV40g==", - "dev": true, - "requires": { - "@sap-cloud-sdk/util": "^1.54.2", - "axios": "^0.26.0" - } - }, - "@sap-cloud-sdk/core": { - "version": "1.54.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@sap-cloud-sdk/core/-/core-1.54.2.tgz", - "integrity": "sha512-oF1nMYo9qAk4BDAypuAfhofxxeNKTqIroMfZAqgOb8vXxwtsZjS+bK03mptxE3cPnDhwUV0LaOeNy5foIv9oCw==", - "dev": true, - "requires": { - "@sap-cloud-sdk/analytics": "^1.54.2", - "@sap-cloud-sdk/util": "^1.54.2", - "@sap/xsenv": "^3.0.0", - "@sap/xssec": "^3.2.7", - "@types/jsonwebtoken": "^8.3.8", - "axios": "^0.26.0", - "bignumber.js": "^9.0.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "jsonwebtoken": "^8.5.1", - "moment": "^2.29.0", - "opossum": "^6.0.0", - "uuid": "^8.2.0", - "voca": "^1.4.0" - } - }, - "@sap-cloud-sdk/util": { - "version": "1.54.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@sap-cloud-sdk/util/-/util-1.54.2.tgz", - "integrity": "sha512-ZC70YlHG6c2zH4OjzTtbb4s9eNJdMJEQm3KRL+u7/kN/vRJr7IrQZmidSa8RO86nnx2GZPn4zH3GTsnwAQEHuA==", - "dev": true, - "requires": { - "axios": "^0.26.0", - "chalk": "^4.1.0", - "logform": "^2.2.0", - "promise.allsettled": "^1.0.4", - "voca": "^1.4.0", - "winston": "^3.3.3" - } - }, "@sap/cds": { - "version": "5.9.7", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-milestones-npm/@sap/cds/-/cds-5.9.7.tgz", - "integrity": "sha512-PUN7a6AvaagRzOmE6hb5F9YhuP8uDedCrM3LuFJQOD4pHed4fpfIOUwkHqu7eyRbvi+cPKbO4Z9a6fUqteRCBQ==", + "version": "6.0.0", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-milestones-npm/@sap/cds/-/cds-6.0.0.tgz", + "integrity": "sha512-Z7zWqpCA+4gHoB1G64Cs4joXTIdk1Acwfd2MtfdHOs0fblz622lBmM0/27VaTiIEq/fJQv3j8ULflNy9uUIFsQ==", "dev": true, "requires": { - "@sap-cloud-sdk/core": "^1.41", - "@sap-cloud-sdk/util": "^1.41", - "@sap/cds-compiler": "^2.13.0", - "@sap/cds-foss": "^3" + "@sap/cds-compiler": ">=2.13.0", + "@sap/cds-foss": ">=3" } }, "@sap/cds-compiler": { - "version": "2.15.4", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-milestones-npm/@sap/cds-compiler/-/cds-compiler-2.15.4.tgz", - "integrity": "sha512-x76x1zS3Fa49OsR/wgbIWAagquINZd89LzVWM+1V4xkn0QTvQKs+SMUjNKE8tmo8EcmNjh9s7O2TkBpr9YqL6Q==", + "version": "3.0.0", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-milestones-npm/@sap/cds-compiler/-/cds-compiler-3.0.0.tgz", + "integrity": "sha512-LFt/BCEX1pQauSJfPZZQnREiq26U+VpRqC1lLw4O5sDrAntOmYIqNQTqnG7E3yVUPYQsEgOcfsuJlWn98K2DHw==", "dev": true, "requires": { - "antlr4": "4.8.0" + "antlr4": "4.9.3" } }, - "@sap/cds-foss": { - "version": "3.1.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-milestones-npm/@sap/cds-foss/-/cds-foss-3.1.1.tgz", - "integrity": "sha512-U4DF1VdPiqqCYmV7w9mLgRaM3F98cuJaCBRsrSp9rUCt3yAXeUnHflQhGDHmFnQRCGDStxFNx7oskDfpkD5lWw==", - "dev": true, - "requires": { - "big.js": "6.1.1", - "fs-extra": "10.0.1", - "generic-pool": "3.8.2", - "uuid": "8.3.2", - "xmlbuilder": "15.1.1", - "yaml": "1.10.2" + "@sap/cds-dk": { + "version": "6.0.0", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-milestones-npm/@sap/cds-dk/-/cds-dk-6.0.0.tgz", + "integrity": "sha512-EMeetZ7m5fjlUP/D6fHRBh/SYCpyaHy2yMmDz8367DN0x7Y6IZ/1T+pqgB8i2AupzuCTvjf9dhbWe2hCj+BdKw==", + "dev": true, + "requires": { + "@sap/cds": "^6", + "@sap/cds-foss": "^4", + "@sap/eslint-plugin-cds": "^2.3.3", + "axios": ">=0.21", + "connect-livereload": "^0.6.1", + "eslint": "^8", + "express": "^4.17.1", + "htmlparser2": "^8.0.0", + "livereload-js": "^3.3.1", + "md5": "^2.3.0", + "mustache": "^4.0.1", + "node-watch": ">=0.7", + "pluralize": "^8.0.0", + "sqlite3": "^5.0.4", + "ws": "^8.4.2", + "xml-js": "^1.6.11" }, "dependencies": { - "big.js": { - "version": "6.1.1", + "@eslint/eslintrc": { + "version": "1.3.0", "resolved": false, - "integrity": "sha512-1vObw81a8ylZO5ePrtMay0n018TcftpTA5HFKDaSuiUDBo8biRBtjIobw60OpwuvrGk+FsxKamqN4cnmj/eXdg==", - "dev": true + "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.3.2", + "globals": "^13.15.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@gar/promisify": { + "version": "1.1.3", + "resolved": false, + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true, + "optional": true }, - "fs-extra": { - "version": "10.0.1", + "@humanwhocodes/config-array": { + "version": "0.9.5", "resolved": false, - "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==", + "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", "dev": true, "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.4" } }, - "generic-pool": { - "version": "3.8.2", + "@humanwhocodes/object-schema": { + "version": "1.2.1", "resolved": false, - "integrity": "sha1-qrTygK21Iv373F5bZNcY02g/BOk=", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, - "graceful-fs": { - "version": "4.2.6", + "@mapbox/node-pre-gyp": { + "version": "1.0.9", "resolved": false, - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", - "dev": true + "integrity": "sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw==", + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" + } }, - "jsonfile": { - "version": "6.1.0", + "@npmcli/fs": { + "version": "1.1.1", "resolved": false, - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", "dev": true, + "optional": true, "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" } }, - "universalify": { - "version": "2.0.0", + "@npmcli/move-file": { + "version": "1.1.2", "resolved": false, - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "dev": true, + "optional": true, + "requires": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + } }, - "uuid": { - "version": "8.3.2", + "@sap/cds": { + "version": "6.0.0", "resolved": false, - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true + "integrity": "sha512-Z7zWqpCA+4gHoB1G64Cs4joXTIdk1Acwfd2MtfdHOs0fblz622lBmM0/27VaTiIEq/fJQv3j8ULflNy9uUIFsQ==", + "dev": true, + "requires": { + "@sap/cds-compiler": ">=2.13.0", + "@sap/cds-foss": ">=3" + } }, - "xmlbuilder": { - "version": "15.1.1", + "@sap/cds-compiler": { + "version": "3.0.0", "resolved": false, - "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", - "dev": true + "integrity": "sha512-LFt/BCEX1pQauSJfPZZQnREiq26U+VpRqC1lLw4O5sDrAntOmYIqNQTqnG7E3yVUPYQsEgOcfsuJlWn98K2DHw==", + "dev": true, + "requires": { + "antlr4": "4.9.3" + } }, - "yaml": { - "version": "1.10.2", - "resolved": false, - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true - } - } - }, - "@sap/hana-client": { - "version": "2.13.13", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-milestones-npm/@sap/hana-client/-/hana-client-2.13.13.tgz", - "integrity": "sha512-BBfxfyL/CMYQtEmmT7an2Busfvix1fEufc8Ojwferts3Fn2j9+pqWPq2Lwxnp2NFxOuYbX3mwhusTZEnjN+zeQ==", - "dev": true, - "requires": { - "debug": "3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", + "@sap/cds-foss": { + "version": "4.0.0", "resolved": false, - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "integrity": "sha512-66enuhyx+SdcIgdYstLGk31GFWDyK+Ch5+bWFRYJJ8340izZJlgyCYtHjZI1m9j4tNxWg9ZhkbFkXG5d80xWdw==", "dev": true, "requires": { - "ms": "2.0.0" + "big.js": "^6.1.1", + "generic-pool": "^3.8.2", + "uuid": "^8.3.2", + "xmlbuilder": "^15.1.1", + "yaml": "^2.1.1" } }, - "ms": { - "version": "2.0.0", + "@sap/eslint-plugin-cds": { + "version": "2.4.1", "resolved": false, - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "@sap/logging": { - "version": "6.1.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-milestones-npm/@sap/logging/-/logging-6.1.2.tgz", - "integrity": "sha512-tqm645COwYkqJqrKWKMUMnsckDE/yKU/ROLO+yU37yUwLHi8zvIX4l91457ToVj0jGBvlXiGSdawOF0A24GnIw==", - "requires": { - "@sap/e2e-trace": "^3.1.0", - "lodash": "4.17.21", - "moment": "2.29.2" - }, - "dependencies": { - "@sap/e2e-trace": { - "version": "3.1.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-milestones-npm/@sap/e2e-trace/-/e2e-trace-3.1.0.tgz", - "integrity": "sha512-RW5wo673OAWGYwe/H5CNAmwBTXhv2aZzj2JHicwzoPFRrC2+Dmw4hnhio5ORBgk0+CXnvDNhmzOgGTcqAZ5G8g==", + "integrity": "sha512-B9RHIlWgjgk5dvVdBWnuMnl+Wx5YPejJw6bs/eDYUzCRtf68J0cMxp9v4r91LH8nIw+uOFqT7YaT5ineYkIxCQ==", + "dev": true, "requires": { - "request-stats": "3.0.0" - }, - "dependencies": { - "http-headers": { - "version": "3.0.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/http-headers/-/http-headers-3.0.2.tgz", - "integrity": "sha512-87E1I+2Wg4dxxz4rcxElo3dxO/w1ZtgL1yA0Sb6vH3qU16vRKq1NjWQv9SCY3ly2OQROcoxHZOUpmelS+k6wOw==", - "requires": { - "next-line": "^1.1.0" - } - }, - "next-line": { - "version": "1.1.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/next-line/-/next-line-1.1.0.tgz", - "integrity": "sha512-+I10J3wKNoKddNxn0CNpoZ3eTZuqxjNM3b1GImVx22+ePI+Y15P8g/j3WsbP0fhzzrFzrtjOAoq5NCCucswXOQ==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "request-stats": { - "version": "3.0.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/request-stats/-/request-stats-3.0.0.tgz", - "integrity": "sha512-yhnHqXbmgjQs0q/3ZRUzaWTpmaRX78w1Su6UJaWy4h/EGicimIUDkMce7TZdJaXjOWy7bjqC7RXP9ZBXeBJzIw==", - "requires": { - "http-headers": "^3.0.1", - "once": "^1.4.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - } + "@sap/cds": ">=5.6.0", + "semver": "^7.3.4" } }, - "lodash": { - "version": "4.17.21", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "moment": { - "version": "2.29.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/moment/-/moment-2.29.2.tgz", - "integrity": "sha512-UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg==" - } - } - }, - "@sap/xsenv": { - "version": "3.3.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-milestones-npm/@sap/xsenv/-/xsenv-3.3.2.tgz", - "integrity": "sha512-PRxzoNEB0wMCuQOOC7q7QIkCYyLgxgHY1vIHFcPorajLLskqhqJNPfycWAfhUgDn6WryGluUVxnQVeTQncY6dg==", - "dev": true, - "requires": { - "debug": "4.3.3", - "node-cache": "^5.1.0", - "verror": "1.10.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "dev": true - }, - "clone": { - "version": "2.1.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/clone/-/clone-2.1.2.tgz", - "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", - "dev": true + "@tootallnate/once": { + "version": "1.1.2", + "resolved": false, + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, + "optional": true }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true + "abbrev": { + "version": "1.1.1", + "resolved": false, + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true, + "optional": true }, - "debug": { - "version": "4.3.3", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "accepts": { + "version": "1.3.8", + "resolved": false, + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, "requires": { - "ms": "2.1.2" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" } }, - "extsprintf": { - "version": "1.4.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/extsprintf/-/extsprintf-1.4.1.tgz", - "integrity": "sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==", + "acorn": { + "version": "8.7.1", + "resolved": false, + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", "dev": true }, - "ms": { - "version": "2.1.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "acorn-jsx": { + "version": "5.3.2", + "resolved": false, + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true }, - "node-cache": { - "version": "5.1.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/node-cache/-/node-cache-5.1.2.tgz", - "integrity": "sha512-t1QzWwnk4sjLWaQAS8CHgOJ+RAfmHpxFWmc36IWTiWHQfs0w5JDMBS1b1ZxQteo0vVVuWJvIUKHDkkeK7vIGCg==", + "agent-base": { + "version": "6.0.2", + "resolved": false, + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, + "optional": true, "requires": { - "clone": "2.x" + "debug": "4" } }, - "verror": { - "version": "1.10.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "agentkeepalive": { + "version": "4.2.1", + "resolved": false, + "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", "dev": true, + "optional": true, "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + }, + "dependencies": { + "depd": { + "version": "1.1.2", + "resolved": false, + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "optional": true + } } - } - } - }, - "@sap/xssec": { - "version": "3.2.13", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-milestones-npm/@sap/xssec/-/xssec-3.2.13.tgz", - "integrity": "sha512-F/hFDDf00y/n1ngbnHS9yTcyZqN88q3tMWbG2/AmJYz0PvBGgfmkgkcKxVq+D+aIQmtBJpWZ43H9Pu53MOcJfQ==", - "dev": true, - "requires": { - "axios": "^0.26.0", - "debug": "4.3.2", - "jsonwebtoken": "^8.5.1", - "lru-cache": "6.0.0", - "node-rsa": "^1.1.1", - "valid-url": "1.0.9" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": false, + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "dev": true, + "optional": true, "requires": { - "ms": "2.1.2" + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } + "ajv": { + "version": "6.12.6", + "resolved": false, + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": false, + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "antlr4": { + "version": "4.9.3", + "resolved": false, + "integrity": "sha512-qNy2odgsa0skmNMCuxzXhM4M8J1YDaPv3TI+vCdnOAanu0N982wBrSqziDKRDctEZLZy9VffqIZXc0UGjjSP/g==", + "dev": true + }, + "aproba": { + "version": "2.0.0", + "resolved": false, + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "2.0.0", + "resolved": false, + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": false, + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": false, + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": false, + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "axios": { + "version": "0.27.2", + "resolved": false, + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "dev": true, + "requires": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": false, + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "big.js": { + "version": "6.2.0", + "resolved": false, + "integrity": "sha512-paIKvJiAaOYdLt6MfnvxkDo64lTOV257XYJyX3oJnJQocIclUn+48k6ZerH/c5FxWE6DGJu1TKDYis7tqHg9kg==", + "dev": true + }, + "body-parser": { + "version": "1.20.0", + "resolved": false, + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": false, + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": false, + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": false, + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "bytes": { + "version": "3.1.2", + "resolved": false, + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true + }, + "cacache": { + "version": "15.3.0", + "resolved": false, + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "dev": true, + "optional": true, + "requires": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": false, + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": false, + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": false, + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "supports-color": { + "version": "7.2.0", + "resolved": false, + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "charenc": { + "version": "0.0.2", + "resolved": false, + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "dev": true + }, + "chownr": { + "version": "2.0.0", + "resolved": false, + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "optional": true + }, + "clean-stack": { + "version": "2.2.0", + "resolved": false, + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "optional": true + }, + "color-convert": { + "version": "2.0.1", + "resolved": false, + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": false, + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "color-support": { + "version": "1.1.3", + "resolved": false, + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "optional": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": false, + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": false, + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "connect-livereload": { + "version": "0.6.1", + "resolved": false, + "integrity": "sha512-3R0kMOdL7CjJpU66fzAkCe6HNtd3AavCS4m+uW4KtJjrdGPT0SQEZieAYd+cm+lJoBznNQ4lqipYWkhBMgk00g==", + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": false, + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true, + "optional": true + }, + "content-disposition": { + "version": "0.5.4", + "resolved": false, + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "requires": { + "safe-buffer": "5.2.1" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": false, + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "cookie": { + "version": "0.5.0", + "resolved": false, + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": false, + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": false, + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypt": { + "version": "0.0.2", + "resolved": false, + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": false, + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": false, + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": false, + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": false, + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true, + "optional": true + }, + "depd": { + "version": "2.0.0", + "resolved": false, + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "destroy": { + "version": "1.2.0", + "resolved": false, + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true + }, + "detect-libc": { + "version": "2.0.1", + "resolved": false, + "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", + "dev": true, + "optional": true + }, + "doctrine": { + "version": "3.0.0", + "resolved": false, + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-serializer": { + "version": "2.0.0", + "resolved": false, + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": false, + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "domhandler": { + "version": "5.0.3", + "resolved": false, + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.0.1", + "resolved": false, + "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", + "dev": true, + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.1" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": false, + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": false, + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "optional": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": false, + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true + }, + "encoding": { + "version": "0.1.13", + "resolved": false, + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "optional": true, + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": false, + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "entities": { + "version": "4.3.0", + "resolved": false, + "integrity": "sha512-/iP1rZrSEJ0DTlPiX+jbzlA3eVkY/e8L8SozroF395fIqE3TYF/Nz7YOMAawta+vLmyJ/hkGNNPcSbMADCCXbg==", + "dev": true + }, + "env-paths": { + "version": "2.2.1", + "resolved": false, + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "optional": true + }, + "err-code": { + "version": "2.0.3", + "resolved": false, + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true, + "optional": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": false, + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": false, + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "eslint": { + "version": "8.18.0", + "resolved": false, + "integrity": "sha512-As1EfFMVk7Xc6/CvhssHUjsAQSkpfXvUGMFC3ce8JDe6WvqCgRrLOBQbVpsBFr1X1V+RACOadnzVvcUS5ni2bA==", + "dev": true, + "requires": { + "@eslint/eslintrc": "^1.3.0", + "@humanwhocodes/config-array": "^0.9.2", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.2", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^6.0.1", + "globals": "^13.15.0", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + } + }, + "eslint-scope": { + "version": "7.1.1", + "resolved": false, + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": false, + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": false, + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "3.3.0", + "resolved": false, + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true + }, + "espree": { + "version": "9.3.2", + "resolved": false, + "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", + "dev": true, + "requires": { + "acorn": "^8.7.1", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + } + }, + "esquery": { + "version": "1.4.0", + "resolved": false, + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": false, + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": false, + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": false, + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": false, + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true + }, + "express": { + "version": "4.18.1", + "resolved": false, + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "dev": true, + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.0", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.10.3", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": false, + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": false, + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": false, + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": false, + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": false, + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": false, + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "finalhandler": { + "version": "1.2.0", + "resolved": false, + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": false, + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": false, + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": false, + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.6", + "resolved": false, + "integrity": "sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==", + "dev": true + }, + "follow-redirects": { + "version": "1.15.1", + "resolved": false, + "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", + "dev": true + }, + "form-data": { + "version": "4.0.0", + "resolved": false, + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": false, + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true + }, + "fresh": { + "version": "0.5.2", + "resolved": false, + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": false, + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "optional": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": false, + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": false, + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": false, + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "gauge": { + "version": "3.0.2", + "resolved": false, + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + } + }, + "generic-pool": { + "version": "3.8.2", + "resolved": false, + "integrity": "sha512-nGToKy6p3PAbYQ7p1UlWl6vSPwfwU6TMSWK7TTu+WUY4ZjyZQGniGGt2oNVvyNSpyZYSB43zMXVLcBm08MTMkg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.2", + "resolved": false, + "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "glob": { + "version": "7.2.3", + "resolved": false, + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": false, + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.15.0", + "resolved": false, + "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": false, + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true, + "optional": true + }, + "has": { + "version": "1.0.3", + "resolved": false, + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": false, + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "resolved": false, + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "has-unicode": { + "version": "2.0.1", + "resolved": false, + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true, + "optional": true + }, + "htmlparser2": { + "version": "8.0.1", + "resolved": false, + "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "entities": "^4.3.0" + } + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": false, + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true, + "optional": true + }, + "http-errors": { + "version": "2.0.0", + "resolved": false, + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": false, + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "optional": true, + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": false, + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "optional": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "humanize-ms": { + "version": "1.2.1", + "resolved": false, + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dev": true, + "optional": true, + "requires": { + "ms": "^2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": false, + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore": { + "version": "5.2.0", + "resolved": false, + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": false, + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": false, + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": false, + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "optional": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": false, + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true, + "optional": true + }, + "inflight": { + "version": "1.0.6", + "resolved": false, + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": false, + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ip": { + "version": "1.1.8", + "resolved": false, + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==", + "dev": true, + "optional": true + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": false, + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true + }, + "is-buffer": { + "version": "1.1.6", + "resolved": false, + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": false, + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": false, + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "optional": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": false, + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-lambda": { + "version": "1.0.1", + "resolved": false, + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": true, + "optional": true + }, + "isexe": { + "version": "2.0.0", + "resolved": false, + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "resolved": false, + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": false, + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": false, + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "levn": { + "version": "0.4.1", + "resolved": false, + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "livereload-js": { + "version": "3.4.0", + "resolved": false, + "integrity": "sha512-F/pz9ZZP+R+arY94cECTZco7PXgBXyL+KVWUPZq8AQE9TOu14GV6fYeKOviv02JCvFa4Oi3Rs1hYEpfeajc+ow==", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": false, + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": false, + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": false, + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "optional": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": false, + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "optional": true + } + } + }, + "make-fetch-happen": { + "version": "9.1.0", + "resolved": false, + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "dev": true, + "optional": true, + "requires": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + } + }, + "md5": { + "version": "2.3.0", + "resolved": false, + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "dev": true, + "requires": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": false, + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": false, + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": false, + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true + }, + "mime": { + "version": "1.6.0", + "resolved": false, + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "mime-db": { + "version": "1.52.0", + "resolved": false, + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": false, + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": false, + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minipass": { + "version": "3.3.4", + "resolved": false, + "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", + "dev": true, + "optional": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minipass-collect": { + "version": "1.0.2", + "resolved": false, + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "optional": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-fetch": { + "version": "1.4.1", + "resolved": false, + "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", + "dev": true, + "optional": true, + "requires": { + "encoding": "^0.1.12", + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + } + }, + "minipass-flush": { + "version": "1.0.5", + "resolved": false, + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "optional": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.4", + "resolved": false, + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "optional": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-sized": { + "version": "1.0.3", + "resolved": false, + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "optional": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": false, + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "optional": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": false, + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "optional": true + }, + "ms": { + "version": "2.1.2", + "resolved": false, + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "mustache": { + "version": "4.2.0", + "resolved": false, + "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": false, + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "negotiator": { + "version": "0.6.3", + "resolved": false, + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true + }, + "node-addon-api": { + "version": "4.3.0", + "resolved": false, + "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==", + "dev": true, + "optional": true + }, + "node-fetch": { + "version": "2.6.7", + "resolved": false, + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "optional": true, + "requires": { + "whatwg-url": "^5.0.0" + }, + "dependencies": { + "tr46": { + "version": "0.0.3", + "resolved": false, + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true, + "optional": true + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": false, + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true, + "optional": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": false, + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "optional": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + } + } + }, + "node-gyp": { + "version": "8.4.1", + "resolved": false, + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", + "dev": true, + "optional": true, + "requires": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "dependencies": { + "are-we-there-yet": { + "version": "3.0.0", + "resolved": false, + "integrity": "sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==", + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "gauge": { + "version": "4.0.4", + "resolved": false, + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } + }, + "npmlog": { + "version": "6.0.2", + "resolved": false, + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } + } + } + }, + "node-watch": { + "version": "0.7.3", + "resolved": false, + "integrity": "sha512-3l4E8uMPY1HdMMryPRUAl+oIHtXtyiTlIiESNSVSNxcPfzAFzeTbXFQkZfAwBbo0B1qMSG8nUABx+Gd+YrbKrQ==", + "dev": true + }, + "nopt": { + "version": "5.0.0", + "resolved": false, + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dev": true, + "optional": true, + "requires": { + "abbrev": "1" + } + }, + "npmlog": { + "version": "5.0.1", + "resolved": false, + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": false, + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "optional": true + }, + "object-inspect": { + "version": "1.12.2", + "resolved": false, + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true + }, + "on-finished": { + "version": "2.4.1", + "resolved": false, + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": false, + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": false, + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": false, + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "optional": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": false, + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": false, + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": false, + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": false, + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": false, + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "pluralize": { + "version": "8.0.0", + "resolved": false, + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": false, + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": false, + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true, + "optional": true + }, + "promise-retry": { + "version": "2.0.1", + "resolved": false, + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "optional": true, + "requires": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + } + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": false, + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": false, + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "qs": { + "version": "6.10.3", + "resolved": false, + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": false, + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "raw-body": { + "version": "2.5.1", + "resolved": false, + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": false, + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "optional": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "regexpp": { + "version": "3.2.0", + "resolved": false, + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "resolved": false, + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "retry": { + "version": "0.12.0", + "resolved": false, + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "optional": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": false, + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": false, + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": false, + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sax": { + "version": "1.2.4", + "resolved": false, + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "semver": { + "version": "7.3.7", + "resolved": false, + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "send": { + "version": "0.18.0", + "resolved": false, + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": false, + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": false, + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "ms": { + "version": "2.1.3", + "resolved": false, + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.15.0", + "resolved": false, + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": false, + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true, + "optional": true + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": false, + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": false, + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": false, + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": false, + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": false, + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "optional": true + }, + "smart-buffer": { + "version": "4.2.0", + "resolved": false, + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "optional": true + }, + "socks": { + "version": "2.6.2", + "resolved": false, + "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", + "dev": true, + "optional": true, + "requires": { + "ip": "^1.1.5", + "smart-buffer": "^4.2.0" + } + }, + "socks-proxy-agent": { + "version": "6.2.1", + "resolved": false, + "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", + "dev": true, + "optional": true, + "requires": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + } + }, + "sqlite3": { + "version": "5.0.8", + "resolved": false, + "integrity": "sha512-f2ACsbSyb2D1qFFcqIXPfFscLtPVOWJr5GmUzYxf4W+0qelu5MWrR+FAQE1d5IUArEltBrzSDxDORG8P/IkqyQ==", + "dev": true, + "optional": true, + "requires": { + "@mapbox/node-pre-gyp": "^1.0.0", + "node-addon-api": "^4.2.0", + "node-gyp": "8.x", + "tar": "^6.1.11" + } + }, + "ssri": { + "version": "8.0.1", + "resolved": false, + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "optional": true, + "requires": { + "minipass": "^3.1.1" + } + }, + "statuses": { + "version": "2.0.1", + "resolved": false, + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": false, + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "optional": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": false, + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": false, + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": false, + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + } + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": false, + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "tar": { + "version": "6.1.11", + "resolved": false, + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "dev": true, + "optional": true, + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": false, + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "toidentifier": { + "version": "1.0.1", + "resolved": false, + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true + }, + "type-check": { + "version": "0.4.0", + "resolved": false, + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": false, + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": false, + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "unique-filename": { + "version": "1.1.1", + "resolved": false, + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "optional": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": false, + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "optional": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": false, + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": false, + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": false, + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "optional": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": false, + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true + }, + "uuid": { + "version": "8.3.2", + "resolved": false, + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": false, + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "vary": { + "version": "1.1.2", + "resolved": false, + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": false, + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wide-align": { + "version": "1.1.5", + "resolved": false, + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": false, + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": false, + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "ws": { + "version": "8.8.0", + "resolved": false, + "integrity": "sha512-JDAgSYQ1ksuwqfChJusw1LSJ8BizJ2e/vVu5Lxjq3YvNJNlROv1ui4i+c/kUUrPheBvQl4c5UbERhTwKa6QBJQ==", + "dev": true + }, + "xml-js": { + "version": "1.6.11", + "resolved": false, + "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", + "dev": true, + "requires": { + "sax": "^1.2.4" + } + }, + "xmlbuilder": { + "version": "15.1.1", + "resolved": false, + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": false, + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yaml": { + "version": "2.1.1", + "resolved": false, + "integrity": "sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw==", + "dev": true + } + } + }, + "@sap/cds-foss": { + "version": "4.0.0", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-milestones-npm/@sap/cds-foss/-/cds-foss-4.0.0.tgz", + "integrity": "sha512-66enuhyx+SdcIgdYstLGk31GFWDyK+Ch5+bWFRYJJ8340izZJlgyCYtHjZI1m9j4tNxWg9ZhkbFkXG5d80xWdw==", + "dev": true, + "requires": { + "big.js": "^6.1.1", + "generic-pool": "^3.8.2", + "uuid": "^8.3.2", + "xmlbuilder": "^15.1.1", + "yaml": "^2.1.1" + } + }, + "@sap/hana-client": { + "version": "2.13.21", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-milestones-npm/@sap/hana-client/-/hana-client-2.13.21.tgz", + "integrity": "sha512-3Gv8AW74WsmMcljx0Wz0P7RyxJvKw7JUduwkNP3JRpnsH/dOJk7H6vlv+0F6iJv0whSLhvgeqC1w+WE/+HflBw==", + "dev": true, + "requires": { + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": false, + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": false, + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "@sap/logging": { + "version": "6.1.2", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-milestones-npm/@sap/logging/-/logging-6.1.2.tgz", + "integrity": "sha512-tqm645COwYkqJqrKWKMUMnsckDE/yKU/ROLO+yU37yUwLHi8zvIX4l91457ToVj0jGBvlXiGSdawOF0A24GnIw==", + "requires": { + "@sap/e2e-trace": "^3.1.0", + "lodash": "4.17.21", + "moment": "2.29.2" + }, + "dependencies": { + "@sap/e2e-trace": { + "version": "3.1.0", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-milestones-npm/@sap/e2e-trace/-/e2e-trace-3.1.0.tgz", + "integrity": "sha512-RW5wo673OAWGYwe/H5CNAmwBTXhv2aZzj2JHicwzoPFRrC2+Dmw4hnhio5ORBgk0+CXnvDNhmzOgGTcqAZ5G8g==", + "requires": { + "request-stats": "3.0.0" + }, + "dependencies": { + "http-headers": { + "version": "3.0.2", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/http-headers/-/http-headers-3.0.2.tgz", + "integrity": "sha512-87E1I+2Wg4dxxz4rcxElo3dxO/w1ZtgL1yA0Sb6vH3qU16vRKq1NjWQv9SCY3ly2OQROcoxHZOUpmelS+k6wOw==", + "requires": { + "next-line": "^1.1.0" + } + }, + "next-line": { + "version": "1.1.0", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/next-line/-/next-line-1.1.0.tgz", + "integrity": "sha512-+I10J3wKNoKddNxn0CNpoZ3eTZuqxjNM3b1GImVx22+ePI+Y15P8g/j3WsbP0fhzzrFzrtjOAoq5NCCucswXOQ==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, + "request-stats": { + "version": "3.0.0", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/request-stats/-/request-stats-3.0.0.tgz", + "integrity": "sha512-yhnHqXbmgjQs0q/3ZRUzaWTpmaRX78w1Su6UJaWy4h/EGicimIUDkMce7TZdJaXjOWy7bjqC7RXP9ZBXeBJzIw==", + "requires": { + "http-headers": "^3.0.1", + "once": "^1.4.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + } + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "moment": { + "version": "2.29.2", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/moment/-/moment-2.29.2.tgz", + "integrity": "sha512-UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg==" + } + } }, "@sinclair/typebox": { "version": "0.23.5", @@ -1354,10 +3412,11 @@ } }, "@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true + "version": "1.1.2", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, + "optional": true }, "@types/babel__core": { "version": "7.1.19", @@ -1482,17 +3541,8 @@ "@types/json-schema": { "version": "7.0.11", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true - }, - "@types/jsonwebtoken": { - "version": "8.5.8", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@types/jsonwebtoken/-/jsonwebtoken-8.5.8.tgz", - "integrity": "sha512-zm6xBQpFDIDM6o9r6HSgDeIcLy82TKWctCXEPbJJcXb5AKmi5BNNdLXneixK4lplX3PqIVcwLBCGE/kAGnlD4A==", - "dev": true, - "requires": { - "@types/node": "*" - } + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true }, "@types/mime": { "version": "1.3.2", @@ -1551,29 +3601,29 @@ "dev": true }, "@typescript-eslint/scope-manager": { - "version": "5.28.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@typescript-eslint/scope-manager/-/scope-manager-5.28.0.tgz", - "integrity": "sha512-LeBLTqF/he1Z+boRhSqnso6YrzcKMTQ8bO/YKEe+6+O/JGof9M0g3IJlIsqfrK/6K03MlFIlycbf1uQR1IjE+w==", + "version": "5.30.0", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@typescript-eslint/scope-manager/-/scope-manager-5.30.0.tgz", + "integrity": "sha512-3TZxvlQcK5fhTBw5solQucWSJvonXf5yua5nx8OqK94hxdrT7/6W3/CS42MLd/f1BmlmmbGEgQcTHHCktUX5bQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.28.0", - "@typescript-eslint/visitor-keys": "5.28.0" + "@typescript-eslint/types": "5.30.0", + "@typescript-eslint/visitor-keys": "5.30.0" } }, "@typescript-eslint/types": { - "version": "5.28.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@typescript-eslint/types/-/types-5.28.0.tgz", - "integrity": "sha512-2OOm8ZTOQxqkPbf+DAo8oc16sDlVR5owgJfKheBkxBKg1vAfw2JsSofH9+16VPlN9PWtv8Wzhklkqw3k/zCVxA==", + "version": "5.30.0", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@typescript-eslint/types/-/types-5.30.0.tgz", + "integrity": "sha512-vfqcBrsRNWw/LBXyncMF/KrUTYYzzygCSsVqlZ1qGu1QtGs6vMkt3US0VNSQ05grXi5Yadp3qv5XZdYLjpp8ag==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.28.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@typescript-eslint/typescript-estree/-/typescript-estree-5.28.0.tgz", - "integrity": "sha512-9GX+GfpV+F4hdTtYc6OV9ZkyYilGXPmQpm6AThInpBmKJEyRSIjORJd1G9+bknb7OTFYL+Vd4FBJAO6T78OVqA==", + "version": "5.30.0", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@typescript-eslint/typescript-estree/-/typescript-estree-5.30.0.tgz", + "integrity": "sha512-hDEawogreZB4n1zoqcrrtg/wPyyiCxmhPLpZ6kmWfKF5M5G0clRLaEexpuWr31fZ42F96SlD/5xCt1bT5Qm4Nw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.28.0", - "@typescript-eslint/visitor-keys": "5.28.0", + "@typescript-eslint/types": "5.30.0", + "@typescript-eslint/visitor-keys": "5.30.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -1595,28 +3645,19 @@ "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true - }, - "semver": { - "version": "7.3.7", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } } } }, "@typescript-eslint/utils": { - "version": "5.28.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@typescript-eslint/utils/-/utils-5.28.0.tgz", - "integrity": "sha512-E60N5L0fjv7iPJV3UGc4EC+A3Lcj4jle9zzR0gW7vXhflO7/J29kwiTGITA2RlrmPokKiZbBy2DgaclCaEUs6g==", + "version": "5.30.0", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@typescript-eslint/utils/-/utils-5.30.0.tgz", + "integrity": "sha512-0bIgOgZflLKIcZsWvfklsaQTM3ZUbmtH0rJ1hKyV3raoUYyeZwcjQ8ZUJTzS7KnhNcsVT1Rxs7zeeMHEhGlltw==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.28.0", - "@typescript-eslint/types": "5.28.0", - "@typescript-eslint/typescript-estree": "5.28.0", + "@typescript-eslint/scope-manager": "5.30.0", + "@typescript-eslint/types": "5.30.0", + "@typescript-eslint/typescript-estree": "5.30.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -1640,12 +3681,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "5.28.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@typescript-eslint/visitor-keys/-/visitor-keys-5.28.0.tgz", - "integrity": "sha512-BtfP1vCor8cWacovzzPFOoeW4kBQxzmhxGoOpt0v1SFvG+nJ0cWaVdJk7cky1ArTcFHHKNIxyo2LLr3oNkSuXA==", + "version": "5.30.0", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@typescript-eslint/visitor-keys/-/visitor-keys-5.30.0.tgz", + "integrity": "sha512-6WcIeRk2DQ3pHKxU1Ni0qMXJkjO/zLjBymlYBy/53qxe7yjEFSvzKLDToJjURUhSl2Fzhkl4SMXQoETauF74cw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.28.0", + "@typescript-eslint/types": "5.30.0", "eslint-visitor-keys": "^3.3.0" } }, @@ -1806,9 +3847,9 @@ "dev": true }, "antlr4": { - "version": "4.8.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/antlr4/-/antlr4-4.8.0.tgz", - "integrity": "sha512-en/MxQ4OkPgGJQ3wD/muzj1uDnFSzdFIhc2+c6bHZokWkuBb6RRvFjpWhPxWLbgQvaEzldJZ0GSQpfSAaE3hqg==", + "version": "4.9.3", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/antlr4/-/antlr4-4.9.3.tgz", + "integrity": "sha512-qNy2odgsa0skmNMCuxzXhM4M8J1YDaPv3TI+vCdnOAanu0N982wBrSqziDKRDctEZLZy9VffqIZXc0UGjjSP/g==", "dev": true }, "anymatch": { @@ -1841,6 +3882,19 @@ "requires": { "delegates": "^1.0.0", "readable-stream": "^3.6.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } } }, "argparse": { @@ -1872,62 +3926,25 @@ "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", "dev": true }, - "array.prototype.map": { - "version": "1.0.4", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/array.prototype.map/-/array.prototype.map-1.0.4.tgz", - "integrity": "sha512-Qds9QnX7A0qISY7JT5WuJO0NJPE9CMlC6JzHQfhpqAAQQzufVRoeH7EzUY5GcPTx72voG8LV/5eo+b8Qi8hmhA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - } - }, "asap": { "version": "2.0.6", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/asap/-/asap-2.0.6.tgz", "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", "dev": true }, - "asn1": { - "version": "0.2.6", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "async": { - "version": "3.2.4", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", - "dev": true - }, "asynckit": { "version": "0.4.0", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", "dev": true }, - "axios": { - "version": "0.26.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/axios/-/axios-0.26.1.tgz", - "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", - "dev": true, - "requires": { - "follow-redirects": "^1.14.8" - } - }, "babel-jest": { - "version": "28.1.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/babel-jest/-/babel-jest-28.1.1.tgz", - "integrity": "sha512-MEt0263viUdAkTq5D7upHPNxvt4n9uLUGa6pPz3WviNBMtOmStb1lIXS3QobnoqM+qnH+vr4EKlvhe8QcmxIYw==", + "version": "28.1.2", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/babel-jest/-/babel-jest-28.1.2.tgz", + "integrity": "sha512-pfmoo6sh4L/+5/G2OOfQrGJgvH7fTa1oChnuYH2G/6gA+JwDvO8PELwvwnofKBMNrQsam0Wy/Rw+QSrBNewq2Q==", "dev": true, "requires": { - "@jest/transform": "^28.1.1", + "@jest/transform": "^28.1.2", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", "babel-preset-jest": "^28.1.1", @@ -2003,10 +4020,10 @@ "integrity": "sha512-3vqtKL1N45I5dV0RdssXZG7X6pCqQrWPNOlBPZPrd+QkE2HEhR57Z04m0KtpbsZH73j+a3F8UD1TQnn+ExTvIA==", "dev": true }, - "bignumber.js": { - "version": "9.0.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/bignumber.js/-/bignumber.js-9.0.2.tgz", - "integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==", + "big.js": { + "version": "6.2.0", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/big.js/-/big.js-6.2.0.tgz", + "integrity": "sha512-paIKvJiAaOYdLt6MfnvxkDo64lTOV257XYJyX3oJnJQocIclUn+48k6ZerH/c5FxWE6DGJu1TKDYis7tqHg9kg==", "dev": true }, "body-parser": { @@ -2047,16 +4064,15 @@ } }, "browserslist": { - "version": "4.20.4", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/browserslist/-/browserslist-4.20.4.tgz", - "integrity": "sha512-ok1d+1WpnU24XYN7oC3QWgTyMhY/avPJ/r9T00xxvUOIparA/gc+UPUMaod3i+G6s+nI2nUb9xZ5k794uIwShw==", + "version": "4.21.1", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/browserslist/-/browserslist-4.21.1.tgz", + "integrity": "sha512-Nq8MFCSrnJXSc88yliwlzQe3qNe3VntIjhsArW9IJOEPSHNx23FalwApUVbzAWABLhYJJ7y8AynWI/XM8OdfjQ==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001349", - "electron-to-chromium": "^1.4.147", - "escalade": "^3.1.1", + "caniuse-lite": "^1.0.30001359", + "electron-to-chromium": "^1.4.172", "node-releases": "^2.0.5", - "picocolors": "^1.0.0" + "update-browserslist-db": "^1.0.4" } }, "bser": { @@ -2068,12 +4084,6 @@ "node-int64": "^0.4.0" } }, - "buffer-equal-constant-time": { - "version": "1.0.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", - "dev": true - }, "buffer-from": { "version": "1.1.2", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/buffer-from/-/buffer-from-1.1.2.tgz", @@ -2168,9 +4178,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001357", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/caniuse-lite/-/caniuse-lite-1.0.30001357.tgz", - "integrity": "sha512-b+KbWHdHePp+ZpNj+RDHFChZmuN+J5EvuQUlee9jOQIUAdhv9uvAZeEtUeLAknXbkiu1uxjQ9NLp1ie894CuWg==", + "version": "1.0.30001361", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/caniuse-lite/-/caniuse-lite-1.0.30001361.tgz", + "integrity": "sha512-ybhCrjNtkFji1/Wto6SSJKkWk6kZgVQsDq5QI83SafsF6FXv2JB4df9eEdH6g8sdGgqTXrFLjAxqBGgYoU3azQ==", "dev": true }, "chalk": { @@ -2295,33 +4305,6 @@ "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", "dev": true }, - "color": { - "version": "3.2.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/color/-/color-3.2.1.tgz", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", - "dev": true, - "requires": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" - }, - "dependencies": { - "color-convert": { - "version": "1.9.3", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - } - } - }, "color-convert": { "version": "2.0.1", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/color-convert/-/color-convert-2.0.1.tgz", @@ -2337,32 +4320,12 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "color-string": { - "version": "1.9.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "dev": true, - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, "color-support": { "version": "1.1.3", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/color-support/-/color-support-1.1.3.tgz", "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", "dev": true }, - "colorspace": { - "version": "1.1.4", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/colorspace/-/colorspace-1.1.4.tgz", - "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", - "dev": true, - "requires": { - "color": "^3.1.3", - "text-hex": "1.0.x" - } - }, "combined-stream": { "version": "1.0.8", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/combined-stream/-/combined-stream-1.0.8.tgz", @@ -2432,44 +4395,6 @@ "inherits": "^2.0.3", "readable-stream": "^2.2.2", "typedarray": "^0.0.6" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "console-control-strings": { @@ -2583,16 +4508,6 @@ "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", "dev": true }, - "define-properties": { - "version": "1.1.4", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "dev": true, - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, "delayed-stream": { "version": "1.0.0", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -2696,24 +4611,15 @@ } } }, - "ecdsa-sig-formatter": { - "version": "1.0.11", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, "ee-first": { "version": "1.1.1", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "electron-to-chromium": { - "version": "1.4.161", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/electron-to-chromium/-/electron-to-chromium-1.4.161.tgz", - "integrity": "sha512-sTjBRhqh6wFodzZtc5Iu8/R95OkwaPNn7tj/TaDU5nu/5EFiQDtADGAXdR4tJcTEHlYfJpHqigzJqHvPgehP8A==", + "version": "1.4.176", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/electron-to-chromium/-/electron-to-chromium-1.4.176.tgz", + "integrity": "sha512-92JdgyRlcNDwuy75MjuFSb3clt6DGJ2IXSpg0MCjKd3JV9eSmuUAIyWiGAp/EtT0z2D4rqbYqThQLV90maH3Zw==", "dev": true }, "emittery": { @@ -2728,12 +4634,6 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "enabled": { - "version": "2.0.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/enabled/-/enabled-2.0.0.tgz", - "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==", - "dev": true - }, "encodeurl": { "version": "1.0.2", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/encodeurl/-/encodeurl-1.0.2.tgz", @@ -2782,78 +4682,6 @@ "dev": true, "requires": { "is-arrayish": "^0.2.1" - }, - "dependencies": { - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - } - } - }, - "es-abstract": { - "version": "1.20.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/es-abstract/-/es-abstract-1.20.1.tgz", - "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.1", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "regexp.prototype.flags": "^1.4.3", - "string.prototype.trimend": "^1.0.5", - "string.prototype.trimstart": "^1.0.5", - "unbox-primitive": "^1.0.2" - } - }, - "es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", - "dev": true - }, - "es-get-iterator": { - "version": "1.1.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/es-get-iterator/-/es-get-iterator-1.1.2.tgz", - "integrity": "sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.0", - "has-symbols": "^1.0.1", - "is-arguments": "^1.1.0", - "is-map": "^2.0.2", - "is-set": "^2.0.2", - "is-string": "^1.0.5", - "isarray": "^2.0.5" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" } }, "es5-ext": { @@ -3212,12 +5040,6 @@ "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", "dev": true }, - "isarray": { - "version": "1.0.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, "js-yaml": { "version": "3.14.1", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/js-yaml/-/js-yaml-3.14.1.tgz", @@ -3608,12 +5430,6 @@ "bser": "2.1.1" } }, - "fecha": { - "version": "4.2.3", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/fecha/-/fecha-4.2.3.tgz", - "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==", - "dev": true - }, "figures": { "version": "1.7.0", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/figures/-/figures-1.7.0.tgz", @@ -3684,15 +5500,9 @@ } }, "flatted": { - "version": "3.2.5", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/flatted/-/flatted-3.2.5.tgz", - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", - "dev": true - }, - "fn.name": { - "version": "1.1.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/fn.name/-/fn.name-1.1.0.tgz", - "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==", + "version": "3.2.6", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/flatted/-/flatted-3.2.6.tgz", + "integrity": "sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==", "dev": true }, "follow-redirects": { @@ -3768,30 +5578,12 @@ "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, - "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - } - }, "functional-red-black-tree": { "version": "1.0.1", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", "dev": true }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true - }, "gauge": { "version": "3.0.2", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/gauge/-/gauge-3.0.2.tgz", @@ -3846,6 +5638,12 @@ "is-property": "^1.0.0" } }, + "generic-pool": { + "version": "3.8.2", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/generic-pool/-/generic-pool-3.8.2.tgz", + "integrity": "sha512-nGToKy6p3PAbYQ7p1UlWl6vSPwfwU6TMSWK7TTu+WUY4ZjyZQGniGGt2oNVvyNSpyZYSB43zMXVLcBm08MTMkg==", + "dev": true + }, "gensync": { "version": "1.0.0-beta.2", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -3880,16 +5678,6 @@ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, "glob": { "version": "7.2.3", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/glob/-/glob-7.2.3.tgz", @@ -4065,12 +5853,6 @@ } } }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true - }, "has-flag": { "version": "4.0.0", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/has-flag/-/has-flag-4.0.0.tgz", @@ -4086,29 +5868,11 @@ "sparkles": "^1.0.0" } }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.1" - } - }, "has-symbols": { "version": "1.0.3", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, "has-unicode": { "version": "2.0.1", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/has-unicode/-/has-unicode-2.0.1.tgz", @@ -4157,12 +5921,13 @@ } }, "http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "version": "4.0.1", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", "dev": true, + "optional": true, "requires": { - "@tootallnate/once": "2", + "@tootallnate/once": "1", "agent-base": "6", "debug": "4" }, @@ -4172,6 +5937,7 @@ "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, + "optional": true, "requires": { "ms": "2.1.2" } @@ -4180,7 +5946,8 @@ "version": "2.1.2", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "dev": true, + "optional": true } } }, @@ -4377,17 +6144,6 @@ } } }, - "internal-slot": { - "version": "1.0.3", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, "ip": { "version": "1.1.8", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/ip/-/ip-1.1.8.tgz", @@ -4400,45 +6156,10 @@ "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, "is-arrayish": { - "version": "0.3.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "dev": true - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.4", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "version": "0.2.1", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, "is-core-module": { @@ -4450,15 +6171,6 @@ "has": "^1.0.3" } }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, "is-extglob": { "version": "2.1.1", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/is-extglob/-/is-extglob-2.1.1.tgz", @@ -4494,12 +6206,6 @@ "dev": true, "optional": true }, - "is-map": { - "version": "2.0.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", - "dev": true - }, "is-my-ip-valid": { "version": "1.0.1", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/is-my-ip-valid/-/is-my-ip-valid-1.0.1.tgz", @@ -4519,26 +6225,11 @@ "xtend": "^4.0.0" } }, - "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true - }, "is-number": { "version": "7.0.0", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, "is-plain-obj": { "version": "3.0.0", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/is-plain-obj/-/is-plain-obj-3.0.0.tgz", @@ -4550,74 +6241,22 @@ "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==", "dev": true }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, "is-resolvable": { "version": "1.1.0", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/is-resolvable/-/is-resolvable-1.1.0.tgz", "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", "dev": true }, - "is-set": { - "version": "2.0.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", - "dev": true - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, "is-stream": { "version": "2.0.1", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true }, - "is-string": { - "version": "1.0.7", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, "isarray": { - "version": "2.0.5", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "version": "1.0.0", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "isexe": { @@ -4702,48 +6341,32 @@ "istanbul-lib-report": "^3.0.0" } }, - "iterate-iterator": { - "version": "1.0.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/iterate-iterator/-/iterate-iterator-1.0.2.tgz", - "integrity": "sha512-t91HubM4ZDQ70M9wqp+pcNpu8OyJ9UAtXntT/Bcsvp5tZMnz9vRa+IunKXeI8AnfZMTv0jNuVEmGeLSMjVvfPw==", - "dev": true - }, - "iterate-value": { - "version": "1.0.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/iterate-value/-/iterate-value-1.0.2.tgz", - "integrity": "sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==", - "dev": true, - "requires": { - "es-get-iterator": "^1.0.2", - "iterate-iterator": "^1.0.1" - } - }, "jest": { - "version": "28.1.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/jest/-/jest-28.1.1.tgz", - "integrity": "sha512-qw9YHBnjt6TCbIDMPMpJZqf9E12rh6869iZaN08/vpOGgHJSAaLLUn6H8W3IAEuy34Ls3rct064mZLETkxJ2XA==", + "version": "28.1.2", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/jest/-/jest-28.1.2.tgz", + "integrity": "sha512-Tuf05DwLeCh2cfWCQbcz9UxldoDyiR1E9Igaei5khjonKncYdc6LDfynKCEWozK0oLE3GD+xKAo2u8x/0s6GOg==", "dev": true, "requires": { - "@jest/core": "^28.1.1", + "@jest/core": "^28.1.2", "@jest/types": "^28.1.1", "import-local": "^3.0.2", - "jest-cli": "^28.1.1" + "jest-cli": "^28.1.2" }, "dependencies": { "jest-cli": { - "version": "28.1.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/jest-cli/-/jest-cli-28.1.1.tgz", - "integrity": "sha512-+sUfVbJqb1OjBZ0OdBbI6OWfYM1i7bSfzYy6gze1F1w3OKWq8ZTEKkZ8a7ZQPq6G/G1qMh/uKqpdWhgl11NFQQ==", + "version": "28.1.2", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/jest-cli/-/jest-cli-28.1.2.tgz", + "integrity": "sha512-l6eoi5Do/IJUXAFL9qRmDiFpBeEJAnjJb1dcd9i/VWfVWbp3mJhuH50dNtX67Ali4Ecvt4eBkWb4hXhPHkAZTw==", "dev": true, "requires": { - "@jest/core": "^28.1.1", + "@jest/core": "^28.1.2", "@jest/test-result": "^28.1.1", "@jest/types": "^28.1.1", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^28.1.1", + "jest-config": "^28.1.2", "jest-util": "^28.1.1", "jest-validate": "^28.1.1", "prompts": "^2.0.1", @@ -4763,13 +6386,13 @@ } }, "jest-circus": { - "version": "28.1.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/jest-circus/-/jest-circus-28.1.1.tgz", - "integrity": "sha512-75+BBVTsL4+p2w198DQpCeyh1RdaS2lhEG87HkaFX/UG0gJExVq2skG2pT7XZEGBubNj2CytcWSPan4QEPNosw==", + "version": "28.1.2", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/jest-circus/-/jest-circus-28.1.2.tgz", + "integrity": "sha512-E2vdPIJG5/69EMpslFhaA46WkcrN74LI5V/cSJ59L7uS8UNoXbzTxmwhpi9XrIL3zqvMt5T0pl5k2l2u2GwBNQ==", "dev": true, "requires": { - "@jest/environment": "^28.1.1", - "@jest/expect": "^28.1.1", + "@jest/environment": "^28.1.2", + "@jest/expect": "^28.1.2", "@jest/test-result": "^28.1.1", "@jest/types": "^28.1.1", "@types/node": "*", @@ -4780,8 +6403,8 @@ "jest-each": "^28.1.1", "jest-matcher-utils": "^28.1.1", "jest-message-util": "^28.1.1", - "jest-runtime": "^28.1.1", - "jest-snapshot": "^28.1.1", + "jest-runtime": "^28.1.2", + "jest-snapshot": "^28.1.2", "jest-util": "^28.1.1", "pretty-format": "^28.1.1", "slash": "^3.0.0", @@ -4790,26 +6413,26 @@ } }, "jest-config": { - "version": "28.1.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/jest-config/-/jest-config-28.1.1.tgz", - "integrity": "sha512-tASynMhS+jVV85zKvjfbJ8nUyJS/jUSYZ5KQxLUN2ZCvcQc/OmhQl2j6VEL3ezQkNofxn5pQ3SPYWPHb0unTZA==", + "version": "28.1.2", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/jest-config/-/jest-config-28.1.2.tgz", + "integrity": "sha512-g6EfeRqddVbjPVBVY4JWpUY4IvQoFRIZcv4V36QkqzE0IGhEC/VkugFeBMAeUE7PRgC8KJF0yvJNDeQRbamEVA==", "dev": true, "requires": { "@babel/core": "^7.11.6", "@jest/test-sequencer": "^28.1.1", "@jest/types": "^28.1.1", - "babel-jest": "^28.1.1", + "babel-jest": "^28.1.2", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-circus": "^28.1.1", - "jest-environment-node": "^28.1.1", + "jest-circus": "^28.1.2", + "jest-environment-node": "^28.1.2", "jest-get-type": "^28.0.2", "jest-regex-util": "^28.0.2", "jest-resolve": "^28.1.1", - "jest-runner": "^28.1.1", + "jest-runner": "^28.1.2", "jest-util": "^28.1.1", "jest-validate": "^28.1.1", "micromatch": "^4.0.4", @@ -4854,13 +6477,13 @@ } }, "jest-environment-node": { - "version": "28.1.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/jest-environment-node/-/jest-environment-node-28.1.1.tgz", - "integrity": "sha512-2aV/eeY/WNgUUJrrkDJ3cFEigjC5fqT1+fCclrY6paqJ5zVPoM//sHmfgUUp7WLYxIdbPwMiVIzejpN56MxnNA==", + "version": "28.1.2", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/jest-environment-node/-/jest-environment-node-28.1.2.tgz", + "integrity": "sha512-oYsZz9Qw27XKmOgTtnl0jW7VplJkN2oeof+SwAwKFQacq3CLlG9u4kTGuuLWfvu3J7bVutWlrbEQMOCL/jughw==", "dev": true, "requires": { - "@jest/environment": "^28.1.1", - "@jest/fake-timers": "^28.1.1", + "@jest/environment": "^28.1.2", + "@jest/fake-timers": "^28.1.2", "@jest/types": "^28.1.1", "@types/node": "*", "jest-mock": "^28.1.1", @@ -4894,9 +6517,9 @@ } }, "jest-junit": { - "version": "13.2.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/jest-junit/-/jest-junit-13.2.0.tgz", - "integrity": "sha512-B0XNlotl1rdsvFZkFfoa19mc634+rrd8E4Sskb92Bb8MmSXeWV9XJGUyctunZS1W410uAxcyYuPUGVnbcOH8cg==", + "version": "14.0.0", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/jest-junit/-/jest-junit-14.0.0.tgz", + "integrity": "sha512-kALvBDegstTROfDGXH71UGD7k5g7593Y1wuX1wpWT+QTYcBbmtuGOA8UlAt56zo/B2eMIOcaOVEON3j0VXVa4g==", "dev": true, "requires": { "mkdirp": "^1.0.4", @@ -4992,37 +6615,37 @@ } }, "jest-resolve-dependencies": { - "version": "28.1.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.1.tgz", - "integrity": "sha512-p8Y150xYJth4EXhOuB8FzmS9r8IGLEioiaetgdNGb9VHka4fl0zqWlVe4v7mSkYOuEUg2uB61iE+zySDgrOmgQ==", + "version": "28.1.2", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.2.tgz", + "integrity": "sha512-OXw4vbOZuyRTBi3tapWBqdyodU+T33ww5cPZORuTWkg+Y8lmsxQlVu3MWtJh6NMlKRTHQetF96yGPv01Ye7Mbg==", "dev": true, "requires": { "jest-regex-util": "^28.0.2", - "jest-snapshot": "^28.1.1" + "jest-snapshot": "^28.1.2" } }, "jest-runner": { - "version": "28.1.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/jest-runner/-/jest-runner-28.1.1.tgz", - "integrity": "sha512-W5oFUiDBgTsCloTAj6q95wEvYDB0pxIhY6bc5F26OucnwBN+K58xGTGbliSMI4ChQal5eANDF+xvELaYkJxTmA==", + "version": "28.1.2", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/jest-runner/-/jest-runner-28.1.2.tgz", + "integrity": "sha512-6/k3DlAsAEr5VcptCMdhtRhOoYClZQmxnVMZvZ/quvPGRpN7OBQYPIC32tWSgOnbgqLXNs5RAniC+nkdFZpD4A==", "dev": true, "requires": { "@jest/console": "^28.1.1", - "@jest/environment": "^28.1.1", + "@jest/environment": "^28.1.2", "@jest/test-result": "^28.1.1", - "@jest/transform": "^28.1.1", + "@jest/transform": "^28.1.2", "@jest/types": "^28.1.1", "@types/node": "*", "chalk": "^4.0.0", "emittery": "^0.10.2", "graceful-fs": "^4.2.9", "jest-docblock": "^28.1.1", - "jest-environment-node": "^28.1.1", + "jest-environment-node": "^28.1.2", "jest-haste-map": "^28.1.1", "jest-leak-detector": "^28.1.1", "jest-message-util": "^28.1.1", "jest-resolve": "^28.1.1", - "jest-runtime": "^28.1.1", + "jest-runtime": "^28.1.2", "jest-util": "^28.1.1", "jest-watcher": "^28.1.1", "jest-worker": "^28.1.1", @@ -5031,17 +6654,17 @@ } }, "jest-runtime": { - "version": "28.1.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/jest-runtime/-/jest-runtime-28.1.1.tgz", - "integrity": "sha512-J89qEJWW0leOsqyi0D9zHpFEYHwwafFdS9xgvhFHtIdRghbadodI0eA+DrthK/1PebBv3Px8mFSMGKrtaVnleg==", + "version": "28.1.2", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/jest-runtime/-/jest-runtime-28.1.2.tgz", + "integrity": "sha512-i4w93OsWzLOeMXSi9epmakb2+3z0AchZtUQVF1hesBmcQQy4vtaql5YdVe9KexdJaVRyPDw8DoBR0j3lYsZVYw==", "dev": true, "requires": { - "@jest/environment": "^28.1.1", - "@jest/fake-timers": "^28.1.1", - "@jest/globals": "^28.1.1", - "@jest/source-map": "^28.0.2", + "@jest/environment": "^28.1.2", + "@jest/fake-timers": "^28.1.2", + "@jest/globals": "^28.1.2", + "@jest/source-map": "^28.1.2", "@jest/test-result": "^28.1.1", - "@jest/transform": "^28.1.1", + "@jest/transform": "^28.1.2", "@jest/types": "^28.1.1", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", @@ -5054,16 +6677,16 @@ "jest-mock": "^28.1.1", "jest-regex-util": "^28.0.2", "jest-resolve": "^28.1.1", - "jest-snapshot": "^28.1.1", + "jest-snapshot": "^28.1.2", "jest-util": "^28.1.1", "slash": "^3.0.0", "strip-bom": "^4.0.0" } }, "jest-snapshot": { - "version": "28.1.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/jest-snapshot/-/jest-snapshot-28.1.1.tgz", - "integrity": "sha512-1KjqHJ98adRcbIdMizjF5DipwZFbvxym/kFO4g4fVZCZRxH/dqV8TiBFCa6rqic3p0karsy8RWS1y4E07b7P0A==", + "version": "28.1.2", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/jest-snapshot/-/jest-snapshot-28.1.2.tgz", + "integrity": "sha512-wzrieFttZYfLvrCVRJxX+jwML2YTArOUqFpCoSVy1QUapx+LlV9uLbV/mMEhYj4t7aMeE9aSQFHSvV/oNoDAMA==", "dev": true, "requires": { "@babel/core": "^7.11.6", @@ -5072,7 +6695,7 @@ "@babel/traverse": "^7.7.2", "@babel/types": "^7.3.3", "@jest/expect-utils": "^28.1.1", - "@jest/transform": "^28.1.1", + "@jest/transform": "^28.1.2", "@jest/types": "^28.1.1", "@types/babel__traverse": "^7.0.6", "@types/prettier": "^2.1.5", @@ -5089,17 +6712,6 @@ "natural-compare": "^1.4.0", "pretty-format": "^28.1.1", "semver": "^7.3.5" - }, - "dependencies": { - "semver": { - "version": "7.3.7", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } } }, "jest-util": { @@ -5259,65 +6871,12 @@ "integrity": "sha512-PNYZIdMjVIvVgDSYKTT63Y+KZ6IZvGRNNWcxwD+GNnUz1MKPfv30J8ueCjdwcN0nDx2SlshgyB7Oy0epAzVRRg==", "dev": true }, - "jsonwebtoken": { - "version": "8.5.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", - "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", - "dev": true, - "requires": { - "jws": "^3.2.2", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^5.6.0" - }, - "dependencies": { - "ms": { - "version": "2.1.3", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - } - } - }, - "jwa": { - "version": "1.4.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", - "dev": true, - "requires": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "jws": { - "version": "3.2.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", - "dev": true, - "requires": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" - } - }, "kleur": { "version": "3.0.3", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/kleur/-/kleur-3.0.3.tgz", "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true }, - "kuler": { - "version": "2.0.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/kuler/-/kuler-2.0.0.tgz", - "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==", - "dev": true - }, "leven": { "version": "3.1.0", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/leven/-/leven-3.1.0.tgz", @@ -5418,12 +6977,6 @@ "lodash._root": "^3.0.0" } }, - "lodash.includes": { - "version": "4.3.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", - "dev": true - }, "lodash.isarguments": { "version": "3.1.0", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", @@ -5436,36 +6989,6 @@ "integrity": "sha512-JwObCrNJuT0Nnbuecmqr5DgtuBppuCvGD9lxjFpAzwnVtdGoDQ1zig+5W8k5/6Gcn0gZ3936HDAlGd28i7sOGQ==", "dev": true }, - "lodash.isboolean": { - "version": "3.0.3", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", - "dev": true - }, - "lodash.isinteger": { - "version": "4.0.4", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", - "dev": true - }, - "lodash.isnumber": { - "version": "3.0.3", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", - "dev": true - }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "dev": true - }, - "lodash.isstring": { - "version": "4.0.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", - "dev": true - }, "lodash.keys": { "version": "3.1.2", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/lodash.keys/-/lodash.keys-3.1.2.tgz", @@ -5483,12 +7006,6 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "lodash.once": { - "version": "4.1.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", - "dev": true - }, "lodash.restparam": { "version": "3.6.1", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/lodash.restparam/-/lodash.restparam-3.6.1.tgz", @@ -5522,27 +7039,6 @@ "lodash.escape": "^3.0.0" } }, - "logform": { - "version": "2.4.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/logform/-/logform-2.4.0.tgz", - "integrity": "sha512-CPSJw4ftjf517EhXZGGvTHHkYobo7ZCc0kvwUoOYcjfR2UVrI66RHj8MCrfAdEitdmFqbu2BYdYs8FHHZSb6iw==", - "dev": true, - "requires": { - "@colors/colors": "1.5.0", - "fecha": "^4.2.0", - "ms": "^2.1.1", - "safe-stable-stringify": "^2.3.1", - "triple-beam": "^1.3.0" - }, - "dependencies": { - "ms": { - "version": "2.1.3", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - } - } - }, "lru-cache": { "version": "6.0.0", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/lru-cache/-/lru-cache-6.0.0.tgz", @@ -5592,44 +7088,6 @@ "promise-retry": "^2.0.1", "socks-proxy-agent": "^6.0.0", "ssri": "^8.0.0" - }, - "dependencies": { - "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true, - "optional": true - }, - "debug": { - "version": "4.3.4", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "optional": true, - "requires": { - "ms": "2.1.2" - } - }, - "http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, - "optional": true, - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true, - "optional": true - } } }, "makeerror": { @@ -5717,9 +7175,9 @@ "dev": true }, "minipass": { - "version": "3.3.3", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/minipass/-/minipass-3.3.3.tgz", - "integrity": "sha512-N0BOsdFAlNRfmwMhjAsLVWOk7Ljmeb39iqFlsV1At+jqRhSUP9yeof8FyJu4imaJiSUp8vQebWD/guZwGQC8iA==", + "version": "3.3.4", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/minipass/-/minipass-3.3.4.tgz", + "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", "dev": true, "requires": { "yallist": "^4.0.0" @@ -5797,12 +7255,6 @@ "minimist": "^1.2.6" } }, - "moment": { - "version": "2.29.3", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/moment/-/moment-2.29.3.tgz", - "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==", - "dev": true - }, "ms": { "version": "2.0.0", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/ms/-/ms-2.0.0.tgz", @@ -5921,14 +7373,16 @@ "set-blocking": "^2.0.0" } }, - "semver": { - "version": "7.3.7", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "readable-stream": { + "version": "3.6.0", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "optional": true, "requires": { - "lru-cache": "^6.0.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } }, "string-width": { @@ -5957,15 +7411,6 @@ "integrity": "sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==", "dev": true }, - "node-rsa": { - "version": "1.1.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/node-rsa/-/node-rsa-1.1.1.tgz", - "integrity": "sha512-Jd4cvbJMryN21r5HgxQOpMEqv+ooke/korixNNK3mGqfGJmy0M77WDDzo/05969+OkMy3XW1UuZsSmW9KQm7Fw==", - "dev": true, - "requires": { - "asn1": "^0.2.4" - } - }, "nopt": { "version": "5.0.0", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/nopt/-/nopt-5.0.0.tgz", @@ -6019,24 +7464,6 @@ "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/object-inspect/-/object-inspect-1.12.2.tgz", "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, "on-finished": { "version": "2.4.1", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/on-finished/-/on-finished-2.4.1.tgz", @@ -6060,27 +7487,12 @@ "wrappy": "1" } }, - "one-time": { - "version": "1.0.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/one-time/-/one-time-1.0.0.tgz", - "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", - "dev": true, - "requires": { - "fn.name": "1.x.x" - } - }, "onetime": { "version": "1.1.0", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/onetime/-/onetime-1.1.0.tgz", "integrity": "sha512-GZ+g4jayMqzCRMgB2sol7GiCLjKfS1PINkjmx8spcKce1LiVqcbQreXwqs2YAFXC6R03VIG28ZS31t8M866v6A==", "dev": true }, - "opossum": { - "version": "6.3.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/opossum/-/opossum-6.3.0.tgz", - "integrity": "sha512-youR7pMTpgnbPJEPruM8Ku1WKUXnjmsK99GC5fkGFrOK8jduY1hvMiooUa3QZg6Xdso03skr37q6Evpt9PZ2cA==", - "dev": true - }, "optionator": { "version": "0.9.1", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/optionator/-/optionator-0.9.1.tgz", @@ -6325,20 +7737,6 @@ "retry": "^0.12.0" } }, - "promise.allsettled": { - "version": "1.0.5", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/promise.allsettled/-/promise.allsettled-1.0.5.tgz", - "integrity": "sha512-tVDqeZPoBC0SlzJHzWGZ2NKAguVq2oiYj7gbggbiTvH2itHohijTp7njOUA0aQ/nl+0lr/r6egmhoYu63UZ/pQ==", - "dev": true, - "requires": { - "array.prototype.map": "^1.0.4", - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1", - "get-intrinsic": "^1.1.1", - "iterate-value": "^1.0.2" - } - }, "prompts": { "version": "2.4.2", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/prompts/-/prompts-2.4.2.tgz", @@ -6401,14 +7799,26 @@ "dev": true }, "readable-stream": { - "version": "3.6.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "version": "2.3.7", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } } }, "readline2": { @@ -6422,17 +7832,6 @@ "mute-stream": "0.0.5" } }, - "regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" - } - }, "regexpp": { "version": "3.2.0", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/regexpp/-/regexpp-3.2.0.tgz", @@ -6575,22 +7974,19 @@ "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, - "safe-stable-stringify": { - "version": "2.3.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz", - "integrity": "sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg==", - "dev": true - }, "safer-buffer": { "version": "2.1.2", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "semver": { - "version": "5.7.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "version": "7.3.7", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } }, "send": { "version": "0.18.0", @@ -6678,15 +8074,6 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", - "dev": true, - "requires": { - "is-arrayish": "^0.3.1" - } - }, "sisteransi": { "version": "1.0.5", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/sisteransi/-/sisteransi-1.0.5.tgz", @@ -6804,12 +8191,6 @@ "minipass": "^3.1.1" } }, - "stack-trace": { - "version": "0.0.10", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", - "dev": true - }, "stack-utils": { "version": "2.0.5", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/stack-utils/-/stack-utils-2.0.5.tgz", @@ -6875,35 +8256,21 @@ } } }, - "string.prototype.trimend": { - "version": "1.0.5", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", - "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" - } - }, - "string.prototype.trimstart": { - "version": "1.0.5", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", - "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" - } - }, "string_decoder": { - "version": "1.3.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "version": "1.1.1", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "~5.2.0" + "safe-buffer": "~5.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } } }, "strip-ansi": { @@ -6934,9 +8301,9 @@ "dev": true }, "superagent": { - "version": "7.1.6", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/superagent/-/superagent-7.1.6.tgz", - "integrity": "sha512-gZkVCQR1gy/oUXr+kxJMLDjla434KmSOKbx5iGD30Ql+AkJQ/YlPKECJy2nhqOsHLjGHzoDTXNSjhnvWhzKk7g==", + "version": "7.1.5", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/superagent/-/superagent-7.1.5.tgz", + "integrity": "sha512-HQYyGuDRFGmZ6GNC4hq2f37KnsY9Lr0/R1marNZTgMweVDQLTLJJ6DGQ9Tj/xVVs5HEnop9EMmTbywb5P30aqw==", "dev": true, "requires": { "component-emitter": "^1.3.0", @@ -6946,7 +8313,7 @@ "form-data": "^4.0.0", "formidable": "^2.0.1", "methods": "^1.1.2", - "mime": "2.6.0", + "mime": "^2.5.0", "qs": "^6.10.3", "readable-stream": "^3.6.0", "semver": "^7.3.7" @@ -6973,13 +8340,15 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "semver": { - "version": "7.3.7", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "readable-stream": { + "version": "3.6.0", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } } } @@ -7184,12 +8553,6 @@ "minimatch": "^3.0.4" } }, - "text-hex": { - "version": "1.0.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/text-hex/-/text-hex-1.0.0.tgz", - "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", - "dev": true - }, "text-table": { "version": "0.2.0", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/text-table/-/text-table-0.2.0.tgz", @@ -7216,44 +8579,6 @@ "requires": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "time-stamp": { @@ -7292,12 +8617,6 @@ "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, - "triple-beam": { - "version": "1.3.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/triple-beam/-/triple-beam-1.3.0.tgz", - "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==", - "dev": true - }, "tslib": { "version": "1.14.1", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/tslib/-/tslib-1.14.1.tgz", @@ -7355,18 +8674,6 @@ "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", "dev": true }, - "unbox-primitive": { - "version": "1.0.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - } - }, "unique-filename": { "version": "1.1.1", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/unique-filename/-/unique-filename-1.1.1.tgz", @@ -7392,6 +8699,16 @@ "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" }, + "update-browserslist-db": { + "version": "1.0.4", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/update-browserslist-db/-/update-browserslist-db-1.0.4.tgz", + "integrity": "sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, "uri-js": { "version": "4.4.1", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/uri-js/-/uri-js-4.4.1.tgz", @@ -7434,22 +8751,16 @@ "dev": true }, "v8-to-istanbul": { - "version": "9.0.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/v8-to-istanbul/-/v8-to-istanbul-9.0.0.tgz", - "integrity": "sha512-HcvgY/xaRm7isYmyx+lFKA4uQmfUbN0J4M0nNItvzTvH/iQ9kW5j/t4YSR+Ge323/lrgDAWJoF46tzGQHwBHFw==", + "version": "9.0.1", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", + "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", "dev": true, "requires": { - "@jridgewell/trace-mapping": "^0.3.7", + "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", "convert-source-map": "^1.6.0" } }, - "valid-url": { - "version": "1.0.9", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/valid-url/-/valid-url-1.0.9.tgz", - "integrity": "sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==", - "dev": true - }, "vary": { "version": "1.1.2", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/vary/-/vary-1.1.2.tgz", @@ -7466,12 +8777,6 @@ "replace-ext": "0.0.1" } }, - "voca": { - "version": "1.4.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/voca/-/voca-1.4.0.tgz", - "integrity": "sha512-8Xz4H3vhYRGbFupLtl6dHwMx0ojUcjt0HYkqZ9oBCfipd/5mD7Md58m2/dq7uPuZU/0T3Gb1m66KS9jn+I+14Q==", - "dev": true - }, "walker": { "version": "1.0.8", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/walker/-/walker-1.0.8.tgz", @@ -7504,19 +8809,6 @@ "isexe": "^2.0.0" } }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, "wide-align": { "version": "1.1.5", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/wide-align/-/wide-align-1.1.5.tgz", @@ -7526,35 +8818,6 @@ "string-width": "^1.0.2 || 2 || 3 || 4" } }, - "winston": { - "version": "3.7.2", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/winston/-/winston-3.7.2.tgz", - "integrity": "sha512-QziIqtojHBoyzUOdQvQiar1DH0Xp9nF1A1y7NVy2DGEsz82SBDtOalS0ulTRGVT14xPX3WRWkCsdcJKqNflKng==", - "dev": true, - "requires": { - "@dabh/diagnostics": "^2.0.2", - "async": "^3.2.3", - "is-stream": "^2.0.0", - "logform": "^2.4.0", - "one-time": "^1.0.0", - "readable-stream": "^3.4.0", - "safe-stable-stringify": "^2.3.1", - "stack-trace": "0.0.x", - "triple-beam": "^1.3.0", - "winston-transport": "^4.5.0" - } - }, - "winston-transport": { - "version": "4.5.0", - "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/winston-transport/-/winston-transport-4.5.0.tgz", - "integrity": "sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==", - "dev": true, - "requires": { - "logform": "^2.3.2", - "readable-stream": "^3.6.0", - "triple-beam": "^1.3.0" - } - }, "word-wrap": { "version": "1.2.3", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/word-wrap/-/word-wrap-1.2.3.tgz", @@ -7622,6 +8885,12 @@ "integrity": "sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==", "dev": true }, + "xmlbuilder": { + "version": "15.1.1", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", + "dev": true + }, "xtend": { "version": "4.0.2", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/xtend/-/xtend-4.0.2.tgz", @@ -7640,6 +8909,12 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, + "yaml": { + "version": "2.1.1", + "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/yaml/-/yaml-2.1.1.tgz", + "integrity": "sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw==", + "dev": true + }, "yargs": { "version": "17.5.1", "resolved": "https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm/yargs/-/yargs-17.5.1.tgz", diff --git a/package.json b/package.json index 2497945..f4bd7b1 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,10 @@ { "name": "@sap/cds-odata-v2-adapter-proxy", - "version": "1.8.22", + "version": "1.9.0", "description": "CDS OData V2 Adapter Proxy for CDS OData V4 Services", "homepage": "https://cap.cloud.sap/", "engines": { - "node": ">=8.9.0" + "node": ">=8" }, "author": "Oliver Klemenz, Richard Lindner (SAP SE - https://www.sap.com)", "keywords": [ @@ -16,25 +16,34 @@ "V4" ], "files": [ - "lib/" + "src/", + "CHANGELOG.md", + "README.md", + "LICENSE" ], - "main": "lib/index.js", - "types": "lib/index.d.ts", + "main": "src/index.js", + "types": "src/index.d.ts", "scripts": { - "start": "XS_APP_LOG_LEVEL=debug cds run --in-memory", - "start:hana": "cd integration-test/_env && npm start", - "cds:run": "npm start", - "cds:run:single": "XS_APP_LOG_LEVEL=debug cds serve --in-memory --service MainService --from ./test/_env/model --at /", - "test": "jest --runInBand --updateSnapshot", - "test:debug": "XS_APP_LOG_LEVEL=debug jest --runInBand --updateSnapshot", - "test:integration": "jest --config=jest-integration.config.js --updateSnapshot", - "test:server": "XS_APP_LOG_LEVEL=debug node test-server", - "test:approuter": "cd approuter && npm start", - "lint": "npm run prettier && npm run eslint", + "run": "cd ./test/_env && cds run", + "start": "npm start --prefix=./test/_env", + "start:file": "npm run start:file --prefix=./test/_env", + "start:root": "npm run start:root --prefix=./test/_env", + "start:hana": "npm start --prefix=./test-integration/_env", + "start:approuter": "npm start --prefix=./approuter", + "start:approuter:port": "PORT=5001 npm start --prefix=./approuter", + "test": "jest --runInBand --updateSnapshot --forceExit", + "test:debug": "XS_APP_LOG_LEVEL=debug npm run test", + "test:xmake": "npm run test --scripts-prepend-node-path -- --config=jest-xmake.config.js", + "test:unit": "jest --runInBand --updateSnapshot --testPathPattern='/test/' --forceExit", + "test:unit:file": "CDS_ENV=testdb npm run test:unit", + "test:unit:deploy": "npm run test:deploy --prefix=./test/_env", + "test:integration": "jest --runInBand --updateSnapshot --testPathPattern='/test-integration/' --forceExit", + "test:integration:deploy": "npm run test:deploy --prefix=./test-integration/_env", + "build:unit": "npm run build --prefix=./test/_env", + "build:integration": "npm run build --prefix=./test-integration/_env", + "lint": "npm run prettier && eslint . --fix", "prettier": "prettier \"**/*.{js,json,md,yml,yaml}\" --write --loglevel error", - "eslint": "eslint . --fix", "upgrade-lock": "rm -rf package-lock.json node_modules && npm i --package-lock=true", - "test:deploy": "cd test/_env && cds deploy index.cds --to sqlite:test.db --no-save", "prepareRelease": "npm prune --production" }, "dependencies": { @@ -46,34 +55,19 @@ "node-fetch": "^2.6.7" }, "devDependencies": { - "@sap/cds": "^5.9.7", - "@sap/hana-client": "^2.13.13", + "@sap/cds": "^6.0.0", + "@sap/hana-client": "^2.13.21", "compression": "^1.7.4", "eslint": "^8.18.0", "eslint-config": "^0.3.0", "eslint-config-prettier": "^8.5.0", "eslint-plugin-jest": "^26.5.3", - "jest": "^28.1.1", - "jest-junit": "^13.2.0", + "jest": "^28.1.2", + "jest-junit": "^14.0.0", "passport": "^0.6.0", "prettier": "^2.7.1", "sqlite3": "5.0.8", "supertest": "^6.2.3" }, - "license": "SEE LICENSE IN LICENSE", - "cds": { - "cov2ap": { - "path": "v2", - "caseInsensitive": true, - "fixDraftRequests": true - }, - "requires": { - "db": { - "kind": "sqlite", - "credentials": { - "database": ":memory:" - } - } - } - } + "license": "SEE LICENSE IN LICENSE" } diff --git a/sonar-project.properties b/sonar-project.properties deleted file mode 100644 index f4aabba..0000000 --- a/sonar-project.properties +++ /dev/null @@ -1,6 +0,0 @@ -sonar.javascript.lcov.reportPaths=reports/coverage/unit/lcov.info,reports/coverage/integration/lcov.info -sonar.junit.reportPaths=reports/sonar/test-unit.xml,reports/sonar/test-integration.xml -sonar.language=js -sonar.sources=lib -sonar.tests=test -sonar.projectBasedir=. diff --git a/lib/index.d.ts b/src/index.d.ts similarity index 79% rename from lib/index.d.ts rename to src/index.d.ts index d1371cf..498c707 100644 --- a/lib/index.d.ts +++ b/src/index.d.ts @@ -28,14 +28,14 @@ type Options = { model?: string | string[] | object | "all", /** - * Target port, which points to OData V4 backend port. Default is process.env.PORT or 4004 + * Target port which points to OData V4 backend port. Default is process.env.PORT or 4004. */ port?: number | 4004, /** - * Target, which points to OData V4 backend host/port. Default is e.g. 'http://localhost:4004' + * Target which points to OData V4 backend host:port. Use 'auto' to infer the target from server url after listening. Default is e.g. 'http://localhost:4004'. */ - target?: string | "http://localhost:4004", + target?: string | "http://localhost:4004" | "auto", /** * Target path to which is redirected. Default is ''. @@ -58,7 +58,7 @@ type Options = { mtxEndpoint?: string | "/mtx/v1", /** - * `Edm.Decimal` and `Edm.Int64` are serialized IEEE754 compatible. Default is true. + * Edm.Decimal and Edm.Int64 are serialized IEEE754 compatible. Default is true. */ ieee754Compatible?: boolean | true, @@ -108,57 +108,57 @@ type Options = { bodyParserLimit?: string | "100mb", /** - * Collection of entity type is returned nested into a `results` section. Default is `true`. + * Collection of entity type is returned nested into a results section. Default is true. */ returnCollectionNested?: boolean | true, /** - * Function import return structure of complex type (non collection) is nested using function import name. Default is `true`. + * Function import return structure of complex type (non collection) is nested using function import name. Default is true. */ returnComplexNested?: boolean | true, /** - * Function import return structure of primitive type (non collection) is nested using function import name. Default is `true`. + * Function import return structure of primitive type (non collection) is nested using function import name. Default is true. */ returnPrimitiveNested?: boolean | true, /** - * Function import return value of primitive type is rendered as plain JSON value. Default is `true`. + * Function import return value of primitive type is rendered as plain JSON value. Default is true. */ returnPrimitivePlain?: boolean | true, /** - * Specifies the message target default, if target is undefined. Default is `/#TRANSIENT#`. + * Specifies the message target default, if target is undefined. Default is '/#TRANSIENT#'. */ messageTargetDefault?: string | "/#TRANSIENT#", /** - * Transforms search functions i.e. substringof, startswith, endswith to case insensitive variant. Default is `false` + * Transforms search functions i.e. substringof, startswith, endswith to case-insensitive variant. Default is false. */ caseInsensitive?: boolean | false, /** - * Propagates root error or message always to details section. Default is `false`. + * Propagates root error or message always to details section. Default is false. */ propagateMessageToDetails?: boolean | false, /** - * Default content disposition for media streams (inline, attachment), if not available or calculated. Default is `attachment`. + * Default content disposition for media streams (inline, attachment), if not available or calculated. Default is 'attachment'. */ - contentDisposition?: String | "attachment", + contentDisposition?: String | "attachment" | "inline", /** - * Calculate content disposition for media streams even if already available. Default is `false`. + * Calculate content disposition for media streams even if already available. Default is false. */ calcContentDisposition?: boolean | false, /** - * Specifies if search expression is quoted automatically. Default is `true`. + * Specifies if search expression is quoted automatically. Default is true. */ quoteSearch?: boolean | true, /** - * Specifies if unsupported draft requests are converted to a working version. Default is `false`. + * Specifies if unsupported draft requests are converted to a working version. Default is false. */ fixDraftRequests?: boolean | false, }; \ No newline at end of file diff --git a/lib/index.js b/src/index.js similarity index 98% rename from lib/index.js rename to src/index.js index 1366db7..f4dd57e 100644 --- a/lib/index.js +++ b/src/index.js @@ -116,17 +116,17 @@ function convertToNodeHeaders(webHeaders) { /** * Instantiates a CDS OData V2 Adapter Proxy Express Router for a CDS-based OData V4 Server: - * @param {object} options CDS OData V2 Adapter Proxy options object + * @param {object} options CDS OData V2 Adapter Proxy options object. * @param {string} options.base Base path under which the service is reachable. Default is ''. * @param {string} options.path Path under which the proxy is reachable. Default is 'v2'. * @param {string|string[]|object} options.model CDS service model (path(s) or CSN). Default is 'all'. - * @param {number} options.port Target port, which points to OData V4 backend port. Default is process.env.PORT or 4004. - * @param {string} options.target Target, which points to OData V4 backend host/port. Default is e.g. 'http://localhost:4004'. + * @param {number} options.port Target port which points to OData V4 backend port. Default is process.env.PORT or 4004. + * @param {string} options.target Target which points to OData V4 backend host:port. Use 'auto' to infer the target from server url after listening. Default is e.g. 'http://localhost:4004'. * @param {string} options.targetPath Target path to which is redirected. Default is ''. * @param {object} options.services Service mapping object from url path name to service name. Default is {}. * @param {boolean} options.mtxRemote CDS model is retrieved remotely via MTX endpoint for multitenant scenario. Default is false. * @param {string} options.mtxEndpoint Endpoint to retrieve MTX metadata when option 'mtxRemote' is active. Default is '/mtx/v1'. - * @param {boolean} options.ieee754Compatible `Edm.Decimal` and `Edm.Int64` are serialized IEEE754 compatible. Default is true. + * @param {boolean} options.ieee754Compatible Edm.Decimal and Edm.Int64 are serialized IEEE754 compatible. Default is true. * @param {boolean} options.disableNetworkLog Disable networking logging. Default is true. * @param {number} options.fileUploadSizeLimit File upload file size limit (in bytes). Default is 10485760 (10 MB). * @param {boolean} options.continueOnError Indicates to OData V4 backend to continue on error. Default is false. @@ -136,17 +136,17 @@ function convertToNodeHeaders(webHeaders) { * @param {boolean} options.isoTimestamp Use ISO 8601 format for type cds.Timestamp (Edm.DateTimeOffset). Default is false. * @param {boolean} options.isoDateTimeOffset Use ISO 8601 format for type Edm.DateTimeOffset (cds.DateTime, cds.Timestamp). Default is false. * @param {string} options.bodyParserLimit Request and response body parser size limit. Default is '100mb'. - * @param {boolean} options.returnCollectionNested Collection of entity type is returned nested into a `results` section. Default is `true`. - * @param {boolean} options.returnComplexNested Function import return structure of complex type (non collection) is nested using function import name. Default is `true`. - * @param {boolean} options.returnPrimitiveNested Function import return structure of primitive type (non collection) is nested using function import name. Default is `true`. - * @param {boolean} options.returnPrimitivePlain Function import return value of primitive type is rendered as plain JSON value. Default is `true`. - * @param {string} options.messageTargetDefault Specifies the message target default, if target is undefined. Default is `/#TRANSIENT#`. - * @param {boolean} options.caseInsensitive: Transforms search functions i.e. substringof, startswith, endswith to case insensitive variant. Default is `false`. - * @param {boolean} options.propagateMessageToDetails: Propagates root error or message always to details section. Default is `false`. - * @param {boolean} options.contentDisposition: Default content disposition for media streams (inline, attachment), if not available or calculated. Default is `attachment`. - * @param {boolean} options.calcContentDisposition: Calculate content disposition for media streams even if already available. Default is `false`. - * @param {boolean} options.quoteSearch: Specifies if search expression is quoted automatically. Default is `true`. - * @param {boolean} options.fixDraftRequests: Specifies if unsupported draft requests are converted to a working version. Default is `false`. + * @param {boolean} options.returnCollectionNested Collection of entity type is returned nested into a results section. Default is true. + * @param {boolean} options.returnComplexNested Function import return structure of complex type (non collection) is nested using function import name. Default is true. + * @param {boolean} options.returnPrimitiveNested Function import return structure of primitive type (non collection) is nested using function import name. Default is true. + * @param {boolean} options.returnPrimitivePlain Function import return value of primitive type is rendered as plain JSON value. Default is true. + * @param {string} options.messageTargetDefault Specifies the message target default, if target is undefined. Default is '/#TRANSIENT#'. + * @param {boolean} options.caseInsensitive: Transforms search functions i.e. substringof, startswith, endswith to case-insensitive variant. Default is false. + * @param {boolean} options.propagateMessageToDetails: Propagates root error or message always to details section. Default is false. + * @param {boolean} options.contentDisposition: Default content disposition for media streams (inline, attachment), if not available or calculated. Default is 'attachment'. + * @param {boolean} options.calcContentDisposition: Calculate content disposition for media streams even if already available. Default is false. + * @param {boolean} options.quoteSearch: Specifies if search expression is quoted automatically. Default is true. + * @param {boolean} options.fixDraftRequests: Specifies if unsupported draft requests are converted to a working version. Default is false. * @returns {express.Router} CDS OData V2 Adapter Proxy Express Router */ function cov2ap(options = {}) { @@ -169,8 +169,8 @@ function cov2ap(options = {}) { const targetPath = optionWithFallback("targetPath", ""); const rewritePath = `${base ? "/" + base : ""}${targetPath ? "/" : ""}${targetPath}`; const pathRewrite = { [`^${sourcePath}`]: rewritePath }; - const port = optionWithFallback("port", process.env.PORT || DefaultPort); - const target = optionWithFallback("target", `http://${DefaultHost}:${port}`); + let port = optionWithFallback("port", process.env.PORT || DefaultPort); + let target = optionWithFallback("target", `http://${DefaultHost}:${port}`); const services = optionWithFallback("services", {}); const mtxRemote = optionWithFallback("mtxRemote", false); const mtxEndpoint = optionWithFallback("mtxEndpoint", "/mtx/v1"); @@ -493,10 +493,12 @@ function cov2ap(options = {}) { headers ); } - }, + } + ); - // Proxy Middleware - createProxyMiddleware({ + // Proxy Middleware + function setupProxyMiddleware() { + return createProxyMiddleware({ target, changeOrigin: true, selfHandleResponse: true, @@ -507,8 +509,17 @@ function cov2ap(options = {}) { onProxyRes: (proxyRes, req, res) => { convertProxyResponse(proxyRes, req, res); }, - }) - ); + }); + } + if (target === "auto") { + cds.on("listening", ({ server, url }) => { + port = server.address().port; + target = url; + router.use(`/${path}/*`, setupProxyMiddleware()); + }); + } else { + router.use(`/${path}/*`, setupProxyMiddleware()); + } function contentDispositionFilename(headers) { const contentDispositionHeader = headers["content-disposition"] || headers["Content-Disposition"]; diff --git a/srv/index.cds b/srv/index.cds deleted file mode 100644 index 608bcb2..0000000 --- a/srv/index.cds +++ /dev/null @@ -1 +0,0 @@ -using from '../test/_env'; \ No newline at end of file diff --git a/test-integration/__snapshots__/integration-agreement-test.js.snap b/test-integration/__snapshots__/integration-agreement-test.js.snap new file mode 100644 index 0000000..8852a17 --- /dev/null +++ b/test-integration/__snapshots__/integration-agreement-test.js.snap @@ -0,0 +1,629 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`integration-agreement GET $metadata 1`] = ` +" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + aggregate + groupby + filter + + + + + + + + keyDate + ID + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + aggregate + groupby + filter + + + + + + + + + + keyDate + + + + + + + + + + + + + + + + + + + + + + + + + + + + + keyDate + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +" +`; + +exports[`integration-agreement GET with parameters (agreement pricing for key date - full circle) 1`] = ` +Object { + "d": Object { + "results": Array [ + Object { + "Set": Object { + "__deferred": Object { + "uri": "http://localhost:00000/v2/agreement/AgreementItemPricingForKeyDate(datetime'2022-06-20T00:00:00')/Set", + }, + }, + "__metadata": Object { + "type": "AgreementService.AgreementItemPricingForKeyDateParameters", + "uri": "http://localhost:00000/v2/agreement/AgreementItemPricingForKeyDate(datetime'2022-06-20T00:00:00')", + }, + "keyDate": "/Date(1655683200000)/", + }, + ], + }, +} +`; + +exports[`integration-agreement GET with parameters (agreement pricing for key date - full circle) 2`] = ` +Object { + "d": Object { + "results": Array [ + Object { + "ID": "e8420eac-a36b-49af-b91c-6559b8f7627e", + "Item": "87b1f64f-2cc0-47df-aefd-11d93ae3c15d", + "Parameters": Object { + "__deferred": Object { + "uri": "http://localhost:00000/v2/agreement/AgreementItemPricingForKeyDateSet(keyDate=datetime'2022-06-20T00:00:00',ID=guid'e8420eac-a36b-49af-b91c-6559b8f7627e')/Parameters", + }, + }, + "__metadata": Object { + "type": "AgreementService.AgreementItemPricingForKeyDateType", + "uri": "http://localhost:00000/v2/agreement/AgreementItemPricingForKeyDateSet(keyDate=datetime'2022-06-20T00:00:00',ID=guid'e8420eac-a36b-49af-b91c-6559b8f7627e')", + }, + "keyDate": "/Date(1655683200000)/", + "validFrom": "/Date(1641081600000)/", + "validTo": "/Date(253402128000000)/", + }, + Object { + "ID": "f8420eac-a36b-49af-b91c-6559b8f7627e", + "Item": "77b1f64f-2cc0-47df-aefd-11d93ae3c15d", + "Parameters": Object { + "__deferred": Object { + "uri": "http://localhost:00000/v2/agreement/AgreementItemPricingForKeyDateSet(keyDate=datetime'2022-06-20T00:00:00',ID=guid'f8420eac-a36b-49af-b91c-6559b8f7627e')/Parameters", + }, + }, + "__metadata": Object { + "type": "AgreementService.AgreementItemPricingForKeyDateType", + "uri": "http://localhost:00000/v2/agreement/AgreementItemPricingForKeyDateSet(keyDate=datetime'2022-06-20T00:00:00',ID=guid'f8420eac-a36b-49af-b91c-6559b8f7627e')", + }, + "keyDate": "/Date(1655683200000)/", + "validFrom": "/Date(1640995200000)/", + "validTo": "/Date(253402214400000)/", + }, + ], + }, +} +`; + +exports[`integration-agreement GET with parameters (agreement pricing for key date - full circle) 3`] = ` +Object { + "d": Object { + "results": Array [ + Object { + "ID": "f8420eac-a36b-49af-b91c-6559b8f7627e", + "Item": "77b1f64f-2cc0-47df-aefd-11d93ae3c15d", + "Parameters": Object { + "__deferred": Object { + "uri": "http://localhost:00000/v2/agreement/AgreementItemPricingForKeyDateSet(keyDate=datetime'2022-06-20T00:00:00',ID=guid'f8420eac-a36b-49af-b91c-6559b8f7627e')/Parameters", + }, + }, + "__metadata": Object { + "type": "AgreementService.AgreementItemPricingForKeyDateType", + "uri": "http://localhost:00000/v2/agreement/AgreementItemPricingForKeyDateSet(keyDate=datetime'2022-06-20T00:00:00',ID=guid'f8420eac-a36b-49af-b91c-6559b8f7627e')", + }, + "keyDate": "/Date(1655683200000)/", + "validFrom": "/Date(1640995200000)/", + "validTo": "/Date(253402214400000)/", + }, + ], + }, +} +`; + +exports[`integration-agreement GET with parameters (agreement pricing for key date - full circle) 4`] = ` +Object { + "d": Object { + "results": Array [ + Object { + "Set": Object { + "__deferred": Object { + "uri": "http://localhost:00000/v2/agreement/AgreementItemPricingForKeyDate(datetime'2022-06-20T00:00:00')/Set", + }, + }, + "__metadata": Object { + "type": "AgreementService.AgreementItemPricingForKeyDateParameters", + "uri": "http://localhost:00000/v2/agreement/AgreementItemPricingForKeyDate(datetime'2022-06-20T00:00:00')", + }, + "keyDate": "/Date(1655683200000)/", + }, + ], + }, +} +`; diff --git a/integration-test/__snapshots__/main-request-test.js.snap b/test-integration/__snapshots__/integration-main-test.js.snap similarity index 73% rename from integration-test/__snapshots__/main-request-test.js.snap rename to test-integration/__snapshots__/integration-main-test.js.snap index 6478521..498db54 100644 --- a/integration-test/__snapshots__/main-request-test.js.snap +++ b/test-integration/__snapshots__/integration-main-test.js.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`main-request GET $metadata 1`] = ` +exports[`integration-main GET $metadata 1`] = ` " @@ -132,115 +132,7 @@ exports[`main-request GET $metadata 1`] = ` " `; -exports[`main-request GET with parameters (agreement pricing for key date - full circle) 1`] = ` -Object { - "d": Object { - "results": Array [ - Object { - "Set": Object { - "__deferred": Object { - "uri": "http://localhost:00000/v2/agreement/AgreementItemPricingForKeyDate(datetime'2022-06-20T00:00:00')/Set", - }, - }, - "__metadata": Object { - "type": "AgreementService.AgreementItemPricingForKeyDateParameters", - "uri": "http://localhost:00000/v2/agreement/AgreementItemPricingForKeyDate(datetime'2022-06-20T00:00:00')", - }, - "keyDate": "/Date(1655683200000)/", - }, - ], - }, -} -`; - -exports[`main-request GET with parameters (agreement pricing for key date - full circle) 2`] = ` -Object { - "d": Object { - "results": Array [ - Object { - "ID": "e8420eac-a36b-49af-b91c-6559b8f7627e", - "Item": "87b1f64f-2cc0-47df-aefd-11d93ae3c15d", - "Parameters": Object { - "__deferred": Object { - "uri": "http://localhost:00000/v2/agreement/AgreementItemPricingForKeyDateSet(keyDate=datetime'2022-06-20T00:00:00',ID=guid'e8420eac-a36b-49af-b91c-6559b8f7627e')/Parameters", - }, - }, - "__metadata": Object { - "type": "AgreementService.AgreementItemPricingForKeyDateType", - "uri": "http://localhost:00000/v2/agreement/AgreementItemPricingForKeyDateSet(keyDate=datetime'2022-06-20T00:00:00',ID=guid'e8420eac-a36b-49af-b91c-6559b8f7627e')", - }, - "keyDate": "/Date(1655683200000)/", - "validFrom": "/Date(1641081600000)/", - "validTo": "/Date(253402128000000)/", - }, - Object { - "ID": "f8420eac-a36b-49af-b91c-6559b8f7627e", - "Item": "77b1f64f-2cc0-47df-aefd-11d93ae3c15d", - "Parameters": Object { - "__deferred": Object { - "uri": "http://localhost:00000/v2/agreement/AgreementItemPricingForKeyDateSet(keyDate=datetime'2022-06-20T00:00:00',ID=guid'f8420eac-a36b-49af-b91c-6559b8f7627e')/Parameters", - }, - }, - "__metadata": Object { - "type": "AgreementService.AgreementItemPricingForKeyDateType", - "uri": "http://localhost:00000/v2/agreement/AgreementItemPricingForKeyDateSet(keyDate=datetime'2022-06-20T00:00:00',ID=guid'f8420eac-a36b-49af-b91c-6559b8f7627e')", - }, - "keyDate": "/Date(1655683200000)/", - "validFrom": "/Date(1640995200000)/", - "validTo": "/Date(253402214400000)/", - }, - ], - }, -} -`; - -exports[`main-request GET with parameters (agreement pricing for key date - full circle) 3`] = ` -Object { - "d": Object { - "results": Array [ - Object { - "ID": "f8420eac-a36b-49af-b91c-6559b8f7627e", - "Item": "77b1f64f-2cc0-47df-aefd-11d93ae3c15d", - "Parameters": Object { - "__deferred": Object { - "uri": "http://localhost:00000/v2/agreement/AgreementItemPricingForKeyDateSet(keyDate=datetime'2022-06-20T00:00:00',ID=guid'f8420eac-a36b-49af-b91c-6559b8f7627e')/Parameters", - }, - }, - "__metadata": Object { - "type": "AgreementService.AgreementItemPricingForKeyDateType", - "uri": "http://localhost:00000/v2/agreement/AgreementItemPricingForKeyDateSet(keyDate=datetime'2022-06-20T00:00:00',ID=guid'f8420eac-a36b-49af-b91c-6559b8f7627e')", - }, - "keyDate": "/Date(1655683200000)/", - "validFrom": "/Date(1640995200000)/", - "validTo": "/Date(253402214400000)/", - }, - ], - }, -} -`; - -exports[`main-request GET with parameters (agreement pricing for key date - full circle) 4`] = ` -Object { - "d": Object { - "results": Array [ - Object { - "Set": Object { - "__deferred": Object { - "uri": "http://localhost:00000/v2/agreement/AgreementItemPricingForKeyDate(datetime'2022-06-20T00:00:00')/Set", - }, - }, - "__metadata": Object { - "type": "AgreementService.AgreementItemPricingForKeyDateParameters", - "uri": "http://localhost:00000/v2/agreement/AgreementItemPricingForKeyDate(datetime'2022-06-20T00:00:00')", - }, - "keyDate": "/Date(1655683200000)/", - }, - ], - }, -} -`; - -exports[`main-request GET with parameters (header - full circle) 1`] = ` +exports[`integration-main GET with parameters (header - full circle) 1`] = ` Object { "d": Object { "results": Array [ @@ -260,7 +152,7 @@ Object { } `; -exports[`main-request GET with parameters (header - full circle) 2`] = ` +exports[`integration-main GET with parameters (header - full circle) 2`] = ` Object { "d": Object { "results": Array [ @@ -293,7 +185,7 @@ Object { } `; -exports[`main-request GET with parameters (header - full circle) 3`] = ` +exports[`integration-main GET with parameters (header - full circle) 3`] = ` Object { "d": Object { "results": Array [ @@ -326,7 +218,7 @@ Object { } `; -exports[`main-request GET with parameters (header - full circle) 4`] = ` +exports[`integration-main GET with parameters (header - full circle) 4`] = ` Object { "d": Object { "results": Array [ diff --git a/integration-test/_env/app/fiori.html b/test-integration/_env/app/fiori.html similarity index 100% rename from integration-test/_env/app/fiori.html rename to test-integration/_env/app/fiori.html diff --git a/integration-test/_env/app/index.cds b/test-integration/_env/app/index.cds similarity index 100% rename from integration-test/_env/app/index.cds rename to test-integration/_env/app/index.cds diff --git a/integration-test/_env/app/parameters/annotations.cds b/test-integration/_env/app/parameters/annotations.cds similarity index 94% rename from integration-test/_env/app/parameters/annotations.cds rename to test-integration/_env/app/parameters/annotations.cds index dbf5064..3c435af 100644 --- a/integration-test/_env/app/parameters/annotations.cds +++ b/test-integration/_env/app/parameters/annotations.cds @@ -1,4 +1,4 @@ -using AgreementService from '../../srv/agreementService.cds'; +using AgreementService from '../../srv/agreement'; annotate AgreementService.AgreementItemPricingForKeyDate with @( UI: { diff --git a/integration-test/_env/app/parameters/webapp/Component.js b/test-integration/_env/app/parameters/webapp/Component.js similarity index 100% rename from integration-test/_env/app/parameters/webapp/Component.js rename to test-integration/_env/app/parameters/webapp/Component.js diff --git a/integration-test/_env/app/parameters/webapp/i18n/i18n.properties b/test-integration/_env/app/parameters/webapp/i18n/i18n.properties similarity index 100% rename from integration-test/_env/app/parameters/webapp/i18n/i18n.properties rename to test-integration/_env/app/parameters/webapp/i18n/i18n.properties diff --git a/integration-test/_env/app/parameters/webapp/manifest.json b/test-integration/_env/app/parameters/webapp/manifest.json similarity index 100% rename from integration-test/_env/app/parameters/webapp/manifest.json rename to test-integration/_env/app/parameters/webapp/manifest.json diff --git a/integration-test/_env/db/agreement.cds b/test-integration/_env/db/agreement.cds similarity index 100% rename from integration-test/_env/db/agreement.cds rename to test-integration/_env/db/agreement.cds diff --git a/integration-test/_env/db/data/agreement.Agreement.csv b/test-integration/_env/db/data/agreement.Agreement.csv similarity index 100% rename from integration-test/_env/db/data/agreement.Agreement.csv rename to test-integration/_env/db/data/agreement.Agreement.csv diff --git a/integration-test/_env/db/data/agreement.AgreementItem.csv b/test-integration/_env/db/data/agreement.AgreementItem.csv similarity index 100% rename from integration-test/_env/db/data/agreement.AgreementItem.csv rename to test-integration/_env/db/data/agreement.AgreementItem.csv diff --git a/integration-test/_env/db/data/agreement.AgreementItemPricing.csv b/test-integration/_env/db/data/agreement.AgreementItemPricing.csv similarity index 100% rename from integration-test/_env/db/data/agreement.AgreementItemPricing.csv rename to test-integration/_env/db/data/agreement.AgreementItemPricing.csv diff --git a/integration-test/_env/db/data/agreement.Status.csv b/test-integration/_env/db/data/agreement.Status.csv similarity index 100% rename from integration-test/_env/db/data/agreement.Status.csv rename to test-integration/_env/db/data/agreement.Status.csv diff --git a/integration-test/_env/db/default-services.json b/test-integration/_env/db/default-services.json similarity index 100% rename from integration-test/_env/db/default-services.json rename to test-integration/_env/db/default-services.json diff --git a/integration-test/_env/db/model.cds b/test-integration/_env/db/model.cds similarity index 100% rename from integration-test/_env/db/model.cds rename to test-integration/_env/db/model.cds diff --git a/integration-test/_env/db/package-lock.json b/test-integration/_env/db/package-lock.json similarity index 95% rename from integration-test/_env/db/package-lock.json rename to test-integration/_env/db/package-lock.json index e3513ba..6ee1e76 100644 --- a/integration-test/_env/db/package-lock.json +++ b/test-integration/_env/db/package-lock.json @@ -1,7 +1,8 @@ { - "name": "@sap/cds-odata-v2-adapter-proxy-test-db", - "requires": true, + "name": "@sap/cds-odata-v2-adapter-proxy-test-integration-db", + "version": "1.0.0", "lockfileVersion": 1, + "requires": true, "dependencies": { "@sap/hdi-deploy": { "version": "4.3.3", @@ -46,6 +47,13 @@ "integrity": "sha512-7L9blMyMR/x8mpbdwhKEVXD+yf3NgQ8LyUjKCSyPZBF4dRGjB/8c2qzEDAsU3c7D0s/xLBTWbxf0/hj657FR7w==", "requires": { "async": "3.2.3" + }, + "dependencies": { + "async": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", + "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==" + } } }, "@sap/xsenv": { diff --git a/integration-test/_env/db/package.json b/test-integration/_env/db/package.json similarity index 73% rename from integration-test/_env/db/package.json rename to test-integration/_env/db/package.json index 611815f..ca9b4ed 100644 --- a/integration-test/_env/db/package.json +++ b/test-integration/_env/db/package.json @@ -1,5 +1,6 @@ { - "name": "@sap/cds-odata-v2-adapter-proxy-test-db", + "name": "@sap/cds-odata-v2-adapter-proxy-test-integration-db", + "version": "1.0.0", "dependencies": { "@sap/hdi-deploy": "4.3.3" }, diff --git a/integration-test/_env/db/src/.hdiconfig b/test-integration/_env/db/src/.hdiconfig similarity index 100% rename from integration-test/_env/db/src/.hdiconfig rename to test-integration/_env/db/src/.hdiconfig diff --git a/integration-test/_env/db/src/.hdinamespace b/test-integration/_env/db/src/.hdinamespace similarity index 100% rename from integration-test/_env/db/src/.hdinamespace rename to test-integration/_env/db/src/.hdinamespace diff --git a/test-integration/_env/package-lock.json b/test-integration/_env/package-lock.json new file mode 100644 index 0000000..613039b --- /dev/null +++ b/test-integration/_env/package-lock.json @@ -0,0 +1,5 @@ +{ + "name": "@sap/cds-odata-v2-adapter-proxy-test-integration", + "version": "1.0.0", + "lockfileVersion": 1 +} diff --git a/integration-test/_env/package.json b/test-integration/_env/package.json similarity index 71% rename from integration-test/_env/package.json rename to test-integration/_env/package.json index 5b0bb07..f2b4a21 100644 --- a/integration-test/_env/package.json +++ b/test-integration/_env/package.json @@ -1,17 +1,24 @@ { - "name": "@sap/cds-odata-v2-adapter-proxy-test", - "dependencies": {}, + "name": "@sap/cds-odata-v2-adapter-proxy-test-integration", + "version": "1.0.0", "private": true, "scripts": { - "start": "NODE_ENV=production XS_APP_LOG_LEVEL=debug cds run", + "start": "XS_APP_LOG_LEVEL=debug cds run --production", "hdi": "cf cs hana hdi-shared cds-community-test-hana-cloud -c '{\"database_id\": \"fa8a6cbe-1cdc-4dea-84cf-877c09b0f651\"}'", "hdi:sk:create": "cf csk cds-community-test-hana-cloud cds-community-test-hana-cloud-key", "hdi:sk:show": "cf service-key cds-community-test-hana-cloud cds-community-test-hana-cloud-key", - "push": "cd app && cf push", "build": "cds build --production", - "deploy": "cd gen/db && npm start" + "deploy": "cd gen/db && npm start", + "test:deploy": "npm run build && npm run deploy" }, + "dependencies": {}, + "devDependencies": {}, "cds": { + "cov2ap": { + "path": "v2", + "caseInsensitive": true, + "fixDraftRequests": true + }, "requires": { "db": { "multiTenant": false, @@ -22,10 +29,9 @@ } }, "hana": { - "syntax": "hdi" + "deploy-format": "hdbtable" }, "build": { - "new-csn": true, "tasks": [ { "src": "db", diff --git a/integration-test/_env/srv/agreementService.cds b/test-integration/_env/srv/agreement.cds similarity index 100% rename from integration-test/_env/srv/agreementService.cds rename to test-integration/_env/srv/agreement.cds diff --git a/test-integration/_env/srv/index.cds b/test-integration/_env/srv/index.cds new file mode 100644 index 0000000..f686c8e --- /dev/null +++ b/test-integration/_env/srv/index.cds @@ -0,0 +1,2 @@ +using from './agreement'; +using from './main'; \ No newline at end of file diff --git a/integration-test/_env/srv/mainService.cds b/test-integration/_env/srv/main.cds similarity index 100% rename from integration-test/_env/srv/mainService.cds rename to test-integration/_env/srv/main.cds diff --git a/integration-test/_env/srv/server.js b/test-integration/_env/srv/server.js similarity index 65% rename from integration-test/_env/srv/server.js rename to test-integration/_env/srv/server.js index 68ab3ab..6763a00 100644 --- a/integration-test/_env/srv/server.js +++ b/test-integration/_env/srv/server.js @@ -1,7 +1,7 @@ "use strict"; const cds = require("@sap/cds"); -const proxy = require("../../../lib"); +const proxy = require("../../../src"); const credentials = require("../db/default-services").hana[0].credentials; @@ -10,6 +10,8 @@ cds.env.requires.db = { credentials, }; -cds.on("bootstrap", (app) => app.use(proxy())); +cds.on("bootstrap", (app) => { + app.use(proxy({ target: "auto" })); +}); module.exports = cds.server; diff --git a/test-integration/integration-agreement-test.js b/test-integration/integration-agreement-test.js new file mode 100644 index 0000000..463445f --- /dev/null +++ b/test-integration/integration-agreement-test.js @@ -0,0 +1,89 @@ +"use strict"; + +const cds = require("@sap/cds"); +const supertest = require("supertest"); + +const util = require("../test/_env/util/request"); + +cds.test(__dirname + "/_env"); + +let request; + +describe("integration-agreement", () => { + beforeAll(() => { + request = supertest(cds.app); + }); + + it("GET $metadata", async () => { + const response = await util.callRead(request, "/v2/agreement/$metadata", { + accept: "application/xml", + }); + expect(response.body).toBeDefined(); + expect(response.text).toMatchSnapshot(); + }); + + it("GET with parameters (agreement pricing for key date - full circle)", async () => { + // Empty Parameters + let response = await util.callRead( + request, + `/v2/agreement/AgreementItemPricingForKeyDate(datetime'2002-06-20T00:00:00')` + ); + expect(response.body).toBeDefined(); + expect(response.body.d.results).toEqual([]); + + // Empty Set + response = await util.callRead( + request, + `/v2/agreement/AgreementItemPricingForKeyDate(keyDate=datetime'2000-06-20T00:00:00')/Set` + ); + expect(response.body.d.results).toEqual([]); + + // Parameters + response = await util.callRead( + request, + `/v2/agreement/AgreementItemPricingForKeyDate(datetime'2022-06-20T00:00:00')` + ); + expect(response.body).toBeDefined(); + expect(clean(response.body)).toMatchSnapshot(); + + // Result Set + response = await util.callRead( + request, + `/v2/agreement/AgreementItemPricingForKeyDate(keyDate=datetime'2022-06-20T00:00:00')/Set` + ); + expect(response.body).toBeDefined(); + expect(clean(response.body)).toMatchSnapshot(); + + // Single Entry + response = await util.callRead( + request, + `/v2/agreement/AgreementItemPricingForKeyDateSet(keyDate=datetime'2022-06-20T00:00:00',ID=guid'f8420eac-a36b-49af-b91c-6559b8f7627e')` + ); + expect(response.body).toBeDefined(); + expect(clean(response.body)).toMatchSnapshot(); + + // Entry Parameters + response = await util.callRead( + request, + `/v2/agreement/AgreementItemPricingForKeyDateSet(keyDate=datetime'2022-06-20T00:00:00',ID=guid'f8420eac-a36b-49af-b91c-6559b8f7627e')/Parameters` + ); + expect(response.body).toBeDefined(); + expect(clean(response.body)).toMatchSnapshot(); + }); +}); + +function clean(responseBody) { + function replacePort(text) { + return text.replace(/localhost:([0-9]*)/g, "localhost:00000"); + } + responseBody.d.results.forEach((entry) => { + entry.__metadata.uri = replacePort(entry.__metadata.uri); + if (entry.Set) { + entry.Set.__deferred.uri = replacePort(entry.Set.__deferred.uri); + } + if (entry.Parameters) { + entry.Parameters.__deferred.uri = replacePort(entry.Parameters.__deferred.uri); + } + }); + return responseBody; +} diff --git a/integration-test/main-request-test.js b/test-integration/integration-main-test.js similarity index 74% rename from integration-test/main-request-test.js rename to test-integration/integration-main-test.js index e7dd35d..3f2c4c6 100644 --- a/integration-test/main-request-test.js +++ b/test-integration/integration-main-test.js @@ -1,21 +1,17 @@ "use strict"; +const cds = require("@sap/cds"); const supertest = require("supertest"); -const env = require("./_env"); -const util = require("../test/_env/util"); +const util = require("../test/_env/util/request"); -let context; -let request; +cds.test(__dirname + "/_env"); -describe("main-request", () => { - beforeAll(async () => { - context = await env("index"); - request = supertest(context.app); - }); +let request; - afterAll(() => { - env.end(context); +describe("integration-main", () => { + beforeAll(() => { + request = supertest(cds.app); }); it("GET $metadata", async () => { @@ -100,52 +96,6 @@ describe("main-request", () => { expect(clean(response.body)).toMatchSnapshot(); }); - it("GET with parameters (agreement pricing for key date - full circle)", async () => { - // Empty Parameters - let response = await util.callRead( - request, - `/v2/agreement/AgreementItemPricingForKeyDate(datetime'2002-06-20T00:00:00')` - ); - expect(response.body).toBeDefined(); - expect(response.body.d.results).toEqual([]); - - // Empty Set - response = await util.callRead( - request, - `/v2/agreement/AgreementItemPricingForKeyDate(keyDate=datetime'2000-06-20T00:00:00')/Set` - ); - expect(response.body.d.results).toEqual([]); - - // Parameters - response = await util.callRead(request, `/v2/agreement/AgreementItemPricingForKeyDate(datetime'2022-06-20T00:00:00')`); - expect(response.body).toBeDefined(); - expect(clean(response.body)).toMatchSnapshot(); - - // Result Set - response = await util.callRead( - request, - `/v2/agreement/AgreementItemPricingForKeyDate(keyDate=datetime'2022-06-20T00:00:00')/Set` - ); - expect(response.body).toBeDefined(); - expect(clean(response.body)).toMatchSnapshot(); - - // Single Entry - response = await util.callRead( - request, - `/v2/agreement/AgreementItemPricingForKeyDateSet(keyDate=datetime'2022-06-20T00:00:00',ID=guid'f8420eac-a36b-49af-b91c-6559b8f7627e')` - ); - expect(response.body).toBeDefined(); - expect(clean(response.body)).toMatchSnapshot(); - - // Entry Parameters - response = await util.callRead( - request, - `/v2/agreement/AgreementItemPricingForKeyDateSet(keyDate=datetime'2022-06-20T00:00:00',ID=guid'f8420eac-a36b-49af-b91c-6559b8f7627e')/Parameters` - ); - expect(response.body).toBeDefined(); - expect(clean(response.body)).toMatchSnapshot(); - }); - it("GET request with function 'substringof'", async () => { let response = await util.callWrite(request, "/v2/main/Header", { name: "Test", diff --git a/test-server.js b/test-server.js deleted file mode 100644 index ffb5584..0000000 --- a/test-server.js +++ /dev/null @@ -1,5 +0,0 @@ -"use strict"; - -const init = require("./test/_env/data/init"); -const env = require("./test/_env"); -env("index", 4004, init); diff --git a/test/.eslintrc.yml b/test/.eslintrc.yml deleted file mode 100644 index f5b8333..0000000 --- a/test/.eslintrc.yml +++ /dev/null @@ -1,2 +0,0 @@ -rules: - no-prototype-builtins: off diff --git a/test/__snapshots__/analytics-request-test.js.snap b/test/__snapshots__/analytics-test.js.snap similarity index 63% rename from test/__snapshots__/analytics-request-test.js.snap rename to test/__snapshots__/analytics-test.js.snap index d156cd7..3106cc3 100644 --- a/test/__snapshots__/analytics-request-test.js.snap +++ b/test/__snapshots__/analytics-test.js.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`analytics-request GET $metadata 1`] = ` +exports[`analytics GET $metadata 1`] = ` " @@ -222,6 +222,174 @@ exports[`analytics-request GET $metadata 1`] = ` + + + + + + + + + + + + + @UI.Chart#Price + + + + + + + + + + + price + + + + + + + + + + + + + currency + + + + + + + + + + + + + + + + + + + + + + + + + @UI.Chart#Stock + + + + + + + + + + + stock + + + + + + + + + + + + + country + + + + + + + + + + + + + + + description + country + currency + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + price + + + + + + + + + + + + + currency + + + + + + + + + + + + @@ -229,6 +397,40 @@ exports[`analytics-request GET $metadata 1`] = ` + + + + + + + + + + + + + @UI.Chart#Price + + + + + + + + + + + + + + + + + @UI.Chart#Stock + + + + @@ -253,10 +455,79 @@ exports[`analytics-request GET $metadata 1`] = ` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -349,6 +620,9 @@ exports[`analytics-request GET $metadata 1`] = ` + + + @@ -359,6 +633,9 @@ exports[`analytics-request GET $metadata 1`] = ` + + + diff --git a/test/__snapshots__/draft-request-test.js.snap b/test/__snapshots__/draft-test.js.snap similarity index 75% rename from test/__snapshots__/draft-request-test.js.snap rename to test/__snapshots__/draft-test.js.snap index bd512d8..f520e31 100644 --- a/test/__snapshots__/draft-request-test.js.snap +++ b/test/__snapshots__/draft-test.js.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`draft-request GET $metadata 1`] = ` +exports[`draft GET $metadata 1`] = ` " @@ -236,6 +236,102 @@ exports[`draft-request GET $metadata 1`] = ` + + + + + + + + + + + name + currency + country + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -284,6 +380,90 @@ exports[`draft-request GET $metadata 1`] = ` + + + + + + + + + + + name + startAt + endAt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/__snapshots__/incidents-request-test.js.snap b/test/__snapshots__/incidents-test.js.snap similarity index 78% rename from test/__snapshots__/incidents-request-test.js.snap rename to test/__snapshots__/incidents-test.js.snap index fce1e3b..5db8d28 100644 --- a/test/__snapshots__/incidents-request-test.js.snap +++ b/test/__snapshots__/incidents-test.js.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`incidents-request GET incidents service 1`] = ` +exports[`incidents GET incidents service 1`] = ` Array [ "Category", "Category_texts", diff --git a/test/__snapshots__/main-request-test.js.snap b/test/__snapshots__/main-test.js.snap similarity index 82% rename from test/__snapshots__/main-request-test.js.snap rename to test/__snapshots__/main-test.js.snap index 02bdd04..f946dac 100644 --- a/test/__snapshots__/main-request-test.js.snap +++ b/test/__snapshots__/main-test.js.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`main-request Entity with key including reserved/escaped uri characters 1`] = ` +exports[`main Entity with key including reserved/escaped uri characters 1`] = ` Object { "results": Array [ Object { @@ -231,7 +231,7 @@ Object { } `; -exports[`main-request Entity with string uuid key 1`] = ` +exports[`main Entity with string uuid key 1`] = ` Object { "results": Array [ Object { @@ -254,7 +254,7 @@ Object { } `; -exports[`main-request GET $metadata 1`] = ` +exports[`main GET $metadata 1`] = ` " @@ -726,11 +726,11 @@ exports[`main-request GET $metadata 1`] = ` - - - + + + - + @@ -964,6 +964,102 @@ exports[`main-request GET $metadata 1`] = ` + + + + + + + + + + + name + currency + country + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -988,6 +1084,90 @@ exports[`main-request GET $metadata 1`] = ` + + + + + + + + + + + name + startAt + endAt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1068,6 +1248,47 @@ exports[`main-request GET $metadata 1`] = ` + + + + + + + + + + + description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1078,6 +1299,9 @@ exports[`main-request GET $metadata 1`] = ` + + + @@ -1093,7 +1317,7 @@ exports[`main-request GET $metadata 1`] = ` " `; -exports[`main-request GET $metadata localized 1`] = ` +exports[`main GET $metadata localized 1`] = ` " @@ -1565,11 +1789,11 @@ exports[`main-request GET $metadata localized 1`] = ` - - - + + + - + @@ -1803,6 +2027,102 @@ exports[`main-request GET $metadata localized 1`] = ` + + + + + + + + + + + name + currency + country + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1827,6 +2147,90 @@ exports[`main-request GET $metadata localized 1`] = ` + + + + + + + + + + + name + startAt + endAt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1907,6 +2311,47 @@ exports[`main-request GET $metadata localized 1`] = ` + + + + + + + + + + + description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1917,6 +2362,9 @@ exports[`main-request GET $metadata localized 1`] = ` + + + @@ -1932,7 +2380,7 @@ exports[`main-request GET $metadata localized 1`] = ` " `; -exports[`main-request GET $metadata localized 2`] = ` +exports[`main GET $metadata localized 2`] = ` " @@ -2404,11 +2852,11 @@ exports[`main-request GET $metadata localized 2`] = ` - - - + + + - + @@ -2642,6 +3090,102 @@ exports[`main-request GET $metadata localized 2`] = ` + + + + + + + + + + + name + currency + country + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2666,6 +3210,90 @@ exports[`main-request GET $metadata localized 2`] = ` + + + + + + + + + + + name + startAt + endAt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2746,6 +3374,47 @@ exports[`main-request GET $metadata localized 2`] = ` + + + + + + + + + + + description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2756,6 +3425,9 @@ exports[`main-request GET $metadata localized 2`] = ` + + + @@ -2771,7 +3443,7 @@ exports[`main-request GET $metadata localized 2`] = ` " `; -exports[`main-request GET $metadata with propagated headers 1`] = ` +exports[`main GET $metadata with propagated headers 1`] = ` " @@ -3243,11 +3915,11 @@ exports[`main-request GET $metadata with propagated headers 1`] = ` - - - + + + - + @@ -3481,6 +4153,102 @@ exports[`main-request GET $metadata with propagated headers 1`] = ` + + + + + + + + + + + name + currency + country + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3505,6 +4273,90 @@ exports[`main-request GET $metadata with propagated headers 1`] = ` + + + + + + + + + + + name + startAt + endAt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3585,6 +4437,47 @@ exports[`main-request GET $metadata with propagated headers 1`] = ` + + + + + + + + + + + description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3595,6 +4488,9 @@ exports[`main-request GET $metadata with propagated headers 1`] = ` + + + @@ -3610,7 +4506,7 @@ exports[`main-request GET $metadata with propagated headers 1`] = ` " `; -exports[`main-request GET service JSON format 1`] = ` +exports[`main GET service JSON format 1`] = ` Array [ "Country", "Country_texts", @@ -3636,7 +4532,7 @@ Array [ ] `; -exports[`main-request GET service JSON format 2`] = ` +exports[`main GET service JSON format 2`] = ` Array [ "Country", "Country_texts", @@ -3662,8 +4558,8 @@ Array [ ] `; -exports[`main-request GET service XML format 1`] = `"DefaultCountryCurrencyHeaderHeaderItemHeaderLineHeaderStreamHeaderStreamAttachmentHeaderStreamDecodeHeaderUrlStreamHeaderBinaryHeaderAssocKeyHeaderTemporalHeaderDeltaHeaderItemDeltaHeaderLargeStringHeaderItemLargeStringFavoriteStringUUIDNodeCountry_textsCurrency_texts"`; +exports[`main GET service XML format 1`] = `"DefaultCountryCurrencyHeaderHeaderItemHeaderLineHeaderStreamHeaderStreamAttachmentHeaderStreamDecodeHeaderUrlStreamHeaderBinaryHeaderAssocKeyHeaderTemporalHeaderDeltaHeaderItemDeltaHeaderLargeStringHeaderItemLargeStringFavoriteStringUUIDNodeCountry_textsCurrency_texts"`; -exports[`main-request GET service XML format 2`] = `"DefaultCountryCurrencyHeaderHeaderItemHeaderLineHeaderStreamHeaderStreamAttachmentHeaderStreamDecodeHeaderUrlStreamHeaderBinaryHeaderAssocKeyHeaderTemporalHeaderDeltaHeaderItemDeltaHeaderLargeStringHeaderItemLargeStringFavoriteStringUUIDNodeCountry_textsCurrency_texts"`; +exports[`main GET service XML format 2`] = `"DefaultCountryCurrencyHeaderHeaderItemHeaderLineHeaderStreamHeaderStreamAttachmentHeaderStreamDecodeHeaderUrlStreamHeaderBinaryHeaderAssocKeyHeaderTemporalHeaderDeltaHeaderItemDeltaHeaderLargeStringHeaderItemLargeStringFavoriteStringUUIDNodeCountry_textsCurrency_texts"`; -exports[`main-request GET service XML format 3`] = `"DefaultCountryCurrencyHeaderHeaderItemHeaderLineHeaderStreamHeaderStreamAttachmentHeaderStreamDecodeHeaderUrlStreamHeaderBinaryHeaderAssocKeyHeaderTemporalHeaderDeltaHeaderItemDeltaHeaderLargeStringHeaderItemLargeStringFavoriteStringUUIDNodeCountry_textsCurrency_texts"`; +exports[`main GET service XML format 3`] = `"DefaultCountryCurrencyHeaderHeaderItemHeaderLineHeaderStreamHeaderStreamAttachmentHeaderStreamDecodeHeaderUrlStreamHeaderBinaryHeaderAssocKeyHeaderTemporalHeaderDeltaHeaderItemDeltaHeaderLargeStringHeaderItemLargeStringFavoriteStringUUIDNodeCountry_textsCurrency_texts"`; diff --git a/test/_env/.cdsrc.json b/test/_env/.cdsrc.json new file mode 100644 index 0000000..27e7d84 --- /dev/null +++ b/test/_env/.cdsrc.json @@ -0,0 +1,26 @@ +{ + "requires": { + "auth": { + "strategy": "mock", + "users": { + "alice": { + "password": "alice", + "ID": "alice@wonder.land", + "roles": ["XYZ4711"] + }, + "bob": { + "password": "bob", + "ID": "bob@builder.com", + "roles": [] + } + } + }, + "cdsc": { + "variableReplacements": { + "$user": { + "id": "alice@wonder.land" + } + } + } + } +} diff --git a/app/analytics/annotations.cds b/test/_env/app/analytics/annotations.cds similarity index 97% rename from app/analytics/annotations.cds rename to test/_env/app/analytics/annotations.cds index e4cdb1b..71fc218 100644 --- a/app/analytics/annotations.cds +++ b/test/_env/app/analytics/annotations.cds @@ -1,4 +1,4 @@ -using test.AnalyticsService from '../../test/_env/analyticsmodel.cds'; +using test.AnalyticsService from '../../srv/analytics'; annotate AnalyticsService.Header with @( diff --git a/app/analytics/webapp/Component.js b/test/_env/app/analytics/webapp/Component.js similarity index 100% rename from app/analytics/webapp/Component.js rename to test/_env/app/analytics/webapp/Component.js diff --git a/app/analytics/webapp/i18n/i18n.properties b/test/_env/app/analytics/webapp/i18n/i18n.properties similarity index 100% rename from app/analytics/webapp/i18n/i18n.properties rename to test/_env/app/analytics/webapp/i18n/i18n.properties diff --git a/app/analytics/webapp/manifest.json b/test/_env/app/analytics/webapp/manifest.json similarity index 100% rename from app/analytics/webapp/manifest.json rename to test/_env/app/analytics/webapp/manifest.json diff --git a/app/basic/annotations.cds b/test/_env/app/basic/annotations.cds similarity index 97% rename from app/basic/annotations.cds rename to test/_env/app/basic/annotations.cds index b1ec888..fe4924f 100644 --- a/app/basic/annotations.cds +++ b/test/_env/app/basic/annotations.cds @@ -1,4 +1,4 @@ -using test.MainService from '../../test/_env/model.cds'; +using test.MainService from '../../srv/main'; annotate MainService.Header with @( UI: { diff --git a/app/basic/webapp/Component.js b/test/_env/app/basic/webapp/Component.js similarity index 100% rename from app/basic/webapp/Component.js rename to test/_env/app/basic/webapp/Component.js diff --git a/app/basic/webapp/i18n/i18n.properties b/test/_env/app/basic/webapp/i18n/i18n.properties similarity index 100% rename from app/basic/webapp/i18n/i18n.properties rename to test/_env/app/basic/webapp/i18n/i18n.properties diff --git a/app/basic/webapp/manifest.json b/test/_env/app/basic/webapp/manifest.json similarity index 100% rename from app/basic/webapp/manifest.json rename to test/_env/app/basic/webapp/manifest.json diff --git a/app/draft/annotations.cds b/test/_env/app/draft/annotations.cds similarity index 97% rename from app/draft/annotations.cds rename to test/_env/app/draft/annotations.cds index ef116da..998a9e5 100644 --- a/app/draft/annotations.cds +++ b/test/_env/app/draft/annotations.cds @@ -1,4 +1,4 @@ -using test.DraftService from '../../test/_env/draftmodel.cds'; +using test.DraftService from '../../srv/draft'; annotate DraftService.Header with @( UI: { diff --git a/app/draft/webapp/Component.js b/test/_env/app/draft/webapp/Component.js similarity index 100% rename from app/draft/webapp/Component.js rename to test/_env/app/draft/webapp/Component.js diff --git a/app/draft/webapp/i18n/i18n.properties b/test/_env/app/draft/webapp/i18n/i18n.properties similarity index 100% rename from app/draft/webapp/i18n/i18n.properties rename to test/_env/app/draft/webapp/i18n/i18n.properties diff --git a/app/draft/webapp/manifest.json b/test/_env/app/draft/webapp/manifest.json similarity index 100% rename from app/draft/webapp/manifest.json rename to test/_env/app/draft/webapp/manifest.json diff --git a/app/fiori.html b/test/_env/app/fiori.html similarity index 100% rename from app/fiori.html rename to test/_env/app/fiori.html diff --git a/app/hierarchy/annotations.cds b/test/_env/app/hierarchy/annotations.cds similarity index 92% rename from app/hierarchy/annotations.cds rename to test/_env/app/hierarchy/annotations.cds index 9b9c772..29a3d63 100644 --- a/app/hierarchy/annotations.cds +++ b/test/_env/app/hierarchy/annotations.cds @@ -1,4 +1,4 @@ -using test.MainService from '../../test/_env/model.cds'; +using test.MainService from '../../srv/main'; annotate MainService.Node { nodeID @sap.hierarchy.node.for; diff --git a/app/hierarchy/webapp/Component.js b/test/_env/app/hierarchy/webapp/Component.js similarity index 100% rename from app/hierarchy/webapp/Component.js rename to test/_env/app/hierarchy/webapp/Component.js diff --git a/app/hierarchy/webapp/i18n/i18n.properties b/test/_env/app/hierarchy/webapp/i18n/i18n.properties similarity index 100% rename from app/hierarchy/webapp/i18n/i18n.properties rename to test/_env/app/hierarchy/webapp/i18n/i18n.properties diff --git a/app/hierarchy/webapp/manifest.json b/test/_env/app/hierarchy/webapp/manifest.json similarity index 100% rename from app/hierarchy/webapp/manifest.json rename to test/_env/app/hierarchy/webapp/manifest.json diff --git a/app/index.cds b/test/_env/app/index.cds similarity index 100% rename from app/index.cds rename to test/_env/app/index.cds diff --git a/app/overview/annotations.cds b/test/_env/app/overview/annotations.cds similarity index 96% rename from app/overview/annotations.cds rename to test/_env/app/overview/annotations.cds index e19be88..ac289be 100644 --- a/app/overview/annotations.cds +++ b/test/_env/app/overview/annotations.cds @@ -1,4 +1,4 @@ -using test.AnalyticsService from '../../test/_env/analyticsmodel.cds'; +using test.AnalyticsService from '../../srv/analytics'; annotate AnalyticsService.Header with @( UI: { diff --git a/app/overview/webapp/Component.js b/test/_env/app/overview/webapp/Component.js similarity index 100% rename from app/overview/webapp/Component.js rename to test/_env/app/overview/webapp/Component.js diff --git a/app/overview/webapp/i18n/i18n.properties b/test/_env/app/overview/webapp/i18n/i18n.properties similarity index 100% rename from app/overview/webapp/i18n/i18n.properties rename to test/_env/app/overview/webapp/i18n/i18n.properties diff --git a/app/overview/webapp/manifest.json b/test/_env/app/overview/webapp/manifest.json similarity index 100% rename from app/overview/webapp/manifest.json rename to test/_env/app/overview/webapp/manifest.json diff --git a/approuter/default-env.json b/test/_env/approuter/default-env.json similarity index 100% rename from approuter/default-env.json rename to test/_env/approuter/default-env.json diff --git a/approuter/package-lock.json b/test/_env/approuter/package-lock.json similarity index 78% rename from approuter/package-lock.json rename to test/_env/approuter/package-lock.json index f4050ea..77c7fff 100644 --- a/approuter/package-lock.json +++ b/test/_env/approuter/package-lock.json @@ -5,18 +5,17 @@ "requires": true, "dependencies": { "@sap/approuter": { - "version": "10.15.2", - "resolved": "https://registry.npmjs.org/@sap/approuter/-/approuter-10.15.2.tgz", - "integrity": "sha512-tvBGM/bVOJ5pKdizFFZ4U4jACY3n/K76O+9lC2PMa+7pmwELjKcgb8TS71/8aEUz5hIoz3iddEMtYkT98hszrA==", + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@sap/approuter/-/approuter-11.2.1.tgz", + "integrity": "sha512-44q+8eyyvtHs+/XW523JVlXBornii9g5qT+LfZbr7+3SmwXnm7j3YlYNJy548i3tb8ClQ3eh2u/Z0/QAwi3yUA==", "requires": { - "@sap/audit-logging": "5.5.1", - "@sap/e2e-trace": "3.0.0", - "@sap/logging": "6.1.1", + "@sap/audit-logging": "^5.5.1", + "@sap/e2e-trace": "^3.0.0", + "@sap/logging": "^6.1.1", "@sap/xsenv": "3.2.1", - "@sap/xssec": "3.2.12", + "@sap/xssec": "^3.2.13", "agentkeepalive": "2.0.5", - "async": "3.2.3", - "axios": "0.26.0", + "axios": "0.27.2", "axios-cookiejar-support": "2.0.3", "base64-url": "2.3.3", "basic-auth": "1.0.3", @@ -43,7 +42,7 @@ "ms": "2.1.1", "mustache": "2.2.1", "node-cache": "4.1.1", - "node-forge": "1.3.0", + "node-forge": "^1.3.0", "passport": "0.3.2", "query-string": "7.0.1", "request-stats": "2.0.1", @@ -54,7 +53,7 @@ "tough-cookie": "4.0.0", "tv4": "1.2.7", "uid-safe": "2.1.5", - "urijs": "1.19.11", + "urijs": "^1.19.11", "uuid": "8.3.2", "validator": "13.7.0", "verror": "1.10.0", @@ -62,9 +61,9 @@ } }, "@sap/audit-logging": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/@sap/audit-logging/-/audit-logging-5.5.1.tgz", - "integrity": "sha512-UaxqT4zNEIVlaxr5Vg2jis2tXKz6R3WC5VzThDdQZVAQCbEyRUShY0nZqqaLw+KG3YQYZprFLuWlpfnwPY6Cgw==", + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/@sap/audit-logging/-/audit-logging-5.5.4.tgz", + "integrity": "sha512-unf0JjldiEO567ysXF7Sy5P+Z/XY04gyaa2TEV8K3Yuu7lrsLqfVdH2X9vra7aOtXuqLeoQyCWy4TPh8VMh4tw==", "requires": { "@sap/xssec": "^3.2.13", "debug": "4.3.3", @@ -105,9 +104,9 @@ } }, "axios": { - "version": "0.26.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.0.tgz", - "integrity": "sha512-lKoGLMYtHvFrPVt3r+RBMp9nh34N0M8zEfCWqdWZx6phynIEhQqAdydpyBAAG211zlhX9Rgu08cOamy6XjE5Og==", + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", + "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", "requires": { "follow-redirects": "^1.14.8" } @@ -115,12 +114,12 @@ "buffer-equal-constant-time": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" }, "clone": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==" }, "debug": { "version": "4.3.3", @@ -144,9 +143,9 @@ "integrity": "sha512-FUc9XZuhyE3ka3m53lec29PXVhdRf59QG01nE+OZdfl0M/R0E7Pk6k6qeWzHhX1pHl/f2JPA97sjjbHRgSg/9A==" }, "follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==" + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", + "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" }, "jsonwebtoken": { "version": "8.5.1", @@ -187,37 +186,37 @@ "lodash.includes": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" }, "lodash.isboolean": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" }, "lodash.isinteger": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" }, "lodash.isnumber": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" }, "lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" }, "lodash.isstring": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" }, "lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" }, "lru-cache": { "version": "6.0.0", @@ -274,22 +273,22 @@ "tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "valid-url": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", - "integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=" + "integrity": "sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==" }, "webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "requires": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -303,9 +302,9 @@ } }, "@sap/e2e-trace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sap/e2e-trace/-/e2e-trace-3.0.0.tgz", - "integrity": "sha512-0dwG0Ifai/CJjEAGuY4B9gnjjhNez5zX+FCmuhYkgLxNxeMX+rI4p36ferup+WUum8vnvyRwNz4UJ9LDnUPQgw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@sap/e2e-trace/-/e2e-trace-3.1.0.tgz", + "integrity": "sha512-RW5wo673OAWGYwe/H5CNAmwBTXhv2aZzj2JHicwzoPFRrC2+Dmw4hnhio5ORBgk0+CXnvDNhmzOgGTcqAZ5G8g==", "requires": { "request-stats": "3.0.0" }, @@ -321,12 +320,12 @@ "next-line": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/next-line/-/next-line-1.1.0.tgz", - "integrity": "sha1-/K5XhTBStqm66CCOQN19PC0wRgM=" + "integrity": "sha512-+I10J3wKNoKddNxn0CNpoZ3eTZuqxjNM3b1GImVx22+ePI+Y15P8g/j3WsbP0fhzzrFzrtjOAoq5NCCucswXOQ==" }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "requires": { "wrappy": "1" } @@ -334,7 +333,7 @@ "request-stats": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/request-stats/-/request-stats-3.0.0.tgz", - "integrity": "sha1-dpFV3Il0141KHLh7vxTqq5ha/iU=", + "integrity": "sha512-yhnHqXbmgjQs0q/3ZRUzaWTpmaRX78w1Su6UJaWy4h/EGicimIUDkMce7TZdJaXjOWy7bjqC7RXP9ZBXeBJzIw==", "requires": { "http-headers": "^3.0.1", "once": "^1.4.0" @@ -343,14 +342,14 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" } } }, "@sap/logging": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@sap/logging/-/logging-6.1.1.tgz", - "integrity": "sha512-l3EQHWC+6pYeJwiTtfm23g68LTnRW3HUqZGi/+xwtvJ8jWvTsK17KAIO+6aLnhUfyeC8bm0BTJq2M0FBydkH2w==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@sap/logging/-/logging-6.1.2.tgz", + "integrity": "sha512-tqm645COwYkqJqrKWKMUMnsckDE/yKU/ROLO+yU37yUwLHi8zvIX4l91457ToVj0jGBvlXiGSdawOF0A24GnIw==", "requires": { "@sap/e2e-trace": "^3.1.0", "lodash": "4.17.21", @@ -376,12 +375,12 @@ "next-line": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/next-line/-/next-line-1.1.0.tgz", - "integrity": "sha1-/K5XhTBStqm66CCOQN19PC0wRgM=" + "integrity": "sha512-+I10J3wKNoKddNxn0CNpoZ3eTZuqxjNM3b1GImVx22+ePI+Y15P8g/j3WsbP0fhzzrFzrtjOAoq5NCCucswXOQ==" }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "requires": { "wrappy": "1" } @@ -389,7 +388,7 @@ "request-stats": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/request-stats/-/request-stats-3.0.0.tgz", - "integrity": "sha1-dpFV3Il0141KHLh7vxTqq5ha/iU=", + "integrity": "sha512-yhnHqXbmgjQs0q/3ZRUzaWTpmaRX78w1Su6UJaWy4h/EGicimIUDkMce7TZdJaXjOWy7bjqC7RXP9ZBXeBJzIw==", "requires": { "http-headers": "^3.0.1", "once": "^1.4.0" @@ -398,7 +397,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" } } }, @@ -427,17 +426,17 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" }, "clone": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==" }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" }, "debug": { "version": "4.3.3", @@ -468,7 +467,7 @@ "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", @@ -478,11 +477,11 @@ } }, "@sap/xssec": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/@sap/xssec/-/xssec-3.2.12.tgz", - "integrity": "sha512-Uhooyklldsft5aC0O/af9dc2qlqcO4Udm1wiPBB+XGSpNHwopb/o+7zJwoxWH3naziYsIHElBaGv6fm8sPG3cQ==", + "version": "3.2.13", + "resolved": "https://registry.npmjs.org/@sap/xssec/-/xssec-3.2.13.tgz", + "integrity": "sha512-F/hFDDf00y/n1ngbnHS9yTcyZqN88q3tMWbG2/AmJYz0PvBGgfmkgkcKxVq+D+aIQmtBJpWZ43H9Pu53MOcJfQ==", "requires": { - "axios": "^0.25.0", + "axios": "^0.26.0", "debug": "4.3.2", "jsonwebtoken": "^8.5.1", "lru-cache": "6.0.0", @@ -491,11 +490,11 @@ }, "dependencies": { "axios": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", - "integrity": "sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==", + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", + "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", "requires": { - "follow-redirects": "^1.14.7" + "follow-redirects": "^1.14.8" } }, "lru-cache": { @@ -533,7 +532,7 @@ "agentkeepalive": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-2.0.5.tgz", - "integrity": "sha1-QoNK6INd/5x//K7VP1Zmv4F6onk=" + "integrity": "sha512-dlXxjfkCrcEPmvJju6ypP6/eq1q0l+cu0u10IhKfiwMoy4yH73n0TQ2jMO2H39xbcC3Q4cWUFPkNk1b3GLEklg==" }, "asn1": { "version": "0.2.6", @@ -546,19 +545,20 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" }, - "async": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", - "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==" + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "axios": { - "version": "0.26.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.0.tgz", - "integrity": "sha512-lKoGLMYtHvFrPVt3r+RBMp9nh34N0M8zEfCWqdWZx6phynIEhQqAdydpyBAAG211zlhX9Rgu08cOamy6XjE5Og==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", "requires": { - "follow-redirects": "^1.14.8" + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" } }, "axios-cookiejar-support": { @@ -577,7 +577,7 @@ "basic-auth": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.3.tgz", - "integrity": "sha1-QfVVI+WJQFA47jVnlYxipe1wVRo=" + "integrity": "sha512-fkXSqXkCTgBy5HVNQ2wP1Fnc/JZjnREwM3hfU8h5RyUN8X9WMQBJem6ZmlsSs7Y4f3fQ7z09vcARgOa0iaPaZA==" }, "body-parser": { "version": "1.20.0", @@ -609,14 +609,14 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" } } }, "buffer-equal-constant-time": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" }, "bytes": { "version": "3.1.2", @@ -645,17 +645,25 @@ "clone": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==" }, "cluster-key-slot": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.0.tgz", "integrity": "sha512-2Nii8p3RwAPiFwsnZvukotvow2rIHM+yQ6ZcBXGHdniadkYGZYiGmkHJIbZPIV9nfv7m/U1IPMVVcAhoWFeklw==" }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, "commander": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "integrity": "sha512-bmkUukX8wAOjHdN26xj5c4ctEV22TQ7dQYhSmuckKhToXrkUn0iIaolHdIxYYqD55nhpSPA9zPQ1yP57GdXP2A==", "requires": { "graceful-readlink": ">= 1.0.0" } @@ -685,7 +693,7 @@ "bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" }, "debug": { "version": "2.6.9", @@ -698,7 +706,7 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "safe-buffer": { "version": "5.1.2", @@ -710,7 +718,7 @@ "connect": { "version": "3.6.5", "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.5.tgz", - "integrity": "sha1-+43ee6B2OHfQ7J352sC0tA5yx9o=", + "integrity": "sha512-B+WTJ0bDgjQugnbNF7fWGvwEgTj9Isdk3Y7yTZlgCuVe+hpl/do8frEMeimx7sRMPW3oZA+EsC9uDZL8MaaAwQ==", "requires": { "debug": "2.6.9", "finalhandler": "1.0.6", @@ -729,7 +737,7 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" } } }, @@ -741,12 +749,12 @@ "cookie": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.2.2.tgz", - "integrity": "sha1-V574vJstb36XWha/QWTVcudS5UA=" + "integrity": "sha512-QT1/SH6oF6jrC9K4rlWpa/5FgqUZuh/Ohl4NvGAgSm67DsieBdTz/XsiVQwBKEJMnw7Tui5uBuC7k1yUAmPO2g==" }, "cookie-parser": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.5.tgz", - "integrity": "sha1-nXVVcPtdF4kHcSJ6AjFNm+fPg1Y=", + "integrity": "sha512-YN/8nzPcK5o6Op4MIzAd4H4qUal5+3UaMhVIeaafFYL0pKvBQA/9Yhzo7ZwvBpjdGshsiTAb1+FC37M6RdPDFg==", "requires": { "cookie": "0.1.3", "cookie-signature": "1.0.6" @@ -755,12 +763,12 @@ "cookie": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz", - "integrity": "sha1-5zSlwUF/zkctWu+Cw4HKu2TRpDU=" + "integrity": "sha512-mWkFhcL+HVG1KjeCjEBVJJ7s4sAGMLiBDFSDs4bzzvgLZt7rW8BhP6XV/8b1+pNvx/skd3yYxPuaF3Z6LlQzyw==" }, "cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" } } }, @@ -772,7 +780,7 @@ "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" }, "debug": { "version": "4.3.2", @@ -792,13 +800,18 @@ "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==" }, "deepmerge": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.1.1.tgz", "integrity": "sha512-urQxA1smbLZ2cBbXbaYObM1dJ82aJ2H57A1C/Kklfh/ZN1bgH4G/n5KWhdNfOK11W98gqZfyYj7W4frJJRwA2w==" }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, "denque": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/denque/-/denque-1.5.1.tgz", @@ -825,22 +838,22 @@ "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" }, "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" }, "express-session": { "version": "1.17.0", @@ -865,7 +878,7 @@ "cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, "debug": { "version": "2.6.9", @@ -878,7 +891,7 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "safe-buffer": { "version": "5.2.0", @@ -895,12 +908,12 @@ "filter-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", - "integrity": "sha1-mzERErxsYSehbgFsbF1/GeCAXFs=" + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==" }, "finalhandler": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.6.tgz", - "integrity": "sha1-AHrqM9Gk0+QgF/YkhIrVjSEvgU8=", + "integrity": "sha512-immlyyYCPWG2tajlYBhZ6cjLAv1QAclU8tKS0d27ZtPqm/+iddy16GT3xLExg+V4lIETLpPwaYQAlZHNE//dPA==", "requires": { "debug": "2.6.9", "encodeurl": "~1.0.1", @@ -922,12 +935,12 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", "requires": { "ee-first": "1.1.1" } @@ -935,19 +948,29 @@ "statuses": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" + "integrity": "sha512-wuTCPGlJONk/a1kqZ4fQM2+908lC7fa7nPYpTC1EhnvqLX/IICbeP1OZGDtA374trpSq68YubKUMo8oRhN46yg==" } } }, "follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==" + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", + "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } }, "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" }, "function-bind": { "version": "1.1.1", @@ -955,19 +978,19 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", + "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1" + "has-symbols": "^1.0.3" } }, "graceful-readlink": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" + "integrity": "sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w==" }, "has": { "version": "1.0.3", @@ -983,9 +1006,9 @@ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" }, "http-cookie-agent": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/http-cookie-agent/-/http-cookie-agent-1.0.5.tgz", - "integrity": "sha512-X8QM/rGPu/cb7A37uNLuz+PZfkmlQ9PycDD+/QsmqICXBd9grKWdWKMzg/BDkzxIbV+P/FYTsKZn08KcXgbLsQ==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/http-cookie-agent/-/http-cookie-agent-1.0.6.tgz", + "integrity": "sha512-Ei0BDjMfy6MSXATmCZ5nWr935NLYl6eD/BTxVGOIrKAlg4xDtMdk+8a+caq6Qwa4FACn+vACj89pFKlXmHOnkQ==", "requires": { "agent-base": "^6.0.2" } @@ -1063,7 +1086,7 @@ "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" }, "jsonwebtoken": { "version": "8.5.1", @@ -1104,7 +1127,7 @@ "jwt-decode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-2.0.1.tgz", - "integrity": "sha1-QJMMZeNMJxnqLz+656aqLyZN0dU=" + "integrity": "sha512-/KEXk2wGfWoSM2SHQk8mq9n/Rd6ahB0XIZt0jEcNy4tQXeDHU4oNOGK1shSVstIQm97qowy6dFgUAHB3zbOD8g==" }, "lodash": { "version": "4.17.21", @@ -1114,57 +1137,57 @@ "lodash.defaults": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" }, "lodash.flatten": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" + "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" }, "lodash.includes": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" }, "lodash.isarguments": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" + "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==" }, "lodash.isboolean": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" }, "lodash.isinteger": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" }, "lodash.isnumber": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" }, "lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" }, "lodash.isstring": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" }, "lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" }, "lru-cache": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.0.tgz", - "integrity": "sha1-tcvwFVbBaWb+vlTO7A+03JDfbCg=", + "integrity": "sha512-WKhDkjlLwzE8jAQdQlsxLUQTPXLCKX/4cJk6s5AlRtJkDBk0IKH5O51bVDH61K9N4bhbbyvLM6EiOuE8ovApPA==", "requires": { "pseudomap": "^1.0.1", "yallist": "^2.0.0" @@ -1173,14 +1196,14 @@ "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" } } }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" }, "mime": { "version": "1.4.1", @@ -1208,7 +1231,7 @@ "mustache": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/mustache/-/mustache-2.2.1.tgz", - "integrity": "sha1-LEDKIcJ49TFQaCvPkJDkGjM5uHY=" + "integrity": "sha512-azYRexmi9y6h2lk2JqfBLh1htlDMjKYyEYOkxoGKa0FRdr5aY4f5q8bH4JIecM181DtUEYLSz8PcRO46mgzMNQ==" }, "negotiator": { "version": "0.6.3", @@ -1218,21 +1241,21 @@ "next-line": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/next-line/-/next-line-1.1.0.tgz", - "integrity": "sha1-/K5XhTBStqm66CCOQN19PC0wRgM=" + "integrity": "sha512-+I10J3wKNoKddNxn0CNpoZ3eTZuqxjNM3b1GImVx22+ePI+Y15P8g/j3WsbP0fhzzrFzrtjOAoq5NCCucswXOQ==" }, "node-cache": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/node-cache/-/node-cache-4.1.1.tgz", - "integrity": "sha1-CFJGRe5AOd7cPcwd18a5eeBhnkQ=", + "integrity": "sha512-1IdglJ3+6RO7j2jGVSbWG7CD/H7axG770BbuopZNDqKpQu1ol89xC4Qc+hd6uBEewjsoCZ6xRIY8BRa5PkHgTQ==", "requires": { "clone": "2.x", "lodash": "4.x" } }, "node-forge": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.0.tgz", - "integrity": "sha512-08ARB91bUi6zNKzVmaj3QO7cr397uiDT2nJ63cHjyNtCTWIgvS47j3eT0WfzUwS9+6Z5YshRaoasFkXCKrIYbA==" + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" }, "node-rsa": { "version": "1.1.1", @@ -1243,9 +1266,9 @@ } }, "object-inspect": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", - "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==" + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" }, "on-finished": { "version": "2.4.1", @@ -1263,7 +1286,7 @@ "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "requires": { "wrappy": "1" } @@ -1281,7 +1304,7 @@ "passport": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/passport/-/passport-0.3.2.tgz", - "integrity": "sha1-ndAJ+RXo/glbASSgG4+C2gdRAQI=", + "integrity": "sha512-aqgxMQxuRz79M4LVo8fl3/bsh6Ozcb34G8MVDs7Oavy88ROLSVvTgYoWnX3TpxdQg66HiXvpb+lcuFPnDrmiOA==", "requires": { "passport-strategy": "1.x.x", "pause": "0.0.1" @@ -1290,17 +1313,17 @@ "passport-strategy": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz", - "integrity": "sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ=" + "integrity": "sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA==" }, "pause": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", - "integrity": "sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10=" + "integrity": "sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg==" }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" }, "psl": { "version": "1.8.0", @@ -1334,7 +1357,7 @@ "random-bytes": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", - "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=" + "integrity": "sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ==" }, "range-parser": { "version": "1.2.1", @@ -1360,12 +1383,12 @@ "redis-errors": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz", - "integrity": "sha1-62LSrbFeTq9GEMBK/hUpOEJQq60=" + "integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==" }, "redis-parser": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz", - "integrity": "sha1-tm2CjNyv5rS4pCin3vTGvKwxyLQ=", + "integrity": "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==", "requires": { "redis-errors": "^1.0.0" } @@ -1373,7 +1396,7 @@ "request-stats": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/request-stats/-/request-stats-2.0.1.tgz", - "integrity": "sha1-7ZpjgVZq9rvWD+LVz69G+RK4sD4=", + "integrity": "sha512-GZQvTZqbUx9gXrRfj1c9pMcFzyLeJEpV2P5qXxGwf1I2ZRswRsCNYPsuwnFLNRZQamlsrinzKQnExXBGgFzFCw==", "requires": { "http-headers": "^3.0.1", "once": "^1.4.0" @@ -1392,7 +1415,7 @@ "safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", "requires": { "ret": "~0.1.10" } @@ -1405,7 +1428,7 @@ "scmp": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/scmp/-/scmp-1.0.0.tgz", - "integrity": "sha1-oLJyw/xykvdxFWRvAGGLAmJRTgQ=" + "integrity": "sha512-gCzsBFLpXrXnq60hYFV4hc4b5a3nIWTKtFWMYvlcXqs5gHKTR445CO3QbFRZW/O+9tRIVTeC46/MXbq1Se/1Sw==" }, "semver": { "version": "5.7.1", @@ -1443,17 +1466,17 @@ "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" }, "destroy": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + "integrity": "sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==" }, "http-errors": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", "requires": { "depd": "~1.1.2", "inherits": "2.0.3", @@ -1464,17 +1487,17 @@ "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", "requires": { "ee-first": "1.1.1" } @@ -1535,7 +1558,7 @@ "strict-uri-encode": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", - "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=" + "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==" }, "toidentifier": { "version": "1.0.1", @@ -1555,7 +1578,7 @@ "tv4": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/tv4/-/tv4-1.2.7.tgz", - "integrity": "sha1-vSk4mvxzreSa5fSBQrXVRL9o0SA=" + "integrity": "sha512-7W00xKKK9ccSXbN8E1FUKe+PJKlQc3HcPRM1y9WnplFVucoWFBpTNCGJNMHG04+yf5lQKUKx71yt0mluqnbCzw==" }, "type-is": { "version": "1.6.18", @@ -1582,7 +1605,7 @@ "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" }, "urijs": { "version": "1.19.11", @@ -1592,7 +1615,7 @@ "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" }, "uuid": { "version": "8.3.2", @@ -1602,7 +1625,7 @@ "valid-url": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", - "integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=" + "integrity": "sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==" }, "validator": { "version": "13.7.0", @@ -1612,12 +1635,12 @@ "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" }, "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", @@ -1627,7 +1650,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "ws": { "version": "7.4.6", diff --git a/approuter/package.json b/test/_env/approuter/package.json similarity index 74% rename from approuter/package.json rename to test/_env/approuter/package.json index 875d63c..3bd7602 100644 --- a/approuter/package.json +++ b/test/_env/approuter/package.json @@ -1,13 +1,13 @@ { "private": true, "name": "@sap/cds-odata-v2-adapter-proxy-approuter", - "version": "0.2.0", + "version": "1.0.0", "engines": { - "node": "^12.0.0", + "node": "^14.0.0", "npm": "^6.0.0" }, "dependencies": { - "@sap/approuter": "^10.15.2" + "@sap/approuter": "^11.2.1" }, "scripts": { "start": "node node_modules/@sap/approuter/approuter.js" diff --git a/approuter/xs-app.json b/test/_env/approuter/xs-app.json similarity index 100% rename from approuter/xs-app.json rename to test/_env/approuter/xs-app.json diff --git a/test/_env/index.cds b/test/_env/index.cds deleted file mode 100644 index 2c8f23c..0000000 --- a/test/_env/index.cds +++ /dev/null @@ -1,12 +0,0 @@ -using from './agreementModel'; -using from './model'; -using from './draftmodel'; -using from './analyticsmodel'; -using from './servicemodel'; -using from './todomodel'; -using from './incidentsmodel'; -using from './authmodel'; -using from './navigatemodel'; -using from './passengermodel'; -using from './emissionsmodel'; -using from './auditmodel'; diff --git a/test/_env/index.js b/test/_env/index.js deleted file mode 100644 index adb7513..0000000 --- a/test/_env/index.js +++ /dev/null @@ -1,68 +0,0 @@ -"use strict"; - -const express = require("express"); -const compression = require("compression"); -const http = require("http"); -const cds = require("@sap/cds"); - -const odatav2proxy = require("../../lib"); -const serviceRootPath = "./test/_env/"; - -let context = null; - -module.exports = async (service, defaultPort, fnInit, options) => { - const db = await cds.connect.to("db", { - kind: "sqlite", - credentials: { - database: ":memory:", // "./test/_env/test.db" - }, - }); - - let port = defaultPort || 0; - const servicePath = Array.isArray(service) ? service.map((s) => serviceRootPath + s) : serviceRootPath + service; - const app = express(); - app.use(compression()); - - const srv = await cds.load(servicePath); - await cds.deploy(srv); - - // Backend - let server; - await new Promise((resolve) => { - server = new http.Server(app); - server.listen(port, () => { - port = server.address().port; - // eslint-disable-next-line no-console - console.info(`Server listening on port ${port}`); - resolve(); - }); - }); - - // Proxy - app.use( - odatav2proxy({ - path: "v2", - model: servicePath, - port: port, - }) - ); - - await cds.serve(servicePath, options).in(app); - // Single root service - /*await cds.serve("MainService") - .from("./test/_env/model") - .at("/") - .in(app);*/ - - context = { port, server, app, cds, srv, db }; - if (fnInit) { - await fnInit(context); - } - return context; -}; - -module.exports.end = async () => { - await context.cds.disconnect(); - context.server.close(); - context = null; -}; diff --git a/test/_env/package-lock.json b/test/_env/package-lock.json new file mode 100644 index 0000000..420b4ca --- /dev/null +++ b/test/_env/package-lock.json @@ -0,0 +1,13 @@ +{ + "name": "@sap/cds-odata-v2-adapter-proxy-test", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "typescript": { + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", + "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==" + } + } +} diff --git a/test/_env/package.json b/test/_env/package.json new file mode 100644 index 0000000..389bfc2 --- /dev/null +++ b/test/_env/package.json @@ -0,0 +1,38 @@ +{ + "name": "@sap/cds-odata-v2-adapter-proxy-test", + "version": "1.0.0", + "private": true, + "scripts": { + "start": "XS_APP_LOG_LEVEL=debug cds run --in-memory", + "start:file": "XS_APP_LOG_LEVEL=debug cds run --profile testdb", + "start:root": "XS_APP_LOG_LEVEL=debug cds serve --in-memory --service test.MainService --from ./test/_env/srv/model --at /", + "test:deploy": "cds deploy srv/index.cds --to sqlite:test.db --no-save", + "build": "cds build", + "tsc": "cd util/typescript && tsc" + }, + "dependencies": {}, + "devDependencies": { + "typescript": "^4.7.4" + }, + "cds": { + "cov2ap": { + "path": "v2", + "caseInsensitive": true, + "fixDraftRequests": true + }, + "requires": { + "db": { + "kind": "sqlite", + "credentials": { + "database": ":memory:" + }, + "[testdb]": { + "kind": "sqlite", + "credentials": { + "database": "test.db" + } + } + } + } + } +} diff --git a/test/_env/agreementmodel.cds b/test/_env/srv/agreement.cds similarity index 100% rename from test/_env/agreementmodel.cds rename to test/_env/srv/agreement.cds diff --git a/test/_env/analyticsmodel.cds b/test/_env/srv/analytics.cds similarity index 85% rename from test/_env/analyticsmodel.cds rename to test/_env/srv/analytics.cds index 18ffe53..dd49bf3 100644 --- a/test/_env/analyticsmodel.cds +++ b/test/_env/srv/analytics.cds @@ -1,6 +1,6 @@ namespace test; -using test from './model'; +using test from './main'; using sap.common from '@sap/cds/common'; service AnalyticsService { @@ -26,11 +26,6 @@ service AnalyticsService { @title: '{i18n>Price}' price, Items - } excluding { - createdBy, - createdAt, - modifiedBy, - modifiedAt }; @readonly @@ -48,11 +43,6 @@ service AnalyticsService { @Aggregation.default : #AVG price, Items - } excluding { - createdBy, - createdAt, - modifiedBy, - modifiedAt }; entity HeaderItem as projection on test.HeaderItem; diff --git a/test/_env/auditmodel.cds b/test/_env/srv/audit.cds similarity index 100% rename from test/_env/auditmodel.cds rename to test/_env/srv/audit.cds diff --git a/test/_env/authmodel.cds b/test/_env/srv/auth.cds similarity index 100% rename from test/_env/authmodel.cds rename to test/_env/srv/auth.cds diff --git a/test/_env/csv/acme.cloud.Category.csv b/test/_env/srv/data/acme.cloud.Category.csv similarity index 100% rename from test/_env/csv/acme.cloud.Category.csv rename to test/_env/srv/data/acme.cloud.Category.csv diff --git a/test/_env/csv/acme.cloud.Incidents.csv b/test/_env/srv/data/acme.cloud.Incidents.csv similarity index 100% rename from test/_env/csv/acme.cloud.Incidents.csv rename to test/_env/srv/data/acme.cloud.Incidents.csv diff --git a/test/_env/csv/acme.cloud.Priority.csv b/test/_env/srv/data/acme.cloud.Priority.csv similarity index 100% rename from test/_env/csv/acme.cloud.Priority.csv rename to test/_env/srv/data/acme.cloud.Priority.csv diff --git a/test/_env/csv/agreement.Agreement.csv b/test/_env/srv/data/agreement.Agreement.csv similarity index 100% rename from test/_env/csv/agreement.Agreement.csv rename to test/_env/srv/data/agreement.Agreement.csv diff --git a/test/_env/csv/agreement.AgreementItem.csv b/test/_env/srv/data/agreement.AgreementItem.csv similarity index 100% rename from test/_env/csv/agreement.AgreementItem.csv rename to test/_env/srv/data/agreement.AgreementItem.csv diff --git a/test/_env/csv/agreement.AgreementItemPricing.csv b/test/_env/srv/data/agreement.AgreementItemPricing.csv similarity index 100% rename from test/_env/csv/agreement.AgreementItemPricing.csv rename to test/_env/srv/data/agreement.AgreementItemPricing.csv diff --git a/test/_env/csv/agreement.Status.csv b/test/_env/srv/data/agreement.Status.csv similarity index 100% rename from test/_env/csv/agreement.Status.csv rename to test/_env/srv/data/agreement.Status.csv diff --git a/test/_env/csv/audit-Audit_Types.csv b/test/_env/srv/data/audit-Audit_Types.csv similarity index 100% rename from test/_env/csv/audit-Audit_Types.csv rename to test/_env/srv/data/audit-Audit_Types.csv diff --git a/test/_env/csv/audit-Audits.csv b/test/_env/srv/data/audit-Audits.csv similarity index 100% rename from test/_env/csv/audit-Audits.csv rename to test/_env/srv/data/audit-Audits.csv diff --git a/test/_env/csv/audit-Work_Activities.csv b/test/_env/srv/data/audit-Work_Activities.csv similarity index 100% rename from test/_env/csv/audit-Work_Activities.csv rename to test/_env/srv/data/audit-Work_Activities.csv diff --git a/test/_env/csv/passenger-CalculationFactors.csv b/test/_env/srv/data/passenger-CalculationFactors.csv similarity index 100% rename from test/_env/csv/passenger-CalculationFactors.csv rename to test/_env/srv/data/passenger-CalculationFactors.csv diff --git a/test/_env/csv/sap-common-Countries.csv b/test/_env/srv/data/sap-common-Countries.csv similarity index 100% rename from test/_env/csv/sap-common-Countries.csv rename to test/_env/srv/data/sap-common-Countries.csv diff --git a/test/_env/csv/sap-common-Currencies.csv b/test/_env/srv/data/sap-common-Currencies.csv similarity index 100% rename from test/_env/csv/sap-common-Currencies.csv rename to test/_env/srv/data/sap-common-Currencies.csv diff --git a/test/_env/csv/test-Favorite.csv b/test/_env/srv/data/test-Favorite.csv similarity index 100% rename from test/_env/csv/test-Favorite.csv rename to test/_env/srv/data/test-Favorite.csv diff --git a/test/_env/csv/test-HeaderItemLargeString.csv b/test/_env/srv/data/test-HeaderItemLargeString.csv similarity index 100% rename from test/_env/csv/test-HeaderItemLargeString.csv rename to test/_env/srv/data/test-HeaderItemLargeString.csv diff --git a/test/_env/csv/test-HeaderLargeString.csv b/test/_env/srv/data/test-HeaderLargeString.csv similarity index 100% rename from test/_env/csv/test-HeaderLargeString.csv rename to test/_env/srv/data/test-HeaderLargeString.csv diff --git a/test/_env/csv/test-HeaderTemporal.csv b/test/_env/srv/data/test-HeaderTemporal.csv similarity index 100% rename from test/_env/csv/test-HeaderTemporal.csv rename to test/_env/srv/data/test-HeaderTemporal.csv diff --git a/test/_env/csv/test-Node.csv b/test/_env/srv/data/test-Node.csv similarity index 100% rename from test/_env/csv/test-Node.csv rename to test/_env/srv/data/test-Node.csv diff --git a/test/_env/csv/test-StringUUID.csv b/test/_env/srv/data/test-StringUUID.csv similarity index 100% rename from test/_env/csv/test-StringUUID.csv rename to test/_env/srv/data/test-StringUUID.csv diff --git a/test/_env/csv/todo-People.csv b/test/_env/srv/data/todo-People.csv similarity index 100% rename from test/_env/csv/todo-People.csv rename to test/_env/srv/data/todo-People.csv diff --git a/test/_env/csv/todo-PlannedTasks.csv b/test/_env/srv/data/todo-PlannedTasks.csv similarity index 100% rename from test/_env/csv/todo-PlannedTasks.csv rename to test/_env/srv/data/todo-PlannedTasks.csv diff --git a/test/_env/csv/todo-Tasks.csv b/test/_env/srv/data/todo-Tasks.csv similarity index 100% rename from test/_env/csv/todo-Tasks.csv rename to test/_env/srv/data/todo-Tasks.csv diff --git a/test/_env/csv/todo-TasksItems.csv b/test/_env/srv/data/todo-TasksItems.csv similarity index 100% rename from test/_env/csv/todo-TasksItems.csv rename to test/_env/srv/data/todo-TasksItems.csv diff --git a/test/_env/csv/userData-PREFERENCES.csv b/test/_env/srv/data/userData-PREFERENCES.csv similarity index 100% rename from test/_env/csv/userData-PREFERENCES.csv rename to test/_env/srv/data/userData-PREFERENCES.csv diff --git a/test/_env/draftmodel.cds b/test/_env/srv/draft.cds similarity index 84% rename from test/_env/draftmodel.cds rename to test/_env/srv/draft.cds index 593e7d2..d16fbcc 100644 --- a/test/_env/draftmodel.cds +++ b/test/_env/srv/draft.cds @@ -1,7 +1,7 @@ namespace test; using { managed } from '@sap/cds/common'; -using test from './model'; +using test from './main'; service DraftService { @@ -16,7 +16,7 @@ service DraftService { annotate Header with @odata.draft.enabled; - annotate managed with { + annotate DraftService.Header with { modifiedAt @odata.etag; } } diff --git a/test/_env/servicemodel.cds b/test/_env/srv/dummy.cds similarity index 80% rename from test/_env/servicemodel.cds rename to test/_env/srv/dummy.cds index bcfdcbe..8c93b20 100644 --- a/test/_env/servicemodel.cds +++ b/test/_env/srv/dummy.cds @@ -1,4 +1,4 @@ -using test from './model.cds'; +using test from './main'; service DummyService { entity Header as projection on test.Header; diff --git a/test/_env/emissionsmodel.cds b/test/_env/srv/emissions.cds similarity index 100% rename from test/_env/emissionsmodel.cds rename to test/_env/srv/emissions.cds diff --git a/test/_env/handlers/model.js b/test/_env/srv/handlers/main.js similarity index 100% rename from test/_env/handlers/model.js rename to test/_env/srv/handlers/main.js diff --git a/test/_env/handlers/navigatemodel.js b/test/_env/srv/handlers/navigate.js similarity index 100% rename from test/_env/handlers/navigatemodel.js rename to test/_env/srv/handlers/navigate.js diff --git a/test/_env/handlers/todomodel.js b/test/_env/srv/handlers/todo.js similarity index 100% rename from test/_env/handlers/todomodel.js rename to test/_env/srv/handlers/todo.js diff --git a/test/_env/i18n/i18n.properties b/test/_env/srv/i18n/i18n.properties similarity index 100% rename from test/_env/i18n/i18n.properties rename to test/_env/srv/i18n/i18n.properties diff --git a/test/_env/incidentsmodel.cds b/test/_env/srv/incidents.cds similarity index 100% rename from test/_env/incidentsmodel.cds rename to test/_env/srv/incidents.cds diff --git a/test/_env/srv/index.cds b/test/_env/srv/index.cds new file mode 100644 index 0000000..77741db --- /dev/null +++ b/test/_env/srv/index.cds @@ -0,0 +1,12 @@ +using from './agreement'; +using from './analytics'; +using from './audit'; +using from './auth'; +using from './draft'; +using from './dummy'; +using from './emissions'; +using from './incidents'; +using from './main'; +using from './navigate'; +using from './passenger'; +using from './todo'; diff --git a/test/_env/data/init/Header.json b/test/_env/srv/init/Header.json similarity index 100% rename from test/_env/data/init/Header.json rename to test/_env/srv/init/Header.json diff --git a/test/_env/data/init/assets/file.png b/test/_env/srv/init/assets/file.png similarity index 100% rename from test/_env/data/init/assets/file.png rename to test/_env/srv/init/assets/file.png diff --git a/test/_env/data/init/index.js b/test/_env/srv/init/index.js similarity index 60% rename from test/_env/data/init/index.js rename to test/_env/srv/init/index.js index a5ce1d5..24d0420 100644 --- a/test/_env/data/init/index.js +++ b/test/_env/srv/init/index.js @@ -1,34 +1,30 @@ "use strict"; -// eslint-disable-next-line no-restricted-modules const fs = require("fs"); const supertest = require("supertest"); const cds = require("@sap/cds"); -const util = require("../../util"); +const util = require("../../util/request"); const Headers = require("./Header"); -let initialized = false; - module.exports = async (context) => { - if (initialized) { - return; + let mainPath = cds.services["test.MainService"].path; + if (mainPath === "/") { + mainPath = ""; } - initialized = true; - await initData(context); - await initBinary(context); + await initData(context, mainPath); + await initBinary(context, mainPath); }; -async function initData({ app }) { +async function initData({ app }, mainPath) { const request = supertest(app); const responses = await Promise.all( Headers.map(async (header) => { - return await util.callWrite(request, "/main/Header", header, false, { + return await util.callWrite(request, `${mainPath}/Header`, header, false, { "content-type": "application/json;IEEE754Compatible=true", }); }) ); - // eslint-disable-next-line no-console console.log( "Test Instances: " + responses.filter((entry) => { @@ -37,12 +33,12 @@ async function initData({ app }) { ); } -async function initBinary({ port }) { - await cds.connect(); +async function initBinary({ port }, mainPath) { + await cds.connect.to("db"); await cds.run( INSERT.into("test.HeaderStream").entries({ ID: "f8a7a4f7-1901-4032-a237-3fba1d1b2343", - data: fs.readFileSync("./test/_env/data/init/assets/file.png"), + data: fs.readFileSync(__dirname + "/assets/file.png"), mediaType: "image/png", filename: "file.png", }) @@ -50,7 +46,7 @@ async function initBinary({ port }) { await cds.run( INSERT.into("test.HeaderStreamAttachment").entries({ ID: "f8a7a4f7-1901-4032-a237-3fba1d1b2343", - data: fs.readFileSync("./test/_env/data/init/assets/file.png"), + data: fs.readFileSync(__dirname + "/assets/file.png"), mediaType: "image/png", filename: "file.png", }) @@ -59,19 +55,19 @@ async function initBinary({ port }) { INSERT.into("test.HeaderUrlStream").entries([ { ID: "f8a7a4f7-1901-4032-a237-3fba1d1b2343", - link: `http://localhost:${port}/v2/main/HeaderStream(guid'f8a7a4f7-1901-4032-a237-3fba1d1b2343')/$value`, + link: `http://localhost:${port}/v2${mainPath}/HeaderStream(guid'f8a7a4f7-1901-4032-a237-3fba1d1b2343')/$value`, mediaType: "image/png", filename: "file.png", }, { ID: "e8a7a4f7-1901-4032-a237-3fba1d1b2343", - link: `http://localhost:8888/v2/main/HeaderStream(guid'f8a7a4f7-1901-4032-a237-3fba1d1b2343')/$value`, + link: `http://localhost:8888/v2${mainPath}/HeaderStream(guid'f8a7a4f7-1901-4032-a237-3fba1d1b2343')/$value`, mediaType: "image/png", filename: "file.png", }, { ID: "a8a7a4f7-1901-4032-a237-3fba1d1b2343", - link: `http://localhost:${port}/v2/main/HeaderStream(guid'f8a7a4f7-1901-4032-a237-3fba1d1b2343')/$value2`, + link: `http://localhost:${port}/v2${mainPath}/HeaderStream(guid'f8a7a4f7-1901-4032-a237-3fba1d1b2343')/$value2`, mediaType: "image/png", filename: "file.png", }, diff --git a/test/_env/model.cds b/test/_env/srv/main.cds similarity index 100% rename from test/_env/model.cds rename to test/_env/srv/main.cds diff --git a/test/_env/navigatemodel.cds b/test/_env/srv/navigate.cds similarity index 100% rename from test/_env/navigatemodel.cds rename to test/_env/srv/navigate.cds diff --git a/test/_env/passengermodel.cds b/test/_env/srv/passenger.cds similarity index 100% rename from test/_env/passengermodel.cds rename to test/_env/srv/passenger.cds diff --git a/srv/server.js b/test/_env/srv/server.js similarity index 67% rename from srv/server.js rename to test/_env/srv/server.js index 3c9597c..ea4868a 100644 --- a/srv/server.js +++ b/test/_env/srv/server.js @@ -1,20 +1,21 @@ "use strict"; const cds = require("@sap/cds"); -const proxy = require("../lib"); +const proxy = require("../../../src"); const compression = require("compression"); -const init = require("../test/_env/data/init"); +const init = require("./init"); cds.on("bootstrap", (app) => { app.use(compression({ filter: shouldCompress })); - app.use(proxy()); + app.use(proxy({ target: "auto" })); }); -cds.on("served", (services) => {}); - -cds.on("listening", (server) => { - init({ app: cds.app }); +cds.on("listening", ({ server }) => { + global._init = init({ + app: cds.app, + port: server.address().port, + }); }); function shouldCompress(req, res) { diff --git a/test/_env/todomodel.cds b/test/_env/srv/todo.cds similarity index 100% rename from test/_env/todomodel.cds rename to test/_env/srv/todo.cds diff --git a/test/_env/data/batch/Batch-Action.txt b/test/_env/util/batch/Batch-Action.txt similarity index 100% rename from test/_env/data/batch/Batch-Action.txt rename to test/_env/util/batch/Batch-Action.txt diff --git a/test/_env/data/batch/Batch-DELETE.txt b/test/_env/util/batch/Batch-DELETE.txt similarity index 100% rename from test/_env/data/batch/Batch-DELETE.txt rename to test/_env/util/batch/Batch-DELETE.txt diff --git a/test/_env/data/batch/Batch-GET-DateTime.txt b/test/_env/util/batch/Batch-GET-DateTime.txt similarity index 100% rename from test/_env/data/batch/Batch-GET-DateTime.txt rename to test/_env/util/batch/Batch-GET-DateTime.txt diff --git a/test/_env/data/batch/Batch-GET-Escaped.txt b/test/_env/util/batch/Batch-GET-Escaped.txt similarity index 100% rename from test/_env/data/batch/Batch-GET-Escaped.txt rename to test/_env/util/batch/Batch-GET-Escaped.txt diff --git a/test/_env/data/batch/Batch-GET.txt b/test/_env/util/batch/Batch-GET.txt similarity index 100% rename from test/_env/data/batch/Batch-GET.txt rename to test/_env/util/batch/Batch-GET.txt diff --git a/test/_env/data/batch/Batch-MERGE-Draft.txt b/test/_env/util/batch/Batch-MERGE-Draft.txt similarity index 100% rename from test/_env/data/batch/Batch-MERGE-Draft.txt rename to test/_env/util/batch/Batch-MERGE-Draft.txt diff --git a/test/_env/data/batch/Batch-PATCH-ContentId.txt b/test/_env/util/batch/Batch-PATCH-ContentId.txt similarity index 100% rename from test/_env/data/batch/Batch-PATCH-ContentId.txt rename to test/_env/util/batch/Batch-PATCH-ContentId.txt diff --git a/test/_env/data/batch/Batch-PATCH.txt b/test/_env/util/batch/Batch-PATCH.txt similarity index 100% rename from test/_env/data/batch/Batch-PATCH.txt rename to test/_env/util/batch/Batch-PATCH.txt diff --git a/test/_env/data/batch/Batch-POST-Audit.txt b/test/_env/util/batch/Batch-POST-Audit.txt similarity index 100% rename from test/_env/data/batch/Batch-POST-Audit.txt rename to test/_env/util/batch/Batch-POST-Audit.txt diff --git a/test/_env/data/batch/Batch-POST-Changeset.txt b/test/_env/util/batch/Batch-POST-Changeset.txt similarity index 100% rename from test/_env/data/batch/Batch-POST-Changeset.txt rename to test/_env/util/batch/Batch-POST-Changeset.txt diff --git a/test/_env/data/batch/Batch-POST-Charset.txt b/test/_env/util/batch/Batch-POST-Charset.txt similarity index 100% rename from test/_env/data/batch/Batch-POST-Charset.txt rename to test/_env/util/batch/Batch-POST-Charset.txt diff --git a/test/_env/data/batch/Batch-POST-ContentId.txt b/test/_env/util/batch/Batch-POST-ContentId.txt similarity index 100% rename from test/_env/data/batch/Batch-POST-ContentId.txt rename to test/_env/util/batch/Batch-POST-ContentId.txt diff --git a/test/_env/data/batch/Batch-POST-Navigation.txt b/test/_env/util/batch/Batch-POST-Navigation.txt similarity index 100% rename from test/_env/data/batch/Batch-POST-Navigation.txt rename to test/_env/util/batch/Batch-POST-Navigation.txt diff --git a/test/_env/data/batch/Batch-POST.txt b/test/_env/util/batch/Batch-POST.txt similarity index 100% rename from test/_env/data/batch/Batch-POST.txt rename to test/_env/util/batch/Batch-POST.txt diff --git a/test/_env/data/batch/Batch-PUT-Decimal.txt b/test/_env/util/batch/Batch-PUT-Decimal.txt similarity index 100% rename from test/_env/data/batch/Batch-PUT-Decimal.txt rename to test/_env/util/batch/Batch-PUT-Decimal.txt diff --git a/test/_env/data/batch/Batch-PUT.txt b/test/_env/util/batch/Batch-PUT.txt similarity index 100% rename from test/_env/data/batch/Batch-PUT.txt rename to test/_env/util/batch/Batch-PUT.txt diff --git a/test/_env/util.js b/test/_env/util/request.js similarity index 100% rename from test/_env/util.js rename to test/_env/util/request.js diff --git a/test-server-ts.ts b/test/_env/util/typescript/test-server.ts similarity index 81% rename from test-server-ts.ts rename to test/_env/util/typescript/test-server.ts index 2570c5d..ba7ff0b 100644 --- a/test-server-ts.ts +++ b/test/_env/util/typescript/test-server.ts @@ -1,7 +1,7 @@ "use strict"; import express = require("express"); -import proxy from "./lib"; +import proxy from "../../../../src"; const app = express(); app.use( diff --git a/tsconfig.json b/test/_env/util/typescript/tsconfig.json similarity index 85% rename from tsconfig.json rename to test/_env/util/typescript/tsconfig.json index c1619cc..12b21a0 100644 --- a/tsconfig.json +++ b/test/_env/util/typescript/tsconfig.json @@ -8,5 +8,5 @@ "skipLibCheck": true, "esModuleInterop": true }, - "exclude": ["node_modules"] + "exclude": ["../../node_modules"] } diff --git a/test/analytics-request-test.js b/test/analytics-test.js similarity index 98% rename from test/analytics-request-test.js rename to test/analytics-test.js index 4942fe6..16b3736 100644 --- a/test/analytics-request-test.js +++ b/test/analytics-test.js @@ -1,21 +1,18 @@ "use strict"; +const cds = require("@sap/cds"); const supertest = require("supertest"); -const env = require("./_env"); -const util = require("./_env/util"); -const init = require("./_env/data/init"); +const util = require("./_env/util/request"); + +cds.test(__dirname + "/_env"); let request; -describe("analytics-request", () => { +describe("analytics", () => { beforeAll(async () => { - const context = await env("analyticsmodel", 0, init); - request = supertest(context.app); - }); - - afterAll(async () => { - await env.end(); + await global._init; + request = supertest(cds.app); }); it("GET $metadata", async () => { diff --git a/test/audit-request-test.js b/test/audit-test.js similarity index 90% rename from test/audit-request-test.js rename to test/audit-test.js index 8473676..6d3e5c5 100644 --- a/test/audit-request-test.js +++ b/test/audit-test.js @@ -1,22 +1,20 @@ "use strict"; +const cds = require("@sap/cds"); const supertest = require("supertest"); // eslint-disable-next-line no-restricted-modules const fs = require("fs"); -const env = require("./_env"); -const util = require("./_env/util"); +const util = require("./_env/util/request"); + +cds.test(__dirname + "/_env"); let request; -describe("auth-request", () => { +describe("auth", () => { beforeAll(async () => { - const context = await env("auditmodel"); - request = supertest(context.app); - }); - - afterAll(async () => { - await env.end(); + await global._init; + request = supertest(cds.app); }); it("POST audit", async () => { @@ -63,7 +61,7 @@ describe("auth-request", () => { it("POST audit in batch", async () => { const requestBoundary = "batch_709b8b9352ac4342a0efb1e012d_1"; - let payload = fs.readFileSync("./test/_env/data/batch/Batch-POST-Audit.txt", "utf8"); + let payload = fs.readFileSync(__dirname + "/_env/util/batch/Batch-POST-Audit.txt", "utf8"); payload = payload.replace(/\r\n/g, "\n"); let response = await util.callMultipart(request, "/v2/audit/$batch", payload, requestBoundary); expect(response.statusCode).toEqual(202); diff --git a/test/auth-request-test.js b/test/auth-test.js similarity index 64% rename from test/auth-request-test.js rename to test/auth-test.js index 34a4b5f..3005e32 100644 --- a/test/auth-request-test.js +++ b/test/auth-test.js @@ -1,38 +1,18 @@ "use strict"; +const cds = require("@sap/cds"); const supertest = require("supertest"); -const env = require("./_env"); -const util = require("./_env/util"); +const util = require("./_env/util/request"); -let request; +cds.test(__dirname + "/_env"); -const options = { - auth: { - strategy: "mock", - users: { - alice: { - password: "alice", - ID: "alice@wonder.land", - roles: ["XYZ4711"], - }, - bob: { - password: "bob", - ID: "bob@builder.com", - roles: [], - }, - }, - }, -}; +let request; -describe("auth-request", () => { +describe("auth", () => { beforeAll(async () => { - const context = await env("authmodel", 0, undefined, options); - request = supertest(context.app); - }); - - afterAll(async () => { - await env.end(); + await global._init; + request = supertest(cds.app); }); it("GET $metadata auth", async () => { @@ -43,7 +23,7 @@ describe("auth-request", () => { expect(response.headers["www-authenticate"]).toEqual('Basic realm="Users"'); let authorization = `Basic ${Buffer.from( - `${options.auth.users.bob.ID}:${options.auth.users.bob.password}` + `${cds.requires.auth.users.bob.ID}:${cds.requires.auth.users.bob.password}` ).toString("base64")}`; response = await util.callRead(request, "/v2/auth/$metadata", { accept: "application/xml", @@ -52,7 +32,7 @@ describe("auth-request", () => { expect(response.status).toEqual(403); authorization = `Basic ${Buffer.from( - `${options.auth.users.alice.ID}:${options.auth.users.alice.password}` + `${cds.requires.auth.users.alice.ID}:${cds.requires.auth.users.alice.password}` ).toString("base64")}`; response = await util.callRead(request, "/v2/auth/$metadata", { accept: "application/xml", diff --git a/test/batch-request-test.js b/test/batch-test.js similarity index 91% rename from test/batch-request-test.js rename to test/batch-test.js index a85b4b3..e1ef74e 100644 --- a/test/batch-request-test.js +++ b/test/batch-test.js @@ -1,23 +1,20 @@ "use strict"; +const cds = require("@sap/cds"); const supertest = require("supertest"); // eslint-disable-next-line no-restricted-modules const fs = require("fs"); -const env = require("./_env"); -const util = require("./_env/util"); -const init = require("./_env/data/init"); +const util = require("./_env/util/request"); + +cds.test(__dirname + "/_env"); let request; -describe("batch-request", () => { +describe("batch", () => { beforeAll(async () => { - const context = await env("model", 0, init); - request = supertest(context.app); - }); - - afterAll(async () => { - await env.end(); + await global._init; + request = supertest(cds.app); }); it("HEAD service", async () => { @@ -43,7 +40,7 @@ describe("batch-request", () => { expect(response.body.d.results).toHaveLength(1); const ID = response.body.d.results[0].ID; - let payload = fs.readFileSync("./test/_env/data/batch/Batch-GET.txt", "utf8"); + let payload = fs.readFileSync(__dirname + "/_env/util/batch/Batch-GET.txt", "utf8"); payload = payload.replace(/\r\n/g, "\n"); payload = payload.replace(/{{ID}}/g, ID); response = await util.callMultipart(request, "/v2/main/$batch", payload); @@ -67,7 +64,7 @@ describe("batch-request", () => { country: "US", }); expect(response.statusCode).toEqual(201); - let payload = fs.readFileSync("./test/_env/data/batch/Batch-GET-Escaped.txt", "utf8"); + let payload = fs.readFileSync(__dirname + "/_env/util/batch/Batch-GET-Escaped.txt", "utf8"); payload = payload.replace(/\r\n/g, "\n"); response = await util.callMultipart(request, "/v2/main/$batch", payload); expect(response.statusCode).toEqual(202); @@ -85,7 +82,7 @@ describe("batch-request", () => { country: "US", }); expect(response.statusCode).toEqual(201); - let payload = fs.readFileSync("./test/_env/data/batch/Batch-GET.txt", "utf8"); + let payload = fs.readFileSync(__dirname + "/_env/util/batch/Batch-GET.txt", "utf8"); payload = payload.replace(/\r\n/g, "\n"); response = await util.callMultipart(request, "/v2/main/$batch", payload, "boundary;charset=utf-8"); expect(response.statusCode).toEqual(202); @@ -102,7 +99,7 @@ describe("batch-request", () => { }); it("POST request", async () => { - let payload = fs.readFileSync("./test/_env/data/batch/Batch-POST.txt", "utf8"); + let payload = fs.readFileSync(__dirname + "/_env/util/batch/Batch-POST.txt", "utf8"); payload = payload.replace(/\r\n/g, "\n"); let response = await util.callMultipart(request, "/v2/main/$batch", payload); expect(response.statusCode).toEqual(202); @@ -144,7 +141,7 @@ describe("batch-request", () => { it("POST request changeset", async () => { const requestBoundary = "batch_f992-3b90-6e9f"; - let payload = fs.readFileSync("./test/_env/data/batch/Batch-POST-Changeset.txt", "utf8"); + let payload = fs.readFileSync(__dirname + "/_env/util/batch/Batch-POST-Changeset.txt", "utf8"); payload = payload.replace(/\r\n/g, "\n"); let response = await util.callMultipart(request, "/v2/main/$batch", payload, requestBoundary); expect(response.statusCode).toEqual(202); @@ -160,7 +157,7 @@ describe("batch-request", () => { }); it("POST request with encoding", async () => { - let payload = fs.readFileSync("./test/_env/data/batch/Batch-POST-Charset.txt", "utf8"); + let payload = fs.readFileSync(__dirname + "/_env/util/batch/Batch-POST-Charset.txt", "utf8"); payload = payload.replace(/\r\n/g, "\n"); let response = await util.callMultipart(request, "/v2/main/$batch", payload); expect(response.statusCode).toEqual(202); @@ -181,7 +178,7 @@ describe("batch-request", () => { it("POST request changeset with misplaced content-id", async () => { const requestBoundary = "batch_f992-3b90-6e9f"; - let payload = fs.readFileSync("./test/_env/data/batch/Batch-POST-ContentId.txt", "utf8"); + let payload = fs.readFileSync(__dirname + "/_env/util/batch/Batch-POST-ContentId.txt", "utf8"); payload = payload.replace(/\r\n/g, "\n"); let response = await util.callMultipart(request, "/v2/main/$batch", payload, requestBoundary); expect(response.statusCode).toEqual(202); @@ -204,7 +201,7 @@ describe("batch-request", () => { const id = response.body.d.ID; expect(id).toBeDefined(); const requestBoundary = "batch_f992-3b90-6e9f"; - let payload = fs.readFileSync("./test/_env/data/batch/Batch-POST-Navigation.txt", "utf8"); + let payload = fs.readFileSync(__dirname + "/_env/util/batch/Batch-POST-Navigation.txt", "utf8"); payload = payload.replace(/\r\n/g, "\n"); payload = payload.replace(/{{ID}}/g, id); response = await util.callMultipart(request, "/v2/main/$batch", payload, requestBoundary); @@ -247,7 +244,7 @@ describe("batch-request", () => { expect(response.statusCode).toEqual(201); const id = response.body.d.ID; expect(id).toBeDefined(); - let payload = fs.readFileSync("./test/_env/data/batch/Batch-PUT.txt", "utf8"); + let payload = fs.readFileSync(__dirname + "/_env/util/batch/Batch-PUT.txt", "utf8"); payload = payload.replace(/\r\n/g, "\n"); payload = payload.replace(/{{ID}}/g, id); response = await util.callMultipart(request, "/v2/main/$batch", payload); @@ -276,7 +273,7 @@ describe("batch-request", () => { expect(id).toBeDefined(); const itemId = response.body.d.Items.results[0].ID; expect(itemId).toBeDefined(); - let payload = fs.readFileSync("./test/_env/data/batch/Batch-PATCH.txt", "utf8"); + let payload = fs.readFileSync(__dirname + "/_env/util/batch/Batch-PATCH.txt", "utf8"); payload = payload.replace(/\r\n/g, "\n"); payload = payload.replace(/{{ID}}/g, id); payload = payload.replace(/{{ItemID}}/g, itemId); @@ -312,7 +309,7 @@ describe("batch-request", () => { expect(id).toBeDefined(); const itemId = response.body.d.Items.results[0].ID; expect(itemId).toBeDefined(); - let payload = fs.readFileSync("./test/_env/data/batch/Batch-PATCH-ContentId.txt", "utf8"); + let payload = fs.readFileSync(__dirname + "/_env/util/batch/Batch-PATCH-ContentId.txt", "utf8"); payload = payload.replace(/\r\n/g, "\n"); payload = payload.replace(/{{ID}}/g, id); payload = payload.replace(/{{ItemID}}/g, itemId); @@ -339,7 +336,7 @@ describe("batch-request", () => { expect(response.statusCode).toEqual(201); const id = response.body.d.ID; expect(id).toBeDefined(); - let payload = fs.readFileSync("./test/_env/data/batch/Batch-DELETE.txt", "utf8"); + let payload = fs.readFileSync(__dirname + "/_env/util/batch/Batch-DELETE.txt", "utf8"); payload = payload.replace(/\r\n/g, "\n"); payload = payload.replace(/{{ID}}/g, id); response = await util.callMultipart(request, "/v2/main/$batch", payload); @@ -354,7 +351,7 @@ describe("batch-request", () => { }); it("POST action request", async () => { - let payload = fs.readFileSync("./test/_env/data/batch/Batch-Action.txt", "utf8"); + let payload = fs.readFileSync(__dirname + "/_env/util/batch/Batch-Action.txt", "utf8"); payload = payload.replace(/\r\n/g, "\n"); let response = await util.callMultipart(request, "/v2/main/$batch", payload); expect(response.statusCode).toEqual(202); @@ -400,7 +397,7 @@ describe("batch-request", () => { country: "US", }); expect(response.statusCode).toEqual(201); - let payload = fs.readFileSync("./test/_env/data/batch/Batch-GET-Escaped.txt", "utf8"); + let payload = fs.readFileSync(__dirname + "/_env/util/batch/Batch-GET-Escaped.txt", "utf8"); payload = payload.replace(/\r\n/g, "\n"); response = await util.callMultipart(request, "/v2/main/$batch", payload, undefined, { "x-forwarded-proto": "https", diff --git a/test/draft-request-test.js b/test/draft-test.js similarity index 97% rename from test/draft-request-test.js rename to test/draft-test.js index 0e9c4d2..0955273 100644 --- a/test/draft-request-test.js +++ b/test/draft-test.js @@ -1,26 +1,24 @@ "use strict"; +const cds = require("@sap/cds"); const supertest = require("supertest"); // eslint-disable-next-line no-restricted-modules const fs = require("fs"); -const env = require("./_env"); -const util = require("./_env/util"); +const util = require("./_env/util/request"); + +cds.test(__dirname + "/_env"); let request; -describe("draft-request", () => { +describe("draft", () => { beforeAll(async () => { - const context = await env("draftmodel"); - request = supertest(context.app); - }); - - afterAll(async () => { - await env.end(); + await global._init; + request = supertest(cds.app); }); it("GET service", async () => { - const response = await util.callRead(request, "/v2/draft", { + const response = await util.callRead(request, "/v2/draft/", { accept: "application/json", }); expect(response.body).toBeDefined(); @@ -42,11 +40,11 @@ describe("draft-request", () => { it("GET request", async () => { let response = await util.callRead(request, "/v2/draft/Header"); expect(response.body).toBeDefined(); - expect(response.body.d.results).toHaveLength(0); + expect(response.body.d.results).toHaveLength(6); response = await util.callRead(request, "/v2/draft/Header?$inlinecount=allpages"); expect(response.body).toBeDefined(); - expect(response.body.d.results).toHaveLength(0); - expect(response.body.d.__count).toEqual("0"); + expect(response.body.d.results).toHaveLength(6); + expect(response.body.d.__count).toEqual("6"); }); it("GET request with parameters", async () => { @@ -371,7 +369,7 @@ describe("draft-request", () => { etag = response.body.d.__metadata.etag; // 1st Batch Patch OK - let payload = fs.readFileSync("./test/_env/data/batch/Batch-MERGE-Draft.txt", "utf8"); + let payload = fs.readFileSync(__dirname + "/_env/util/batch/Batch-MERGE-Draft.txt", "utf8"); payload = payload.replace(/\r\n/g, "\n"); payload = payload.replace(/{{ID}}/g, id); payload = payload.replace(/{{ETAG}}/g, etag); @@ -385,7 +383,7 @@ describe("draft-request", () => { expect(response.body.d.__metadata.etag).toEqual(etag); // 2nd Batch Patch OK - payload = fs.readFileSync("./test/_env/data/batch/Batch-MERGE-Draft.txt", "utf8"); + payload = fs.readFileSync(__dirname + "/_env/util/batch/Batch-MERGE-Draft.txt", "utf8"); payload = payload.replace(/\r\n/g, "\n"); payload = payload.replace(/{{ID}}/g, id); payload = payload.replace(/{{ETAG}}/g, etag); diff --git a/test/service-request-test.js b/test/dummy-test.js similarity index 77% rename from test/service-request-test.js rename to test/dummy-test.js index 63f5cc8..77bef8f 100644 --- a/test/service-request-test.js +++ b/test/dummy-test.js @@ -1,21 +1,18 @@ "use strict"; +const cds = require("@sap/cds"); const supertest = require("supertest"); -const env = require("./_env"); -const util = require("./_env/util"); -const init = require("./_env/data/init"); +const util = require("./_env/util/request"); + +cds.test(__dirname + "/_env"); let request; -describe("service-request", () => { +describe("dummy", () => { beforeAll(async () => { - const context = await env("servicemodel", 0, init); - request = supertest(context.app); - }); - - afterAll(async () => { - await env.end(); + await global._init; + request = supertest(cds.app); }); it("GET service", async () => { diff --git a/test/emissions-request-test.js b/test/emissions-test.js similarity index 84% rename from test/emissions-request-test.js rename to test/emissions-test.js index 62d8440..79d28e9 100644 --- a/test/emissions-request-test.js +++ b/test/emissions-test.js @@ -1,20 +1,18 @@ "use strict"; +const cds = require("@sap/cds"); const supertest = require("supertest"); -const env = require("./_env"); -const util = require("./_env/util"); +const util = require("./_env/util/request"); + +cds.test(__dirname + "/_env"); let request; -describe("emissions-request", () => { +describe("emissions", () => { beforeAll(async () => { - const context = await env("emissionsmodel", 0); - request = supertest(context.app); - }); - - afterAll(async () => { - await env.end(); + await global._init; + request = supertest(cds.app); }); it("GET emissions", async () => { diff --git a/test/incidents-request-test.js b/test/incidents-test.js similarity index 72% rename from test/incidents-request-test.js rename to test/incidents-test.js index 99f9829..0b3d808 100644 --- a/test/incidents-request-test.js +++ b/test/incidents-test.js @@ -1,20 +1,18 @@ "use strict"; +const cds = require("@sap/cds"); const supertest = require("supertest"); -const env = require("./_env"); -const util = require("./_env/util"); +const util = require("./_env/util/request"); + +cds.test(__dirname + "/_env"); let request; -describe("incidents-request", () => { +describe("incidents", () => { beforeAll(async () => { - const context = await env("incidentsmodel", 0); - request = supertest(context.app); - }); - - afterAll(async () => { - await env.end(); + await global._init; + request = supertest(cds.app); }); it("GET incidents service", async () => { diff --git a/test/main-request-test.js b/test/main-test.js similarity index 99% rename from test/main-request-test.js rename to test/main-test.js index 582e876..fe23b13 100644 --- a/test/main-request-test.js +++ b/test/main-test.js @@ -5,24 +5,20 @@ const supertest = require("supertest"); // eslint-disable-next-line no-restricted-modules const fs = require("fs"); -const env = require("./_env"); -const util = require("./_env/util"); -const init = require("./_env/data/init"); +const util = require("./_env/util/request"); + +cds.test(__dirname + "/_env"); let request; -describe("main-request", () => { +describe("main", () => { beforeAll(async () => { - const context = await env("model", 0, init); - request = supertest(context.app); - }); - - afterAll(async () => { - await env.end(); + await global._init; + request = supertest(cds.app); }); it("Index page including V2 links", async () => { - expect(cds.services["test.MainService"].$linkProviders.length).toEqual(1); + expect(cds.services["test.MainService"].$linkProviders.length).toEqual(2); const provider = cds.services["test.MainService"].$linkProviders[0]; const link = provider("Header"); expect(link).toEqual({ @@ -631,7 +627,7 @@ describe("main-request", () => { .then((createResponse) => { expect(createResponse.statusCode).toEqual(201); const id = createResponse.body.d.ID; - const stream = fs.createReadStream("./test/_env/data/init/assets/file.png"); + const stream = fs.createReadStream(__dirname + "/_env/srv/init/assets/file.png"); const req = util.callStream(request, `/v2/main/HeaderStream(guid'${id}')/data`, true, { "content-type": "image/png", }); @@ -659,7 +655,7 @@ describe("main-request", () => { }); it("PUT request with binary", async () => { - const file = fs.readFileSync("./test/_env/data/init/assets/file.png", "utf8"); + const file = fs.readFileSync(__dirname + "/_env/srv/init/assets/file.png", "utf8"); const createResponse = await util.callWrite(request, "/v2/main/HeaderStream", { mediaType: "image/png", filename: "test.png", @@ -686,7 +682,7 @@ describe("main-request", () => { it("POST request with stream", async () => { return new Promise((done) => { - const stream = fs.createReadStream("./test/_env/data/init/assets/file.png"); + const stream = fs.createReadStream(__dirname + "/_env/srv/init/assets/file.png"); const req = util.callStream(request, `/v2/main/HeaderStream`, false, { "content-type": "image/png", slug: "file.png", @@ -728,7 +724,7 @@ describe("main-request", () => { }); it("POST request with binary", async () => { - const file = fs.readFileSync("./test/_env/data/init/assets/file.png", "utf8"); + const file = fs.readFileSync(__dirname + "/_env/srv/init/assets/file.png", "utf8"); const createResponse = await util.callBinary(request, `/v2/main/HeaderStream`, file, false, { "content-type": "image/png", slug: "file.png", @@ -763,7 +759,7 @@ describe("main-request", () => { }); it("POST request with binary with header decode", async () => { - const file = fs.readFileSync("./test/_env/data/init/assets/file.png", "utf8"); + const file = fs.readFileSync(__dirname + "/_env/srv/init/assets/file.png", "utf8"); const createResponse = await util.callBinary(request, `/v2/main/HeaderStreamDecode`, file, false, { "content-type": "image/png", slug: new Buffer(encodeURIComponent("test/file?&.png")).toString("base64"), @@ -798,7 +794,7 @@ describe("main-request", () => { }); it("POST request with multipart form-data stream", async () => { - const stream = fs.createReadStream("./test/_env/data/init/assets/file.png"); + const stream = fs.createReadStream(__dirname + "/_env/srv/init/assets/file.png"); const createResponse = await util.callAttach( request, `/v2/main/HeaderStream`, @@ -845,7 +841,7 @@ describe("main-request", () => { const createResponse = await util.callAttach( request, `/v2/main/HeaderStream`, - "./test/_env/data/init/assets/file.png", + __dirname + "/_env/srv/init/assets/file.png", false, { "content-type": "image/png", @@ -883,7 +879,7 @@ describe("main-request", () => { }); it("POST request with binary returning error", async () => { - const file = fs.readFileSync("./test/_env/data/init/assets/file.png", "utf8"); + const file = fs.readFileSync(__dirname + "/_env/srv/init/assets/file.png", "utf8"); const response = await util.callBinary(request, `/v2/main/HeaderStream`, file, false, { Authorization: "Basic ABC123", "content-type": "image/png", @@ -920,7 +916,7 @@ describe("main-request", () => { }); it("POST request with binary without media type annotations fails", async () => { - const file = fs.readFileSync("./test/_env/data/init/assets/file.png", "utf8"); + const file = fs.readFileSync(__dirname + "/_env/srv/init/assets/file.png", "utf8"); const createResponse = await util.callBinary(request, `/v2/main/HeaderBinary`, file, false, { "content-type": "image/png", name: "test", @@ -1102,6 +1098,7 @@ describe("main-request", () => { expect(response.body.d.results).toHaveLength(1); }); + // TODO: Adjust Test (https://github.tools.sap/cap/issues/issues/4468) it("GET request with filter and data type conversion on navigation fields", async () => { const sqliteError = { error: { @@ -1152,21 +1149,18 @@ describe("main-request", () => { request, `/v2/main/Header?$expand=FirstItem&$filter=stock eq 1001 and FirstItem/assoc/num eq 12.01d` ); - // TODO: cap/issues/4468 // expect(response.body.d.results).toHaveLength(1); expect(response.body).toEqual(sqliteError); response = await util.callRead( request, `/v2/main/Header?$expand=FirstItem&$filter=stock eq 1001 and FirstItem/startAt eq datetimeoffset'2020-04-14T00:00:00Z'` ); - // TODO: cap/issues/4468 // expect(response.body.d.results).toHaveLength(1); expect(response.body).toEqual(sqliteError); response = await util.callRead( request, `/v2/main/Header?$expand=FirstItem&$filter=FirstItem/name eq 'TestItem1001'` ); - // TODO: cap/issues/4468 // expect(response.body.d.results).toHaveLength(1); expect(response.body).toEqual(sqliteError); }); diff --git a/test/passenger-request-test.js b/test/passenger-test.js similarity index 84% rename from test/passenger-request-test.js rename to test/passenger-test.js index 4c1c17f..9ed1bdf 100644 --- a/test/passenger-request-test.js +++ b/test/passenger-test.js @@ -1,20 +1,18 @@ "use strict"; +const cds = require("@sap/cds"); const supertest = require("supertest"); -const env = require("./_env"); -const util = require("./_env/util"); +const util = require("./_env/util/request"); + +cds.test(__dirname + "/_env"); let request; -describe("passengers-request", () => { +describe("passenger", () => { beforeAll(async () => { - const context = await env("passengermodel", 0); - request = supertest(context.app); - }); - - afterAll(async () => { - await env.end(); + await global._init; + request = supertest(cds.app); }); it("GET passenger transportation", async () => { diff --git a/test/todo-request-test.js b/test/todo-test.js similarity index 98% rename from test/todo-request-test.js rename to test/todo-test.js index 68e3f3d..4f9ef20 100644 --- a/test/todo-request-test.js +++ b/test/todo-test.js @@ -1,23 +1,20 @@ "use strict"; +const cds = require("@sap/cds"); const supertest = require("supertest"); // eslint-disable-next-line no-restricted-modules const fs = require("fs"); -const env = require("./_env"); -const util = require("./_env/util"); -const init = require("./_env/data/init"); +const util = require("./_env/util/request"); + +cds.test(__dirname + "/_env"); let request; -describe("todo-request", () => { +describe("todo", () => { beforeAll(async () => { - const context = await env("todomodel"); - request = supertest(context.app); - }); - - afterAll(async () => { - await env.end(); + await global._init; + request = supertest(cds.app); }); it("GET request with datetime key", async () => { @@ -116,7 +113,7 @@ describe("todo-request", () => { }); it("GET request with datetime key (batch)", async () => { - let payload = fs.readFileSync("./test/_env/data/batch/Batch-GET-DateTime.txt", "utf8"); + let payload = fs.readFileSync(__dirname + "/_env/util/batch/Batch-GET-DateTime.txt", "utf8"); payload = payload.replace(/\r\n/g, "\n"); let response = await util.callMultipart(request, "/v2/todo/$batch", payload); expect(response.statusCode).toEqual(202); @@ -570,7 +567,7 @@ describe("todo-request", () => { expect(response.body.d.ID).toEqual(1); expect(response.body.d.value2).toEqual("1.61"); - let payload = fs.readFileSync("./test/_env/data/batch/Batch-PUT-Decimal.txt", "utf8"); + let payload = fs.readFileSync(__dirname + "/_env/util/batch/Batch-PUT-Decimal.txt", "utf8"); payload = payload.replace(/\r\n/g, "\n"); response = await util.callMultipart(request, "/v2/todo/$batch", payload); expect(response.statusCode).toEqual(202); diff --git a/whitesource.config.json b/whitesource.config.json deleted file mode 100644 index 250e309..0000000 --- a/whitesource.config.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "userKey": "b81e3a66bf75424b843ab1160ed98c83999bf7a88b47492885043fcca068468b", - "projectToken": "b65708956c314874a668c4a4cb44e9686530c0fc7b404b7787651e4510f30174", - "apiKey": "6971b2eec2d3420bad0caf173ec629f6a3c7d3ba63f3445ab99ffdbf1acfb1d0", - "productName": "SHC - CDS_RUNTIME 1.0", - "devDep": "false", - "forceUpdate": true, - "checkPolicies": true -}