@sap/cds-dk 8.5.0 → 8.5.1
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 +14 -2
- package/bin/cds.js +49 -28
- package/bin/repl.js +50 -4
- package/bin/watch.js +1 -1
- package/lib/build/buildTaskEngine.js +3 -3
- package/lib/cds.js +10 -2
- package/lib/init/constants.js +1 -1
- package/lib/init/merge.js +1 -1
- package/lib/init/projectReader.js +1 -0
- package/lib/init/template/html5-repo/files/xs-app.json.hbs +1 -0
- package/lib/init/template/html5-repo/index.js +2 -0
- package/lib/init/template/nodejs/files/package.json.hbs +1 -1
- package/lib/init/template/typescript/files/package.json +1 -1
- package/npm-shrinkwrap.json +49 -29
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,9 +3,20 @@
|
|
|
3
3
|
|
|
4
4
|
All notable changes to this project will be documented in this file.
|
|
5
5
|
|
|
6
|
-
This project adheres to [Semantic Versioning](
|
|
6
|
+
This project adheres to [Semantic Versioning](https://semver.org/).
|
|
7
7
|
|
|
8
|
-
The format is based on [Keep a Changelog](
|
|
8
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/).
|
|
9
|
+
|
|
10
|
+
## Version 8.5.1 - 2024-12-05
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- `cds watch` now detects a TypeScript project and tries to run with `tsx` if this is installed locally or globally. Otherwise a warning message is emitted. `CDS_TYPESCRIPT=false` can be used to opt out of this behavior.
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
|
|
18
|
+
- `cds add html5-repo` adds an `index.html` as `welcomePage` to the `xs-app.json`, if available.
|
|
19
|
+
- `cds build` now logs existing plugin build messages if a BuildError is thrown.
|
|
9
20
|
|
|
10
21
|
## Version 8.5.0 - 2024-11-26
|
|
11
22
|
|
|
@@ -30,6 +41,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/).
|
|
|
30
41
|
|
|
31
42
|
- `cds import` throws proper error message if Annotation element doesn't have Term attribute.
|
|
32
43
|
- `cds add approuter` no longer enforces Node.js 22, which is not supporter by current `@sap/approuter` version 17. The previous Node.js version 20 is used again.
|
|
44
|
+
- `cds add -p` with custom options now works if the entry was not in the `package.json` beforehand.
|
|
33
45
|
- `cds add http` works for actions without parameters.
|
|
34
46
|
- `cds add workzone` includes the `updateManifestJson` task on initial generation.
|
|
35
47
|
- `cds build --ws` no longer creates migration tables in shared database or wrong workspace.
|
package/bin/cds.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
+
const path = require('node:path')
|
|
4
|
+
const { sep } = { path }
|
|
5
|
+
const fs = require('node:fs')
|
|
3
6
|
|
|
4
7
|
const cli = {
|
|
5
8
|
|
|
@@ -25,9 +28,6 @@ const cli = {
|
|
|
25
28
|
},
|
|
26
29
|
|
|
27
30
|
async exec (cmd = process.argv[2], ...argv) {
|
|
28
|
-
const path = require('node:path')
|
|
29
|
-
const fs = require('node:fs')
|
|
30
|
-
|
|
31
31
|
if (!argv.length) argv = process.argv.slice(3)
|
|
32
32
|
if (!cmd) cmd = process.stdin.isTTY ? 'help' : 'compile'
|
|
33
33
|
if (cmd in this.Shortcuts) cmd = process.argv[2] = this.Shortcuts[cmd]
|
|
@@ -66,7 +66,10 @@ const cli = {
|
|
|
66
66
|
const p = argv[argv.indexOf('-p') + 1] || argv[argv.indexOf('--package') + 1]
|
|
67
67
|
console.log(`running with --package, adding dependency ${p}`)
|
|
68
68
|
await require('../lib/util/command').spawnCommand(`npm`, ['add', p], { cwd: cds.root })
|
|
69
|
+
delete require.cache[require.resolve(path.join(cds.root,'./package.json'))]
|
|
69
70
|
}
|
|
71
|
+
cds.env.plugins = cds.env.for('cds').plugins // reload plugin env
|
|
72
|
+
cds.add = require('../lib/init/add')
|
|
70
73
|
await cds.plugins
|
|
71
74
|
for (const [, Plugin] of cds.add.registered) {
|
|
72
75
|
const all = Object.entries((new Plugin).options())
|
|
@@ -86,13 +89,8 @@ const cli = {
|
|
|
86
89
|
|
|
87
90
|
if (args[1]?.['resolve-bindings']) await _resolveBindings({ silent: cmd === 'env' })
|
|
88
91
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
if (!process.env.CDS_TYPESCRIPT && cds.cli?.command === 'serve' && fs.existsSync(tsconfig)) {
|
|
92
|
-
// cds.root may for some subcommands not point to the correct directory (e.g. cds w where users can pass a project directory)
|
|
93
|
-
// showing the full detected path should give the user an idea whether this info is relevant for them
|
|
94
|
-
console.error(`Detected ${tsconfig}. If this is a TypeScript project, consider running commands using 'cds-ts' instead of 'cds'.\n`)
|
|
95
|
-
}
|
|
92
|
+
_prepareTsIfNeeded(cds)
|
|
93
|
+
|
|
96
94
|
return await task.apply(this, args)
|
|
97
95
|
}
|
|
98
96
|
} catch (e) {
|
|
@@ -231,24 +229,6 @@ function _dieForUnknownCommand(cmd) {
|
|
|
231
229
|
throw msg;
|
|
232
230
|
}
|
|
233
231
|
|
|
234
|
-
function _require (id,o) {
|
|
235
|
-
try { var resolved = require.resolve(id,o) } catch(e){ DEBUG?.(`[cds] - Command not found: ${id}`); return }
|
|
236
|
-
DEBUG?.(`[cds] - Command resolved: ${resolved}`)
|
|
237
|
-
return require (resolved)
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
const { sep } = require ('path')
|
|
241
|
-
if (process[Symbol.for('ts-node.register.instance')])
|
|
242
|
-
process.env.CDS_TYPESCRIPT = 'ts-node'
|
|
243
|
-
else if (process._preload_modules?.some(m => m?.includes(`${sep}tsx${sep}`)))
|
|
244
|
-
process.env.CDS_TYPESCRIPT = 'tsx'
|
|
245
|
-
|
|
246
|
-
module.exports = Object.assign ((..._) => cli.exec(..._), cli)
|
|
247
|
-
|
|
248
|
-
if (!module.parent) module.exports()
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
232
|
function getCommands() {
|
|
253
233
|
const fs = require('node:fs');
|
|
254
234
|
const path = require('node:path');
|
|
@@ -267,4 +247,45 @@ function getCommands() {
|
|
|
267
247
|
return Array.from(result).sort()
|
|
268
248
|
}
|
|
269
249
|
|
|
250
|
+
function _require (id,o) {
|
|
251
|
+
try { var resolved = require.resolve(id,o) } catch(e){ DEBUG?.(`[cds] - Command not found: ${id}`); return }
|
|
252
|
+
DEBUG?.(`[cds] - Command resolved: ${resolved}`)
|
|
253
|
+
return require (resolved)
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
module.exports = Object.assign ((..._) => cli.exec(..._), cli)
|
|
257
|
+
if (!module.parent) module.exports()
|
|
258
|
+
|
|
259
|
+
// check for an already loaded TS runner
|
|
260
|
+
if (process[Symbol.for('ts-node.register.instance')])
|
|
261
|
+
process.env.CDS_TYPESCRIPT = 'ts-node'
|
|
262
|
+
else if (process._preload_modules?.some(m => m?.includes(`${sep}tsx${sep}`)))
|
|
263
|
+
process.env.CDS_TYPESCRIPT = 'tsx'
|
|
264
|
+
|
|
265
|
+
/**
|
|
266
|
+
* Load tsx if needed in a TS project. Warn users if this fails.
|
|
267
|
+
*/
|
|
268
|
+
function _prepareTsIfNeeded(cds) {
|
|
269
|
+
const tsconfig = path.join(cds.root ?? '.', 'tsconfig.json')
|
|
270
|
+
if (cds.cli?.command === 'serve' && fs.existsSync(tsconfig)) { // for `cds serve` started directly or through watch
|
|
271
|
+
if (/\b(0|no|false)\b/.test(process.env.CDS_TYPESCRIPT)) // opt-out switch to run JS code in a TS project
|
|
272
|
+
return delete process.env.CDS_TYPESCRIPT
|
|
273
|
+
|
|
274
|
+
if (!process.env.CDS_TYPESCRIPT ) {
|
|
275
|
+
try {
|
|
276
|
+
cds._localOrGlobal('tsx/cjs') // cjs is needed as we are in CJS code
|
|
277
|
+
console.log(`Detected ${path.relative(cds.root, tsconfig)}. Running with tsx.\n`)
|
|
278
|
+
process.env.CDS_TYPESCRIPT = 'tsx'
|
|
279
|
+
}
|
|
280
|
+
catch (e) {
|
|
281
|
+
if (e.code !== 'MODULE_NOT_FOUND') throw e
|
|
282
|
+
// cds.root may for some subcommands not point to the correct directory (e.g. cds w where users can pass a project directory)
|
|
283
|
+
// showing the full detected path should give the user an idea whether this info is relevant for them
|
|
284
|
+
console.error(`Detected ${tsconfig}. If this is a TypeScript project, consider running commands using 'cds-ts' or 'cds-tsx' instead of 'cds'.\n`)
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
}
|
|
290
|
+
|
|
270
291
|
/* eslint no-console:off */
|
package/bin/repl.js
CHANGED
|
@@ -42,13 +42,59 @@ async function repl (_, options={}) {
|
|
|
42
42
|
const ctx={}
|
|
43
43
|
|
|
44
44
|
repl.defineCommand ('run', {
|
|
45
|
-
help: 'Runs a cds server
|
|
45
|
+
help: 'Runs a cds server from a given CAP project folder, or module name like @capire/bookshop.',
|
|
46
46
|
async action (project) {
|
|
47
47
|
// await cds.exec ('--project', project, '--port', '0')
|
|
48
48
|
await cds.test (project)
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
console.log ('
|
|
49
|
+
|
|
50
|
+
const GREEN = '\x1b[32m', RESET = '\x1b[0m'
|
|
51
|
+
console.log ('------------------------------------------------------------')
|
|
52
|
+
console.log ('Following are made available as repl globals:')
|
|
53
|
+
console.log()
|
|
54
|
+
let ntt = _export ('entities')
|
|
55
|
+
let srv = _export ('services')
|
|
56
|
+
console.log()
|
|
57
|
+
console.log('Simply type e.g.', GREEN+ntt+RESET, 'or', GREEN+srv+RESET, 'in the prompt to use the respective objects.')
|
|
58
|
+
console.log()
|
|
59
|
+
this.displayPrompt()
|
|
60
|
+
|
|
61
|
+
function _export (cds_property) {
|
|
62
|
+
let exports = cds[cds_property], first
|
|
63
|
+
console.log (`from cds.${cds_property}: {`)
|
|
64
|
+
for (let each in exports) {
|
|
65
|
+
if (each.includes('.')) continue
|
|
66
|
+
repl.context[each] = exports [each]
|
|
67
|
+
console.log (` ${GREEN}${each}${RESET},`)
|
|
68
|
+
first ??= each
|
|
69
|
+
}
|
|
70
|
+
console.log (`}`)
|
|
71
|
+
return first
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
})
|
|
75
|
+
|
|
76
|
+
repl.defineCommand ('inspect', {
|
|
77
|
+
help: 'Sets options for util.inspect, e.g. `.inspect .depth=1`.',
|
|
78
|
+
async action (_args) {
|
|
79
|
+
const args = _args.split(' '), subjects={}, options = {}, defaults = inspect.defaultOptions
|
|
80
|
+
for (let each of args) {
|
|
81
|
+
// args of shape .<option>=<value> set inspect options
|
|
82
|
+
if (each[0] === '.') each = eval(`options${each}`)
|
|
83
|
+
// others are subjects to inpsect with given options
|
|
84
|
+
else subjects[each ||= 'defaults'] = each === 'defaults' ? defaults : function _recurse (o,slug) {
|
|
85
|
+
const [ head,...tail ] = slug, x = o[head]
|
|
86
|
+
if (tail.length && x && typeof x === 'object') return _recurse (x,tail)
|
|
87
|
+
else return x
|
|
88
|
+
} (repl.context, each.split('.'))
|
|
89
|
+
}
|
|
90
|
+
// if no subjects were given, just set the options globally
|
|
91
|
+
if (!Object.keys(subjects).length) {
|
|
92
|
+
Object.assign (defaults, options)
|
|
93
|
+
console.log('\n', 'updated node:util.inspect.defaultOptions with:', options)
|
|
94
|
+
} else for (let [each,subject] of Object.entries(subjects))
|
|
95
|
+
console.log ('\n'+each+':', inspect (subject, options))
|
|
96
|
+
console.log()
|
|
97
|
+
this.displayPrompt()
|
|
52
98
|
}
|
|
53
99
|
})
|
|
54
100
|
|
package/bin/watch.js
CHANGED
|
@@ -82,7 +82,7 @@ async function watch ([cwd], {
|
|
|
82
82
|
...options
|
|
83
83
|
}={}) {
|
|
84
84
|
if (cwd && !cds.utils.exists(cwd)) try { // try module name like `@capire/bookshop`
|
|
85
|
-
cwd = require.resolve(cwd+'/package.json').slice(0,-13)
|
|
85
|
+
cwd = require.resolve(cwd+'/package.json', {paths:[ process.cwd() ]}).slice(0,-13)
|
|
86
86
|
} catch (err) {
|
|
87
87
|
throw `Error: No such folder or package: '${cwd}'`
|
|
88
88
|
}
|
|
@@ -2,7 +2,7 @@ const fs = require('fs')
|
|
|
2
2
|
const path = require('path')
|
|
3
3
|
const cds = require('../cds'), { _log: log } = cds
|
|
4
4
|
const { sortMessagesSeverityAware, deduplicateMessages, CompilationError } = cds.compiler
|
|
5
|
-
const { relativePaths, BuildError, resolveRequiredSapModels, redactCredentials } = require('./util')
|
|
5
|
+
const { relativePaths, BuildError, BuildMessage, resolveRequiredSapModels, redactCredentials } = require('./util')
|
|
6
6
|
const { SEVERITIES, LOG_LEVELS } = require('./constants')
|
|
7
7
|
const BuildTaskFactory = require('./buildTaskFactory')
|
|
8
8
|
const InternalBuildPlugin = require('./provider/internalBuildPlugin')
|
|
@@ -187,8 +187,8 @@ class BuildTaskEngine {
|
|
|
187
187
|
if (errors.length > 0) {
|
|
188
188
|
const error = errors.find(e => e.constructor.name !== COMPILATION_ERROR)
|
|
189
189
|
if (error) {
|
|
190
|
-
// throw original
|
|
191
|
-
|
|
190
|
+
// throw original BuildError including existing BuildMessages
|
|
191
|
+
error.messages = this._sortMessagesUnique(pluginMessages.filter(m => m instanceof BuildMessage), error.messages)
|
|
192
192
|
throw error
|
|
193
193
|
}
|
|
194
194
|
|
package/lib/cds.js
CHANGED
|
@@ -6,11 +6,19 @@ module.exports = Object.defineProperties (cds, {
|
|
|
6
6
|
// for internal use in cds-dk only
|
|
7
7
|
_log: { value: _local ('../bin/util/log'), configurable: true },
|
|
8
8
|
_local: { value: _local, configurable: true },
|
|
9
|
+
_localOrGlobal: { value: id => _local(id, _npmRoot()), configurable: true },
|
|
9
10
|
})
|
|
10
11
|
|
|
11
|
-
function _local (id) {
|
|
12
|
+
function _local (id, ...morePaths) {
|
|
12
13
|
return require(require.resolve (id, {paths:[
|
|
13
14
|
process.cwd(), // project-local module is preferred
|
|
14
|
-
__dirname // otherwise from our own dependencies
|
|
15
|
+
__dirname, // otherwise from our own dependencies
|
|
16
|
+
...morePaths
|
|
15
17
|
]}))
|
|
16
18
|
}
|
|
19
|
+
|
|
20
|
+
function _npmRoot() {
|
|
21
|
+
try {
|
|
22
|
+
return require ('child_process').execSync('npm root -g').toString().trim()
|
|
23
|
+
} catch { return '' }
|
|
24
|
+
}
|
package/lib/init/constants.js
CHANGED
package/lib/init/merge.js
CHANGED
|
@@ -153,7 +153,7 @@ async function _mergeYAML(into, from, project, semantics = {}) {
|
|
|
153
153
|
relationships?.forEach(relationship => {
|
|
154
154
|
const [entry] = relationship.into
|
|
155
155
|
const [insertEntry] = relationship.insert
|
|
156
|
-
const hash = insertEntry + ' -> ' + entry
|
|
156
|
+
const hash = JSON.stringify(insertEntry) + ' -> ' + JSON.stringify(entry)
|
|
157
157
|
entryMap.set(hash, undefined)
|
|
158
158
|
})
|
|
159
159
|
|
|
@@ -167,6 +167,7 @@ module.exports = new class ProjectReader {
|
|
|
167
167
|
appUIPaths: () => (fs.readdirSync(path.resolve(cds.root, cds.env.folders.app))).filter(e =>
|
|
168
168
|
isdir(join(cds.root, cds.env.folders.app, e)) && isApp(e)
|
|
169
169
|
),
|
|
170
|
+
hasIndexHtml: () => {},
|
|
170
171
|
appPath: () => env.folders.app,
|
|
171
172
|
appVersion: () => appVersion,
|
|
172
173
|
jdkVersion: () => jdkVersion,
|
|
@@ -3,6 +3,7 @@ const { readProject } = require('../../projectReader')
|
|
|
3
3
|
const { merge } = require('../../merge')
|
|
4
4
|
const { srv4, html5RepoHost, html5Runtime, appDeployer, approuter, mtxSidecar4 } = require('../../registries/mta')
|
|
5
5
|
const { odataApi } = require('../../registries/xs-app')
|
|
6
|
+
const { exists } = require('../../../cds').utils
|
|
6
7
|
|
|
7
8
|
module.exports = class Html5RepoTemplate extends require('../../plugin') {
|
|
8
9
|
|
|
@@ -53,6 +54,7 @@ module.exports = class Html5RepoTemplate extends require('../../plugin') {
|
|
|
53
54
|
|
|
54
55
|
await Promise.all(apps.map(async ({app}) => {
|
|
55
56
|
project.app = app
|
|
57
|
+
project.hasIndexHtml = exists(join(appPath, app, 'webapp/index.html'))
|
|
56
58
|
const additions = [odataApi]
|
|
57
59
|
await merge(__dirname, 'files/xs-app.json.hbs').into(join(appPath, app, 'xs-app.json'), { with: project, additions })
|
|
58
60
|
}))
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sap/cds-dk",
|
|
3
|
-
"version": "8.5.
|
|
3
|
+
"version": "8.5.1",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@sap/cds-dk",
|
|
9
|
-
"version": "8.5.
|
|
9
|
+
"version": "8.5.1",
|
|
10
10
|
"license": "SEE LICENSE IN LICENSE",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@cap-js/asyncapi": "^1.0.0",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
}
|
|
55
55
|
},
|
|
56
56
|
"node_modules/@cap-js/openapi": {
|
|
57
|
-
"version": "1.0
|
|
57
|
+
"version": "1.1.0",
|
|
58
58
|
"license": "SEE LICENSE IN LICENSE",
|
|
59
59
|
"dependencies": {
|
|
60
60
|
"pluralize": "^8.0.0"
|
|
@@ -109,10 +109,10 @@
|
|
|
109
109
|
}
|
|
110
110
|
},
|
|
111
111
|
"node_modules/@eslint/config-array": {
|
|
112
|
-
"version": "0.19.
|
|
112
|
+
"version": "0.19.1",
|
|
113
113
|
"license": "Apache-2.0",
|
|
114
114
|
"dependencies": {
|
|
115
|
-
"@eslint/object-schema": "^2.1.
|
|
115
|
+
"@eslint/object-schema": "^2.1.5",
|
|
116
116
|
"debug": "^4.3.1",
|
|
117
117
|
"minimatch": "^3.1.2"
|
|
118
118
|
},
|
|
@@ -121,8 +121,11 @@
|
|
|
121
121
|
}
|
|
122
122
|
},
|
|
123
123
|
"node_modules/@eslint/core": {
|
|
124
|
-
"version": "0.9.
|
|
124
|
+
"version": "0.9.1",
|
|
125
125
|
"license": "Apache-2.0",
|
|
126
|
+
"dependencies": {
|
|
127
|
+
"@types/json-schema": "^7.0.15"
|
|
128
|
+
},
|
|
126
129
|
"engines": {
|
|
127
130
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
|
128
131
|
}
|
|
@@ -149,21 +152,21 @@
|
|
|
149
152
|
}
|
|
150
153
|
},
|
|
151
154
|
"node_modules/@eslint/js": {
|
|
152
|
-
"version": "9.
|
|
155
|
+
"version": "9.16.0",
|
|
153
156
|
"license": "MIT",
|
|
154
157
|
"engines": {
|
|
155
158
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
|
156
159
|
}
|
|
157
160
|
},
|
|
158
161
|
"node_modules/@eslint/object-schema": {
|
|
159
|
-
"version": "2.1.
|
|
162
|
+
"version": "2.1.5",
|
|
160
163
|
"license": "Apache-2.0",
|
|
161
164
|
"engines": {
|
|
162
165
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
|
163
166
|
}
|
|
164
167
|
},
|
|
165
168
|
"node_modules/@eslint/plugin-kit": {
|
|
166
|
-
"version": "0.2.
|
|
169
|
+
"version": "0.2.4",
|
|
167
170
|
"license": "Apache-2.0",
|
|
168
171
|
"dependencies": {
|
|
169
172
|
"levn": "^0.4.1"
|
|
@@ -224,7 +227,7 @@
|
|
|
224
227
|
}
|
|
225
228
|
},
|
|
226
229
|
"node_modules/@sap/cds": {
|
|
227
|
-
"version": "8.5.
|
|
230
|
+
"version": "8.5.1",
|
|
228
231
|
"license": "SEE LICENSE IN LICENSE",
|
|
229
232
|
"dependencies": {
|
|
230
233
|
"@sap/cds-compiler": ">=5.1",
|
|
@@ -250,7 +253,7 @@
|
|
|
250
253
|
}
|
|
251
254
|
},
|
|
252
255
|
"node_modules/@sap/cds-compiler": {
|
|
253
|
-
"version": "5.5.
|
|
256
|
+
"version": "5.5.2",
|
|
254
257
|
"license": "SEE LICENSE IN LICENSE",
|
|
255
258
|
"dependencies": {
|
|
256
259
|
"antlr4": "4.9.3"
|
|
@@ -286,7 +289,7 @@
|
|
|
286
289
|
}
|
|
287
290
|
},
|
|
288
291
|
"node_modules/@sap/cds-mtxs": {
|
|
289
|
-
"version": "2.4.
|
|
292
|
+
"version": "2.4.1",
|
|
290
293
|
"license": "SEE LICENSE IN LICENSE",
|
|
291
294
|
"dependencies": {
|
|
292
295
|
"@sap/hdi-deploy": ">=4",
|
|
@@ -466,7 +469,7 @@
|
|
|
466
469
|
"license": "MIT"
|
|
467
470
|
},
|
|
468
471
|
"node_modules/axios": {
|
|
469
|
-
"version": "1.7.
|
|
472
|
+
"version": "1.7.9",
|
|
470
473
|
"license": "MIT",
|
|
471
474
|
"dependencies": {
|
|
472
475
|
"follow-redirects": "^1.15.6",
|
|
@@ -618,14 +621,13 @@
|
|
|
618
621
|
}
|
|
619
622
|
},
|
|
620
623
|
"node_modules/call-bind": {
|
|
621
|
-
"version": "1.0.
|
|
624
|
+
"version": "1.0.8",
|
|
622
625
|
"license": "MIT",
|
|
623
626
|
"dependencies": {
|
|
627
|
+
"call-bind-apply-helpers": "^1.0.0",
|
|
624
628
|
"es-define-property": "^1.0.0",
|
|
625
|
-
"es-errors": "^1.3.0",
|
|
626
|
-
"function-bind": "^1.1.2",
|
|
627
629
|
"get-intrinsic": "^1.2.4",
|
|
628
|
-
"set-function-length": "^1.2.
|
|
630
|
+
"set-function-length": "^1.2.2"
|
|
629
631
|
},
|
|
630
632
|
"engines": {
|
|
631
633
|
"node": ">= 0.4"
|
|
@@ -634,6 +636,17 @@
|
|
|
634
636
|
"url": "https://github.com/sponsors/ljharb"
|
|
635
637
|
}
|
|
636
638
|
},
|
|
639
|
+
"node_modules/call-bind-apply-helpers": {
|
|
640
|
+
"version": "1.0.0",
|
|
641
|
+
"license": "MIT",
|
|
642
|
+
"dependencies": {
|
|
643
|
+
"es-errors": "^1.3.0",
|
|
644
|
+
"function-bind": "^1.1.2"
|
|
645
|
+
},
|
|
646
|
+
"engines": {
|
|
647
|
+
"node": ">= 0.4"
|
|
648
|
+
}
|
|
649
|
+
},
|
|
637
650
|
"node_modules/callsites": {
|
|
638
651
|
"version": "3.1.0",
|
|
639
652
|
"license": "MIT",
|
|
@@ -826,7 +839,7 @@
|
|
|
826
839
|
}
|
|
827
840
|
},
|
|
828
841
|
"node_modules/dotenv": {
|
|
829
|
-
"version": "16.4.
|
|
842
|
+
"version": "16.4.7",
|
|
830
843
|
"license": "BSD-2-Clause",
|
|
831
844
|
"engines": {
|
|
832
845
|
"node": ">=12"
|
|
@@ -886,7 +899,7 @@
|
|
|
886
899
|
}
|
|
887
900
|
},
|
|
888
901
|
"node_modules/eslint": {
|
|
889
|
-
"version": "9.
|
|
902
|
+
"version": "9.16.0",
|
|
890
903
|
"license": "MIT",
|
|
891
904
|
"dependencies": {
|
|
892
905
|
"@eslint-community/eslint-utils": "^4.2.0",
|
|
@@ -894,7 +907,7 @@
|
|
|
894
907
|
"@eslint/config-array": "^0.19.0",
|
|
895
908
|
"@eslint/core": "^0.9.0",
|
|
896
909
|
"@eslint/eslintrc": "^3.2.0",
|
|
897
|
-
"@eslint/js": "9.
|
|
910
|
+
"@eslint/js": "9.16.0",
|
|
898
911
|
"@eslint/plugin-kit": "^0.2.3",
|
|
899
912
|
"@humanfs/node": "^0.16.6",
|
|
900
913
|
"@humanwhocodes/module-importer": "^1.0.1",
|
|
@@ -1031,7 +1044,7 @@
|
|
|
1031
1044
|
}
|
|
1032
1045
|
},
|
|
1033
1046
|
"node_modules/express": {
|
|
1034
|
-
"version": "4.21.
|
|
1047
|
+
"version": "4.21.2",
|
|
1035
1048
|
"license": "MIT",
|
|
1036
1049
|
"dependencies": {
|
|
1037
1050
|
"accepts": "~1.3.8",
|
|
@@ -1053,7 +1066,7 @@
|
|
|
1053
1066
|
"methods": "~1.1.2",
|
|
1054
1067
|
"on-finished": "2.4.1",
|
|
1055
1068
|
"parseurl": "~1.3.3",
|
|
1056
|
-
"path-to-regexp": "0.1.
|
|
1069
|
+
"path-to-regexp": "0.1.12",
|
|
1057
1070
|
"proxy-addr": "~2.0.7",
|
|
1058
1071
|
"qs": "6.13.0",
|
|
1059
1072
|
"range-parser": "~1.2.1",
|
|
@@ -1068,6 +1081,10 @@
|
|
|
1068
1081
|
},
|
|
1069
1082
|
"engines": {
|
|
1070
1083
|
"node": ">= 0.10.0"
|
|
1084
|
+
},
|
|
1085
|
+
"funding": {
|
|
1086
|
+
"type": "opencollective",
|
|
1087
|
+
"url": "https://opencollective.com/express"
|
|
1071
1088
|
}
|
|
1072
1089
|
},
|
|
1073
1090
|
"node_modules/express/node_modules/debug": {
|
|
@@ -1287,10 +1304,10 @@
|
|
|
1287
1304
|
}
|
|
1288
1305
|
},
|
|
1289
1306
|
"node_modules/gopd": {
|
|
1290
|
-
"version": "1.0
|
|
1307
|
+
"version": "1.2.0",
|
|
1291
1308
|
"license": "MIT",
|
|
1292
|
-
"
|
|
1293
|
-
"
|
|
1309
|
+
"engines": {
|
|
1310
|
+
"node": ">= 0.4"
|
|
1294
1311
|
},
|
|
1295
1312
|
"funding": {
|
|
1296
1313
|
"url": "https://github.com/sponsors/ljharb"
|
|
@@ -1333,8 +1350,11 @@
|
|
|
1333
1350
|
}
|
|
1334
1351
|
},
|
|
1335
1352
|
"node_modules/has-proto": {
|
|
1336
|
-
"version": "1.0
|
|
1353
|
+
"version": "1.1.0",
|
|
1337
1354
|
"license": "MIT",
|
|
1355
|
+
"dependencies": {
|
|
1356
|
+
"call-bind": "^1.0.7"
|
|
1357
|
+
},
|
|
1338
1358
|
"engines": {
|
|
1339
1359
|
"node": ">= 0.4"
|
|
1340
1360
|
},
|
|
@@ -1343,7 +1363,7 @@
|
|
|
1343
1363
|
}
|
|
1344
1364
|
},
|
|
1345
1365
|
"node_modules/has-symbols": {
|
|
1346
|
-
"version": "1.0
|
|
1366
|
+
"version": "1.1.0",
|
|
1347
1367
|
"license": "MIT",
|
|
1348
1368
|
"engines": {
|
|
1349
1369
|
"node": ">= 0.4"
|
|
@@ -1363,7 +1383,7 @@
|
|
|
1363
1383
|
}
|
|
1364
1384
|
},
|
|
1365
1385
|
"node_modules/hdb": {
|
|
1366
|
-
"version": "0.19.
|
|
1386
|
+
"version": "0.19.11",
|
|
1367
1387
|
"license": "Apache-2.0",
|
|
1368
1388
|
"dependencies": {
|
|
1369
1389
|
"iconv-lite": "^0.4.18"
|
|
@@ -1800,7 +1820,7 @@
|
|
|
1800
1820
|
}
|
|
1801
1821
|
},
|
|
1802
1822
|
"node_modules/path-to-regexp": {
|
|
1803
|
-
"version": "0.1.
|
|
1823
|
+
"version": "0.1.12",
|
|
1804
1824
|
"license": "MIT"
|
|
1805
1825
|
},
|
|
1806
1826
|
"node_modules/picomatch": {
|