From c14ddfd8a77b7462356353862368be96447150c7 Mon Sep 17 00:00:00 2001 From: i332371 Date: Mon, 8 Jul 2024 13:50:43 +0530 Subject: [PATCH 1/2] replace npm add --- .github/workflows/checkout | 40 ++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/.github/workflows/checkout b/.github/workflows/checkout index 51532d6..456b8a7 100755 --- a/.github/workflows/checkout +++ b/.github/workflows/checkout @@ -15,20 +15,19 @@ async function remoteService () { const cmd = `cp -r ${paths.join(' ')} ${levelUP}` await run(cmd); - const packageJson = JSON.parse(await readFile(join(__dirname, levelUP ,"package.json"), "utf-8")); - const delta = JSON.parse(await readFile(join(__dirname, levelUP, TARGET_DIR, "package.json"), "utf-8")); + const packageJson = JSON.parse(await readFile(join(__dirname, levelUP ,"package.json"), "utf-8")) + const delta = JSON.parse(await readFile(join(__dirname, levelUP, TARGET_DIR, "package.json"), "utf-8")) packageJson.cds.requires["API_BUSINESS_PARTNER"] = delta.cds.requires["API_BUSINESS_PARTNER"] - await writeFile(join(__dirname, levelUP, "package.json"), JSON.stringify(packageJson, null, 2), "utf-8"); // dependencies - const deps = [ - "@sap-cloud-sdk/connectivity", - "@sap-cloud-sdk/http-client", - "@sap-cloud-sdk/resilience", - "@sap-cloud-sdk/util" - ] - console.info("Preparing Incidents-app with Remote Service") - return await run(`npm add ${deps.join(" ")}`) + const deps = { + "@sap-cloud-sdk/connectivity": "^3", + "@sap-cloud-sdk/http-client": "^3", + "@sap-cloud-sdk/resilience": "^3", + "@sap-cloud-sdk/util": "^3" + } + packageJson.dependencies = {...packageJson.dependencies, ...deps} + return await writeFile(join(__dirname, levelUP, "package.json"), JSON.stringify(packageJson, null, 2), "utf-8"); } async function messaging () { @@ -43,18 +42,17 @@ async function messaging () { const delta = JSON.parse(await readFile(join(__dirname, levelUP, TARGET_DIR, "package.json"), "utf-8")); packageJson.cds.requires["API_BUSINESS_PARTNER"] = delta.cds.requires["API_BUSINESS_PARTNER"] packageJson.cds.requires["messaging"] = delta.cds.requires["messaging"] - await writeFile(join(__dirname, levelUP, "package.json"), JSON.stringify(packageJson, null, 2), "utf-8"); // dependencies - const deps = [ - "@sap-cloud-sdk/connectivity", - "@sap-cloud-sdk/http-client", - "@sap-cloud-sdk/resilience", - "@sap-cloud-sdk/util", - "@sap/xb-msg-amqp-v100" - ] - console.info("Preparing Incidents-app with Messaging") - return await run(`npm add ${deps.join(" ")}`) + const deps = { + "@sap-cloud-sdk/connectivity": "^3", + "@sap-cloud-sdk/http-client": "^3", + "@sap-cloud-sdk/resilience": "^3", + "@sap-cloud-sdk/util": "^3", + "@sap/xb-msg-amqp-v100": "^0.9" + } + packageJson.dependencies = {...packageJson.dependencies, ...deps} + return await writeFile(join(__dirname, levelUP, "package.json"), JSON.stringify(packageJson, null, 2), "utf-8") } function run (cmd, silent) { From 081c1883a11a7b2fbdacf034030bd352a1bad960 Mon Sep 17 00:00:00 2001 From: i332371 Date: Mon, 8 Jul 2024 14:48:25 +0530 Subject: [PATCH 2/2] copy scripts for other samples --- .github/workflows/checkout | 44 ++++++++++++++++++++++++++++++++++++-- package.json | 4 ++-- 2 files changed, 44 insertions(+), 4 deletions(-) diff --git a/.github/workflows/checkout b/.github/workflows/checkout index 456b8a7..33c7674 100755 --- a/.github/workflows/checkout +++ b/.github/workflows/checkout @@ -12,7 +12,7 @@ async function remoteService () { const levelUP = "../../" const INCLUDES = ["srv", "test"] const paths = INCLUDES.map(pattern => join(__dirname, levelUP, TARGET_DIR, pattern)) - const cmd = `cp -r ${paths.join(' ')} ${levelUP}` + const cmd = `cp -r ${paths.join(' ')} ${join(__dirname, levelUP)}` await run(cmd); const packageJson = JSON.parse(await readFile(join(__dirname, levelUP ,"package.json"), "utf-8")) @@ -35,7 +35,7 @@ async function messaging () { const levelUP = "../../" const INCLUDES = ["app", "srv", "test"] const paths = INCLUDES.map(pattern => join(__dirname, levelUP, TARGET_DIR, pattern)) - const cmd = `cp -r ${paths.join(' ')} ${levelUP}` + const cmd = `cp -r ${paths.join(' ')} ${join(__dirname, levelUP)}` await run(cmd); const packageJson = JSON.parse(await readFile(join(__dirname, levelUP, "package.json"), "utf-8")); @@ -55,6 +55,40 @@ async function messaging () { return await writeFile(join(__dirname, levelUP, "package.json"), JSON.stringify(packageJson, null, 2), "utf-8") } +async function changeTracking() { + const TARGET_DIR = "xmpls" + const levelUP = "../../" + let cmd = `cp -r ${join(__dirname, levelUP, TARGET_DIR ,'change-tracking.cds')} ${join(__dirname, levelUP, 'srv')}` + await run(cmd); + cmd = `cp -r ${join(__dirname, levelUP, TARGET_DIR ,'change-tracking.test.js')} ${join(__dirname, levelUP, 'test')}` + await run(cmd); + const packageJson = JSON.parse(await readFile(join(__dirname, levelUP, "package.json"), "utf-8")); + + // dependencies + const deps = { + "@cap-js/change-tracking": "*" + } + packageJson.dependencies = {...packageJson.dependencies, ...deps} + return await writeFile(join(__dirname, levelUP, "package.json"), JSON.stringify(packageJson, null, 2), "utf-8") +} + +async function auditLog() { + const TARGET_DIR = "xmpls" + const levelUP = "../../" + let cmd = `cp -r ${join(__dirname, levelUP, TARGET_DIR ,'data-privacy.cds')} ${join(__dirname, levelUP, 'srv')}` + await run(cmd); + cmd = `cp -r ${join(__dirname, levelUP, TARGET_DIR ,'audit-log.test.js')} ${join(__dirname, levelUP, 'test')}` + await run(cmd); + const packageJson = JSON.parse(await readFile(join(__dirname, levelUP, "package.json"), "utf-8")); + + // dependencies + const deps = { + "@cap-js/audit-logging": "*" + } + packageJson.dependencies = {...packageJson.dependencies, ...deps} + return await writeFile(join(__dirname, levelUP, "package.json"), JSON.stringify(packageJson, null, 2), "utf-8") +} + function run (cmd, silent) { if (cmd.raw) return run (String.raw(...arguments)) if (cmd.endsWith('--silent')) silent = cmd = cmd.slice(0,-9) @@ -76,6 +110,12 @@ switch ($1) { case 'messaging': messaging(); break; + case 'change-tracking': + changeTracking() + break; + case 'audit-log': + auditLog() + break; default: console.log('Usage: ./checkout '); } \ No newline at end of file diff --git a/package.json b/package.json index 9421f3f..2186035 100644 --- a/package.json +++ b/package.json @@ -27,11 +27,11 @@ "watch": "cds watch", "start": "cds-serve", "test": "npx jest --silent", - "add-change-tracking": "npm add @cap-js/change-tracking && cp xmpls/change-tracking.cds ./srv && cp xmpls/change-tracking.test.js ./test", + "add-change-tracking": "./.github/workflows/checkout change-tracking", "add-telemetry": "npm add @cap-js/telemetry", "add-attachments": "npm add @cap-js/attachments && cp -r xmpls/attachments.cds ./db", "add-notifications": "npm add @cap-js/notifications && cp xmpls/alert-notifications.js ./srv && cp xmpls/notification-types.json ./srv", - "add-audit-log": "npm add @cap-js/audit-logging && cp xmpls/data-privacy.cds ./srv && cp xmpls/audit-log.test.js ./test", + "add-audit-log": "./.github/workflows/checkout audit-log", "add-remote-service": "./.github/workflows/checkout remote-service", "add-messaging": "./.github/workflows/checkout messaging", "add-all-xmpls": "npm run add-remote-service && npm run add-messaging && npm run add-change-tracking && npm run add-audit-log",