From b8e04027d5fd309814ecb7d4ec5bc2362d4875d0 Mon Sep 17 00:00:00 2001 From: Daniel Hutzel Date: Fri, 16 Sep 2022 14:55:38 +0200 Subject: [PATCH 01/22] Added few cds.ql tests (#402) --- test/cds.ql.test.js | 75 +++++++++++++++++++++++++++++++++++++-------- 1 file changed, 63 insertions(+), 12 deletions(-) diff --git a/test/cds.ql.test.js b/test/cds.ql.test.js index c9f3f6dc..9165cfbd 100644 --- a/test/cds.ql.test.js +++ b/test/cds.ql.test.js @@ -411,18 +411,69 @@ describe('cds.ql → cqn', () => { ] }}) - expect ( - SELECT.from(Foo).where({x:1,or:{y:2}}) - ).to.eql ( - CQL`SELECT from Foo where x=1 or y=2` - ).to.eql ({ SELECT: { - from: {ref:['Foo']}, - where: [ - {ref:['x']}, '=', {val:1}, - 'or', - {ref:['y']}, '=', {val:2} - ] - }}) + const ql_with_groups_fix = !!cds.ql.Query.prototype.flat + if (ql_with_groups_fix) { + + expect ( + SELECT.from(Foo).where({x:1}).or({y:2}).and({z:3}) + ).to.eql ({ SELECT: { + from: {ref:['Foo']}, + where: [ + {ref:['x']}, '=', {val:1}, + 'or', + {ref:['y']}, '=', {val:2}, + 'and', + {ref:['z']}, '=', {val:3}, + ] + }}) + + expect ( + SELECT.from(Foo).where({x:1,or:{y:2}}).and({z:3}) + ).to.eql ({ SELECT: { + from: {ref:['Foo']}, + where: [ + {xpr:[ + {ref:['x']}, '=', {val:1}, + 'or', + {ref:['y']}, '=', {val:2}, + ]}, + 'and', + {ref:['z']}, '=', {val:3}, + ] + }}) + + expect ( + SELECT.from(Foo).where({a:1}).or({x:1,or:{y:2}}).and({z:3}) + ).to.eql ({ SELECT: { + from: {ref:['Foo']}, + where: [ + {ref:['a']}, '=', {val:1}, + 'or', + {xpr:[ + {ref:['x']}, '=', {val:1}, + 'or', + {ref:['y']}, '=', {val:2}, + ]}, + 'and', + {ref:['z']}, '=', {val:3}, + ] + }}) + + expect ( + SELECT.from(Foo).where({x:1,or:{y:2}}) + ).to.eql ({ SELECT: { + from: {ref:['Foo']}, + where: [ + {xpr:[ + {ref:['x']}, '=', {val:1}, + 'or', + {ref:['y']}, '=', {val:2}, + ]} + ] + }}) + + } + expect ( SELECT.from(Foo).where({x:1,and:{y:2}}).or({z:3}) From 65379110e2d2c1e074ef68887537ee28619eba1c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 16 Sep 2022 13:39:32 +0000 Subject: [PATCH 02/22] Bump sqlite3 from 5.1.0 to 5.1.1 (#401) Bumps [sqlite3](https://github.com/TryGhost/node-sqlite3) from 5.1.0 to 5.1.1. - [Release notes](https://github.com/TryGhost/node-sqlite3/releases) - [Commits](https://github.com/TryGhost/node-sqlite3/compare/v5.1.0...v5.1.1) --- updated-dependencies: - dependency-name: sqlite3 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5782201b..e0e084f9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2584,9 +2584,9 @@ } }, "node_modules/sqlite3": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.0.tgz", - "integrity": "sha512-/cZl9DfeSQMWR5g9SdluHGt+YL3URetjtvgv1XPQx7rzXOFdZx30EnZj709wCEIznjjzZdo5Lmt5GUeNyGgUbQ==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.1.tgz", + "integrity": "sha512-mMinkrQr/LKJqFiFF+AF7imPSzRCCpTCreusZO3D/ssJHVjZOrbu2Caz+zPH5KTmGGXBxXMGSRDssL+44CLxvg==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -4883,9 +4883,9 @@ } }, "sqlite3": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.0.tgz", - "integrity": "sha512-/cZl9DfeSQMWR5g9SdluHGt+YL3URetjtvgv1XPQx7rzXOFdZx30EnZj709wCEIznjjzZdo5Lmt5GUeNyGgUbQ==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.1.tgz", + "integrity": "sha512-mMinkrQr/LKJqFiFF+AF7imPSzRCCpTCreusZO3D/ssJHVjZOrbu2Caz+zPH5KTmGGXBxXMGSRDssL+44CLxvg==", "dev": true, "requires": { "@mapbox/node-pre-gyp": "^1.0.0", From aa5fda976abadbcb77ed1537a6219993a891948d Mon Sep 17 00:00:00 2001 From: Christian Georgi Date: Fri, 16 Sep 2022 15:46:20 +0200 Subject: [PATCH 04/22] Support csrf tokens in Vue app (#394) --- bookshop/app/vue/app.js | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/bookshop/app/vue/app.js b/bookshop/app/vue/app.js index 18e4ef23..b637d115 100644 --- a/bookshop/app/vue/app.js +++ b/bookshop/app/vue/app.js @@ -56,7 +56,7 @@ const books = Vue.createApp ({ } catch (err) { books.user = { id: err.message } } }, } -}).mount("#app") +}).mount('#app') books.getUserInfo() books.fetch() // initially fill list of books @@ -65,3 +65,25 @@ document.addEventListener('keydown', (event) => { // hide user info on request if (event.key === 'u') books.user = undefined }) + +axios.interceptors.request.use(csrfToken) +function csrfToken (request) { + if (request.method === 'head' || request.method === 'get') return request + if ('csrfToken' in document) { + request.headers['x-csrf-token'] = document.csrfToken + return request + } + return fetchToken().then(token => { + document.csrfToken = token + request.headers['x-csrf-token'] = document.csrfToken + return request + }).catch(_ => { + document.csrfToken = null // set mark to not try again + return request + }) + + function fetchToken() { + return axios.get('/', { headers: { 'x-csrf-token': 'fetch' } }) + .then(res => res.headers['x-csrf-token']) + } +} \ No newline at end of file From 47655c5f48680298eb1da8d1c871f8fb03376da0 Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 16 Sep 2022 18:43:11 +0200 Subject: [PATCH 05/22] unlock --- test/cds.ql.test.js | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/test/cds.ql.test.js b/test/cds.ql.test.js index 9165cfbd..9e27599e 100644 --- a/test/cds.ql.test.js +++ b/test/cds.ql.test.js @@ -411,7 +411,7 @@ describe('cds.ql → cqn', () => { ] }}) - const ql_with_groups_fix = !!cds.ql.Query.prototype.flat + const ql_with_groups_fix = false if (ql_with_groups_fix) { expect ( @@ -464,11 +464,9 @@ describe('cds.ql → cqn', () => { ).to.eql ({ SELECT: { from: {ref:['Foo']}, where: [ - {xpr:[ - {ref:['x']}, '=', {val:1}, - 'or', - {ref:['y']}, '=', {val:2}, - ]} + {ref:['x']}, '=', {val:1}, + 'or', + {ref:['y']}, '=', {val:2}, ] }}) From 36b339a36243fc424ddb10da38f25ad1cf504d60 Mon Sep 17 00:00:00 2001 From: Daniel Hutzel Date: Tue, 20 Sep 2022 16:52:40 +0200 Subject: [PATCH 06/22] Re-enabling tests for cds.ql where clauses fix (#403) --- test/cds.ql.test.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/cds.ql.test.js b/test/cds.ql.test.js index 9e27599e..e3c76e42 100644 --- a/test/cds.ql.test.js +++ b/test/cds.ql.test.js @@ -411,7 +411,7 @@ describe('cds.ql → cqn', () => { ] }}) - const ql_with_groups_fix = false + const ql_with_groups_fix = !!cds.ql.Query.prototype.flat if (ql_with_groups_fix) { expect ( @@ -460,7 +460,7 @@ describe('cds.ql → cqn', () => { }}) expect ( - SELECT.from(Foo).where({x:1,or:{y:2}}) + { SELECT: SELECT.from(Foo).where({x:1,or:{y:2}}).SELECT } ).to.eql ({ SELECT: { from: {ref:['Foo']}, where: [ From 6bb51a8807008f434e37ec22c49ee6895a83b55c Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 20 Sep 2022 21:41:59 +0200 Subject: [PATCH 07/22] minor --- bookstore/server.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookstore/server.js b/bookstore/server.js index 15a41c60..26f5d843 100644 --- a/bookstore/server.js +++ b/bookstore/server.js @@ -19,4 +19,4 @@ module.exports = cds.server // For didactic reasons in capire const { ReviewsService, OrdersService } = cds.requires -if (!ReviewsService.credentials && !OrdersService.credentials) cds.requires.messaging = false +if (!ReviewsService?.credentials && !OrdersService?.credentials) cds.requires.messaging = false From e419fda74ea927381161501f3a531d41da41a791 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 21 Sep 2022 16:33:29 +0200 Subject: [PATCH 08/22] UserService entities are persistence.skipped --- bookshop/srv/user-service.cds | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookshop/srv/user-service.cds b/bookshop/srv/user-service.cds index 47f58971..09b7676f 100644 --- a/bookshop/srv/user-service.cds +++ b/bookshop/srv/user-service.cds @@ -5,7 +5,7 @@ service UserService { /** * The current user */ - @odata.singleton entity me { + @odata.singleton entity me @cds.persistence.skip { id : String; // user id locale : String; tenant : String; From 254362daa1b572f10b862084a61d1fc90d69f755 Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 22 Sep 2022 17:09:20 +0200 Subject: [PATCH 09/22] Fine-tuned data-service definition --- data-viewer/srv/data-service.cds | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/data-viewer/srv/data-service.cds b/data-viewer/srv/data-service.cds index 0420d309..d03cfce4 100644 --- a/data-viewer/srv/data-service.cds +++ b/data-viewer/srv/data-service.cds @@ -2,12 +2,12 @@ * Exposes data + entity metadata */ @requires:'authenticated-user' -service DataService @( path:'-data' ) { +@odata service DataService @( path:'-data' ) { /** * Metadata like name and columns/elements */ - entity Entities { + entity Entities @cds.persistence.skip { key name : String; columns: Composition of many { name : String; @@ -19,7 +19,7 @@ service DataService @( path:'-data' ) { /** * The actual data, organized by column name */ - entity Data { + entity Data @cds.persistence.skip { record : array of { column : String; data : String; From a069f2d7de617ee4ec9c7dcfe83283a9edfada00 Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 30 Sep 2022 10:07:39 +0200 Subject: [PATCH 10/22] Using reflected entitites --- bookshop/srv/cat-service.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bookshop/srv/cat-service.js b/bookshop/srv/cat-service.js index eb314db5..3c557078 100644 --- a/bookshop/srv/cat-service.js +++ b/bookshop/srv/cat-service.js @@ -2,7 +2,8 @@ const cds = require('@sap/cds') class CatalogService extends cds.ApplicationService { init(){ - const { Books } = this.entities ('sap.capire.bookshop') + const { Books } = cds.entities ('sap.capire.bookshop') + const { ListOfBooks } = this.entities // Reduce stock of ordered books if available stock suffices this.on ('submitOrder', async req => { @@ -18,7 +19,7 @@ class CatalogService extends cds.ApplicationService { init(){ }) // Add some discount for overstocked books - this.after ('READ','ListOfBooks', each => { + this.after ('READ', ListOfBooks, each => { if (each.stock > 111) each.title += ` -- 11% discount!` }) From 8676f7184d16ddfffe2a3fb82af8d6d4c631126a Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 3 Oct 2022 12:18:40 +0200 Subject: [PATCH 11/22] . --- .eslintrc | 5 ++++- .gitignore | 1 + .vscode/settings.json | 12 ++++++++++-- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/.eslintrc b/.eslintrc index aaf7f04f..3589f2c5 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,5 +1,8 @@ { - "extends": "eslint:recommended", + "extends": [ + "eslint:recommended", + "plugin:@sap/cds/recommended" + ], "env": { "browser": true, "es2022": true, diff --git a/.gitignore b/.gitignore index 9f14d60b..ad02db0e 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ reviews/msg-box reviews/db/test.db *.openapi3.json +*.db diff --git a/.vscode/settings.json b/.vscode/settings.json index 70b6c043..44342b41 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -14,5 +14,13 @@ "**/odata-v4/okra/**" ] }, - "mochaExplorer.parallel": true -} + "mochaExplorer.parallel": true, + "eslint.validate": [ + "cds", + "csn", + "csv", + "csv (semicolon)", + "tsv", + "tab" + ] +} \ No newline at end of file From e2226459352e4b2c4af0c22d939776e7dfc12922 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 3 Oct 2022 12:19:20 +0200 Subject: [PATCH 12/22] . --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index ad02db0e..c4d1b518 100644 --- a/.gitignore +++ b/.gitignore @@ -18,4 +18,5 @@ reviews/msg-box reviews/db/test.db *.openapi3.json +*.sqlite *.db From 92f7489def74dfd9401ee03c976c331996a85c2c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Oct 2022 10:36:43 +0200 Subject: [PATCH 13/22] Bump sqlite3 from 5.1.1 to 5.1.2 (#404) Bumps [sqlite3](https://github.com/TryGhost/node-sqlite3) from 5.1.1 to 5.1.2. - [Release notes](https://github.com/TryGhost/node-sqlite3/releases) - [Commits](https://github.com/TryGhost/node-sqlite3/compare/v5.1.1...v5.1.2) --- updated-dependencies: - dependency-name: sqlite3 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index e0e084f9..212c465c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2584,9 +2584,9 @@ } }, "node_modules/sqlite3": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.1.tgz", - "integrity": "sha512-mMinkrQr/LKJqFiFF+AF7imPSzRCCpTCreusZO3D/ssJHVjZOrbu2Caz+zPH5KTmGGXBxXMGSRDssL+44CLxvg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.2.tgz", + "integrity": "sha512-D0Reg6pRWAFXFUnZKsszCI67tthFD8fGPewRddDCX6w4cYwz3MbvuwRICbL+YQjBAh9zbw+lJ/V9oC8nG5j6eg==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -4883,9 +4883,9 @@ } }, "sqlite3": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.1.tgz", - "integrity": "sha512-mMinkrQr/LKJqFiFF+AF7imPSzRCCpTCreusZO3D/ssJHVjZOrbu2Caz+zPH5KTmGGXBxXMGSRDssL+44CLxvg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.2.tgz", + "integrity": "sha512-D0Reg6pRWAFXFUnZKsszCI67tthFD8fGPewRddDCX6w4cYwz3MbvuwRICbL+YQjBAh9zbw+lJ/V9oC8nG5j6eg==", "dev": true, "requires": { "@mapbox/node-pre-gyp": "^1.0.0", From ee2fdd098994525af437eacba8e7def5bc998a21 Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 4 Oct 2022 11:48:01 +0200 Subject: [PATCH 14/22] cosmetics --- fiori/app/browse/fiori-service.cds | 2 +- fiori/app/common.cds | 345 ++++++++++++------------- orders/app/fiori.cds | 5 +- orders/app/orders/index.html | 2 +- orders/app/orders/webapp/manifest.json | 4 +- orders/db/schema.cds | 2 +- 6 files changed, 173 insertions(+), 187 deletions(-) diff --git a/fiori/app/browse/fiori-service.cds b/fiori/app/browse/fiori-service.cds index ef960b29..def17d31 100644 --- a/fiori/app/browse/fiori-service.cds +++ b/fiori/app/browse/fiori-service.cds @@ -33,7 +33,7 @@ annotate CatalogService.Books with @(UI : { //////////////////////////////////////////////////////////////////////////// // -// Books Object Page +// Books List Page // annotate CatalogService.Books with @(UI : { SelectionFields : [ diff --git a/fiori/app/common.cds b/fiori/app/common.cds index 7337c56a..1f396d8d 100644 --- a/fiori/app/common.cds +++ b/fiori/app/common.cds @@ -10,40 +10,31 @@ using { sap.common } from '@capire/common'; // Books Lists // annotate my.Books with @( - Common.SemanticKey : [ID], - UI : { - Identification : [{Value : title}], - SelectionFields : [ - ID, - author_ID, - price, - currency_code - ], - LineItem : [ - { - Value : ID, - Label : '{i18n>Title}' - }, - { - Value : author.ID, - Label : '{i18n>Author}' - }, - {Value : genre.name}, - {Value : stock}, - {Value : price}, - { - Value : currency.symbol, - Label : ' ' - }, - ] - } + Common.SemanticKey : [ID], + UI : { + Identification : [{ Value: title }], + SelectionFields : [ + ID, + author_ID, + price, + currency_code + ], + LineItem : [ + { Value: ID, Label: '{i18n>Title}' }, + { Value: author.ID, Label: '{i18n>Author}' }, + { Value: genre.name }, + { Value: stock }, + { Value: price }, + { Value: currency.symbol, Label: ' ' }, + ] + } ) { - ID @Common: { - SemanticObject : 'Books', - Text: title, - TextArrangement : #TextOnly - }; - author @ValueList.entity : 'Authors'; + ID @Common: { + SemanticObject : 'Books', + Text: title, + TextArrangement : #TextOnly + }; + author @ValueList.entity : 'Authors'; }; //////////////////////////////////////////////////////////////////////////// @@ -51,10 +42,10 @@ annotate my.Books with @( // Books Details // annotate my.Books with @(UI : {HeaderInfo : { - TypeName : '{i18n>Book}', - TypeNamePlural : '{i18n>Books}', - Title : {Value : title}, - Description : {Value : author.name} + TypeName : '{i18n>Book}', + TypeNamePlural : '{i18n>Books}', + Title : { Value: title }, + Description : { Value: author.name } }, }); @@ -63,19 +54,13 @@ annotate my.Books with @(UI : {HeaderInfo : { // Books Elements // annotate my.Books with { - ID @title : '{i18n>ID}'; - title @title : '{i18n>Title}'; - genre @title : '{i18n>Genre}' @Common : { - Text : genre.name, - TextArrangement : #TextOnly - }; - author @title : '{i18n>Author}' @Common : { - Text : author.name, - TextArrangement : #TextOnly - }; - price @title : '{i18n>Price}' @Measures.ISOCurrency : currency_code; - stock @title : '{i18n>Stock}'; - descr @UI.MultiLineText; + ID @title: '{i18n>ID}'; + title @title: '{i18n>Title}'; + genre @title: '{i18n>Genre}' @Common: { Text: genre.name, TextArrangement: #TextOnly }; + author @title: '{i18n>Author}' @Common: { Text: author.name, TextArrangement: #TextOnly }; + price @title: '{i18n>Price}' @Measures.ISOCurrency : currency_code; + stock @title: '{i18n>Stock}'; + descr @UI.MultiLineText; } //////////////////////////////////////////////////////////////////////////// @@ -83,17 +68,17 @@ annotate my.Books with { // Genres List // annotate my.Genres with @( - Common.SemanticKey : [name], - UI : { - SelectionFields : [name], - LineItem : [ - {Value : name}, - { - Value : parent.name, - Label : 'Main Genre' - }, - ], - } + Common.SemanticKey : [name], + UI : { + SelectionFields : [name], + LineItem : [ + { Value: name }, + { + Value : parent.name, + Label: 'Main Genre' + }, + ], + } ); //////////////////////////////////////////////////////////////////////////// @@ -101,18 +86,18 @@ annotate my.Genres with @( // Genre Details // annotate my.Genres with @(UI : { - Identification : [{Value : name}], - HeaderInfo : { - TypeName : '{i18n>Genre}', - TypeNamePlural : '{i18n>Genres}', - Title : {Value : name}, - Description : {Value : ID} - }, - Facets : [{ - $Type : 'UI.ReferenceFacet', - Label : '{i18n>SubGenres}', - Target : 'children/@UI.LineItem' - }, ], + Identification : [{ Value: name}], + HeaderInfo : { + TypeName : '{i18n>Genre}', + TypeNamePlural : '{i18n>Genres}', + Title : { Value: name }, + Description : { Value: ID } + }, + Facets : [{ + $Type : 'UI.ReferenceFacet', + Label : '{i18n>SubGenres}', + Target : 'children/@UI.LineItem' + }, ], }); //////////////////////////////////////////////////////////////////////////// @@ -120,8 +105,8 @@ annotate my.Genres with @(UI : { // Genres Elements // annotate my.Genres with { - ID @title : '{i18n>ID}'; - name @title : '{i18n>Genre}'; + ID @title: '{i18n>ID}'; + name @title: '{i18n>Genre}'; } //////////////////////////////////////////////////////////////////////////// @@ -129,24 +114,24 @@ annotate my.Genres with { // Authors List // annotate my.Authors with @( - Common.SemanticKey : [ID], - UI : { - Identification : [{Value : name}], - SelectionFields : [name], - LineItem : [ - {Value : ID}, - {Value : dateOfBirth}, - {Value : dateOfDeath}, - {Value : placeOfBirth}, - {Value : placeOfDeath}, - ], - } + Common.SemanticKey : [ID], + UI : { + Identification : [{ Value: name}], + SelectionFields : [name], + LineItem : [ + { Value: ID }, + { Value: dateOfBirth }, + { Value: dateOfDeath }, + { Value: placeOfBirth }, + { Value: placeOfDeath }, + ], + } ) { - ID @Common: { - SemanticObject : 'Authors', - Text: name, - TextArrangement : #TextOnly, - }; + ID @Common: { + SemanticObject : 'Authors', + Text: name, + TextArrangement : #TextOnly, + }; }; //////////////////////////////////////////////////////////////////////////// @@ -154,16 +139,16 @@ annotate my.Authors with @( // Author Details // annotate my.Authors with @(UI : { - HeaderInfo : { - TypeName : '{i18n>Author}', - TypeNamePlural : '{i18n>Authors}', - Title : {Value : name}, - Description : {Value : dateOfBirth} - }, - Facets : [{ - $Type : 'UI.ReferenceFacet', - Target : 'books/@UI.LineItem' - }, ], + HeaderInfo : { + TypeName : '{i18n>Author}', + TypeNamePlural : '{i18n>Authors}', + Title : { Value: name }, + Description : { Value: dateOfBirth } + }, + Facets : [{ + $Type : 'UI.ReferenceFacet', + Target : 'books/@UI.LineItem' + }, ], }); @@ -172,12 +157,12 @@ annotate my.Authors with @(UI : { // Authors Elements // annotate my.Authors with { - ID @title : '{i18n>ID}'; - name @title : '{i18n>Name}'; - dateOfBirth @title : '{i18n>DateOfBirth}'; - dateOfDeath @title : '{i18n>DateOfDeath}'; - placeOfBirth @title : '{i18n>PlaceOfBirth}'; - placeOfDeath @title : '{i18n>PlaceOfDeath}'; + ID @title: '{i18n>ID}'; + name @title: '{i18n>Name}'; + dateOfBirth @title: '{i18n>DateOfBirth}'; + dateOfDeath @title: '{i18n>DateOfDeath}'; + placeOfBirth @title: '{i18n>PlaceOfBirth}'; + placeOfDeath @title: '{i18n>PlaceOfDeath}'; } //////////////////////////////////////////////////////////////////////////// @@ -185,18 +170,18 @@ annotate my.Authors with { // Languages List // annotate common.Languages with @( - Common.SemanticKey : [code], - Identification : [{Value : code}], - UI : { - SelectionFields : [ - name, - descr - ], - LineItem : [ - {Value : code}, - {Value : name}, - ], - } + Common.SemanticKey : [code], + Identification : [{ Value: code}], + UI : { + SelectionFields : [ + name, + descr + ], + LineItem : [ + { Value: code }, + { Value: name }, + ], + } ); //////////////////////////////////////////////////////////////////////////// @@ -204,22 +189,22 @@ annotate common.Languages with @( // Language Details // annotate common.Languages with @(UI : { - HeaderInfo : { - TypeName : '{i18n>Language}', - TypeNamePlural : '{i18n>Languages}', - Title : {Value : name}, - Description : {Value : descr} - }, - Facets : [{ - $Type : 'UI.ReferenceFacet', - Label : '{i18n>Details}', - Target : '@UI.FieldGroup#Details' - }, ], - FieldGroup #Details : {Data : [ - {Value : code}, - {Value : name}, - {Value : descr} - ]}, + HeaderInfo : { + TypeName : '{i18n>Language}', + TypeNamePlural : '{i18n>Languages}', + Title : { Value: name }, + Description : { Value: descr } + }, + Facets : [{ + $Type : 'UI.ReferenceFacet', + Label : '{i18n>Details}', + Target : '@UI.FieldGroup#Details' + }, ], + FieldGroup #Details : {Data : [ + { Value: code }, + { Value: name }, + { Value: descr } + ]}, }); //////////////////////////////////////////////////////////////////////////// @@ -227,19 +212,19 @@ annotate common.Languages with @(UI : { // Currencies List // annotate common.Currencies with @( - Common.SemanticKey : [code], - Identification : [{Value : code}], - UI : { - SelectionFields : [ - name, - descr - ], - LineItem : [ - {Value : descr}, - {Value : symbol}, - {Value : code}, - ], - } + Common.SemanticKey : [code], + Identification : [{ Value: code}], + UI : { + SelectionFields : [ + name, + descr + ], + LineItem : [ + { Value: descr }, + { Value: symbol }, + { Value: code }, + ], + } ); //////////////////////////////////////////////////////////////////////////// @@ -247,35 +232,35 @@ annotate common.Currencies with @( // Currency Details // annotate common.Currencies with @(UI : { - HeaderInfo : { - TypeName : '{i18n>Currency}', - TypeNamePlural : '{i18n>Currencies}', - Title : {Value : descr}, - Description : {Value : code} + HeaderInfo : { + TypeName : '{i18n>Currency}', + TypeNamePlural : '{i18n>Currencies}', + Title : { Value: descr }, + Description : { Value: code } + }, + Facets : [ + { + $Type : 'UI.ReferenceFacet', + Label : '{i18n>Details}', + Target : '@UI.FieldGroup#Details' }, - Facets : [ - { - $Type : 'UI.ReferenceFacet', - Label : '{i18n>Details}', - Target : '@UI.FieldGroup#Details' - }, - { - $Type : 'UI.ReferenceFacet', - Label : '{i18n>Extended}', - Target : '@UI.FieldGroup#Extended' - }, - ], - FieldGroup #Details : {Data : [ - {Value : name}, - {Value : symbol}, - {Value : code}, - {Value : descr} - ]}, - FieldGroup #Extended : {Data : [ - {Value : numcode}, - {Value : minor}, - {Value : exponent} - ]}, + { + $Type : 'UI.ReferenceFacet', + Label : '{i18n>Extended}', + Target : '@UI.FieldGroup#Extended' + }, + ], + FieldGroup #Details : {Data : [ + { Value: name }, + { Value: symbol }, + { Value: code }, + { Value: descr } + ]}, + FieldGroup #Extended : {Data : [ + { Value: numcode }, + { Value: minor }, + { Value: exponent } + ]}, }); //////////////////////////////////////////////////////////////////////////// @@ -283,7 +268,7 @@ annotate common.Currencies with @(UI : { // Currencies Elements // annotate common.Currencies with { - numcode @title : '{i18n>NumCode}'; - minor @title : '{i18n>MinorUnit}'; - exponent @title : '{i18n>Exponent}'; + numcode @title: '{i18n>NumCode}'; + minor @title: '{i18n>MinorUnit}'; + exponent @title: '{i18n>Exponent}'; } diff --git a/orders/app/fiori.cds b/orders/app/fiori.cds index e3644ede..8e2a3ab6 100644 --- a/orders/app/fiori.cds +++ b/orders/app/fiori.cds @@ -16,11 +16,12 @@ using { OrdersService } from '../srv/orders-service'; @odata.draft.enabled annotate OrdersService.Orders with @( UI: { - SelectionFields: [ createdAt, createdBy ], + SelectionFields: [ createdBy ], LineItem: [ {Value: OrderNo, Label:'OrderNo'}, {Value: buyer, Label:'Customer'}, - {Value: createdAt, Label:'Date'} + {Value: currency.symbol, Label:'Currency'}, + {Value: createdAt, Label:'Date'}, ], HeaderInfo: { TypeName: 'Order', TypeNamePlural: 'Orders', diff --git a/orders/app/orders/index.html b/orders/app/orders/index.html index 6324cec3..5761894b 100644 --- a/orders/app/orders/index.html +++ b/orders/app/orders/index.html @@ -13,7 +13,7 @@ applications: { "manage-orders": { title: "Manage Orders", - description: "... testing FE v42", + description: "CAP Sample App", additionalInformation: "SAPUI5.Component=orders", applicationType : "URL", url: "/orders/webapp", diff --git a/orders/app/orders/webapp/manifest.json b/orders/app/orders/webapp/manifest.json index 045fa70a..257be403 100644 --- a/orders/app/orders/webapp/manifest.json +++ b/orders/app/orders/webapp/manifest.json @@ -3,8 +3,8 @@ "sap.app": { "id": "orders", "type": "application", - "title": "Order Books", - "description": "Sample Application", + "title": "Order Management", + "description": "CAP Sample Application", "i18n": "i18n/i18n.properties", "dataSources": { "OrdersService": { diff --git a/orders/db/schema.cds b/orders/db/schema.cds index 85effeaf..ec9549ac 100644 --- a/orders/db/schema.cds +++ b/orders/db/schema.cds @@ -2,7 +2,7 @@ using { Currency, User, managed, cuid } from '@sap/cds/common'; namespace sap.capire.orders; entity Orders : cuid, managed { - OrderNo : String @title:'Order Number'; //> readable key + OrderNo : String(22) @title:'Order Number'; //> readable key Items : Composition of many { key ID : UUID; product : Association to Products; From bd0f51402608b8bb2c172f80980b97f4635eba52 Mon Sep 17 00:00:00 2001 From: Daniel Hutzel Date: Tue, 4 Oct 2022 11:59:22 +0200 Subject: [PATCH 15/22] Updated workspace setup (#406) --- package-lock.json | 389 ++++++++++++++++++++++++++++------------------ package.json | 10 +- 2 files changed, 243 insertions(+), 156 deletions(-) diff --git a/package-lock.json b/package-lock.json index 212c465c..9432d94c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,15 @@ "version": "2.0.0", "license": "SAP SAMPLE CODE LICENSE", "workspaces": [ - "./*/" + "./bookshop", + "./bookstore", + "./common", + "./data-viewer", + "./fiori", + "./hello", + "./media", + "./orders", + "./reviews" ], "dependencies": { "@sap/cds": ">=5.5.3" @@ -102,9 +110,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", "dev": true, "engines": { "node": ">=6.9.0" @@ -239,9 +247,9 @@ "optional": true }, "node_modules/@jest/expect-utils": { - "version": "29.0.1", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.0.1.tgz", - "integrity": "sha512-Tw5kUUOKmXGQDmQ9TSgTraFFS7HMC1HG/B7y0AN2G2UzjdAXz9BzK2rmNpCSDl7g7y0Gf/VLBm//blonvhtOTQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.1.2.tgz", + "integrity": "sha512-4a48bhKfGj/KAH39u0ppzNTABXQ8QPccWAFUFobWBaEMSMp+sB31Z2fK/l47c4a/Mu1po2ffmfAIPxXbVTXdtg==", "dev": true, "dependencies": { "jest-get-type": "^29.0.0" @@ -263,9 +271,9 @@ } }, "node_modules/@jest/types": { - "version": "29.0.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.1.tgz", - "integrity": "sha512-ft01rxzVsbh9qZPJ6EFgAIj3PT9FCRfBF9Xljo2/33VDOUjLZr0ZJ2oKANqh9S/K0/GERCsHDAQlBwj7RxA+9g==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", + "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -280,9 +288,9 @@ } }, "node_modules/@mapbox/node-pre-gyp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.9.tgz", - "integrity": "sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz", + "integrity": "sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==", "dev": true, "dependencies": { "detect-libc": "^2.0.0", @@ -371,23 +379,26 @@ } }, "node_modules/@sap/cds-odata-v2-adapter-proxy": { - "version": "1.9.6", - "resolved": "https://registry.npmjs.org/@sap/cds-odata-v2-adapter-proxy/-/cds-odata-v2-adapter-proxy-1.9.6.tgz", - "integrity": "sha512-yKBeDPKwpDuvVFQvtLmuaZX+nm3JToymsfFEjb9tLUcpNp3JYJoj0hyYsRUabe1VXjab2bYi2SL7H8OI/RfuUQ==", + "version": "1.9.9", + "resolved": "https://registry.npmjs.org/@sap/cds-odata-v2-adapter-proxy/-/cds-odata-v2-adapter-proxy-1.9.9.tgz", + "integrity": "sha512-GeiSURVFUz/ynvfXzh7rHRetD409cmraaf5/Q55WiYdwrjyRYvhMNH9EWu0OJo600h7mhAkN2XReEWChkiVr1A==", "dependencies": { + "body-parser": "^1.20.0", + "body-parser-xml": "^2.0.3", "express": "^4.18.1", "express-fileupload": "^1.4.0", "http-proxy-middleware": "^2.0.6", - "node-fetch": "^2.6.7" + "node-fetch": "^2.6.7", + "xml2js": "^0.4.23" }, "engines": { "node": ">=8" } }, "node_modules/@sinclair/typebox": { - "version": "0.24.34", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.34.tgz", - "integrity": "sha512-x3ejWKw7rpy30Bvm6U0AQMOHdjqe2E3YJrBHlTxH0KFsp77bBa+MH324nJxtXZFpnTy/JW2h5HPYVm0vG2WPnw==", + "version": "0.24.44", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.44.tgz", + "integrity": "sha512-ka0W0KN5i6LfrSocduwliMMpqVgohtPFidKdMEOUjoOFCHcOOYkKsPRxfs5f15oPNHTm6ERAm0GV/+/LTKeiWg==", "dev": true }, "node_modules/@tootallnate/once": { @@ -433,9 +444,9 @@ } }, "node_modules/@types/jest": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.0.0.tgz", - "integrity": "sha512-X6Zjz3WO4cT39Gkl0lZ2baFRaEMqJl5NC1OjElkwtNzAlbkr2K/WJXkBkH5VP0zx4Hgsd2TZYdOEfvp2Dxia+Q==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.1.1.tgz", + "integrity": "sha512-U9Ey07dGWl6fUFaIaUQUKWG5NoKi/zizeVQCGV8s4nSU0jPgqphVZvS64+8BtWYvrc3ZGw6wo943NSYPxkrp/g==", "dev": true, "dependencies": { "expect": "^29.0.0", @@ -443,9 +454,9 @@ } }, "node_modules/@types/node": { - "version": "18.7.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.14.tgz", - "integrity": "sha512-6bbDaETVi8oyIARulOE9qF1/Qdi/23z6emrUh0fNJRUmjznqrixD4MpGDdgOFk5Xb0m2H6Xu42JGdvAxaJR/wA==" + "version": "18.8.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.1.tgz", + "integrity": "sha512-vuYaNuEIbOYLTLUAJh50ezEbvxrD43iby+lpUA2aa148Nh5kX/AVO/9m1Ahmbux2iU5uxJTNF9g2Y+31uml7RQ==" }, "node_modules/@types/stack-utils": { "version": "2.0.1", @@ -454,9 +465,9 @@ "dev": true }, "node_modules/@types/yargs": { - "version": "17.0.12", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.12.tgz", - "integrity": "sha512-Nz4MPhecOFArtm81gFQvQqdV7XYCrWKx5uUt6GNHredFHn1i2mtWqXTON7EPXMtNi1qjtjEM/VCHDhcHsAMLXQ==", + "version": "17.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", + "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -649,6 +660,17 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/body-parser-xml": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/body-parser-xml/-/body-parser-xml-2.0.3.tgz", + "integrity": "sha512-tWvcAbh8QPd/lj+yfGZBMY/roof/e2iSXrJbYXYjxVhHQ88D2CF3AxDTdwhb9wcNdHVNbCttaWipchJPEs5r0g==", + "dependencies": { + "xml2js": "^0.4.23" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/body-parser/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -837,9 +859,9 @@ } }, "node_modules/ci-info": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.2.tgz", - "integrity": "sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz", + "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==", "dev": true }, "node_modules/clean-stack": { @@ -1089,16 +1111,16 @@ "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" }, "node_modules/expect": { - "version": "29.0.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.0.1.tgz", - "integrity": "sha512-yQgemsjLU+1S8t2A7pXT3Sn/v5/37LY8J+tocWtKEA0iEYYc6gfKbbJJX2fxHZmd7K9WpdbQqXUpmYkq1aewYg==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.1.2.tgz", + "integrity": "sha512-AuAGn1uxva5YBbBlXb+2JPxJRuemZsmlGcapPXWNSBNsQtAULfjioREGBWuI0EOvYUKjDnrCy8PW5Zlr1md5mw==", "dev": true, "dependencies": { - "@jest/expect-utils": "^29.0.1", + "@jest/expect-utils": "^29.1.2", "jest-get-type": "^29.0.0", - "jest-matcher-utils": "^29.0.1", - "jest-message-util": "^29.0.1", - "jest-util": "^29.0.1" + "jest-matcher-utils": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-util": "^29.1.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -1219,9 +1241,9 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", "funding": [ { "type": "individual", @@ -1311,9 +1333,9 @@ } }, "node_modules/generic-pool": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-3.8.2.tgz", - "integrity": "sha512-nGToKy6p3PAbYQ7p1UlWl6vSPwfwU6TMSWK7TTu+WUY4ZjyZQGniGGt2oNVvyNSpyZYSB43zMXVLcBm08MTMkg==", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-3.9.0.tgz", + "integrity": "sha512-hymDOu5B53XvN4QT9dBmZxPX4CWhBPPLguTZ9MMFeFa/Kg0xWVfylOVNlJji/E7yTZWFd/q9GO5TxDLq156D7g==", "engines": { "node": ">= 4" } @@ -1328,9 +1350,9 @@ } }, "node_modules/get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -1638,15 +1660,15 @@ "optional": true }, "node_modules/jest-diff": { - "version": "29.0.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.0.1.tgz", - "integrity": "sha512-l8PYeq2VhcdxG9tl5cU78ClAlg/N7RtVSp0v3MlXURR0Y99i6eFnegmasOandyTmO6uEdo20+FByAjBFEO9nuw==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.1.2.tgz", + "integrity": "sha512-4GQts0aUopVvecIT4IwD/7xsBaMhKTYoM4/njE/aVw9wpw+pIUVp8Vab/KnSzSilr84GnLBkaP3JLDnQYCKqVQ==", "dev": true, "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.0.0", "jest-get-type": "^29.0.0", - "pretty-format": "^29.0.1" + "pretty-format": "^29.1.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -1662,33 +1684,33 @@ } }, "node_modules/jest-matcher-utils": { - "version": "29.0.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.0.1.tgz", - "integrity": "sha512-/e6UbCDmprRQFnl7+uBKqn4G22c/OmwriE5KCMVqxhElKCQUDcFnq5XM9iJeKtzy4DUjxT27y9VHmKPD8BQPaw==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.1.2.tgz", + "integrity": "sha512-MV5XrD3qYSW2zZSHRRceFzqJ39B2z11Qv0KPyZYxnzDHFeYZGJlgGi0SW+IXSJfOewgJp/Km/7lpcFT+cgZypw==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "jest-diff": "^29.0.1", + "jest-diff": "^29.1.2", "jest-get-type": "^29.0.0", - "pretty-format": "^29.0.1" + "pretty-format": "^29.1.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-message-util": { - "version": "29.0.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.1.tgz", - "integrity": "sha512-wRMAQt3HrLpxSubdnzOo68QoTfQ+NLXFzU0Heb18ZUzO2S9GgaXNEdQ4rpd0fI9dq2NXkpCk1IUWSqzYKji64A==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz", + "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.0.1", + "@jest/types": "^29.1.2", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.0.1", + "pretty-format": "^29.1.2", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -1697,12 +1719,12 @@ } }, "node_modules/jest-util": { - "version": "29.0.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.1.tgz", - "integrity": "sha512-GIWkgNfkeA9d84rORDHPGGTFBrRD13A38QVSKE0bVrGSnoR1KDn8Kqz+0yI5kezMgbT/7zrWaruWP1Kbghlb2A==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", + "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", "dev": true, "dependencies": { - "@jest/types": "^29.0.1", + "@jest/types": "^29.1.2", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -2246,9 +2268,9 @@ } }, "node_modules/pretty-format": { - "version": "29.0.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.1.tgz", - "integrity": "sha512-iTHy3QZMzuL484mSTYbQIM1AHhEQsH8mXWS2/vd2yFBYnG3EBqGiMONo28PlPgrW7P/8s/1ISv+y7WH306l8cw==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", + "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -2425,6 +2447,11 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, "node_modules/semver": { "version": "7.3.7", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", @@ -2554,9 +2581,9 @@ } }, "node_modules/socks": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.0.tgz", - "integrity": "sha512-scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", "dev": true, "optional": true, "dependencies": { @@ -2757,9 +2784,9 @@ } }, "node_modules/typescript": { - "version": "4.8.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.2.tgz", - "integrity": "sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw==", + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -2872,6 +2899,26 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, + "node_modules/xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xml2js/node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "engines": { + "node": ">=4.0" + } + }, "node_modules/xmlbuilder": { "version": "15.1.1", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", @@ -2887,9 +2934,9 @@ "dev": true }, "node_modules/yaml": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.1.tgz", - "integrity": "sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.2.tgz", + "integrity": "sha512-VSdf2/K3FqAetooKQv45Hcu6sA00aDgWZeGcG6V9IYJnVLTnb6988Tie79K5nx2vK7cEpf+yW8Oy+7iPAbdiHA==", "engines": { "node": ">= 14" } @@ -2922,9 +2969,9 @@ } }, "@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", "dev": true }, "@babel/highlight": { @@ -3075,9 +3122,9 @@ "optional": true }, "@jest/expect-utils": { - "version": "29.0.1", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.0.1.tgz", - "integrity": "sha512-Tw5kUUOKmXGQDmQ9TSgTraFFS7HMC1HG/B7y0AN2G2UzjdAXz9BzK2rmNpCSDl7g7y0Gf/VLBm//blonvhtOTQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.1.2.tgz", + "integrity": "sha512-4a48bhKfGj/KAH39u0ppzNTABXQ8QPccWAFUFobWBaEMSMp+sB31Z2fK/l47c4a/Mu1po2ffmfAIPxXbVTXdtg==", "dev": true, "requires": { "jest-get-type": "^29.0.0" @@ -3093,9 +3140,9 @@ } }, "@jest/types": { - "version": "29.0.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.1.tgz", - "integrity": "sha512-ft01rxzVsbh9qZPJ6EFgAIj3PT9FCRfBF9Xljo2/33VDOUjLZr0ZJ2oKANqh9S/K0/GERCsHDAQlBwj7RxA+9g==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", + "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -3107,9 +3154,9 @@ } }, "@mapbox/node-pre-gyp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.9.tgz", - "integrity": "sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz", + "integrity": "sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==", "dev": true, "requires": { "detect-libc": "^2.0.0", @@ -3175,20 +3222,23 @@ } }, "@sap/cds-odata-v2-adapter-proxy": { - "version": "1.9.6", - "resolved": "https://registry.npmjs.org/@sap/cds-odata-v2-adapter-proxy/-/cds-odata-v2-adapter-proxy-1.9.6.tgz", - "integrity": "sha512-yKBeDPKwpDuvVFQvtLmuaZX+nm3JToymsfFEjb9tLUcpNp3JYJoj0hyYsRUabe1VXjab2bYi2SL7H8OI/RfuUQ==", + "version": "1.9.9", + "resolved": "https://registry.npmjs.org/@sap/cds-odata-v2-adapter-proxy/-/cds-odata-v2-adapter-proxy-1.9.9.tgz", + "integrity": "sha512-GeiSURVFUz/ynvfXzh7rHRetD409cmraaf5/Q55WiYdwrjyRYvhMNH9EWu0OJo600h7mhAkN2XReEWChkiVr1A==", "requires": { + "body-parser": "^1.20.0", + "body-parser-xml": "^2.0.3", "express": "^4.18.1", "express-fileupload": "^1.4.0", "http-proxy-middleware": "^2.0.6", - "node-fetch": "^2.6.7" + "node-fetch": "^2.6.7", + "xml2js": "^0.4.23" } }, "@sinclair/typebox": { - "version": "0.24.34", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.34.tgz", - "integrity": "sha512-x3ejWKw7rpy30Bvm6U0AQMOHdjqe2E3YJrBHlTxH0KFsp77bBa+MH324nJxtXZFpnTy/JW2h5HPYVm0vG2WPnw==", + "version": "0.24.44", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.44.tgz", + "integrity": "sha512-ka0W0KN5i6LfrSocduwliMMpqVgohtPFidKdMEOUjoOFCHcOOYkKsPRxfs5f15oPNHTm6ERAm0GV/+/LTKeiWg==", "dev": true }, "@tootallnate/once": { @@ -3231,9 +3281,9 @@ } }, "@types/jest": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.0.0.tgz", - "integrity": "sha512-X6Zjz3WO4cT39Gkl0lZ2baFRaEMqJl5NC1OjElkwtNzAlbkr2K/WJXkBkH5VP0zx4Hgsd2TZYdOEfvp2Dxia+Q==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.1.1.tgz", + "integrity": "sha512-U9Ey07dGWl6fUFaIaUQUKWG5NoKi/zizeVQCGV8s4nSU0jPgqphVZvS64+8BtWYvrc3ZGw6wo943NSYPxkrp/g==", "dev": true, "requires": { "expect": "^29.0.0", @@ -3241,9 +3291,9 @@ } }, "@types/node": { - "version": "18.7.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.14.tgz", - "integrity": "sha512-6bbDaETVi8oyIARulOE9qF1/Qdi/23z6emrUh0fNJRUmjznqrixD4MpGDdgOFk5Xb0m2H6Xu42JGdvAxaJR/wA==" + "version": "18.8.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.1.tgz", + "integrity": "sha512-vuYaNuEIbOYLTLUAJh50ezEbvxrD43iby+lpUA2aa148Nh5kX/AVO/9m1Ahmbux2iU5uxJTNF9g2Y+31uml7RQ==" }, "@types/stack-utils": { "version": "2.0.1", @@ -3252,9 +3302,9 @@ "dev": true }, "@types/yargs": { - "version": "17.0.12", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.12.tgz", - "integrity": "sha512-Nz4MPhecOFArtm81gFQvQqdV7XYCrWKx5uUt6GNHredFHn1i2mtWqXTON7EPXMtNi1qjtjEM/VCHDhcHsAMLXQ==", + "version": "17.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", + "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -3434,6 +3484,14 @@ } } }, + "body-parser-xml": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/body-parser-xml/-/body-parser-xml-2.0.3.tgz", + "integrity": "sha512-tWvcAbh8QPd/lj+yfGZBMY/roof/e2iSXrJbYXYjxVhHQ88D2CF3AxDTdwhb9wcNdHVNbCttaWipchJPEs5r0g==", + "requires": { + "xml2js": "^0.4.23" + } + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -3554,9 +3612,9 @@ "dev": true }, "ci-info": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.2.tgz", - "integrity": "sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz", + "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==", "dev": true }, "clean-stack": { @@ -3746,16 +3804,16 @@ "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" }, "expect": { - "version": "29.0.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.0.1.tgz", - "integrity": "sha512-yQgemsjLU+1S8t2A7pXT3Sn/v5/37LY8J+tocWtKEA0iEYYc6gfKbbJJX2fxHZmd7K9WpdbQqXUpmYkq1aewYg==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.1.2.tgz", + "integrity": "sha512-AuAGn1uxva5YBbBlXb+2JPxJRuemZsmlGcapPXWNSBNsQtAULfjioREGBWuI0EOvYUKjDnrCy8PW5Zlr1md5mw==", "dev": true, "requires": { - "@jest/expect-utils": "^29.0.1", + "@jest/expect-utils": "^29.1.2", "jest-get-type": "^29.0.0", - "jest-matcher-utils": "^29.0.1", - "jest-message-util": "^29.0.1", - "jest-util": "^29.0.1" + "jest-matcher-utils": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-util": "^29.1.2" } }, "express": { @@ -3862,9 +3920,9 @@ } }, "follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" }, "form-data": { "version": "4.0.0", @@ -3925,9 +3983,9 @@ } }, "generic-pool": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-3.8.2.tgz", - "integrity": "sha512-nGToKy6p3PAbYQ7p1UlWl6vSPwfwU6TMSWK7TTu+WUY4ZjyZQGniGGt2oNVvyNSpyZYSB43zMXVLcBm08MTMkg==" + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-3.9.0.tgz", + "integrity": "sha512-hymDOu5B53XvN4QT9dBmZxPX4CWhBPPLguTZ9MMFeFa/Kg0xWVfylOVNlJji/E7yTZWFd/q9GO5TxDLq156D7g==" }, "get-func-name": { "version": "2.0.0", @@ -3936,9 +3994,9 @@ "dev": true }, "get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -4171,15 +4229,15 @@ "optional": true }, "jest-diff": { - "version": "29.0.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.0.1.tgz", - "integrity": "sha512-l8PYeq2VhcdxG9tl5cU78ClAlg/N7RtVSp0v3MlXURR0Y99i6eFnegmasOandyTmO6uEdo20+FByAjBFEO9nuw==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.1.2.tgz", + "integrity": "sha512-4GQts0aUopVvecIT4IwD/7xsBaMhKTYoM4/njE/aVw9wpw+pIUVp8Vab/KnSzSilr84GnLBkaP3JLDnQYCKqVQ==", "dev": true, "requires": { "chalk": "^4.0.0", "diff-sequences": "^29.0.0", "jest-get-type": "^29.0.0", - "pretty-format": "^29.0.1" + "pretty-format": "^29.1.2" } }, "jest-get-type": { @@ -4189,41 +4247,41 @@ "dev": true }, "jest-matcher-utils": { - "version": "29.0.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.0.1.tgz", - "integrity": "sha512-/e6UbCDmprRQFnl7+uBKqn4G22c/OmwriE5KCMVqxhElKCQUDcFnq5XM9iJeKtzy4DUjxT27y9VHmKPD8BQPaw==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.1.2.tgz", + "integrity": "sha512-MV5XrD3qYSW2zZSHRRceFzqJ39B2z11Qv0KPyZYxnzDHFeYZGJlgGi0SW+IXSJfOewgJp/Km/7lpcFT+cgZypw==", "dev": true, "requires": { "chalk": "^4.0.0", - "jest-diff": "^29.0.1", + "jest-diff": "^29.1.2", "jest-get-type": "^29.0.0", - "pretty-format": "^29.0.1" + "pretty-format": "^29.1.2" } }, "jest-message-util": { - "version": "29.0.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.1.tgz", - "integrity": "sha512-wRMAQt3HrLpxSubdnzOo68QoTfQ+NLXFzU0Heb18ZUzO2S9GgaXNEdQ4rpd0fI9dq2NXkpCk1IUWSqzYKji64A==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz", + "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.0.1", + "@jest/types": "^29.1.2", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.0.1", + "pretty-format": "^29.1.2", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-util": { - "version": "29.0.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.1.tgz", - "integrity": "sha512-GIWkgNfkeA9d84rORDHPGGTFBrRD13A38QVSKE0bVrGSnoR1KDn8Kqz+0yI5kezMgbT/7zrWaruWP1Kbghlb2A==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", + "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", "dev": true, "requires": { - "@jest/types": "^29.0.1", + "@jest/types": "^29.1.2", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -4625,9 +4683,9 @@ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" }, "pretty-format": { - "version": "29.0.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.1.tgz", - "integrity": "sha512-iTHy3QZMzuL484mSTYbQIM1AHhEQsH8mXWS2/vd2yFBYnG3EBqGiMONo28PlPgrW7P/8s/1ISv+y7WH306l8cw==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", + "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -4752,6 +4810,11 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, "semver": { "version": "7.3.7", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", @@ -4860,9 +4923,9 @@ "optional": true }, "socks": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.0.tgz", - "integrity": "sha512-scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", "dev": true, "optional": true, "requires": { @@ -5009,9 +5072,9 @@ } }, "typescript": { - "version": "4.8.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.2.tgz", - "integrity": "sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw==", + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", "dev": true }, "unique-filename": { @@ -5099,6 +5162,22 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, + "xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "dependencies": { + "xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" + } + } + }, "xmlbuilder": { "version": "15.1.1", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", @@ -5111,9 +5190,9 @@ "dev": true }, "yaml": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.1.tgz", - "integrity": "sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw==" + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.2.tgz", + "integrity": "sha512-VSdf2/K3FqAetooKQv45Hcu6sA00aDgWZeGcG6V9IYJnVLTnb6988Tie79K5nx2vK7cEpf+yW8Oy+7iPAbdiHA==" } } } diff --git a/package.json b/package.json index 88bb15bc..53739d7f 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,15 @@ "@sap/cds": ">=5.5.3" }, "workspaces": [ - "./*/" + "./bookshop", + "./bookstore", + "./common", + "./data-viewer", + "./fiori", + "./hello", + "./media", + "./orders", + "./reviews" ], "devDependencies": { "axios": "^0", From 608e16090c2475e9cc2935a4ba0aa425c0e47a9d Mon Sep 17 00:00:00 2001 From: Daniel Hutzel Date: Tue, 4 Oct 2022 12:05:57 +0200 Subject: [PATCH 16/22] Extensibility Walkthrough in capire (#405) * Extension project template * SalesRegion -> x_SalesRegion * enhanced order repo * updated package-lock.json --- orders-ext/.cdsrc.json | 1 + orders-ext/.gitignore | 31 + orders-ext/.vscode/extensions.json | 20 + orders-ext/.vscode/launch.json | 15 + orders-ext/.vscode/tasks.json | 25 + orders-ext/README.md | 26 + orders-ext/app/extensions.cds | 25 + orders-ext/package.json | 47 ++ .../test/data/sap.capire.orders-Orders.csv | 3 + .../test/data/x_orders.ext-x_SalesRegion.csv | 4 + orders/.env | 2 - orders/package.json | 35 +- package-lock.json | 755 +++++++++++++++++- 13 files changed, 959 insertions(+), 30 deletions(-) create mode 100644 orders-ext/.cdsrc.json create mode 100644 orders-ext/.gitignore create mode 100644 orders-ext/.vscode/extensions.json create mode 100644 orders-ext/.vscode/launch.json create mode 100644 orders-ext/.vscode/tasks.json create mode 100644 orders-ext/README.md create mode 100644 orders-ext/app/extensions.cds create mode 100644 orders-ext/package.json create mode 100644 orders-ext/test/data/sap.capire.orders-Orders.csv create mode 100644 orders-ext/test/data/x_orders.ext-x_SalesRegion.csv delete mode 100644 orders/.env diff --git a/orders-ext/.cdsrc.json b/orders-ext/.cdsrc.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/orders-ext/.cdsrc.json @@ -0,0 +1 @@ +{} diff --git a/orders-ext/.gitignore b/orders-ext/.gitignore new file mode 100644 index 00000000..e9f1c2f3 --- /dev/null +++ b/orders-ext/.gitignore @@ -0,0 +1,31 @@ +# CAP ext +_out +*.db +*.sqlite +connection.properties +default-*.json +.cdsrc-private.json +gen/ +node_modules/ +target/ + +# Web IDE, App Studio +.che/ +.gen/ + +# MTA +*_mta_build_tmp +*.mtar +mta_archives/ + +# Other +.DS_Store +*.orig +*.log + +*.iml +*.flattened-pom.xml + +# IDEs +# .vscode +# .idea diff --git a/orders-ext/.vscode/extensions.json b/orders-ext/.vscode/extensions.json new file mode 100644 index 00000000..5d7fe9ee --- /dev/null +++ b/orders-ext/.vscode/extensions.json @@ -0,0 +1,20 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations. + // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp + + // List of extensions which should be recommended for users of this workspace. + "recommendations": [ + "SAPSE.vscode-cds", + "dbaeumer.vscode-eslint", + "esbenp.prettier-vscode", + "mechatroner.rainbow-csv", + "humao.rest-client", + "alexcvzz.vscode-sqlite", + "hbenl.vscode-mocha-test-adapter", + "sdras.night-owl" + ], + // List of extensions recommended by VS Code that should not be recommended for users of this workspace. + "unwantedRecommendations": [ + + ] +} diff --git a/orders-ext/.vscode/launch.json b/orders-ext/.vscode/launch.json new file mode 100644 index 00000000..3f308a6c --- /dev/null +++ b/orders-ext/.vscode/launch.json @@ -0,0 +1,15 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "command": "cds run --with-mocks --in-memory?", + "name": "cds run", + "request": "launch", + "type": "node-terminal", + "skipFiles": [ "/**" ] + } + ] +} diff --git a/orders-ext/.vscode/tasks.json b/orders-ext/.vscode/tasks.json new file mode 100644 index 00000000..622da99a --- /dev/null +++ b/orders-ext/.vscode/tasks.json @@ -0,0 +1,25 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + "type": "shell", + "label": "cds watch", + "command": "cds", + "args": ["watch"], + "group": { + "kind": "build", + "isDefault": true + }, + "problemMatcher": [] + }, + { + "type": "shell", + "label": "cds run", + "command": "cds", + "args": ["run", "--with-mocks", "--in-memory?"], + "problemMatcher": [] + } + ] +} diff --git a/orders-ext/README.md b/orders-ext/README.md new file mode 100644 index 00000000..41defcb6 --- /dev/null +++ b/orders-ext/README.md @@ -0,0 +1,26 @@ +# Getting Started + +Welcome to your extension project to `@capire/orders`. + +It contains these folders and files, following our recommended project layout: + +File or Folder | Purpose +---------|---------- +`app/` | all extensions content is here +`test/` | all test content is here +`package.json` | project configuration +`readme.md` | this getting started guide + + +## Next Steps + +- `cds pull` latest models from your base application +- edit [`./app/extensions.cds`](./app/extensions.cds) to add your extensions +- `cds watch` your extension in local test-drives +- `cds push` your extension to **test** tenant +- `cds push` your extension to **prod** tenant + + +## Learn More + +Learn more at https://cap.cloud.sap/docs/guides/extensibility/customization. diff --git a/orders-ext/app/extensions.cds b/orders-ext/app/extensions.cds new file mode 100644 index 00000000..86bde092 --- /dev/null +++ b/orders-ext/app/extensions.cds @@ -0,0 +1,25 @@ +namespace x_orders.ext; // for new entities like SalesRegion below +using { OrdersService, sap, sap.capire.orders.Orders } from '@capire/orders'; + +extend Orders with { // 2 new fields.... + x_priority : String enum {high; medium; low} default 'medium'; + x_salesRegion : Association to x_SalesRegion; +} + +entity x_SalesRegion : sap.common.CodeList { // Value Help + key code : String(11); +} + + +// ------------------------------------------- +// Fiori Annotations + +annotate Orders:x_priority with @title: 'Priority'; +annotate SalesRegion:name with @title: 'Sales Region'; + +annotate OrdersService.Orders with @UI.LineItem: [ + ... up to { Value: OrderNo }, + { Value: x_priority }, + { Value: x_salesRegion.name }, + ... +]; diff --git a/orders-ext/package.json b/orders-ext/package.json new file mode 100644 index 00000000..2c43854e --- /dev/null +++ b/orders-ext/package.json @@ -0,0 +1,47 @@ +{ + "name": "@capire/orders-ext", + "extends": "@capire/orders", + "version": "1.0.0", + "description": "A simple CAP project.", + "repository": "", + "license": "UNLICENSED", + "private": true, + "dependencies": { + "@sap/cds": "^6", + "express": "^4" + }, + "devDependencies": { + "sqlite3": "^5.0.4" + }, + "scripts": { + "start": "cds run" + }, + "engines": { + "node": "^16.15" + }, + "eslintConfig": { + "extends": "eslint:recommended", + "env": { + "es2020": true, + "node": true, + "jest": true, + "mocha": true + }, + "globals": { + "SELECT": true, + "INSERT": true, + "UPDATE": true, + "DELETE": true, + "CREATE": true, + "DROP": true, + "CDL": true, + "CQL": true, + "CXL": true, + "cds": true + }, + "rules": { + "no-console": "off", + "require-atomic-updates": "off" + } + } +} diff --git a/orders-ext/test/data/sap.capire.orders-Orders.csv b/orders-ext/test/data/sap.capire.orders-Orders.csv new file mode 100644 index 00000000..17e9baba --- /dev/null +++ b/orders-ext/test/data/sap.capire.orders-Orders.csv @@ -0,0 +1,3 @@ +ID;createdAt;buyer;OrderNo;currency_code;x_priority;x_salesRegion_code +7e2f2640-6866-4dcf-8f4d-3027aa831cad;2019-01-31;john.doe@test.com;1;EUR;high;EMEA +64e718c9-ff99-47f1-8ca3-950c850777d4;2019-01-30;jane.doe@test.com;2;EUR;low;APJ \ No newline at end of file diff --git a/orders-ext/test/data/x_orders.ext-x_SalesRegion.csv b/orders-ext/test/data/x_orders.ext-x_SalesRegion.csv new file mode 100644 index 00000000..eb940aa9 --- /dev/null +++ b/orders-ext/test/data/x_orders.ext-x_SalesRegion.csv @@ -0,0 +1,4 @@ +code;name;descr +AMER;Americas;North, Central and South America +EMEA;Europe, the Middle East and Africa;Europe, the Middle East and Africa +APJ;Asia Pacific and Japan;Asia Pacific and Japan diff --git a/orders/.env b/orders/.env deleted file mode 100644 index 616dd8d0..00000000 --- a/orders/.env +++ /dev/null @@ -1,2 +0,0 @@ -cds.requires.messaging.kind = file-based-messaging -PORT = 4006 \ No newline at end of file diff --git a/orders/package.json b/orders/package.json index 2685aa44..391483cc 100644 --- a/orders/package.json +++ b/orders/package.json @@ -3,6 +3,39 @@ "version": "1.0.0", "dependencies": { "@capire/common": "*", - "@sap/cds": ">=5" + "@sap/cds": ">=5", + "@sap/cds-mtxs": "^1" + }, + "cds": { + "requires": { + "db": "sql-mt", + "multitenancy": true, + "toggles": true, + "extensibility": true, + "cds.xt.ExtensibilityService": { + "element-prefix": ["x_"], + "extension-allowlist": [ + { + "for": ["sap.capire.orders"], + "kind": "entity", + "new-fields": 2 + }, + { + "for": ["OrdersService"], + "new-entities": 2 + } + ] + }, + "auth": { + "users": { + "bob": { + "tenant": "t1-ext", + "roles": [ + "cds.ExtensionDeveloper" + ] + } + } + } + } } } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 9432d94c..b434d357 100644 --- a/package-lock.json +++ b/package-lock.json @@ -378,6 +378,19 @@ "node": ">=14" } }, + "node_modules/@sap/cds-mtxs": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@sap/cds-mtxs/-/cds-mtxs-1.1.2.tgz", + "integrity": "sha512-O/MpYI+O6dgRy5lL8X8RxwWKTRIBTb2UsMQeuv+V0MJRScg5OpkP8SQd/fGqWBQZbP+x07Da3xTVFqWxzFMYnw==", + "dependencies": { + "@sap/hdi-deploy": "^4", + "@sap/instance-manager": "^3", + "axios": "^0.27.2" + }, + "peerDependencies": { + "@sap/cds": ">=6" + } + }, "node_modules/@sap/cds-odata-v2-adapter-proxy": { "version": "1.9.9", "resolved": "https://registry.npmjs.org/@sap/cds-odata-v2-adapter-proxy/-/cds-odata-v2-adapter-proxy-1.9.9.tgz", @@ -395,6 +408,352 @@ "node": ">=8" } }, + "node_modules/@sap/hdi-deploy": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@sap/hdi-deploy/-/hdi-deploy-4.4.1.tgz", + "integrity": "sha512-ShTEqS1Eeomlls5/XAEM3AQjtu3q5j4XtvkyKIwMNPgvrZIWYzehCI1Uvo5gpxxfcj4GcjrOXoUsRLPNzbP/1w==", + "hasShrinkwrap": true, + "dependencies": { + "@sap/hana-client": "2.13.13", + "@sap/hdi": "4.3.1", + "@sap/xsenv": "3.3.2", + "async": "3.2.3", + "dotenv": "10.0.0", + "handlebars": "4.7.7", + "hdb": "0.19.3", + "micromatch": "4.0.4" + }, + "engines": { + "node": "^12.0.0 || ^14.0.0 || ^16.0.0" + } + }, + "node_modules/@sap/hdi-deploy/node_modules/@sap/hana-client": { + "version": "2.13.13", + "dependencies": { + "debug": "3.1.0" + } + }, + "node_modules/@sap/hdi-deploy/node_modules/@sap/hana-client/node_modules/debug": { + "version": "3.1.0", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/@sap/hdi-deploy/node_modules/@sap/hana-client/node_modules/ms": { + "version": "2.0.0" + }, + "node_modules/@sap/hdi-deploy/node_modules/@sap/hdi": { + "version": "4.3.1", + "dependencies": { + "async": "3.2.3" + } + }, + "node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv": { + "version": "3.3.2", + "dependencies": { + "debug": "4.3.3", + "node-cache": "^5.1.0", + "verror": "1.10.0" + } + }, + "node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/assert-plus": { + "version": "1.0.0" + }, + "node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/clone": { + "version": "2.1.2" + }, + "node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/core-util-is": { + "version": "1.0.2" + }, + "node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/debug": { + "version": "4.3.3", + "dependencies": { + "ms": "2.1.2" + } + }, + "node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/extsprintf": { + "version": "1.4.1" + }, + "node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/ms": { + "version": "2.1.2" + }, + "node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/node-cache": { + "version": "5.1.2", + "dependencies": { + "clone": "2.x" + } + }, + "node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/verror": { + "version": "1.10.0", + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/@sap/hdi-deploy/node_modules/async": { + "version": "3.2.3" + }, + "node_modules/@sap/hdi-deploy/node_modules/braces": { + "version": "3.0.2", + "dependencies": { + "fill-range": "^7.0.1" + } + }, + "node_modules/@sap/hdi-deploy/node_modules/dotenv": { + "version": "10.0.0" + }, + "node_modules/@sap/hdi-deploy/node_modules/fill-range": { + "version": "7.0.1", + "dependencies": { + "to-regex-range": "^5.0.1" + } + }, + "node_modules/@sap/hdi-deploy/node_modules/handlebars": { + "version": "4.7.7", + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/@sap/hdi-deploy/node_modules/hdb": { + "version": "0.19.3", + "dependencies": { + "iconv-lite": "^0.4.18" + } + }, + "node_modules/@sap/hdi-deploy/node_modules/iconv-lite": { + "version": "0.4.24", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "node_modules/@sap/hdi-deploy/node_modules/is-number": { + "version": "7.0.0" + }, + "node_modules/@sap/hdi-deploy/node_modules/micromatch": { + "version": "4.0.4", + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "node_modules/@sap/hdi-deploy/node_modules/minimist": { + "version": "1.2.6" + }, + "node_modules/@sap/hdi-deploy/node_modules/neo-async": { + "version": "2.6.2" + }, + "node_modules/@sap/hdi-deploy/node_modules/picomatch": { + "version": "2.3.1" + }, + "node_modules/@sap/hdi-deploy/node_modules/safer-buffer": { + "version": "2.1.2" + }, + "node_modules/@sap/hdi-deploy/node_modules/source-map": { + "version": "0.6.1" + }, + "node_modules/@sap/hdi-deploy/node_modules/to-regex-range": { + "version": "5.0.1", + "dependencies": { + "is-number": "^7.0.0" + } + }, + "node_modules/@sap/hdi-deploy/node_modules/uglify-js": { + "version": "3.16.1", + "optional": true + }, + "node_modules/@sap/hdi-deploy/node_modules/wordwrap": { + "version": "1.0.0" + }, + "node_modules/@sap/instance-manager": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@sap/instance-manager/-/instance-manager-3.3.4.tgz", + "integrity": "sha512-UihWrb+MvLF16Zw7AvsqQJ/yGJG/QHSGVKjEaHrEBIyydt59QlK271kJbuToBmMYObVS6sXojuMhd2+mUrraCg==", + "hasShrinkwrap": true, + "dependencies": { + "@sap/xssec": "^3.2.13", + "clone": "2.1.1", + "debug": "4.3.3", + "lru-cache": "4.1.1", + "node-fetch": "2.6.7", + "uuid": "7.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || ^14.0.0 || ^16.0.0" + } + }, + "node_modules/@sap/instance-manager/node_modules/@sap/xssec": { + "version": "3.2.13", + "dependencies": { + "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" + } + }, + "node_modules/@sap/instance-manager/node_modules/@sap/xssec/node_modules/debug": { + "version": "4.3.2", + "dependencies": { + "ms": "2.1.2" + } + }, + "node_modules/@sap/instance-manager/node_modules/@sap/xssec/node_modules/lru-cache": { + "version": "6.0.0", + "dependencies": { + "yallist": "^4.0.0" + } + }, + "node_modules/@sap/instance-manager/node_modules/asn1": { + "version": "0.2.6", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/@sap/instance-manager/node_modules/axios": { + "version": "0.26.1", + "dependencies": { + "follow-redirects": "^1.14.8" + } + }, + "node_modules/@sap/instance-manager/node_modules/buffer-equal-constant-time": { + "version": "1.0.1" + }, + "node_modules/@sap/instance-manager/node_modules/clone": { + "version": "2.1.1" + }, + "node_modules/@sap/instance-manager/node_modules/debug": { + "version": "4.3.3", + "dependencies": { + "ms": "2.1.2" + } + }, + "node_modules/@sap/instance-manager/node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/@sap/instance-manager/node_modules/follow-redirects": { + "version": "1.15.1" + }, + "node_modules/@sap/instance-manager/node_modules/jsonwebtoken": { + "version": "8.5.1", + "dependencies": { + "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" + } + }, + "node_modules/@sap/instance-manager/node_modules/jwa": { + "version": "1.4.1", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/@sap/instance-manager/node_modules/jws": { + "version": "3.2.2", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/@sap/instance-manager/node_modules/lodash.includes": { + "version": "4.3.0" + }, + "node_modules/@sap/instance-manager/node_modules/lodash.isboolean": { + "version": "3.0.3" + }, + "node_modules/@sap/instance-manager/node_modules/lodash.isinteger": { + "version": "4.0.4" + }, + "node_modules/@sap/instance-manager/node_modules/lodash.isnumber": { + "version": "3.0.3" + }, + "node_modules/@sap/instance-manager/node_modules/lodash.isplainobject": { + "version": "4.0.6" + }, + "node_modules/@sap/instance-manager/node_modules/lodash.isstring": { + "version": "4.0.1" + }, + "node_modules/@sap/instance-manager/node_modules/lodash.once": { + "version": "4.1.1" + }, + "node_modules/@sap/instance-manager/node_modules/lru-cache": { + "version": "4.1.1", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/@sap/instance-manager/node_modules/lru-cache/node_modules/yallist": { + "version": "2.1.2" + }, + "node_modules/@sap/instance-manager/node_modules/ms": { + "version": "2.1.2" + }, + "node_modules/@sap/instance-manager/node_modules/node-fetch": { + "version": "2.6.7", + "dependencies": { + "whatwg-url": "^5.0.0" + } + }, + "node_modules/@sap/instance-manager/node_modules/node-rsa": { + "version": "1.1.1", + "dependencies": { + "asn1": "^0.2.4" + } + }, + "node_modules/@sap/instance-manager/node_modules/pseudomap": { + "version": "1.0.2" + }, + "node_modules/@sap/instance-manager/node_modules/safe-buffer": { + "version": "5.2.1" + }, + "node_modules/@sap/instance-manager/node_modules/safer-buffer": { + "version": "2.1.2" + }, + "node_modules/@sap/instance-manager/node_modules/semver": { + "version": "5.7.1" + }, + "node_modules/@sap/instance-manager/node_modules/tr46": { + "version": "0.0.3" + }, + "node_modules/@sap/instance-manager/node_modules/uuid": { + "version": "7.0.0" + }, + "node_modules/@sap/instance-manager/node_modules/valid-url": { + "version": "1.0.9" + }, + "node_modules/@sap/instance-manager/node_modules/webidl-conversions": { + "version": "3.0.1" + }, + "node_modules/@sap/instance-manager/node_modules/whatwg-url": { + "version": "5.0.0", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/@sap/instance-manager/node_modules/yallist": { + "version": "4.0.0" + }, "node_modules/@sinclair/typebox": { "version": "0.24.44", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.44.tgz", @@ -606,14 +965,12 @@ "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/axios": { "version": "0.27.2", "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", - "dev": true, "dependencies": { "follow-redirects": "^1.14.9", "form-data": "^4.0.0" @@ -905,7 +1262,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, "dependencies": { "delayed-stream": "~1.0.0" }, @@ -961,7 +1317,6 @@ "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -990,7 +1345,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true, "engines": { "node": ">=0.4.0" } @@ -1263,7 +1617,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dev": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -1759,7 +2112,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -2004,8 +2356,7 @@ "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/negotiator": { "version": "0.6.3", @@ -2930,8 +3281,7 @@ "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/yaml": { "version": "2.1.2", @@ -2946,7 +3296,8 @@ "version": "1.0.0", "dependencies": { "@capire/common": "*", - "@sap/cds": ">=5" + "@sap/cds": ">=5", + "@sap/cds-mtxs": "^1" } }, "reviews": { @@ -3104,7 +3455,8 @@ "version": "file:orders", "requires": { "@capire/common": "*", - "@sap/cds": ">=5" + "@sap/cds": ">=5", + "@sap/cds-mtxs": "^1" } }, "@capire/reviews": { @@ -3221,6 +3573,16 @@ "yaml": "^2.1.1" } }, + "@sap/cds-mtxs": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@sap/cds-mtxs/-/cds-mtxs-1.1.2.tgz", + "integrity": "sha512-O/MpYI+O6dgRy5lL8X8RxwWKTRIBTb2UsMQeuv+V0MJRScg5OpkP8SQd/fGqWBQZbP+x07Da3xTVFqWxzFMYnw==", + "requires": { + "@sap/hdi-deploy": "^4", + "@sap/instance-manager": "^3", + "axios": "^0.27.2" + } + }, "@sap/cds-odata-v2-adapter-proxy": { "version": "1.9.9", "resolved": "https://registry.npmjs.org/@sap/cds-odata-v2-adapter-proxy/-/cds-odata-v2-adapter-proxy-1.9.9.tgz", @@ -3235,6 +3597,354 @@ "xml2js": "^0.4.23" } }, + "@sap/hdi-deploy": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@sap/hdi-deploy/-/hdi-deploy-4.4.1.tgz", + "integrity": "sha512-ShTEqS1Eeomlls5/XAEM3AQjtu3q5j4XtvkyKIwMNPgvrZIWYzehCI1Uvo5gpxxfcj4GcjrOXoUsRLPNzbP/1w==", + "requires": { + "@sap/hana-client": "2.13.13", + "@sap/hdi": "4.3.1", + "@sap/xsenv": "3.3.2", + "async": "3.2.3", + "dotenv": "10.0.0", + "handlebars": "4.7.7", + "hdb": "0.19.3", + "micromatch": "4.0.4" + }, + "dependencies": { + "@sap/hana-client": { + "version": "2.13.13", + "requires": { + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0" + } + } + }, + "@sap/hdi": { + "version": "4.3.1", + "requires": { + "async": "3.2.3" + } + }, + "@sap/xsenv": { + "version": "3.3.2", + "requires": { + "debug": "4.3.3", + "node-cache": "^5.1.0", + "verror": "1.10.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0" + }, + "clone": { + "version": "2.1.2" + }, + "core-util-is": { + "version": "1.0.2" + }, + "debug": { + "version": "4.3.3", + "requires": { + "ms": "2.1.2" + } + }, + "extsprintf": { + "version": "1.4.1" + }, + "ms": { + "version": "2.1.2" + }, + "node-cache": { + "version": "5.1.2", + "requires": { + "clone": "2.x" + } + }, + "verror": { + "version": "1.10.0", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + } + } + }, + "async": { + "version": "3.2.3" + }, + "braces": { + "version": "3.0.2", + "requires": { + "fill-range": "^7.0.1" + } + }, + "dotenv": { + "version": "10.0.0" + }, + "fill-range": { + "version": "7.0.1", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "handlebars": { + "version": "4.7.7", + "requires": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + } + }, + "hdb": { + "version": "0.19.3", + "requires": { + "iconv-lite": "^0.4.18" + } + }, + "iconv-lite": { + "version": "0.4.24", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "is-number": { + "version": "7.0.0" + }, + "micromatch": { + "version": "4.0.4", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "minimist": { + "version": "1.2.6" + }, + "neo-async": { + "version": "2.6.2" + }, + "picomatch": { + "version": "2.3.1" + }, + "safer-buffer": { + "version": "2.1.2" + }, + "source-map": { + "version": "0.6.1" + }, + "to-regex-range": { + "version": "5.0.1", + "requires": { + "is-number": "^7.0.0" + } + }, + "uglify-js": { + "version": "3.16.1", + "optional": true + }, + "wordwrap": { + "version": "1.0.0" + } + } + }, + "@sap/instance-manager": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@sap/instance-manager/-/instance-manager-3.3.4.tgz", + "integrity": "sha512-UihWrb+MvLF16Zw7AvsqQJ/yGJG/QHSGVKjEaHrEBIyydt59QlK271kJbuToBmMYObVS6sXojuMhd2+mUrraCg==", + "requires": { + "@sap/xssec": "^3.2.13", + "clone": "2.1.1", + "debug": "4.3.3", + "lru-cache": "4.1.1", + "node-fetch": "2.6.7", + "uuid": "7.0.0" + }, + "dependencies": { + "@sap/xssec": { + "version": "3.2.13", + "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", + "requires": { + "ms": "2.1.2" + } + }, + "lru-cache": { + "version": "6.0.0", + "requires": { + "yallist": "^4.0.0" + } + } + } + }, + "asn1": { + "version": "0.2.6", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "axios": { + "version": "0.26.1", + "requires": { + "follow-redirects": "^1.14.8" + } + }, + "buffer-equal-constant-time": { + "version": "1.0.1" + }, + "clone": { + "version": "2.1.1" + }, + "debug": { + "version": "4.3.3", + "requires": { + "ms": "2.1.2" + } + }, + "ecdsa-sig-formatter": { + "version": "1.0.11", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "follow-redirects": { + "version": "1.15.1" + }, + "jsonwebtoken": { + "version": "8.5.1", + "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" + } + }, + "jwa": { + "version": "1.4.1", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "lodash.includes": { + "version": "4.3.0" + }, + "lodash.isboolean": { + "version": "3.0.3" + }, + "lodash.isinteger": { + "version": "4.0.4" + }, + "lodash.isnumber": { + "version": "3.0.3" + }, + "lodash.isplainobject": { + "version": "4.0.6" + }, + "lodash.isstring": { + "version": "4.0.1" + }, + "lodash.once": { + "version": "4.1.1" + }, + "lru-cache": { + "version": "4.1.1", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + }, + "dependencies": { + "yallist": { + "version": "2.1.2" + } + } + }, + "ms": { + "version": "2.1.2" + }, + "node-fetch": { + "version": "2.6.7", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "node-rsa": { + "version": "1.1.1", + "requires": { + "asn1": "^0.2.4" + } + }, + "pseudomap": { + "version": "1.0.2" + }, + "safe-buffer": { + "version": "5.2.1" + }, + "safer-buffer": { + "version": "2.1.2" + }, + "semver": { + "version": "5.7.1" + }, + "tr46": { + "version": "0.0.3" + }, + "uuid": { + "version": "7.0.0" + }, + "valid-url": { + "version": "1.0.9" + }, + "webidl-conversions": { + "version": "3.0.1" + }, + "whatwg-url": { + "version": "5.0.0", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "yallist": { + "version": "4.0.0" + } + } + }, "@sinclair/typebox": { "version": "0.24.44", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.44.tgz", @@ -3413,14 +4123,12 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "axios": { "version": "0.27.2", "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", - "dev": true, "requires": { "follow-redirects": "^1.14.9", "form-data": "^4.0.0" @@ -3649,7 +4357,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, "requires": { "delayed-stream": "~1.0.0" } @@ -3693,7 +4400,6 @@ "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, "requires": { "ms": "2.1.2" } @@ -3710,8 +4416,7 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" }, "delegates": { "version": "1.0.0", @@ -3928,7 +4633,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -4313,7 +5017,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, "requires": { "yallist": "^4.0.0" } @@ -4492,8 +5195,7 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "negotiator": { "version": "0.6.3", @@ -5186,8 +5888,7 @@ "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "yaml": { "version": "2.1.2", From f54a8cecb738bf4840bbcea8a80a13ac75e16d36 Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 4 Oct 2022 12:12:30 +0200 Subject: [PATCH 17/22] Revert "Extensibility Walkthrough in capire (#405)" This reverts commit 608e16090c2475e9cc2935a4ba0aa425c0e47a9d. --- orders-ext/.cdsrc.json | 1 - orders-ext/.gitignore | 31 - orders-ext/.vscode/extensions.json | 20 - orders-ext/.vscode/launch.json | 15 - orders-ext/.vscode/tasks.json | 25 - orders-ext/README.md | 26 - orders-ext/app/extensions.cds | 25 - orders-ext/package.json | 47 -- .../test/data/sap.capire.orders-Orders.csv | 3 - .../test/data/x_orders.ext-x_SalesRegion.csv | 4 - orders/.env | 2 + orders/package.json | 35 +- package-lock.json | 755 +----------------- 13 files changed, 30 insertions(+), 959 deletions(-) delete mode 100644 orders-ext/.cdsrc.json delete mode 100644 orders-ext/.gitignore delete mode 100644 orders-ext/.vscode/extensions.json delete mode 100644 orders-ext/.vscode/launch.json delete mode 100644 orders-ext/.vscode/tasks.json delete mode 100644 orders-ext/README.md delete mode 100644 orders-ext/app/extensions.cds delete mode 100644 orders-ext/package.json delete mode 100644 orders-ext/test/data/sap.capire.orders-Orders.csv delete mode 100644 orders-ext/test/data/x_orders.ext-x_SalesRegion.csv create mode 100644 orders/.env diff --git a/orders-ext/.cdsrc.json b/orders-ext/.cdsrc.json deleted file mode 100644 index 0967ef42..00000000 --- a/orders-ext/.cdsrc.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/orders-ext/.gitignore b/orders-ext/.gitignore deleted file mode 100644 index e9f1c2f3..00000000 --- a/orders-ext/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# CAP ext -_out -*.db -*.sqlite -connection.properties -default-*.json -.cdsrc-private.json -gen/ -node_modules/ -target/ - -# Web IDE, App Studio -.che/ -.gen/ - -# MTA -*_mta_build_tmp -*.mtar -mta_archives/ - -# Other -.DS_Store -*.orig -*.log - -*.iml -*.flattened-pom.xml - -# IDEs -# .vscode -# .idea diff --git a/orders-ext/.vscode/extensions.json b/orders-ext/.vscode/extensions.json deleted file mode 100644 index 5d7fe9ee..00000000 --- a/orders-ext/.vscode/extensions.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - // See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations. - // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp - - // List of extensions which should be recommended for users of this workspace. - "recommendations": [ - "SAPSE.vscode-cds", - "dbaeumer.vscode-eslint", - "esbenp.prettier-vscode", - "mechatroner.rainbow-csv", - "humao.rest-client", - "alexcvzz.vscode-sqlite", - "hbenl.vscode-mocha-test-adapter", - "sdras.night-owl" - ], - // List of extensions recommended by VS Code that should not be recommended for users of this workspace. - "unwantedRecommendations": [ - - ] -} diff --git a/orders-ext/.vscode/launch.json b/orders-ext/.vscode/launch.json deleted file mode 100644 index 3f308a6c..00000000 --- a/orders-ext/.vscode/launch.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "command": "cds run --with-mocks --in-memory?", - "name": "cds run", - "request": "launch", - "type": "node-terminal", - "skipFiles": [ "/**" ] - } - ] -} diff --git a/orders-ext/.vscode/tasks.json b/orders-ext/.vscode/tasks.json deleted file mode 100644 index 622da99a..00000000 --- a/orders-ext/.vscode/tasks.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - // See https://go.microsoft.com/fwlink/?LinkId=733558 - // for the documentation about the tasks.json format - "version": "2.0.0", - "tasks": [ - { - "type": "shell", - "label": "cds watch", - "command": "cds", - "args": ["watch"], - "group": { - "kind": "build", - "isDefault": true - }, - "problemMatcher": [] - }, - { - "type": "shell", - "label": "cds run", - "command": "cds", - "args": ["run", "--with-mocks", "--in-memory?"], - "problemMatcher": [] - } - ] -} diff --git a/orders-ext/README.md b/orders-ext/README.md deleted file mode 100644 index 41defcb6..00000000 --- a/orders-ext/README.md +++ /dev/null @@ -1,26 +0,0 @@ -# Getting Started - -Welcome to your extension project to `@capire/orders`. - -It contains these folders and files, following our recommended project layout: - -File or Folder | Purpose ----------|---------- -`app/` | all extensions content is here -`test/` | all test content is here -`package.json` | project configuration -`readme.md` | this getting started guide - - -## Next Steps - -- `cds pull` latest models from your base application -- edit [`./app/extensions.cds`](./app/extensions.cds) to add your extensions -- `cds watch` your extension in local test-drives -- `cds push` your extension to **test** tenant -- `cds push` your extension to **prod** tenant - - -## Learn More - -Learn more at https://cap.cloud.sap/docs/guides/extensibility/customization. diff --git a/orders-ext/app/extensions.cds b/orders-ext/app/extensions.cds deleted file mode 100644 index 86bde092..00000000 --- a/orders-ext/app/extensions.cds +++ /dev/null @@ -1,25 +0,0 @@ -namespace x_orders.ext; // for new entities like SalesRegion below -using { OrdersService, sap, sap.capire.orders.Orders } from '@capire/orders'; - -extend Orders with { // 2 new fields.... - x_priority : String enum {high; medium; low} default 'medium'; - x_salesRegion : Association to x_SalesRegion; -} - -entity x_SalesRegion : sap.common.CodeList { // Value Help - key code : String(11); -} - - -// ------------------------------------------- -// Fiori Annotations - -annotate Orders:x_priority with @title: 'Priority'; -annotate SalesRegion:name with @title: 'Sales Region'; - -annotate OrdersService.Orders with @UI.LineItem: [ - ... up to { Value: OrderNo }, - { Value: x_priority }, - { Value: x_salesRegion.name }, - ... -]; diff --git a/orders-ext/package.json b/orders-ext/package.json deleted file mode 100644 index 2c43854e..00000000 --- a/orders-ext/package.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "@capire/orders-ext", - "extends": "@capire/orders", - "version": "1.0.0", - "description": "A simple CAP project.", - "repository": "", - "license": "UNLICENSED", - "private": true, - "dependencies": { - "@sap/cds": "^6", - "express": "^4" - }, - "devDependencies": { - "sqlite3": "^5.0.4" - }, - "scripts": { - "start": "cds run" - }, - "engines": { - "node": "^16.15" - }, - "eslintConfig": { - "extends": "eslint:recommended", - "env": { - "es2020": true, - "node": true, - "jest": true, - "mocha": true - }, - "globals": { - "SELECT": true, - "INSERT": true, - "UPDATE": true, - "DELETE": true, - "CREATE": true, - "DROP": true, - "CDL": true, - "CQL": true, - "CXL": true, - "cds": true - }, - "rules": { - "no-console": "off", - "require-atomic-updates": "off" - } - } -} diff --git a/orders-ext/test/data/sap.capire.orders-Orders.csv b/orders-ext/test/data/sap.capire.orders-Orders.csv deleted file mode 100644 index 17e9baba..00000000 --- a/orders-ext/test/data/sap.capire.orders-Orders.csv +++ /dev/null @@ -1,3 +0,0 @@ -ID;createdAt;buyer;OrderNo;currency_code;x_priority;x_salesRegion_code -7e2f2640-6866-4dcf-8f4d-3027aa831cad;2019-01-31;john.doe@test.com;1;EUR;high;EMEA -64e718c9-ff99-47f1-8ca3-950c850777d4;2019-01-30;jane.doe@test.com;2;EUR;low;APJ \ No newline at end of file diff --git a/orders-ext/test/data/x_orders.ext-x_SalesRegion.csv b/orders-ext/test/data/x_orders.ext-x_SalesRegion.csv deleted file mode 100644 index eb940aa9..00000000 --- a/orders-ext/test/data/x_orders.ext-x_SalesRegion.csv +++ /dev/null @@ -1,4 +0,0 @@ -code;name;descr -AMER;Americas;North, Central and South America -EMEA;Europe, the Middle East and Africa;Europe, the Middle East and Africa -APJ;Asia Pacific and Japan;Asia Pacific and Japan diff --git a/orders/.env b/orders/.env new file mode 100644 index 00000000..616dd8d0 --- /dev/null +++ b/orders/.env @@ -0,0 +1,2 @@ +cds.requires.messaging.kind = file-based-messaging +PORT = 4006 \ No newline at end of file diff --git a/orders/package.json b/orders/package.json index 391483cc..2685aa44 100644 --- a/orders/package.json +++ b/orders/package.json @@ -3,39 +3,6 @@ "version": "1.0.0", "dependencies": { "@capire/common": "*", - "@sap/cds": ">=5", - "@sap/cds-mtxs": "^1" - }, - "cds": { - "requires": { - "db": "sql-mt", - "multitenancy": true, - "toggles": true, - "extensibility": true, - "cds.xt.ExtensibilityService": { - "element-prefix": ["x_"], - "extension-allowlist": [ - { - "for": ["sap.capire.orders"], - "kind": "entity", - "new-fields": 2 - }, - { - "for": ["OrdersService"], - "new-entities": 2 - } - ] - }, - "auth": { - "users": { - "bob": { - "tenant": "t1-ext", - "roles": [ - "cds.ExtensionDeveloper" - ] - } - } - } - } + "@sap/cds": ">=5" } } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index b434d357..9432d94c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -378,19 +378,6 @@ "node": ">=14" } }, - "node_modules/@sap/cds-mtxs": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@sap/cds-mtxs/-/cds-mtxs-1.1.2.tgz", - "integrity": "sha512-O/MpYI+O6dgRy5lL8X8RxwWKTRIBTb2UsMQeuv+V0MJRScg5OpkP8SQd/fGqWBQZbP+x07Da3xTVFqWxzFMYnw==", - "dependencies": { - "@sap/hdi-deploy": "^4", - "@sap/instance-manager": "^3", - "axios": "^0.27.2" - }, - "peerDependencies": { - "@sap/cds": ">=6" - } - }, "node_modules/@sap/cds-odata-v2-adapter-proxy": { "version": "1.9.9", "resolved": "https://registry.npmjs.org/@sap/cds-odata-v2-adapter-proxy/-/cds-odata-v2-adapter-proxy-1.9.9.tgz", @@ -408,352 +395,6 @@ "node": ">=8" } }, - "node_modules/@sap/hdi-deploy": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@sap/hdi-deploy/-/hdi-deploy-4.4.1.tgz", - "integrity": "sha512-ShTEqS1Eeomlls5/XAEM3AQjtu3q5j4XtvkyKIwMNPgvrZIWYzehCI1Uvo5gpxxfcj4GcjrOXoUsRLPNzbP/1w==", - "hasShrinkwrap": true, - "dependencies": { - "@sap/hana-client": "2.13.13", - "@sap/hdi": "4.3.1", - "@sap/xsenv": "3.3.2", - "async": "3.2.3", - "dotenv": "10.0.0", - "handlebars": "4.7.7", - "hdb": "0.19.3", - "micromatch": "4.0.4" - }, - "engines": { - "node": "^12.0.0 || ^14.0.0 || ^16.0.0" - } - }, - "node_modules/@sap/hdi-deploy/node_modules/@sap/hana-client": { - "version": "2.13.13", - "dependencies": { - "debug": "3.1.0" - } - }, - "node_modules/@sap/hdi-deploy/node_modules/@sap/hana-client/node_modules/debug": { - "version": "3.1.0", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/@sap/hdi-deploy/node_modules/@sap/hana-client/node_modules/ms": { - "version": "2.0.0" - }, - "node_modules/@sap/hdi-deploy/node_modules/@sap/hdi": { - "version": "4.3.1", - "dependencies": { - "async": "3.2.3" - } - }, - "node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv": { - "version": "3.3.2", - "dependencies": { - "debug": "4.3.3", - "node-cache": "^5.1.0", - "verror": "1.10.0" - } - }, - "node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/assert-plus": { - "version": "1.0.0" - }, - "node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/clone": { - "version": "2.1.2" - }, - "node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/core-util-is": { - "version": "1.0.2" - }, - "node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/debug": { - "version": "4.3.3", - "dependencies": { - "ms": "2.1.2" - } - }, - "node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/extsprintf": { - "version": "1.4.1" - }, - "node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/ms": { - "version": "2.1.2" - }, - "node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/node-cache": { - "version": "5.1.2", - "dependencies": { - "clone": "2.x" - } - }, - "node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/verror": { - "version": "1.10.0", - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/@sap/hdi-deploy/node_modules/async": { - "version": "3.2.3" - }, - "node_modules/@sap/hdi-deploy/node_modules/braces": { - "version": "3.0.2", - "dependencies": { - "fill-range": "^7.0.1" - } - }, - "node_modules/@sap/hdi-deploy/node_modules/dotenv": { - "version": "10.0.0" - }, - "node_modules/@sap/hdi-deploy/node_modules/fill-range": { - "version": "7.0.1", - "dependencies": { - "to-regex-range": "^5.0.1" - } - }, - "node_modules/@sap/hdi-deploy/node_modules/handlebars": { - "version": "4.7.7", - "dependencies": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "wordwrap": "^1.0.0" - }, - "optionalDependencies": { - "uglify-js": "^3.1.4" - } - }, - "node_modules/@sap/hdi-deploy/node_modules/hdb": { - "version": "0.19.3", - "dependencies": { - "iconv-lite": "^0.4.18" - } - }, - "node_modules/@sap/hdi-deploy/node_modules/iconv-lite": { - "version": "0.4.24", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "node_modules/@sap/hdi-deploy/node_modules/is-number": { - "version": "7.0.0" - }, - "node_modules/@sap/hdi-deploy/node_modules/micromatch": { - "version": "4.0.4", - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - } - }, - "node_modules/@sap/hdi-deploy/node_modules/minimist": { - "version": "1.2.6" - }, - "node_modules/@sap/hdi-deploy/node_modules/neo-async": { - "version": "2.6.2" - }, - "node_modules/@sap/hdi-deploy/node_modules/picomatch": { - "version": "2.3.1" - }, - "node_modules/@sap/hdi-deploy/node_modules/safer-buffer": { - "version": "2.1.2" - }, - "node_modules/@sap/hdi-deploy/node_modules/source-map": { - "version": "0.6.1" - }, - "node_modules/@sap/hdi-deploy/node_modules/to-regex-range": { - "version": "5.0.1", - "dependencies": { - "is-number": "^7.0.0" - } - }, - "node_modules/@sap/hdi-deploy/node_modules/uglify-js": { - "version": "3.16.1", - "optional": true - }, - "node_modules/@sap/hdi-deploy/node_modules/wordwrap": { - "version": "1.0.0" - }, - "node_modules/@sap/instance-manager": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@sap/instance-manager/-/instance-manager-3.3.4.tgz", - "integrity": "sha512-UihWrb+MvLF16Zw7AvsqQJ/yGJG/QHSGVKjEaHrEBIyydt59QlK271kJbuToBmMYObVS6sXojuMhd2+mUrraCg==", - "hasShrinkwrap": true, - "dependencies": { - "@sap/xssec": "^3.2.13", - "clone": "2.1.1", - "debug": "4.3.3", - "lru-cache": "4.1.1", - "node-fetch": "2.6.7", - "uuid": "7.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || ^14.0.0 || ^16.0.0" - } - }, - "node_modules/@sap/instance-manager/node_modules/@sap/xssec": { - "version": "3.2.13", - "dependencies": { - "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" - } - }, - "node_modules/@sap/instance-manager/node_modules/@sap/xssec/node_modules/debug": { - "version": "4.3.2", - "dependencies": { - "ms": "2.1.2" - } - }, - "node_modules/@sap/instance-manager/node_modules/@sap/xssec/node_modules/lru-cache": { - "version": "6.0.0", - "dependencies": { - "yallist": "^4.0.0" - } - }, - "node_modules/@sap/instance-manager/node_modules/asn1": { - "version": "0.2.6", - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/@sap/instance-manager/node_modules/axios": { - "version": "0.26.1", - "dependencies": { - "follow-redirects": "^1.14.8" - } - }, - "node_modules/@sap/instance-manager/node_modules/buffer-equal-constant-time": { - "version": "1.0.1" - }, - "node_modules/@sap/instance-manager/node_modules/clone": { - "version": "2.1.1" - }, - "node_modules/@sap/instance-manager/node_modules/debug": { - "version": "4.3.3", - "dependencies": { - "ms": "2.1.2" - } - }, - "node_modules/@sap/instance-manager/node_modules/ecdsa-sig-formatter": { - "version": "1.0.11", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/@sap/instance-manager/node_modules/follow-redirects": { - "version": "1.15.1" - }, - "node_modules/@sap/instance-manager/node_modules/jsonwebtoken": { - "version": "8.5.1", - "dependencies": { - "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" - } - }, - "node_modules/@sap/instance-manager/node_modules/jwa": { - "version": "1.4.1", - "dependencies": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/@sap/instance-manager/node_modules/jws": { - "version": "3.2.2", - "dependencies": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/@sap/instance-manager/node_modules/lodash.includes": { - "version": "4.3.0" - }, - "node_modules/@sap/instance-manager/node_modules/lodash.isboolean": { - "version": "3.0.3" - }, - "node_modules/@sap/instance-manager/node_modules/lodash.isinteger": { - "version": "4.0.4" - }, - "node_modules/@sap/instance-manager/node_modules/lodash.isnumber": { - "version": "3.0.3" - }, - "node_modules/@sap/instance-manager/node_modules/lodash.isplainobject": { - "version": "4.0.6" - }, - "node_modules/@sap/instance-manager/node_modules/lodash.isstring": { - "version": "4.0.1" - }, - "node_modules/@sap/instance-manager/node_modules/lodash.once": { - "version": "4.1.1" - }, - "node_modules/@sap/instance-manager/node_modules/lru-cache": { - "version": "4.1.1", - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "node_modules/@sap/instance-manager/node_modules/lru-cache/node_modules/yallist": { - "version": "2.1.2" - }, - "node_modules/@sap/instance-manager/node_modules/ms": { - "version": "2.1.2" - }, - "node_modules/@sap/instance-manager/node_modules/node-fetch": { - "version": "2.6.7", - "dependencies": { - "whatwg-url": "^5.0.0" - } - }, - "node_modules/@sap/instance-manager/node_modules/node-rsa": { - "version": "1.1.1", - "dependencies": { - "asn1": "^0.2.4" - } - }, - "node_modules/@sap/instance-manager/node_modules/pseudomap": { - "version": "1.0.2" - }, - "node_modules/@sap/instance-manager/node_modules/safe-buffer": { - "version": "5.2.1" - }, - "node_modules/@sap/instance-manager/node_modules/safer-buffer": { - "version": "2.1.2" - }, - "node_modules/@sap/instance-manager/node_modules/semver": { - "version": "5.7.1" - }, - "node_modules/@sap/instance-manager/node_modules/tr46": { - "version": "0.0.3" - }, - "node_modules/@sap/instance-manager/node_modules/uuid": { - "version": "7.0.0" - }, - "node_modules/@sap/instance-manager/node_modules/valid-url": { - "version": "1.0.9" - }, - "node_modules/@sap/instance-manager/node_modules/webidl-conversions": { - "version": "3.0.1" - }, - "node_modules/@sap/instance-manager/node_modules/whatwg-url": { - "version": "5.0.0", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/@sap/instance-manager/node_modules/yallist": { - "version": "4.0.0" - }, "node_modules/@sinclair/typebox": { "version": "0.24.44", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.44.tgz", @@ -965,12 +606,14 @@ "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true }, "node_modules/axios": { "version": "0.27.2", "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "dev": true, "dependencies": { "follow-redirects": "^1.14.9", "form-data": "^4.0.0" @@ -1262,6 +905,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, "dependencies": { "delayed-stream": "~1.0.0" }, @@ -1317,6 +961,7 @@ "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -1345,6 +990,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, "engines": { "node": ">=0.4.0" } @@ -1617,6 +1263,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -2112,6 +1759,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -2356,7 +2004,8 @@ "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "node_modules/negotiator": { "version": "0.6.3", @@ -3281,7 +2930,8 @@ "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, "node_modules/yaml": { "version": "2.1.2", @@ -3296,8 +2946,7 @@ "version": "1.0.0", "dependencies": { "@capire/common": "*", - "@sap/cds": ">=5", - "@sap/cds-mtxs": "^1" + "@sap/cds": ">=5" } }, "reviews": { @@ -3455,8 +3104,7 @@ "version": "file:orders", "requires": { "@capire/common": "*", - "@sap/cds": ">=5", - "@sap/cds-mtxs": "^1" + "@sap/cds": ">=5" } }, "@capire/reviews": { @@ -3573,16 +3221,6 @@ "yaml": "^2.1.1" } }, - "@sap/cds-mtxs": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@sap/cds-mtxs/-/cds-mtxs-1.1.2.tgz", - "integrity": "sha512-O/MpYI+O6dgRy5lL8X8RxwWKTRIBTb2UsMQeuv+V0MJRScg5OpkP8SQd/fGqWBQZbP+x07Da3xTVFqWxzFMYnw==", - "requires": { - "@sap/hdi-deploy": "^4", - "@sap/instance-manager": "^3", - "axios": "^0.27.2" - } - }, "@sap/cds-odata-v2-adapter-proxy": { "version": "1.9.9", "resolved": "https://registry.npmjs.org/@sap/cds-odata-v2-adapter-proxy/-/cds-odata-v2-adapter-proxy-1.9.9.tgz", @@ -3597,354 +3235,6 @@ "xml2js": "^0.4.23" } }, - "@sap/hdi-deploy": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@sap/hdi-deploy/-/hdi-deploy-4.4.1.tgz", - "integrity": "sha512-ShTEqS1Eeomlls5/XAEM3AQjtu3q5j4XtvkyKIwMNPgvrZIWYzehCI1Uvo5gpxxfcj4GcjrOXoUsRLPNzbP/1w==", - "requires": { - "@sap/hana-client": "2.13.13", - "@sap/hdi": "4.3.1", - "@sap/xsenv": "3.3.2", - "async": "3.2.3", - "dotenv": "10.0.0", - "handlebars": "4.7.7", - "hdb": "0.19.3", - "micromatch": "4.0.4" - }, - "dependencies": { - "@sap/hana-client": { - "version": "2.13.13", - "requires": { - "debug": "3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0" - } - } - }, - "@sap/hdi": { - "version": "4.3.1", - "requires": { - "async": "3.2.3" - } - }, - "@sap/xsenv": { - "version": "3.3.2", - "requires": { - "debug": "4.3.3", - "node-cache": "^5.1.0", - "verror": "1.10.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0" - }, - "clone": { - "version": "2.1.2" - }, - "core-util-is": { - "version": "1.0.2" - }, - "debug": { - "version": "4.3.3", - "requires": { - "ms": "2.1.2" - } - }, - "extsprintf": { - "version": "1.4.1" - }, - "ms": { - "version": "2.1.2" - }, - "node-cache": { - "version": "5.1.2", - "requires": { - "clone": "2.x" - } - }, - "verror": { - "version": "1.10.0", - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - } - } - }, - "async": { - "version": "3.2.3" - }, - "braces": { - "version": "3.0.2", - "requires": { - "fill-range": "^7.0.1" - } - }, - "dotenv": { - "version": "10.0.0" - }, - "fill-range": { - "version": "7.0.1", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "handlebars": { - "version": "4.7.7", - "requires": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4", - "wordwrap": "^1.0.0" - } - }, - "hdb": { - "version": "0.19.3", - "requires": { - "iconv-lite": "^0.4.18" - } - }, - "iconv-lite": { - "version": "0.4.24", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "is-number": { - "version": "7.0.0" - }, - "micromatch": { - "version": "4.0.4", - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - } - }, - "minimist": { - "version": "1.2.6" - }, - "neo-async": { - "version": "2.6.2" - }, - "picomatch": { - "version": "2.3.1" - }, - "safer-buffer": { - "version": "2.1.2" - }, - "source-map": { - "version": "0.6.1" - }, - "to-regex-range": { - "version": "5.0.1", - "requires": { - "is-number": "^7.0.0" - } - }, - "uglify-js": { - "version": "3.16.1", - "optional": true - }, - "wordwrap": { - "version": "1.0.0" - } - } - }, - "@sap/instance-manager": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@sap/instance-manager/-/instance-manager-3.3.4.tgz", - "integrity": "sha512-UihWrb+MvLF16Zw7AvsqQJ/yGJG/QHSGVKjEaHrEBIyydt59QlK271kJbuToBmMYObVS6sXojuMhd2+mUrraCg==", - "requires": { - "@sap/xssec": "^3.2.13", - "clone": "2.1.1", - "debug": "4.3.3", - "lru-cache": "4.1.1", - "node-fetch": "2.6.7", - "uuid": "7.0.0" - }, - "dependencies": { - "@sap/xssec": { - "version": "3.2.13", - "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", - "requires": { - "ms": "2.1.2" - } - }, - "lru-cache": { - "version": "6.0.0", - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "asn1": { - "version": "0.2.6", - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "axios": { - "version": "0.26.1", - "requires": { - "follow-redirects": "^1.14.8" - } - }, - "buffer-equal-constant-time": { - "version": "1.0.1" - }, - "clone": { - "version": "2.1.1" - }, - "debug": { - "version": "4.3.3", - "requires": { - "ms": "2.1.2" - } - }, - "ecdsa-sig-formatter": { - "version": "1.0.11", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "follow-redirects": { - "version": "1.15.1" - }, - "jsonwebtoken": { - "version": "8.5.1", - "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" - } - }, - "jwa": { - "version": "1.4.1", - "requires": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "jws": { - "version": "3.2.2", - "requires": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" - } - }, - "lodash.includes": { - "version": "4.3.0" - }, - "lodash.isboolean": { - "version": "3.0.3" - }, - "lodash.isinteger": { - "version": "4.0.4" - }, - "lodash.isnumber": { - "version": "3.0.3" - }, - "lodash.isplainobject": { - "version": "4.0.6" - }, - "lodash.isstring": { - "version": "4.0.1" - }, - "lodash.once": { - "version": "4.1.1" - }, - "lru-cache": { - "version": "4.1.1", - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - }, - "dependencies": { - "yallist": { - "version": "2.1.2" - } - } - }, - "ms": { - "version": "2.1.2" - }, - "node-fetch": { - "version": "2.6.7", - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "node-rsa": { - "version": "1.1.1", - "requires": { - "asn1": "^0.2.4" - } - }, - "pseudomap": { - "version": "1.0.2" - }, - "safe-buffer": { - "version": "5.2.1" - }, - "safer-buffer": { - "version": "2.1.2" - }, - "semver": { - "version": "5.7.1" - }, - "tr46": { - "version": "0.0.3" - }, - "uuid": { - "version": "7.0.0" - }, - "valid-url": { - "version": "1.0.9" - }, - "webidl-conversions": { - "version": "3.0.1" - }, - "whatwg-url": { - "version": "5.0.0", - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "yallist": { - "version": "4.0.0" - } - } - }, "@sinclair/typebox": { "version": "0.24.44", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.44.tgz", @@ -4123,12 +3413,14 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true }, "axios": { "version": "0.27.2", "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "dev": true, "requires": { "follow-redirects": "^1.14.9", "form-data": "^4.0.0" @@ -4357,6 +3649,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, "requires": { "delayed-stream": "~1.0.0" } @@ -4400,6 +3693,7 @@ "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, "requires": { "ms": "2.1.2" } @@ -4416,7 +3710,8 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true }, "delegates": { "version": "1.0.0", @@ -4633,6 +3928,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -5017,6 +4313,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, "requires": { "yallist": "^4.0.0" } @@ -5195,7 +4492,8 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "negotiator": { "version": "0.6.3", @@ -5888,7 +5186,8 @@ "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, "yaml": { "version": "2.1.2", From 9fbf7c69c9acddf8657a0c0e9cf59602c3fcb4f1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 5 Oct 2022 16:15:26 +0200 Subject: [PATCH 18/22] Bump semver from 7.3.7 to 7.3.8 (#408) Bumps [semver](https://github.com/npm/node-semver) from 7.3.7 to 7.3.8. - [Release notes](https://github.com/npm/node-semver/releases) - [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md) - [Commits](https://github.com/npm/node-semver/compare/v7.3.7...v7.3.8) --- updated-dependencies: - dependency-name: semver dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9432d94c..0cbee385 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2453,9 +2453,9 @@ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -4816,9 +4816,9 @@ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "requires": { "lru-cache": "^6.0.0" From d17d74f1ec5733cfd1bb2c27e3854f48e357e6fb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Oct 2022 15:52:35 +0200 Subject: [PATCH 19/22] Bump @sap/cds from 6.1.3 to 6.2.1 (#411) Bumps [@sap/cds](https://cap.cloud.sap/) from 6.1.3 to 6.2.1. --- updated-dependencies: - dependency-name: "@sap/cds" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0cbee385..d94650e1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -333,11 +333,11 @@ } }, "node_modules/@sap/cds": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/@sap/cds/-/cds-6.1.3.tgz", - "integrity": "sha512-yvL9lPonVwUx9Md1eylAtpY0JrlSMyoxZXnCA2q9lNoVNudmjPMynO5CJBfAYEaThZSqd2yMJg/+xyKy/mn3wg==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@sap/cds/-/cds-6.2.1.tgz", + "integrity": "sha512-jiV1e2M8UzHTXJ9I2a/VjNkKHRNK7sYggD0uTAUvKENUZvXBYxMpdB6HrRCsEtBZ0qu5bdk+EjYoHDqQt2gt+w==", "dependencies": { - "@sap/cds-compiler": "^3.0.0", + "@sap/cds-compiler": "^3.2.0", "@sap/cds-foss": "^4" }, "bin": { @@ -348,9 +348,9 @@ } }, "node_modules/@sap/cds-compiler": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@sap/cds-compiler/-/cds-compiler-3.1.2.tgz", - "integrity": "sha512-csH3aEs4aPCzAtc75Jx/Ayym2A06JgAeaDUFLXI867/Vsp2F0g7MJxuCkNhpa+zVZsXcyB0Kxzzv4xU7zuJXsQ==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@sap/cds-compiler/-/cds-compiler-3.3.2.tgz", + "integrity": "sha512-jOUEjSMBOVZXmWgx3/mu8H9BbvgP+HVyyKXbHHZWJlk0NMlk+FI/q4KagUaGWJFyRVBskdzF4zBD/QLlrhRnHA==", "dependencies": { "antlr4": "4.9.3" }, @@ -3193,18 +3193,18 @@ } }, "@sap/cds": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/@sap/cds/-/cds-6.1.3.tgz", - "integrity": "sha512-yvL9lPonVwUx9Md1eylAtpY0JrlSMyoxZXnCA2q9lNoVNudmjPMynO5CJBfAYEaThZSqd2yMJg/+xyKy/mn3wg==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@sap/cds/-/cds-6.2.1.tgz", + "integrity": "sha512-jiV1e2M8UzHTXJ9I2a/VjNkKHRNK7sYggD0uTAUvKENUZvXBYxMpdB6HrRCsEtBZ0qu5bdk+EjYoHDqQt2gt+w==", "requires": { - "@sap/cds-compiler": "^3.0.0", + "@sap/cds-compiler": "^3.2.0", "@sap/cds-foss": "^4" } }, "@sap/cds-compiler": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@sap/cds-compiler/-/cds-compiler-3.1.2.tgz", - "integrity": "sha512-csH3aEs4aPCzAtc75Jx/Ayym2A06JgAeaDUFLXI867/Vsp2F0g7MJxuCkNhpa+zVZsXcyB0Kxzzv4xU7zuJXsQ==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@sap/cds-compiler/-/cds-compiler-3.3.2.tgz", + "integrity": "sha512-jOUEjSMBOVZXmWgx3/mu8H9BbvgP+HVyyKXbHHZWJlk0NMlk+FI/q4KagUaGWJFyRVBskdzF4zBD/QLlrhRnHA==", "requires": { "antlr4": "4.9.3" } From 70cfa82a3561eabfa9cb08a77077ab67df8eeb67 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Oct 2022 14:03:08 +0000 Subject: [PATCH 20/22] Bump axios from 0.27.2 to 1.1.2 (#410) Bumps [axios](https://github.com/axios/axios) from 0.27.2 to 1.1.2. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](https://github.com/axios/axios/compare/v0.27.2...v1.1.2) --- updated-dependencies: - dependency-name: axios dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 36 +++++++++++++++++++++++++----------- package.json | 2 +- test/registry.test.js | 2 +- 3 files changed, 27 insertions(+), 13 deletions(-) diff --git a/package-lock.json b/package-lock.json index d94650e1..b3d4a03a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,7 +23,7 @@ "@sap/cds": ">=5.5.3" }, "devDependencies": { - "axios": "^0", + "axios": "^1", "chai": "^4.3.4", "chai-as-promised": "^7.1.1", "chai-subset": "^1.6.0", @@ -610,13 +610,14 @@ "dev": true }, "node_modules/axios": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", - "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.1.2.tgz", + "integrity": "sha512-bznQyETwElsXl2RK7HLLwb5GPpOLlycxHCtrpDR/4RqqBzjARaOTo3jz4IgtntWUYee7Ne4S8UHd92VCuzPaWA==", "dev": true, "dependencies": { - "follow-redirects": "^1.14.9", - "form-data": "^4.0.0" + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" } }, "node_modules/balanced-match": { @@ -2326,6 +2327,12 @@ "node": ">= 0.10" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, "node_modules/qs": { "version": "6.10.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", @@ -3417,13 +3424,14 @@ "dev": true }, "axios": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", - "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.1.2.tgz", + "integrity": "sha512-bznQyETwElsXl2RK7HLLwb5GPpOLlycxHCtrpDR/4RqqBzjARaOTo3jz4IgtntWUYee7Ne4S8UHd92VCuzPaWA==", "dev": true, "requires": { - "follow-redirects": "^1.14.9", - "form-data": "^4.0.0" + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" } }, "balanced-match": { @@ -4728,6 +4736,12 @@ "ipaddr.js": "1.9.1" } }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, "qs": { "version": "6.10.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", diff --git a/package.json b/package.json index 53739d7f..1d0bd55e 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "./reviews" ], "devDependencies": { - "axios": "^0", + "axios": "^1", "chai": "^4.3.4", "chai-as-promised": "^7.1.1", "chai-subset": "^1.6.0", diff --git a/test/registry.test.js b/test/registry.test.js index e42a94ca..5c64c31e 100644 --- a/test/registry.test.js +++ b/test/registry.test.js @@ -17,7 +17,7 @@ describe('cap/samples - Local NPM registry', () => { const env = Object.assign(process.env, {PORT:'0'}) const res = await exec (resolve(cwd, '.registry/server.js'), {cwd, stdio: 'pipe', env}) registry = res.cp - axios = require('axios').default.create ({ baseURL: res.url, validateStatus: (status)=>status<500 }) + axios = require('axios').create ({ baseURL: res.url, validateStatus: (status)=>status<500 }) }) after(() => { registry.kill() }) From b0b4412c7a9284c0aa6295114cccad42d78f2c44 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 12 Oct 2022 14:59:10 +0200 Subject: [PATCH 21/22] Fixed genre for Eleonora --- bookshop/db/data/sap.capire.bookshop-Books.csv | 2 +- test/odata.test.js | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/bookshop/db/data/sap.capire.bookshop-Books.csv b/bookshop/db/data/sap.capire.bookshop-Books.csv index 702375bb..bfe13f2c 100644 --- a/bookshop/db/data/sap.capire.bookshop-Books.csv +++ b/bookshop/db/data/sap.capire.bookshop-Books.csv @@ -2,5 +2,5 @@ ID;title;descr;author_ID;stock;price;currency_code;genre_ID 201;Wuthering Heights;"Wuthering Heights, Emily Brontë's only novel, was published in 1847 under the pseudonym ""Ellis Bell"". It was written between October 1845 and June 1846. Wuthering Heights and Anne Brontë's Agnes Grey were accepted by publisher Thomas Newby before the success of their sister Charlotte's novel Jane Eyre. After Emily's death, Charlotte edited the manuscript of Wuthering Heights and arranged for the edited version to be published as a posthumous second edition in 1850.";101;12;11.11;GBP;11 207;Jane Eyre;"Jane Eyre /ɛər/ (originally published as Jane Eyre: An Autobiography) is a novel by English writer Charlotte Brontë, published under the pen name ""Currer Bell"", on 16 October 1847, by Smith, Elder & Co. of London. The first American edition was published the following year by Harper & Brothers of New York. Primarily a bildungsroman, Jane Eyre follows the experiences of its eponymous heroine, including her growth to adulthood and her love for Mr. Rochester, the brooding master of Thornfield Hall. The novel revolutionised prose fiction in that the focus on Jane's moral and spiritual development is told through an intimate, first-person narrative, where actions and events are coloured by a psychological intensity. The book contains elements of social criticism, with a strong sense of Christian morality at its core and is considered by many to be ahead of its time because of Jane's individualistic character and how the novel approaches the topics of class, sexuality, religion and feminism.";107;11;12.34;GBP;11 251;The Raven;"""The Raven"" is a narrative poem by American writer Edgar Allan Poe. First published in January 1845, the poem is often noted for its musicality, stylized language, and supernatural atmosphere. It tells of a talking raven's mysterious visit to a distraught lover, tracing the man's slow fall into madness. The lover, often identified as being a student, is lamenting the loss of his love, Lenore. Sitting on a bust of Pallas, the raven seems to further distress the protagonist with its constant repetition of the word ""Nevermore"". The poem makes use of folk, mythological, religious, and classical references.";150;333;13.13;USD;16 -252;Eleonora;"""Eleonora"" is a short story by Edgar Allan Poe, first published in 1842 in Philadelphia in the literary annual The Gift. It is often regarded as somewhat autobiographical and has a relatively ""happy"" ending.";150;555;14;USD;16 +252;Eleonora;"""Eleonora"" is a short story by Edgar Allan Poe, first published in 1842 in Philadelphia in the literary annual The Gift. It is often regarded as somewhat autobiographical and has a relatively ""happy"" ending.";150;555;14;USD;15 271;Catweazle;Catweazle is a British fantasy television series, starring Geoffrey Bayldon in the title role, and created by Richard Carpenter for London Weekend Television. The first series, produced and directed by Quentin Lawrence, was screened in the UK on ITV in 1970. The second series, directed by David Reid and David Lane, was shown in 1971. Each series had thirteen episodes, most but not all written by Carpenter, who also published two books based on the scripts.;170;22;150;JPY;13 \ No newline at end of file diff --git a/test/odata.test.js b/test/odata.test.js index f5eba97e..71d6f0a8 100644 --- a/test/odata.test.js +++ b/test/odata.test.js @@ -17,10 +17,10 @@ describe('cap/samples - Bookshop APIs', () => { "ID": 16, "parent_ID": 10 } - const Fantasy = { - "name": "Fantasy", + const Romance = { + "name": "Romance", "descr": null, - "ID": 13, + "ID": 15, "parent_ID": 10 } @@ -62,7 +62,7 @@ describe('cap/samples - Bookshop APIs', () => { }}` expect(data.value).to.eql([ { ID: 251, title: 'The Raven', author: 'Edgar Allen Poe', genre:Mystery, currency:USD }, - { ID: 252, title: 'Eleonora', author: 'Edgar Allen Poe', genre:Mystery, currency:USD }, + { ID: 252, title: 'Eleonora', author: 'Edgar Allen Poe', genre:Romance, currency:USD }, ]) }) From 94b74d76ad23e14779ea3fe70217bf4148ea35a5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 14 Oct 2022 15:41:17 +0200 Subject: [PATCH 22/22] Bump @sap/cds from 6.2.1 to 6.2.2 (#413) Bumps [@sap/cds](https://cap.cloud.sap/) from 6.2.1 to 6.2.2. --- updated-dependencies: - dependency-name: "@sap/cds" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index b3d4a03a..1441a63e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -333,9 +333,9 @@ } }, "node_modules/@sap/cds": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@sap/cds/-/cds-6.2.1.tgz", - "integrity": "sha512-jiV1e2M8UzHTXJ9I2a/VjNkKHRNK7sYggD0uTAUvKENUZvXBYxMpdB6HrRCsEtBZ0qu5bdk+EjYoHDqQt2gt+w==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@sap/cds/-/cds-6.2.2.tgz", + "integrity": "sha512-l1ps/Ofp+0k/ngSrCHBFNUXQew6n9A4OJhrm3CroxIEq8wQeXB5LBq53YQQYoCj807eQlXbVbzg6hRCm+BgDaQ==", "dependencies": { "@sap/cds-compiler": "^3.2.0", "@sap/cds-foss": "^4" @@ -3200,9 +3200,9 @@ } }, "@sap/cds": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@sap/cds/-/cds-6.2.1.tgz", - "integrity": "sha512-jiV1e2M8UzHTXJ9I2a/VjNkKHRNK7sYggD0uTAUvKENUZvXBYxMpdB6HrRCsEtBZ0qu5bdk+EjYoHDqQt2gt+w==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@sap/cds/-/cds-6.2.2.tgz", + "integrity": "sha512-l1ps/Ofp+0k/ngSrCHBFNUXQew6n9A4OJhrm3CroxIEq8wQeXB5LBq53YQQYoCj807eQlXbVbzg6hRCm+BgDaQ==", "requires": { "@sap/cds-compiler": "^3.2.0", "@sap/cds-foss": "^4"