@sap/cds-dk 9.4.2 → 9.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +94 -0
- package/bin/compile/index.js +1 -1
- package/bin/data-products/index.js +10 -2
- package/bin/data-products/prepare-csn.js +63 -26
- package/bin/export.js +1 -1
- package/bin/help.js +2 -3
- package/bin/import.js +13 -3
- package/bin/repl.js +7 -11
- package/bin/up.js +164 -13
- package/bin/util/containerize.js +183 -0
- package/bin/version.js +4 -4
- package/lib/bind/k8s.js +1 -1
- package/lib/build/buildTaskEngine.js +5 -2
- package/lib/build/plugin.js +1 -1
- package/lib/build/plugins/helm/files/templates/_deployment_helpers.tpl +1 -1
- package/lib/build/plugins/helm/index.js +7 -7
- package/lib/build/provider/hana/2migration.js +16 -24
- package/lib/build/provider/hana/index.js +11 -3
- package/lib/build/provider/hana/template/.hdiconfig-all +7 -1
- package/lib/build/provider/hana/template/package.json +1 -1
- package/lib/build/provider/internalBuildPlugin.js +15 -1
- package/lib/build/provider/java/index.js +12 -1
- package/lib/build/provider/mtx-sidecar/index.js +2 -1
- package/lib/build/provider/nodejs/index.js +2 -1
- package/lib/build/util.js +3 -3
- package/lib/compile/to_openapi.js +1 -5
- package/lib/import/common.js +5 -4
- package/lib/import/message.js +1 -1
- package/lib/import/odata/ParserContext.js +1 -0
- package/lib/import/odata/v4parser.js +48 -3
- package/lib/import/openapi/importOpenAPI.js +6 -1
- package/lib/init/constants.js +1 -1
- package/lib/init/index.js +15 -6
- package/lib/init/merge.js +16 -0
- package/lib/init/projectReader.js +54 -24
- package/lib/init/registries/mta.js +5 -2
- package/lib/init/registries/xs-app.js +7 -1
- package/lib/init/template/ams/index.js +1 -1
- package/lib/init/template/app-frontend/files/app-package.json.hbs +1 -7
- package/lib/init/template/app-frontend/files/ui5.yaml.hbs +20 -1
- package/lib/init/template/app-frontend/index.js +0 -4
- package/lib/init/template/application-logging/index.js +9 -14
- package/lib/init/template/approuter/files/mta.yaml.hbs +7 -2
- package/lib/init/template/approuter/index.js +21 -16
- package/lib/init/template/audit-logging/index.js +2 -2
- package/lib/init/template/cloud-logging/index.js +2 -3
- package/lib/init/template/containerize/files/containerize.yaml.hbs +17 -3
- package/lib/init/template/containerize/index.js +0 -4
- package/lib/init/template/data/as-json.js +18 -20
- package/lib/init/template/destination/index.js +0 -4
- package/lib/init/template/dynatrace/index.js +0 -2
- package/lib/init/template/github-actions/files/kyma-setup/action.yaml +0 -2
- package/lib/init/template/github-actions/files/workflows/cf.yaml.hbs +16 -1
- package/lib/init/template/github-actions/files/workflows/test.yaml.hbs +20 -0
- package/lib/init/template/github-actions/index.js +5 -8
- package/lib/init/template/hana/files/db/package.json +2 -2
- package/lib/init/template/hana/files/mta.yaml.hbs +0 -4
- package/lib/init/template/hana/index.js +5 -7
- package/lib/init/template/helm/index.js +16 -33
- package/lib/init/template/helm-unified-runtime/index.js +0 -4
- package/lib/init/template/html5-repo/files/app-package.json.hbs +1 -7
- package/lib/init/template/html5-repo/files/containerize.yaml.hbs +0 -9
- package/lib/init/template/html5-repo/files/mta.yaml.hbs +0 -7
- package/lib/init/template/html5-repo/files/ui5.yaml.hbs +20 -1
- package/lib/init/template/html5-repo/files/values.yaml.hbs +6 -0
- package/lib/init/template/html5-repo/files/xs-app.json.hbs +5 -3
- package/lib/init/template/html5-repo/index.js +8 -14
- package/lib/init/template/ias/files/values.yaml.hbs +6 -6
- package/lib/init/template/ias/index.js +14 -23
- package/lib/init/template/kyma/index.js +14 -1
- package/lib/init/template/malware-scanner/files/mta.yaml.hbs +3 -1
- package/lib/init/template/malware-scanner/files/values.yaml +3 -1
- package/lib/init/template/multitenancy/files/mta.yaml.hbs +1 -3
- package/lib/init/template/multitenancy/files/values.yaml.hbs +8 -0
- package/lib/init/template/multitenancy/index.js +10 -5
- package/lib/init/template/nodejs/files/package.json.hbs +1 -1
- package/lib/init/template/pipeline/files/app-package.json.hbs +1 -7
- package/lib/init/template/pipeline/files/ui5.yaml.hbs +20 -1
- package/lib/init/template/pipeline/index.js +6 -3
- package/lib/init/template/portal/files/mta.yaml.hbs +5 -3
- package/lib/init/template/portal/index.js +3 -6
- package/lib/init/template/sample/files/_i18n/i18n_de.properties +12 -0
- package/lib/init/template/sample/files/_i18n/i18n_en.properties +21 -0
- package/lib/init/template/sample/files/_i18n/i18n_fr.properties +20 -0
- package/lib/init/template/sample/files/_i18n/messages_de.properties +34 -0
- package/lib/init/template/sample/files/_i18n/messages_en.properties +34 -0
- package/lib/init/template/sample/files/_i18n/messages_fr.properties +34 -0
- package/lib/init/template/sample/files/app/_i18n/i18n_de.properties +0 -26
- package/lib/init/template/sample/files/app/_i18n/i18n_en.properties +8 -0
- package/lib/init/template/sample/files/app/admin-authors/fiori-service.cds +52 -0
- package/lib/init/template/sample/files/app/admin-authors/webapp/Component.js.hbs +3 -0
- package/lib/init/template/sample/files/app/admin-authors/webapp/i18n/i18n.properties +11 -0
- package/lib/init/template/sample/files/app/admin-authors/webapp/manifest.json +130 -0
- package/lib/init/template/sample/files/app/admin-books/fiori-service.cds +81 -88
- package/lib/init/template/sample/files/app/admin-books/webapp/Component.js.hbs +3 -0
- package/lib/init/template/sample/files/app/admin-books/webapp/i18n/i18n.properties +10 -2
- package/lib/init/template/sample/files/app/admin-books/webapp/manifest.json +24 -48
- package/lib/init/template/sample/files/app/appconfig/fioriSandboxConfig.json +54 -3
- package/lib/init/template/sample/files/app/browse/fiori-service.cds +30 -30
- package/lib/init/template/sample/files/app/browse/webapp/Component.js.hbs +3 -0
- package/lib/init/template/sample/files/app/browse/webapp/i18n/i18n.properties +10 -3
- package/lib/init/template/sample/files/app/browse/webapp/manifest.json +18 -23
- package/lib/init/template/sample/files/app/common.cds +126 -158
- package/lib/init/template/sample/files/app/fiori-apps.html +30 -0
- package/lib/init/template/sample/files/app/genres/fiori-service.cds +33 -0
- package/lib/init/template/sample/files/app/genres/tree-view.cds +42 -0
- package/lib/init/template/sample/files/app/genres/value-help.cds +6 -0
- package/lib/init/template/sample/files/app/genres/webapp/Component.js.hbs +3 -0
- package/lib/init/template/sample/files/app/genres/webapp/i18n/i18n.properties +4 -0
- package/lib/init/template/sample/files/app/genres/webapp/i18n/i18n_de.properties +2 -0
- package/lib/init/template/sample/files/app/genres/webapp/manifest.json +126 -0
- package/lib/init/template/sample/files/app/services.cds +6 -2
- package/lib/init/template/sample/files/db/currencies.cds +13 -0
- package/lib/init/template/sample/files/db/data/sap.capire.bookshop-Books.csv +5 -5
- package/lib/init/template/sample/files/db/data/{sap.capire.bookshop-Books_texts.csv → sap.capire.bookshop-Books.texts.csv} +4 -4
- package/lib/init/template/sample/files/db/data/sap.capire.bookshop-Genres.csv +42 -15
- package/lib/init/template/sample/files/db/data/sap.common-Currencies.csv +12 -0
- package/lib/init/template/sample/files/db/data/sap.common-Currencies.texts.csv +15 -0
- package/lib/init/template/sample/files/db/hana/index.cds +10 -0
- package/lib/init/template/sample/files/db/schema.cds +35 -22
- package/lib/init/template/sample/files/db/sqlite/index.cds +10 -0
- package/lib/init/template/sample/files/package.json.hbs +14 -1
- package/lib/init/template/sample/files/srv/access-control.cds +3 -0
- package/lib/init/template/sample/files/srv/admin-service.cds +3 -2
- package/lib/init/template/sample/files/srv/cat-service.cds +7 -11
- package/lib/init/template/sample/index.js +26 -17
- package/lib/init/template/telemetry/index.js +1 -3
- package/lib/init/template/typescript/files/package.json +1 -1
- package/lib/init/template/workzone-standard/files/mta.yaml.hbs +0 -5
- package/lib/init/template/workzone-standard/index.js +0 -1
- package/lib/init/template/xsuaa/files/mta.yaml.hbs +4 -0
- package/lib/init/template/xsuaa/index.js +5 -7
- package/lib/lint/Linter.js +10 -4
- package/lib/lint/eslintHelp.json +1 -1
- package/lib/mtx/tenant_action.js +12 -4
- package/lib/util/checksum.js +32 -0
- package/lib/util/question.js +60 -7
- package/npm-shrinkwrap.json +61 -37
- package/package.json +2 -2
- package/lib/init/template/app-frontend/files/ui5-deploy.yaml.hbs +0 -25
- package/lib/init/template/github-actions/files/cf-setup/action.yaml +0 -53
- package/lib/init/template/html5-repo/files/ui5-deploy.yaml.hbs +0 -25
- package/lib/init/template/pipeline/files/ui5-deploy.yaml.hbs +0 -25
- package/lib/init/template/sample/files/app/_i18n/i18n.properties +0 -29
- package/lib/init/template/sample/files/app/admin-books/webapp/Component.js +0 -8
- package/lib/init/template/sample/files/app/admin-books/webapp/i18n/i18n_de.properties +0 -3
- package/lib/init/template/sample/files/app/admin-books/webapp/i18n/i18n_en.properties +0 -3
- package/lib/init/template/sample/files/app/browse/webapp/Component.js +0 -7
- package/lib/init/template/sample/files/app/browse/webapp/i18n/i18n_de.properties +0 -3
- package/lib/init/template/sample/files/app/browse/webapp/i18n/i18n_en.properties +0 -4
- package/lib/init/template/sample/files/app/index.html +0 -32
package/lib/lint/eslintHelp.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "9.
|
|
2
|
+
"version": "9.39.1",
|
|
3
3
|
"help": "\n# SYNOPSIS\n\n *cds lint* [options] file.js [file.js] [dir]\n\n Runs environment checks and/or checks the specified models\n based on the ESLint framework\n\n# OPTIONS\n \n Basic configuration:\n --no-config-lookup Disable look up for eslint.config.js\n -c, --config path::String Use this configuration instead of eslint.config.js, eslint.config.mjs, or eslint.config.cjs\n --inspect-config Open the config inspector with the current configuration\n --ext [String] Specify additional file extensions to lint\n --global [String] Define global variables\n --parser String Specify the parser to be used\n --parser-options Object Specify parser options\n \n Specify Rules and Plugins:\n --plugin [String] Specify plugins\n --rule Object Specify rules\n \n Fix Problems:\n --fix Automatically fix problems\n --fix-dry-run Automatically fix problems without saving the changes to the file system\n --fix-type Array Specify the types of fixes to apply (directive, problem, suggestion, layout)\n \n Ignore Files:\n --no-ignore Disable use of ignore files and patterns\n --ignore-pattern [String] Patterns of files to ignore\n \n Use stdin:\n --stdin Lint code provided on <STDIN> - default: false\n --stdin-filename String Specify filename to process STDIN as\n \n Handle Warnings:\n --quiet Report errors only - default: false\n --max-warnings Int Number of warnings to trigger nonzero exit code - default: -1\n \n Output:\n -o, --output-file path::String Specify file to write report to\n -f, --format String Use a specific output format - default: stylish\n --color, --no-color Force enabling/disabling of color\n \n Inline configuration comments:\n --no-inline-config Prevent comments from changing config or rules\n --report-unused-disable-directives Adds reported errors for unused eslint-disable and eslint-enable directives\n --report-unused-disable-directives-severity String Chooses severity level for reporting unused eslint-disable and eslint-enable directives - either: off, warn, error, 0, 1, or 2\n --report-unused-inline-configs String Adds reported errors for unused eslint inline config comments - either: off, warn, error, 0, 1, or 2\n \n Caching:\n --cache Only check changed files - default: false\n --cache-file path::String Path to the cache file. Deprecated: use --cache-location - default: .eslintcache\n --cache-location path::String Path to the cache file or directory\n --cache-strategy String Strategy to use for detecting changed files in the cache - either: metadata or content - default: metadata\n \n Suppressing Violations:\n --suppress-all Suppress all violations - default: false\n --suppress-rule [String] Suppress specific rules\n --suppressions-location path::String Specify the location of the suppressions file\n --prune-suppressions Prune unused suppressions - default: false\n --pass-on-unpruned-suppressions Ignore unused suppressions - default: false\n \n Miscellaneous:\n --init Run config initialization wizard - default: false\n --env-info Output execution environment information - default: false\n --no-error-on-unmatched-pattern Prevent errors when pattern is unmatched\n --exit-on-fatal-error Exit with exit code 2 in case of fatal error - default: false\n --no-warn-ignored Suppress warnings when the file list includes ignored files\n --pass-on-no-patterns Exit with exit code 0 in case no file patterns are passed\n --debug Output debugging information\n -h, --help Show help\n -v, --version Output the version number\n --print-config path::String Print the configuration for the given file\n --stats Add statistics to the lint report - default: false\n --flag [String] Enable a feature flag\n --mcp Start the ESLint MCP server\n --concurrency Int|String Number of linting threads, auto to choose automatically, off for no multithreading - default: off\n \n",
|
|
4
4
|
"options": [
|
|
5
5
|
"--config",
|
package/lib/mtx/tenant_action.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
const cds = require('../cds');
|
|
2
2
|
const { ParamCollection } = require('./params');
|
|
3
3
|
const AuthManager = require('./auth_manager');
|
|
4
|
+
const { localhostRegex } = require('./util/urls');
|
|
4
5
|
|
|
5
6
|
require('../util/axios').pruneErrors();
|
|
6
7
|
const { getMessage } = require('./util/logging');
|
|
@@ -15,6 +16,9 @@ const COMMANDS = {
|
|
|
15
16
|
unsubscribe: 'from'
|
|
16
17
|
};
|
|
17
18
|
|
|
19
|
+
const DEFAULT_SUBSCRIBE_USER = 'yves';
|
|
20
|
+
const DEFAULT_SUBSCRIBE_PASSWORD = '';
|
|
21
|
+
|
|
18
22
|
module.exports = class TenantAction {
|
|
19
23
|
|
|
20
24
|
// TODO JSDoc
|
|
@@ -33,12 +37,19 @@ module.exports = class TenantAction {
|
|
|
33
37
|
async run(paramValues, { tenant, local } = {}) {
|
|
34
38
|
let params = new ParamCollection(paramValues);
|
|
35
39
|
params.set('skipToken', true); // Token would have insufficient scopes for this command.
|
|
40
|
+
|
|
36
41
|
if (local) {
|
|
37
42
|
// Connect to locally-served MTXS
|
|
38
43
|
await this.runWithServer(params, tenant);
|
|
39
44
|
} else {
|
|
40
|
-
// Connect to running MTXS server
|
|
41
45
|
params = await AuthManager.login(params.toEntries());
|
|
46
|
+
// subscribe: use 'yves' as default username against localhost if no username is provided
|
|
47
|
+
if (this.command === 'subscribe' && !params.has('username') && params.has('appUrl') && localhostRegex.test(params.get('appUrl'))) {
|
|
48
|
+
params.set('username', DEFAULT_SUBSCRIBE_USER);
|
|
49
|
+
params.set('password', DEFAULT_SUBSCRIBE_PASSWORD);
|
|
50
|
+
params = await AuthManager.login(params.toEntries()); // set reqAuth param
|
|
51
|
+
}
|
|
52
|
+
// Connect to running MTXS server
|
|
42
53
|
await this.runClientOnly(params, tenant);
|
|
43
54
|
}
|
|
44
55
|
console.log(`${capitalize(this.command)} successful.`);
|
|
@@ -80,9 +91,6 @@ module.exports = class TenantAction {
|
|
|
80
91
|
}
|
|
81
92
|
|
|
82
93
|
const { cds_mtx } = require(libPath);
|
|
83
|
-
if (!cds_mtx) {
|
|
84
|
-
throw '@sap/cds-mtxs outdated. Please upgrade to @sap/cds-mtxs@>=1.7.0 and re-run this command.';
|
|
85
|
-
}
|
|
86
94
|
const body = params.get('body')
|
|
87
95
|
return cds_mtx(this.command, tenant, body);
|
|
88
96
|
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
const cds = require('../../lib/cds')
|
|
2
|
+
const { read } = cds.utils
|
|
3
|
+
const crypto = require('crypto')
|
|
4
|
+
const { getFiles } = require('../build/util')
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Calculate a checksum for a directory, excluding specified patterns.
|
|
8
|
+
* @param {string} dirPath - The directory path to calculate checksum for.
|
|
9
|
+
* @param {(file: string) => boolean} [filter] - the filter function to apply to the found files
|
|
10
|
+
* @param {string} [hashFunction='sha256'] - The hash function to use (default is 'sha256').
|
|
11
|
+
* @returns {Promise<string>} - The checksum as a hex string.
|
|
12
|
+
*/
|
|
13
|
+
async function calcDirChecksum(dirPath, filter = [], hashFunction = 'sha256', optionalFiles = []) {
|
|
14
|
+
const hash = crypto.createHash(hashFunction)
|
|
15
|
+
const files = await getFiles(dirPath, filter)
|
|
16
|
+
|
|
17
|
+
for (const file of files.sort()) {
|
|
18
|
+
const content = await read(file, "binary")
|
|
19
|
+
hash.update(file)
|
|
20
|
+
hash.update(content)
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
for (const file of optionalFiles.sort()) {
|
|
24
|
+
const content = await read(file, "binary")
|
|
25
|
+
hash.update(file)
|
|
26
|
+
hash.update(content)
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return hash.digest('hex')
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
module.exports = { calcDirChecksum }
|
package/lib/util/question.js
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
const readline = require('node:readline')
|
|
2
|
+
const { Writable } = require('node:stream')
|
|
2
3
|
|
|
3
|
-
async function ask4(...args) {
|
|
4
|
+
async function ask4([...args], { redacted = false } = {}) {
|
|
5
|
+
var mutableStdout = new Writable({
|
|
6
|
+
write: function (chunk, encoding, callback) {
|
|
7
|
+
if (!redacted)
|
|
8
|
+
process.stdout.write(chunk, encoding);
|
|
9
|
+
callback();
|
|
10
|
+
}
|
|
11
|
+
});
|
|
4
12
|
|
|
5
13
|
// If not in interactive mode, read all input at once.
|
|
6
14
|
if (!process.stdin.isTTY) {
|
|
@@ -13,19 +21,64 @@ async function ask4(...args) {
|
|
|
13
21
|
}
|
|
14
22
|
|
|
15
23
|
const answers = []
|
|
16
|
-
const rl = readline.createInterface({
|
|
24
|
+
const rl = readline.createInterface({
|
|
25
|
+
input: process.stdin,
|
|
26
|
+
output: mutableStdout,
|
|
27
|
+
terminal: true
|
|
28
|
+
})
|
|
17
29
|
|
|
18
30
|
const askQuestion = question =>
|
|
19
|
-
new Promise(resolve =>
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
31
|
+
new Promise(resolve => {
|
|
32
|
+
if (redacted && process.stdin.isTTY) {
|
|
33
|
+
// Set raw mode to intercept keystrokes
|
|
34
|
+
process.stdin.setRawMode(true)
|
|
35
|
+
process.stdout.write(question)
|
|
36
|
+
|
|
37
|
+
let answer = ''
|
|
38
|
+
const onData = (char) => {
|
|
39
|
+
const byte = char.toString()
|
|
40
|
+
|
|
41
|
+
// Enter key
|
|
42
|
+
if (byte === '\n' || byte === '\r') {
|
|
43
|
+
process.stdin.setRawMode(false)
|
|
44
|
+
process.stdin.removeListener('data', onData)
|
|
45
|
+
process.stdout.write('\n')
|
|
46
|
+
answers.push(answer)
|
|
47
|
+
resolve()
|
|
48
|
+
}
|
|
49
|
+
// Backspace/Delete
|
|
50
|
+
else if (byte === '\b' || byte === '\x7f') {
|
|
51
|
+
if (answer.length > 0) {
|
|
52
|
+
answer = answer.slice(0, -1)
|
|
53
|
+
process.stdout.write('\b \b')
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
// Ctrl+C
|
|
57
|
+
else if (byte === '\x03') {
|
|
58
|
+
process.stdin.setRawMode(false)
|
|
59
|
+
process.exit()
|
|
60
|
+
}
|
|
61
|
+
// Regular character
|
|
62
|
+
else if (byte >= ' ' || byte === '\t') {
|
|
63
|
+
answer += byte
|
|
64
|
+
process.stdout.write('*')
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
process.stdin.on('data', onData)
|
|
69
|
+
} else {
|
|
70
|
+
rl.question(question, answer => {
|
|
71
|
+
answers.push(answer)
|
|
72
|
+
resolve()
|
|
73
|
+
})
|
|
74
|
+
}
|
|
75
|
+
})
|
|
23
76
|
|
|
24
77
|
for (const question of args) {
|
|
25
78
|
await askQuestion(question)
|
|
26
79
|
}
|
|
27
80
|
rl.close()
|
|
28
|
-
return answers
|
|
81
|
+
return args.length == 1 ? answers[0] : answers
|
|
29
82
|
}
|
|
30
83
|
|
|
31
84
|
module.exports = { ask4 }
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sap/cds-dk",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.5.0",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@sap/cds-dk",
|
|
9
|
-
"version": "9.
|
|
9
|
+
"version": "9.5.0",
|
|
10
10
|
"license": "SEE LICENSE IN LICENSE",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@cap-js/asyncapi": "^1.0.0",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"@sap/hdi-deploy": "^5",
|
|
17
17
|
"axios": "^1",
|
|
18
18
|
"express": "^4.17.3",
|
|
19
|
-
"hdb": "^0",
|
|
19
|
+
"hdb": "^2.0.0",
|
|
20
20
|
"livereload-js": "^4.0.1",
|
|
21
21
|
"mustache": "^4.0.1",
|
|
22
22
|
"node-watch": ">=0.7",
|
|
@@ -42,15 +42,15 @@
|
|
|
42
42
|
}
|
|
43
43
|
},
|
|
44
44
|
"node_modules/@cap-js/db-service": {
|
|
45
|
-
"version": "2.
|
|
46
|
-
"integrity": "sha512-
|
|
45
|
+
"version": "2.7.0",
|
|
46
|
+
"integrity": "sha512-g6LDETBPWr8LYs3emrpEA4+FdVCkGgFmKHaeMPVBFXgFTUv14uYnarqWuFubBTrp5JF6S3wgljMJujld5+DL8A==",
|
|
47
47
|
"devOptional": true,
|
|
48
48
|
"license": "Apache-2.0",
|
|
49
49
|
"dependencies": {
|
|
50
50
|
"generic-pool": "^3.9.0"
|
|
51
51
|
},
|
|
52
52
|
"peerDependencies": {
|
|
53
|
-
"@sap/cds": ">=9"
|
|
53
|
+
"@sap/cds": ">=9.4.5"
|
|
54
54
|
}
|
|
55
55
|
},
|
|
56
56
|
"node_modules/@cap-js/openapi": {
|
|
@@ -65,12 +65,12 @@
|
|
|
65
65
|
}
|
|
66
66
|
},
|
|
67
67
|
"node_modules/@cap-js/sqlite": {
|
|
68
|
-
"version": "2.0
|
|
69
|
-
"integrity": "sha512-
|
|
68
|
+
"version": "2.1.0",
|
|
69
|
+
"integrity": "sha512-5jz7GlsrYCd5VlFEzImz5SCBkNa6Ps1wB9+1MceGlMrQLt0lDxiK1NqA+pIrcMeGWkQIcbNLteuP26ZQkGRidw==",
|
|
70
70
|
"license": "Apache-2.0",
|
|
71
71
|
"optional": true,
|
|
72
72
|
"dependencies": {
|
|
73
|
-
"@cap-js/db-service": "^2",
|
|
73
|
+
"@cap-js/db-service": "^2.7.0",
|
|
74
74
|
"better-sqlite3": "^12.0.0"
|
|
75
75
|
},
|
|
76
76
|
"peerDependencies": {
|
|
@@ -78,8 +78,8 @@
|
|
|
78
78
|
}
|
|
79
79
|
},
|
|
80
80
|
"node_modules/@eslint/js": {
|
|
81
|
-
"version": "9.
|
|
82
|
-
"integrity": "sha512-
|
|
81
|
+
"version": "9.39.1",
|
|
82
|
+
"integrity": "sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==",
|
|
83
83
|
"license": "MIT",
|
|
84
84
|
"peer": true,
|
|
85
85
|
"engines": {
|
|
@@ -90,8 +90,8 @@
|
|
|
90
90
|
}
|
|
91
91
|
},
|
|
92
92
|
"node_modules/@sap/cds": {
|
|
93
|
-
"version": "9.
|
|
94
|
-
"integrity": "sha512-
|
|
93
|
+
"version": "9.5.1",
|
|
94
|
+
"integrity": "sha512-rMvDSRytjqYQolB0pg8tiBlpS9kKGcleRhpZmBGUmSncbbwnotKYTKoDyMCWkflS8P9/Jq9YfY1qhK+fduHCVA==",
|
|
95
95
|
"license": "SEE LICENSE IN LICENSE",
|
|
96
96
|
"dependencies": {
|
|
97
97
|
"@sap/cds-compiler": "^6.3",
|
|
@@ -120,8 +120,8 @@
|
|
|
120
120
|
}
|
|
121
121
|
},
|
|
122
122
|
"node_modules/@sap/cds-compiler": {
|
|
123
|
-
"version": "6.
|
|
124
|
-
"integrity": "sha512-
|
|
123
|
+
"version": "6.5.0",
|
|
124
|
+
"integrity": "sha512-shm2jUI7uSrDfz3aMD9JHTByypv4+jvlDBXcqPak/kX9OxIBsnpskln1MDFZ094IAWae9fJemu5jgfbIP06lVg==",
|
|
125
125
|
"license": "SEE LICENSE IN LICENSE",
|
|
126
126
|
"bin": {
|
|
127
127
|
"cdsc": "bin/cdsc.js",
|
|
@@ -133,8 +133,8 @@
|
|
|
133
133
|
}
|
|
134
134
|
},
|
|
135
135
|
"node_modules/@sap/cds-fiori": {
|
|
136
|
-
"version": "2.1.
|
|
137
|
-
"integrity": "sha512-
|
|
136
|
+
"version": "2.1.1",
|
|
137
|
+
"integrity": "sha512-X+4v4LBAT8HIt0zr28/kJNS15nlNlcM97vAMW+agLrmK134nyBiMwUMcp8BMhxlG9B2PykrnAKH56D9O3tfoBg==",
|
|
138
138
|
"license": "SEE LICENSE IN LICENSE",
|
|
139
139
|
"peerDependencies": {
|
|
140
140
|
"@sap/cds": ">=8",
|
|
@@ -142,8 +142,8 @@
|
|
|
142
142
|
}
|
|
143
143
|
},
|
|
144
144
|
"node_modules/@sap/cds-mtxs": {
|
|
145
|
-
"version": "3.
|
|
146
|
-
"integrity": "sha512-
|
|
145
|
+
"version": "3.5.0",
|
|
146
|
+
"integrity": "sha512-bcStMhOvn7pbseJvzjNtOagw7lmAdyPKpKr17pDuSjy5bQkTPCTdSu61ZfJI464ljWY6pBmyYcdVf15X0Jmqqg==",
|
|
147
147
|
"license": "SEE LICENSE IN LICENSE",
|
|
148
148
|
"dependencies": {
|
|
149
149
|
"@sap/hdi-deploy": "^5"
|
|
@@ -261,8 +261,8 @@
|
|
|
261
261
|
"license": "MIT"
|
|
262
262
|
},
|
|
263
263
|
"node_modules/axios": {
|
|
264
|
-
"version": "1.
|
|
265
|
-
"integrity": "sha512-
|
|
264
|
+
"version": "1.13.2",
|
|
265
|
+
"integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==",
|
|
266
266
|
"license": "MIT",
|
|
267
267
|
"dependencies": {
|
|
268
268
|
"follow-redirects": "^1.15.6",
|
|
@@ -291,8 +291,8 @@
|
|
|
291
291
|
"optional": true
|
|
292
292
|
},
|
|
293
293
|
"node_modules/better-sqlite3": {
|
|
294
|
-
"version": "12.4.
|
|
295
|
-
"integrity": "sha512-
|
|
294
|
+
"version": "12.4.6",
|
|
295
|
+
"integrity": "sha512-gaYt9yqTbQ1iOxLpJA8FPR5PiaHP+jlg8I5EX0Rs2KFwNzhBsF40KzMZS5FwelY7RG0wzaucWdqSAJM3uNCPCg==",
|
|
296
296
|
"hasInstallScript": true,
|
|
297
297
|
"license": "MIT",
|
|
298
298
|
"optional": true,
|
|
@@ -301,7 +301,7 @@
|
|
|
301
301
|
"prebuild-install": "^7.1.1"
|
|
302
302
|
},
|
|
303
303
|
"engines": {
|
|
304
|
-
"node": "20.x || 22.x || 23.x || 24.x"
|
|
304
|
+
"node": "20.x || 22.x || 23.x || 24.x || 25.x"
|
|
305
305
|
}
|
|
306
306
|
},
|
|
307
307
|
"node_modules/bindings": {
|
|
@@ -808,8 +808,8 @@
|
|
|
808
808
|
}
|
|
809
809
|
},
|
|
810
810
|
"node_modules/form-data": {
|
|
811
|
-
"version": "4.0.
|
|
812
|
-
"integrity": "sha512-
|
|
811
|
+
"version": "4.0.5",
|
|
812
|
+
"integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
|
|
813
813
|
"license": "MIT",
|
|
814
814
|
"dependencies": {
|
|
815
815
|
"asynckit": "^0.4.0",
|
|
@@ -970,14 +970,32 @@
|
|
|
970
970
|
}
|
|
971
971
|
},
|
|
972
972
|
"node_modules/hdb": {
|
|
973
|
-
"version": "
|
|
974
|
-
"integrity": "sha512-
|
|
973
|
+
"version": "2.26.2",
|
|
974
|
+
"integrity": "sha512-XMUhfpsH99+I0WXRDnpNUYQx00ZiSceCusCF9Eo9+zgnOIdWYl5NP54hebYobe5CDEzQtSQXpud7+KoX3qTzMQ==",
|
|
975
975
|
"license": "Apache-2.0",
|
|
976
976
|
"dependencies": {
|
|
977
|
-
"iconv-lite": "
|
|
977
|
+
"iconv-lite": "0.7.0"
|
|
978
978
|
},
|
|
979
979
|
"engines": {
|
|
980
|
-
"node": ">=
|
|
980
|
+
"node": ">= 18"
|
|
981
|
+
},
|
|
982
|
+
"optionalDependencies": {
|
|
983
|
+
"lz4-wasm-nodejs": "0.9.2"
|
|
984
|
+
}
|
|
985
|
+
},
|
|
986
|
+
"node_modules/hdb/node_modules/iconv-lite": {
|
|
987
|
+
"version": "0.7.0",
|
|
988
|
+
"integrity": "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==",
|
|
989
|
+
"license": "MIT",
|
|
990
|
+
"dependencies": {
|
|
991
|
+
"safer-buffer": ">= 2.1.2 < 3.0.0"
|
|
992
|
+
},
|
|
993
|
+
"engines": {
|
|
994
|
+
"node": ">=0.10.0"
|
|
995
|
+
},
|
|
996
|
+
"funding": {
|
|
997
|
+
"type": "opencollective",
|
|
998
|
+
"url": "https://opencollective.com/express"
|
|
981
999
|
}
|
|
982
1000
|
},
|
|
983
1001
|
"node_modules/http-errors": {
|
|
@@ -1054,8 +1072,8 @@
|
|
|
1054
1072
|
}
|
|
1055
1073
|
},
|
|
1056
1074
|
"node_modules/js-yaml": {
|
|
1057
|
-
"version": "4.1.
|
|
1058
|
-
"integrity": "sha512-
|
|
1075
|
+
"version": "4.1.1",
|
|
1076
|
+
"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
|
|
1059
1077
|
"license": "MIT",
|
|
1060
1078
|
"dependencies": {
|
|
1061
1079
|
"argparse": "^2.0.1"
|
|
@@ -1069,6 +1087,12 @@
|
|
|
1069
1087
|
"integrity": "sha512-Fy7VwgQNiOkynYyNBTo3v9hQUhcW5pFAheJN148+DTgpShjsy/22pLHKKwDK5v0kOsZsJBK+6q1PMgLvRmrwFQ==",
|
|
1070
1088
|
"license": "MIT"
|
|
1071
1089
|
},
|
|
1090
|
+
"node_modules/lz4-wasm-nodejs": {
|
|
1091
|
+
"version": "0.9.2",
|
|
1092
|
+
"integrity": "sha512-hSwgJPS98q/Oe/89Y1OxzeA/UdnASG8GvldRyKa7aZyoAFCC8VPRtViBSava7wWC66WocjUwBpWau2rEmyFPsw==",
|
|
1093
|
+
"license": "MIT",
|
|
1094
|
+
"optional": true
|
|
1095
|
+
},
|
|
1072
1096
|
"node_modules/math-intrinsics": {
|
|
1073
1097
|
"version": "1.1.0",
|
|
1074
1098
|
"integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
|
|
@@ -1213,8 +1237,8 @@
|
|
|
1213
1237
|
"license": "MIT"
|
|
1214
1238
|
},
|
|
1215
1239
|
"node_modules/node-abi": {
|
|
1216
|
-
"version": "3.
|
|
1217
|
-
"integrity": "sha512-
|
|
1240
|
+
"version": "3.85.0",
|
|
1241
|
+
"integrity": "sha512-zsFhmbkAzwhTft6nd3VxcG0cvJsT70rL+BIGHWVq5fi6MwGrHwzqKaxXE+Hl2GmnGItnDKPPkO5/LQqjVkIdFg==",
|
|
1218
1242
|
"license": "MIT",
|
|
1219
1243
|
"optional": true,
|
|
1220
1244
|
"dependencies": {
|
|
@@ -1438,9 +1462,9 @@
|
|
|
1438
1462
|
"license": "MIT"
|
|
1439
1463
|
},
|
|
1440
1464
|
"node_modules/sax": {
|
|
1441
|
-
"version": "1.4.
|
|
1442
|
-
"integrity": "sha512
|
|
1443
|
-
"license": "
|
|
1465
|
+
"version": "1.4.3",
|
|
1466
|
+
"integrity": "sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==",
|
|
1467
|
+
"license": "BlueOak-1.0.0"
|
|
1444
1468
|
},
|
|
1445
1469
|
"node_modules/semver": {
|
|
1446
1470
|
"version": "7.7.3",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sap/cds-dk",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.5.0",
|
|
4
4
|
"description": "Command line client and development toolkit for the SAP Cloud Application Programming Model",
|
|
5
5
|
"homepage": "https://cap.cloud.sap/",
|
|
6
6
|
"keywords": [
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"@sap/hdi-deploy": "^5",
|
|
25
25
|
"axios": "^1",
|
|
26
26
|
"express": "^4.17.3",
|
|
27
|
-
"hdb": "^0",
|
|
27
|
+
"hdb": "^2.0.0",
|
|
28
28
|
"livereload-js": "^4.0.1",
|
|
29
29
|
"mustache": "^4.0.1",
|
|
30
30
|
"node-watch": ">=0.7",
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
# yaml-language-server: $schema=https://sap.github.io/ui5-tooling/schema/ui5.yaml.json
|
|
3
|
-
specVersion: '3.1'
|
|
4
|
-
metadata:
|
|
5
|
-
name: {{app}}
|
|
6
|
-
type: application
|
|
7
|
-
resources:
|
|
8
|
-
configuration:
|
|
9
|
-
propertiesFileSourceEncoding: UTF-8
|
|
10
|
-
builder:
|
|
11
|
-
resources:
|
|
12
|
-
excludes:
|
|
13
|
-
- "/test/**"
|
|
14
|
-
- "/localService/**"
|
|
15
|
-
customTasks:
|
|
16
|
-
- name: ui5-task-zipper
|
|
17
|
-
afterTask: generateVersionInfo
|
|
18
|
-
configuration:
|
|
19
|
-
archiveName: {{app}}
|
|
20
|
-
additionalFiles:
|
|
21
|
-
- xs-app.json
|
|
22
|
-
{{#isTypescript}}
|
|
23
|
-
- name: ui5-tooling-transpile-task
|
|
24
|
-
afterTask: replaceVersion
|
|
25
|
-
{{/isTypescript}}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
name: Cloud Foundry Setup
|
|
2
|
-
description: "Installs dependencies for Cloud Foundry deployment"
|
|
3
|
-
|
|
4
|
-
inputs:
|
|
5
|
-
cf-version:
|
|
6
|
-
description: "The version of the Cloud Foundry CLI to install"
|
|
7
|
-
required: false
|
|
8
|
-
default: "8.8.3"
|
|
9
|
-
cf-api:
|
|
10
|
-
description: "The Cloud Foundry API endpoint to connect to"
|
|
11
|
-
required: true
|
|
12
|
-
cf-org:
|
|
13
|
-
description: "The Cloud Foundry organization to target"
|
|
14
|
-
required: true
|
|
15
|
-
cf-space:
|
|
16
|
-
description: "The Cloud Foundry space to target"
|
|
17
|
-
required: true
|
|
18
|
-
cf-username:
|
|
19
|
-
description: "The Cloud Foundry username to authenticate with"
|
|
20
|
-
required: true
|
|
21
|
-
cf-password:
|
|
22
|
-
description: "The Cloud Foundry password to authenticate with"
|
|
23
|
-
required: true
|
|
24
|
-
|
|
25
|
-
runs:
|
|
26
|
-
using: composite
|
|
27
|
-
steps:
|
|
28
|
-
- shell: bash
|
|
29
|
-
run: |
|
|
30
|
-
set -e
|
|
31
|
-
echo "Using CF_VERSION=${{ inputs.cf-version }}"
|
|
32
|
-
echo "Using CF_API=${{ inputs.cf-api }}"
|
|
33
|
-
curl -L "https://packages.cloudfoundry.org/stable?release=linux64-binary&version=${{ inputs.cf-version }}&source=github" -o cf-cli.tgz
|
|
34
|
-
mkdir cf-cli && tar -xzf cf-cli.tgz -C cf-cli
|
|
35
|
-
chmod +x cf-cli/cf
|
|
36
|
-
echo "${PWD}/cf-cli" >> $GITHUB_PATH
|
|
37
|
-
|
|
38
|
-
- shell: bash
|
|
39
|
-
run: |
|
|
40
|
-
echo "Installing MBT..."
|
|
41
|
-
npm install -g mbt
|
|
42
|
-
|
|
43
|
-
- shell: bash
|
|
44
|
-
run: |
|
|
45
|
-
echo "Installing CF CLI multiapps plugin..."
|
|
46
|
-
cf install-plugin multiapps -f
|
|
47
|
-
|
|
48
|
-
- shell: bash
|
|
49
|
-
run: |
|
|
50
|
-
echo "Authenticating to Cloud Foundry..."
|
|
51
|
-
cf api "${{ inputs.cf-api }}"
|
|
52
|
-
cf auth "${{ inputs.cf-username }}" "${{ inputs.cf-password }}"
|
|
53
|
-
cf target -o "${{ inputs.cf-org }}" -s "${{ inputs.cf-space }}"
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
# yaml-language-server: $schema=https://sap.github.io/ui5-tooling/schema/ui5.yaml.json
|
|
3
|
-
specVersion: '3.1'
|
|
4
|
-
metadata:
|
|
5
|
-
name: {{app}}
|
|
6
|
-
type: application
|
|
7
|
-
resources:
|
|
8
|
-
configuration:
|
|
9
|
-
propertiesFileSourceEncoding: UTF-8
|
|
10
|
-
builder:
|
|
11
|
-
resources:
|
|
12
|
-
excludes:
|
|
13
|
-
- "/test/**"
|
|
14
|
-
- "/localService/**"
|
|
15
|
-
customTasks:
|
|
16
|
-
- name: ui5-task-zipper
|
|
17
|
-
afterTask: generateVersionInfo
|
|
18
|
-
configuration:
|
|
19
|
-
archiveName: {{app}}
|
|
20
|
-
additionalFiles:
|
|
21
|
-
- xs-app.json
|
|
22
|
-
{{#isTypescript}}
|
|
23
|
-
- name: ui5-tooling-transpile-task
|
|
24
|
-
afterTask: replaceVersion
|
|
25
|
-
{{/isTypescript}}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
# yaml-language-server: $schema=https://sap.github.io/ui5-tooling/schema/ui5.yaml.json
|
|
3
|
-
specVersion: '3.1'
|
|
4
|
-
metadata:
|
|
5
|
-
name: {{app}}
|
|
6
|
-
type: application
|
|
7
|
-
resources:
|
|
8
|
-
configuration:
|
|
9
|
-
propertiesFileSourceEncoding: UTF-8
|
|
10
|
-
builder:
|
|
11
|
-
resources:
|
|
12
|
-
excludes:
|
|
13
|
-
- "/test/**"
|
|
14
|
-
- "/localService/**"
|
|
15
|
-
customTasks:
|
|
16
|
-
- name: ui5-task-zipper
|
|
17
|
-
afterTask: generateVersionInfo
|
|
18
|
-
configuration:
|
|
19
|
-
archiveName: {{app}}
|
|
20
|
-
additionalFiles:
|
|
21
|
-
- xs-app.json
|
|
22
|
-
{{#isTypescript}}
|
|
23
|
-
- name: ui5-tooling-transpile-task
|
|
24
|
-
afterTask: replaceVersion
|
|
25
|
-
{{/isTypescript}}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
Books = Books
|
|
2
|
-
Book = Book
|
|
3
|
-
ID = ID
|
|
4
|
-
Title = Title
|
|
5
|
-
Author = Author
|
|
6
|
-
Authors = Authors
|
|
7
|
-
AuthorID = Author ID
|
|
8
|
-
AuthorName = Author Name
|
|
9
|
-
Name = Name
|
|
10
|
-
Age = Age
|
|
11
|
-
Stock = Stock
|
|
12
|
-
Order = Order
|
|
13
|
-
Orders = Orders
|
|
14
|
-
Price = Price
|
|
15
|
-
Genre = Genre
|
|
16
|
-
Genres = Genres
|
|
17
|
-
DateOfBirth = Date of Birth
|
|
18
|
-
DateOfDeath = Date of Death
|
|
19
|
-
PlaceOfBirth = Place of Birth
|
|
20
|
-
PlaceOfDeath = Place of Death
|
|
21
|
-
Details = Details
|
|
22
|
-
Languages = Languages
|
|
23
|
-
Currencies = Currencies
|
|
24
|
-
MainGenre = Main Genre
|
|
25
|
-
SubGenres = Subgenres
|
|
26
|
-
Admin = Admin
|
|
27
|
-
Translations = Translations
|
|
28
|
-
General = General
|
|
29
|
-
Locale = Locale
|