@sap/cds-dk 7.4.0 → 7.4.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/bin/build.js CHANGED
@@ -74,13 +74,13 @@ module.exports = Object.assign(build, {
74
74
  consistent build results.
75
75
 
76
76
  *--ws* (beta)
77
- Enable tarball based packaging of npm workspace dependencies for Node.js apps.
78
- This feature can be used to package npm workspace dependencies as part of your
79
- mono or multi-repo deployment.
80
- Tarball files are created for all 'dependencies' and 'devDependencies'
81
- of your project for which a npm workspace exists. The '*' dependency is replaced
82
- by the correct tarball file URL.
83
- See 'npm workspaces' for further details.
77
+ Enable tarball based packaging of npm workspace dependencies - typically defined for
78
+ Node.js mono or multi-repo setups.
79
+ For each workspace dependency of your project using '*' as version identifier,
80
+ a tarball will be created in folder 'gen/srv'. Dependencies in package.json
81
+ will be adapted to point to the correct tarball file URL.
82
+ Contents is packaged based on the rules of the 'npm pack' command.
83
+ See 'npm workspaces' and 'npm pack' for further details.
84
84
 
85
85
  # EXAMPLES
86
86
 
package/bin/push.js CHANGED
@@ -1,5 +1,5 @@
1
1
  module.exports = Object.assign(push, {
2
- options: ['--subdomain', '--passcode', '--user', '--client', '--to', '--sync'],
2
+ options: ['--subdomain', '--passcode', '--user', '--client', '--to', '--async', '--sync'],
3
3
  flags: [],
4
4
  shortcuts: ['-s', '-p', '-u', '-c', '-2'],
5
5
  help: `
@@ -48,9 +48,9 @@ module.exports = Object.assign(push, {
48
48
 
49
49
  Client ID and optionally Client Secret for authentication.
50
50
 
51
- *--sync*
51
+ *--async*
52
52
 
53
- Use the synchronous server API to upload extensions.
53
+ Use the asynchronous server API to upload extensions.
54
54
 
55
55
 
56
56
  # SEE ALSO
@@ -1,6 +1,7 @@
1
1
 
2
2
  const KindToRequiresNameMap = {
3
- xsuaa: 'auth',
3
+ xsuaa: 'auth', // REVISIT: remove with ^8
4
+ 'xsuaa-auth': 'auth',
4
5
  'ias-auth': 'auth',
5
6
  'hana-cloud': 'db',
6
7
  hana: 'db',
@@ -17,7 +18,8 @@ const KindToRequiresNameMap = {
17
18
 
18
19
  const PreferredKinds = [
19
20
  'hana-cloud',
20
- 'xsuaa'
21
+ 'xsuaa', // REVISIT: remove with ^8
22
+ 'xsuaa-auth'
21
23
  ];
22
24
 
23
25
  const PLATFORM_TYPES = {
@@ -37,12 +37,14 @@ class MtxExtensionBuildPlugin extends InternalBuildPlugin {
37
37
  extModel.requires.length = 0
38
38
  }
39
39
 
40
- // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
41
- // perform all model operations before the linter is called as the linter
40
+ // IMPORTANT NOTE: perform all model operations before the linter is called as the linter
42
41
  // will modify the model causing the creation of 'unresolved' associations
43
42
  await this.compileToJson(extModel, path.join(destExt, 'extension.csn'))
44
43
  await this.collectLanguageBundles(extModel, path.join(destExt, 'i18n'))
45
44
 
45
+ // perform SQL backend validation to prevent extension deployment problems later on
46
+ cds.compile.to.sql(model)
47
+
46
48
  const files = Object.keys(await cds.deploy.resources(model))
47
49
  if (files.length > 0) {
48
50
  const dataDest = path.join(destExt, 'data')
@@ -54,6 +56,7 @@ class MtxExtensionBuildPlugin extends InternalBuildPlugin {
54
56
  })
55
57
  )
56
58
  }
59
+
57
60
  if (!this.hasBuildOption(EXTENSION_POINT_VALIDATION, false)) {
58
61
  try {
59
62
  // throws error in case of linting errors
@@ -3,7 +3,7 @@ const path = require('path')
3
3
  const cds = require('../../../cds')
4
4
  const cmd = require('../../../util/command');
5
5
  const EdmxBuildPlugin = require('../edmxBuildPlugin')
6
- const { BuildError, pathExists } = require('../../util')
6
+ const { BuildError } = require('../../util')
7
7
  const { OUTPUT_MODE, OUTPUT_MODE_FILESYSTEM, ODATA_VERSION_V2, FOLDER_GEN, CONTENT_EDMX, CONTENT_PACKAGELOCK_JSON,
8
8
  CONTENT_NPMRC, CONTENT_CDSRC_JSON, CONTENT_ENV, CONTENT_DEFAULT_ENV_JSON, FLAVOR_LOCALIZED_EDMX } = require('../../constants')
9
9
  const { WARNING } = EdmxBuildPlugin
@@ -159,73 +159,78 @@ class NodejsBuildPlugin extends EdmxBuildPlugin {
159
159
  }
160
160
 
161
161
  async _addWorkspaceDependencies(dest) {
162
- let packageDescriptors
163
- try {
164
- packageDescriptors = await this._execNpmPack(dest)
165
- } catch (e) {
166
- this.logger.debug(e)
167
- throw new BuildError(`Failed to package npm workspace dependencies\n${e.message}`)
162
+ const wsRoot = this._findWorkspaceRoot(cds.root)
163
+ const appPkg = require(path.join(dest, 'package.json'))
164
+ let workspaces
165
+ if (this.task.options?.workspaces) {
166
+ workspaces = Array.isArray(this.task.options.workspaces) ? this.task.options.workspaces : [this.task.options.workspaces]
168
167
  }
169
- if (packageDescriptors?.length) {
170
- const packageJson = require(path.join(dest, 'package.json'))
171
- const dependencies = packageJson.dependencies
172
- const devDependencies = packageJson.devDependencies
173
- let changed
174
- const promises = []
175
- for (const packageDescriptor of packageDescriptors) {
176
- const {name, filename: fileName} = packageDescriptor
177
- const filePath = path.join(dest, fileName)
178
- if (dependencies?.[name] === '*' || devDependencies?.[name] === '*') {
179
- if (dependencies?.[name] === '*') {
180
- dependencies[name] = `file:${fileName}`
181
- } else {
182
- devDependencies[name] = `file:${fileName}`
183
- }
184
- this.pushFile(filePath)
185
- changed |= true
186
- } else {
187
- if (await pathExists(filePath)) {
188
- promises.push(fs.promises.rm(filePath))
168
+ if (!workspaces) {
169
+ workspaces = []
170
+ for (const name in appPkg.dependencies) {
171
+ if (appPkg.dependencies[name] === '*') {
172
+ try {
173
+ const pkg = require.resolve(path.join(name, 'package.json'), { paths: [wsRoot] })
174
+ workspaces.push(path.dirname(path.relative(wsRoot, pkg)))
175
+ } catch(e) {
176
+ if (e.code === 'MODULE_NOT_FOUND') {
177
+ throw new BuildError(`Workspace packaging failed - module '${name}' not found. Make sure that configured npm workspaces are installed.`)
178
+ }
179
+ throw e
189
180
  }
190
181
  }
191
182
  }
192
- if (changed) {
193
- promises.push(this.write(JSON.stringify(packageJson, 0, 2)).to(path.join(dest, 'package.json')))
194
- } else {
195
- throw new BuildError('No matching workspaces found!')
196
- }
197
- await Promise.all(promises)
198
183
  }
199
- }
200
-
201
- async _execNpmPack(dest) {
202
- function findWorkspaceRoot(dir) {
203
- if(fs.existsSync(path.join(dir, 'package.json'))) {
204
- if(require(path.join(dir, 'package.json')).workspaces) {
205
- return dir
206
- }
184
+ if (workspaces.length) {
185
+ let pkgDescriptors
186
+ try {
187
+ pkgDescriptors = await this._execNpmPack(dest, wsRoot, workspaces)
188
+ } catch (e) {
189
+ this.logger.debug(e)
190
+ throw new BuildError(`Failed to package npm workspace dependencies\n${e.message}`)
207
191
  }
208
- if(fs.existsSync(path.join(dir, '.gitmodules')) || fs.existsSync(path.join(dir, 'node_modules'))) {
209
- return // project root reached
192
+ if (pkgDescriptors?.length) {
193
+ let changed
194
+ for (const pkgDescriptor of pkgDescriptors) {
195
+ const {name, filename: fileName} = pkgDescriptor
196
+ const filePath = path.join(dest, fileName)
197
+ if (appPkg.dependencies?.[name] === '*') {
198
+ appPkg.dependencies[name] = `file:${fileName}`
199
+ this.pushFile(filePath)
200
+ changed |= true
201
+ }
202
+ }
203
+ if (changed) {
204
+ await this.write(JSON.stringify(appPkg, 0, 2)).to(path.join(dest, 'package.json'))
205
+ } else {
206
+ throw new BuildError('No matching workspaces found!')
207
+ }
210
208
  }
211
- if (path.dirname(dir) !== dir) {
212
- return findWorkspaceRoot(path.dirname(dir))
209
+ }
210
+ }
211
+
212
+ _findWorkspaceRoot(dir) {
213
+ try {
214
+ if(require(path.join(dir, 'package.json')).workspaces) {
215
+ return dir
213
216
  }
217
+ } catch(err) {
218
+ // ignore
214
219
  }
215
- const wsRoot = findWorkspaceRoot(cds.root)
216
- if (!wsRoot) {
217
- throw new BuildError('No workspace configuration found!')
220
+ if(fs.existsSync(path.join(dir, '.gitmodules')) || fs.existsSync(path.join(dir, 'node_modules'))) {
221
+ return // project root reached
218
222
  }
219
- const args = ['pack', '-ws', '--json', `--pack-destination=${dest}`]
220
- if (this.task.options?.workspaces) {
221
- let {workspaces} = this.task.options
222
- workspaces = Array.isArray(workspaces) ? workspaces : [workspaces]
223
- workspaces.forEach(w => args.push(`-w=${w}`))
223
+ if (path.dirname(dir) !== dir) {
224
+ return this._findWorkspaceRoot(path.dirname(dir))
224
225
  }
225
- this.logger._debug && this.logger.debug(`execute command: npm ${args}`)
226
-
227
- const result = await cmd.spawnCommand( 'npm', args, { cwd: wsRoot || cds.root }, true, !!this.logger._debug)
226
+ }
227
+
228
+ async _execNpmPack(dest, wsRoot, workspaces) {
229
+ const args = ['pack', '-ws', '--json', `--pack-destination=${dest}`]
230
+ workspaces.forEach(w => args.push(`-w=${w}`))
228
231
 
232
+ this.logger._debug && this.logger.debug(`execute command: npm ${args}`)
233
+ const result = await cmd.spawnCommand( 'npm', args, { cwd: wsRoot }, true, !!this.logger._debug)
229
234
  this.logger._debug && this.logger.debug(result)
230
235
  return JSON.parse(result)
231
236
  }
@@ -216,6 +216,7 @@ class AllParams extends BasicParams {
216
216
  this.undeploy = new Param('undeploy', false);
217
217
  this.wsdl = new Param('wsdl', false);
218
218
  this.sync = new Param('sync', false);
219
+ this.async = new Param('async', false);
219
220
 
220
221
  // `login` PARAMS
221
222
  this.skipToken = new Param('skipToken', false, { internal: true });
@@ -35,7 +35,7 @@ module.exports = class Push extends BaseCommand {
35
35
 
36
36
  console.log(`\nPushing extension '${extensionName}' from`, { src }, 'to', target);
37
37
  const push = await this.pushTgz(params, content, extensionName);
38
- const async = !params.get('sync');
38
+ const async = params.get('async');
39
39
  if (async) {
40
40
  await this.pollUntilFinished(push.headers.location, params)
41
41
  }
@@ -72,7 +72,7 @@ module.exports = class Push extends BaseCommand {
72
72
  static async pushTgz(params, tgz, extensionName) {
73
73
  const pushUrl = `${params.get('appUrl')}/-/cds/extensibility/push`;
74
74
  const options = { ...params.get('reqAuth') };
75
- const async = !params.get('sync');
75
+ const async = params.get('async');
76
76
  if (async) {
77
77
  options.headers = { prefer: 'respond-async', ...options.headers }
78
78
  }
@@ -48,7 +48,9 @@ class HanaDeployer {
48
48
  let { model, serviceName, tunnelAddress, vcapFile, undeployWhitelist, hdiOptions, dry } = options;
49
49
 
50
50
  if (model) {
51
- throw 'Specifying a model for hana deployment is not supported.';
51
+ throw `Specifying a CDS model for HANA deployment is not supported.
52
+ 'cds deploy --to hana' performs 'cds build --for hana' which in turn uses the configured HANA build task.
53
+ Therefore, specifying the CDS model is not required when calling 'cds deploy'.`;
52
54
  }
53
55
 
54
56
  if (dry) {
@@ -83,7 +83,7 @@ module.exports = new class ProjectReader {
83
83
  get appPath() { return env.folders.app ?? 'app' },
84
84
  get appVersion() { return appVersion },
85
85
  get appName() { return appName },
86
- get cleanedAppName() { return appName.replace('_', '-') }, // Required when _ isn't allowed in the namespace
86
+ get cleanedAppName() { return appName.replaceAll('_', '-') }, // Required when _ isn't allowed in the namespace
87
87
  get appId() { return appId },
88
88
  get appDescription() { return appDescription },
89
89
  }
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@sap/cds-dk",
3
- "version": "7.4.0",
3
+ "version": "7.4.1",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@sap/cds-dk",
9
- "version": "7.4.0",
9
+ "version": "7.4.1",
10
10
  "license": "SEE LICENSE IN LICENSE",
11
11
  "dependencies": {
12
12
  "@sap/cds": "^7",
@@ -80,27 +80,8 @@
80
80
  "url": "https://opencollective.com/eslint"
81
81
  }
82
82
  },
83
- "node_modules/@eslint/eslintrc/node_modules/debug": {
84
- "version": "4.3.4",
85
- "license": "MIT",
86
- "dependencies": {
87
- "ms": "2.1.2"
88
- },
89
- "engines": {
90
- "node": ">=6.0"
91
- },
92
- "peerDependenciesMeta": {
93
- "supports-color": {
94
- "optional": true
95
- }
96
- }
97
- },
98
- "node_modules/@eslint/eslintrc/node_modules/ms": {
99
- "version": "2.1.2",
100
- "license": "MIT"
101
- },
102
83
  "node_modules/@eslint/js": {
103
- "version": "8.53.0",
84
+ "version": "8.54.0",
104
85
  "license": "MIT",
105
86
  "engines": {
106
87
  "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -123,25 +104,6 @@
123
104
  "node": ">=10.10.0"
124
105
  }
125
106
  },
126
- "node_modules/@humanwhocodes/config-array/node_modules/debug": {
127
- "version": "4.3.4",
128
- "license": "MIT",
129
- "dependencies": {
130
- "ms": "2.1.2"
131
- },
132
- "engines": {
133
- "node": ">=6.0"
134
- },
135
- "peerDependenciesMeta": {
136
- "supports-color": {
137
- "optional": true
138
- }
139
- }
140
- },
141
- "node_modules/@humanwhocodes/config-array/node_modules/ms": {
142
- "version": "2.1.2",
143
- "license": "MIT"
144
- },
145
107
  "node_modules/@humanwhocodes/module-importer": {
146
108
  "version": "1.0.1",
147
109
  "license": "Apache-2.0",
@@ -190,14 +152,6 @@
190
152
  "url": "https://github.com/sponsors/sindresorhus"
191
153
  }
192
154
  },
193
- "node_modules/@mapbox/node-pre-gyp/node_modules/make-dir/node_modules/semver": {
194
- "version": "6.3.1",
195
- "license": "ISC",
196
- "optional": true,
197
- "bin": {
198
- "semver": "bin/semver.js"
199
- }
200
- },
201
155
  "node_modules/@nodelib/fs.scandir": {
202
156
  "version": "2.1.5",
203
157
  "license": "MIT",
@@ -249,7 +203,7 @@
249
203
  }
250
204
  },
251
205
  "node_modules/@sap/cds": {
252
- "version": "7.4.0",
206
+ "version": "7.4.2",
253
207
  "license": "SEE LICENSE IN LICENSE",
254
208
  "dependencies": {
255
209
  "@sap/cds-compiler": "^4",
@@ -265,7 +219,7 @@
265
219
  }
266
220
  },
267
221
  "node_modules/@sap/cds-compiler": {
268
- "version": "4.4.0",
222
+ "version": "4.4.4",
269
223
  "license": "SEE LICENSE IN LICENSE",
270
224
  "dependencies": {
271
225
  "antlr4": "4.9.3"
@@ -280,7 +234,7 @@
280
234
  }
281
235
  },
282
236
  "node_modules/@sap/cds-fiori": {
283
- "version": "1.1.0",
237
+ "version": "1.2.1",
284
238
  "license": "SEE LICENSE IN LICENSE",
285
239
  "peerDependencies": {
286
240
  "@sap/cds": ">=7",
@@ -301,7 +255,7 @@
301
255
  }
302
256
  },
303
257
  "node_modules/@sap/cds-mtxs": {
304
- "version": "1.13.0",
258
+ "version": "1.13.1",
305
259
  "license": "SEE LICENSE IN LICENSE",
306
260
  "dependencies": {
307
261
  "@sap/hdi-deploy": "^4",
@@ -326,7 +280,24 @@
326
280
  "eslint": ">=7"
327
281
  }
328
282
  },
329
- "node_modules/@sap/hana-client": {
283
+ "node_modules/@sap/hdi-deploy": {
284
+ "version": "4.8.2",
285
+ "license": "See LICENSE file",
286
+ "dependencies": {
287
+ "@sap/hana-client": "2.18.24",
288
+ "@sap/hdi": "4.5.1",
289
+ "@sap/xsenv": "3.4.0",
290
+ "async": "3.2.3",
291
+ "dotenv": "10.0.0",
292
+ "handlebars": "4.7.7",
293
+ "hdb": "0.19.3",
294
+ "micromatch": "4.0.4"
295
+ },
296
+ "engines": {
297
+ "node": "^12.0.0 || ^14.0.0 || ^16.0.0 || ^18.0.0 || ^20.0.0"
298
+ }
299
+ },
300
+ "node_modules/@sap/hdi-deploy/node_modules/@sap/hana-client": {
330
301
  "version": "2.18.24",
331
302
  "hasInstallScript": true,
332
303
  "license": "SEE LICENSE IN developer-license-3_1.txt",
@@ -337,7 +308,18 @@
337
308
  "node": ">=4.0.0"
338
309
  }
339
310
  },
340
- "node_modules/@sap/hdi": {
311
+ "node_modules/@sap/hdi-deploy/node_modules/@sap/hana-client/node_modules/debug": {
312
+ "version": "3.1.0",
313
+ "license": "MIT",
314
+ "dependencies": {
315
+ "ms": "2.0.0"
316
+ }
317
+ },
318
+ "node_modules/@sap/hdi-deploy/node_modules/@sap/hana-client/node_modules/ms": {
319
+ "version": "2.0.0",
320
+ "license": "MIT"
321
+ },
322
+ "node_modules/@sap/hdi-deploy/node_modules/@sap/hdi": {
341
323
  "version": "4.5.1",
342
324
  "license": "See LICENSE file",
343
325
  "dependencies": {
@@ -359,24 +341,7 @@
359
341
  }
360
342
  }
361
343
  },
362
- "node_modules/@sap/hdi-deploy": {
363
- "version": "4.8.2",
364
- "license": "See LICENSE file",
365
- "dependencies": {
366
- "@sap/hana-client": "2.18.24",
367
- "@sap/hdi": "4.5.1",
368
- "@sap/xsenv": "3.4.0",
369
- "async": "3.2.3",
370
- "dotenv": "10.0.0",
371
- "handlebars": "4.7.7",
372
- "hdb": "0.19.3",
373
- "micromatch": "4.0.4"
374
- },
375
- "engines": {
376
- "node": "^12.0.0 || ^14.0.0 || ^16.0.0 || ^18.0.0 || ^20.0.0"
377
- }
378
- },
379
- "node_modules/@sap/xsenv": {
344
+ "node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv": {
380
345
  "version": "3.4.0",
381
346
  "license": "SEE LICENSE IN LICENSE file",
382
347
  "dependencies": {
@@ -388,7 +353,25 @@
388
353
  "node": "^10.0.0 || ^12.0.0 || ^14.0.0 || ^16.0.0 || ^18.0.0"
389
354
  }
390
355
  },
391
- "node_modules/@sap/xsenv/node_modules/debug": {
356
+ "node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/assert-plus": {
357
+ "version": "1.0.0",
358
+ "license": "MIT",
359
+ "engines": {
360
+ "node": ">=0.8"
361
+ }
362
+ },
363
+ "node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/clone": {
364
+ "version": "2.1.2",
365
+ "license": "MIT",
366
+ "engines": {
367
+ "node": ">=0.8"
368
+ }
369
+ },
370
+ "node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/core-util-is": {
371
+ "version": "1.0.2",
372
+ "license": "MIT"
373
+ },
374
+ "node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/debug": {
392
375
  "version": "4.3.3",
393
376
  "license": "MIT",
394
377
  "dependencies": {
@@ -403,10 +386,184 @@
403
386
  }
404
387
  }
405
388
  },
406
- "node_modules/@sap/xsenv/node_modules/ms": {
389
+ "node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/extsprintf": {
390
+ "version": "1.4.1",
391
+ "engines": [
392
+ "node >=0.6.0"
393
+ ],
394
+ "license": "MIT"
395
+ },
396
+ "node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/ms": {
407
397
  "version": "2.1.2",
408
398
  "license": "MIT"
409
399
  },
400
+ "node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/node-cache": {
401
+ "version": "5.1.2",
402
+ "license": "MIT",
403
+ "dependencies": {
404
+ "clone": "2.x"
405
+ },
406
+ "engines": {
407
+ "node": ">= 8.0.0"
408
+ }
409
+ },
410
+ "node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/verror": {
411
+ "version": "1.10.0",
412
+ "engines": [
413
+ "node >=0.6.0"
414
+ ],
415
+ "license": "MIT",
416
+ "dependencies": {
417
+ "assert-plus": "^1.0.0",
418
+ "core-util-is": "1.0.2",
419
+ "extsprintf": "^1.2.0"
420
+ }
421
+ },
422
+ "node_modules/@sap/hdi-deploy/node_modules/async": {
423
+ "version": "3.2.3",
424
+ "license": "MIT"
425
+ },
426
+ "node_modules/@sap/hdi-deploy/node_modules/braces": {
427
+ "version": "3.0.2",
428
+ "license": "MIT",
429
+ "dependencies": {
430
+ "fill-range": "^7.0.1"
431
+ },
432
+ "engines": {
433
+ "node": ">=8"
434
+ }
435
+ },
436
+ "node_modules/@sap/hdi-deploy/node_modules/dotenv": {
437
+ "version": "10.0.0",
438
+ "license": "BSD-2-Clause",
439
+ "engines": {
440
+ "node": ">=10"
441
+ }
442
+ },
443
+ "node_modules/@sap/hdi-deploy/node_modules/fill-range": {
444
+ "version": "7.0.1",
445
+ "license": "MIT",
446
+ "dependencies": {
447
+ "to-regex-range": "^5.0.1"
448
+ },
449
+ "engines": {
450
+ "node": ">=8"
451
+ }
452
+ },
453
+ "node_modules/@sap/hdi-deploy/node_modules/handlebars": {
454
+ "version": "4.7.7",
455
+ "license": "MIT",
456
+ "dependencies": {
457
+ "minimist": "^1.2.5",
458
+ "neo-async": "^2.6.0",
459
+ "source-map": "^0.6.1",
460
+ "wordwrap": "^1.0.0"
461
+ },
462
+ "bin": {
463
+ "handlebars": "bin/handlebars"
464
+ },
465
+ "engines": {
466
+ "node": ">=0.4.7"
467
+ },
468
+ "optionalDependencies": {
469
+ "uglify-js": "^3.1.4"
470
+ }
471
+ },
472
+ "node_modules/@sap/hdi-deploy/node_modules/hdb": {
473
+ "version": "0.19.3",
474
+ "license": "Apache-2.0",
475
+ "dependencies": {
476
+ "iconv-lite": "^0.4.18"
477
+ },
478
+ "engines": {
479
+ "node": ">= 0.12"
480
+ }
481
+ },
482
+ "node_modules/@sap/hdi-deploy/node_modules/iconv-lite": {
483
+ "version": "0.4.24",
484
+ "license": "MIT",
485
+ "dependencies": {
486
+ "safer-buffer": ">= 2.1.2 < 3"
487
+ },
488
+ "engines": {
489
+ "node": ">=0.10.0"
490
+ }
491
+ },
492
+ "node_modules/@sap/hdi-deploy/node_modules/is-number": {
493
+ "version": "7.0.0",
494
+ "license": "MIT",
495
+ "engines": {
496
+ "node": ">=0.12.0"
497
+ }
498
+ },
499
+ "node_modules/@sap/hdi-deploy/node_modules/micromatch": {
500
+ "version": "4.0.4",
501
+ "license": "MIT",
502
+ "dependencies": {
503
+ "braces": "^3.0.1",
504
+ "picomatch": "^2.2.3"
505
+ },
506
+ "engines": {
507
+ "node": ">=8.6"
508
+ }
509
+ },
510
+ "node_modules/@sap/hdi-deploy/node_modules/minimist": {
511
+ "version": "1.2.8",
512
+ "license": "MIT",
513
+ "funding": {
514
+ "url": "https://github.com/sponsors/ljharb"
515
+ }
516
+ },
517
+ "node_modules/@sap/hdi-deploy/node_modules/neo-async": {
518
+ "version": "2.6.2",
519
+ "license": "MIT"
520
+ },
521
+ "node_modules/@sap/hdi-deploy/node_modules/picomatch": {
522
+ "version": "2.3.1",
523
+ "license": "MIT",
524
+ "engines": {
525
+ "node": ">=8.6"
526
+ },
527
+ "funding": {
528
+ "url": "https://github.com/sponsors/jonschlinkert"
529
+ }
530
+ },
531
+ "node_modules/@sap/hdi-deploy/node_modules/safer-buffer": {
532
+ "version": "2.1.2",
533
+ "license": "MIT"
534
+ },
535
+ "node_modules/@sap/hdi-deploy/node_modules/source-map": {
536
+ "version": "0.6.1",
537
+ "license": "BSD-3-Clause",
538
+ "engines": {
539
+ "node": ">=0.10.0"
540
+ }
541
+ },
542
+ "node_modules/@sap/hdi-deploy/node_modules/to-regex-range": {
543
+ "version": "5.0.1",
544
+ "license": "MIT",
545
+ "dependencies": {
546
+ "is-number": "^7.0.0"
547
+ },
548
+ "engines": {
549
+ "node": ">=8.0"
550
+ }
551
+ },
552
+ "node_modules/@sap/hdi-deploy/node_modules/uglify-js": {
553
+ "version": "3.17.4",
554
+ "license": "BSD-2-Clause",
555
+ "optional": true,
556
+ "bin": {
557
+ "uglifyjs": "bin/uglifyjs"
558
+ },
559
+ "engines": {
560
+ "node": ">=0.8.0"
561
+ }
562
+ },
563
+ "node_modules/@sap/hdi-deploy/node_modules/wordwrap": {
564
+ "version": "1.0.0",
565
+ "license": "MIT"
566
+ },
410
567
  "node_modules/@tootallnate/once": {
411
568
  "version": "1.1.2",
412
569
  "license": "MIT",
@@ -463,27 +620,6 @@
463
620
  "node": ">= 6.0.0"
464
621
  }
465
622
  },
466
- "node_modules/agent-base/node_modules/debug": {
467
- "version": "4.3.4",
468
- "license": "MIT",
469
- "optional": true,
470
- "dependencies": {
471
- "ms": "2.1.2"
472
- },
473
- "engines": {
474
- "node": ">=6.0"
475
- },
476
- "peerDependenciesMeta": {
477
- "supports-color": {
478
- "optional": true
479
- }
480
- }
481
- },
482
- "node_modules/agent-base/node_modules/ms": {
483
- "version": "2.1.2",
484
- "license": "MIT",
485
- "optional": true
486
- },
487
623
  "node_modules/agentkeepalive": {
488
624
  "version": "4.5.0",
489
625
  "license": "MIT",
@@ -573,17 +709,6 @@
573
709
  "version": "1.1.1",
574
710
  "license": "MIT"
575
711
  },
576
- "node_modules/assert-plus": {
577
- "version": "1.0.0",
578
- "license": "MIT",
579
- "engines": {
580
- "node": ">=0.8"
581
- }
582
- },
583
- "node_modules/async": {
584
- "version": "3.2.3",
585
- "license": "MIT"
586
- },
587
712
  "node_modules/asynckit": {
588
713
  "version": "0.4.0",
589
714
  "license": "MIT"
@@ -641,6 +766,10 @@
641
766
  "ms": "2.0.0"
642
767
  }
643
768
  },
769
+ "node_modules/body-parser/node_modules/ms": {
770
+ "version": "2.0.0",
771
+ "license": "MIT"
772
+ },
644
773
  "node_modules/brace-expansion": {
645
774
  "version": "1.1.11",
646
775
  "license": "MIT",
@@ -651,6 +780,7 @@
651
780
  },
652
781
  "node_modules/braces": {
653
782
  "version": "3.0.2",
783
+ "extraneous": true,
654
784
  "license": "MIT",
655
785
  "dependencies": {
656
786
  "fill-range": "^7.0.1"
@@ -759,13 +889,6 @@
759
889
  "node": ">=6"
760
890
  }
761
891
  },
762
- "node_modules/clone": {
763
- "version": "2.1.2",
764
- "license": "MIT",
765
- "engines": {
766
- "node": ">=0.8"
767
- }
768
- },
769
892
  "node_modules/color-convert": {
770
893
  "version": "2.0.1",
771
894
  "license": "MIT",
@@ -835,10 +958,6 @@
835
958
  "version": "1.0.6",
836
959
  "license": "MIT"
837
960
  },
838
- "node_modules/core-util-is": {
839
- "version": "1.0.2",
840
- "license": "MIT"
841
- },
842
961
  "node_modules/cross-spawn": {
843
962
  "version": "7.0.3",
844
963
  "license": "MIT",
@@ -852,10 +971,18 @@
852
971
  }
853
972
  },
854
973
  "node_modules/debug": {
855
- "version": "3.1.0",
974
+ "version": "4.3.4",
856
975
  "license": "MIT",
857
976
  "dependencies": {
858
- "ms": "2.0.0"
977
+ "ms": "2.1.2"
978
+ },
979
+ "engines": {
980
+ "node": ">=6.0"
981
+ },
982
+ "peerDependenciesMeta": {
983
+ "supports-color": {
984
+ "optional": true
985
+ }
859
986
  }
860
987
  },
861
988
  "node_modules/deep-is": {
@@ -919,13 +1046,6 @@
919
1046
  "node": ">=6.0.0"
920
1047
  }
921
1048
  },
922
- "node_modules/dotenv": {
923
- "version": "10.0.0",
924
- "license": "BSD-2-Clause",
925
- "engines": {
926
- "node": ">=10"
927
- }
928
- },
929
1049
  "node_modules/ee-first": {
930
1050
  "version": "1.1.1",
931
1051
  "license": "MIT"
@@ -989,13 +1109,13 @@
989
1109
  }
990
1110
  },
991
1111
  "node_modules/eslint": {
992
- "version": "8.53.0",
1112
+ "version": "8.54.0",
993
1113
  "license": "MIT",
994
1114
  "dependencies": {
995
1115
  "@eslint-community/eslint-utils": "^4.2.0",
996
1116
  "@eslint-community/regexpp": "^4.6.1",
997
1117
  "@eslint/eslintrc": "^2.1.3",
998
- "@eslint/js": "8.53.0",
1118
+ "@eslint/js": "8.54.0",
999
1119
  "@humanwhocodes/config-array": "^0.11.13",
1000
1120
  "@humanwhocodes/module-importer": "^1.0.1",
1001
1121
  "@nodelib/fs.walk": "^1.2.8",
@@ -1065,25 +1185,6 @@
1065
1185
  "url": "https://opencollective.com/eslint"
1066
1186
  }
1067
1187
  },
1068
- "node_modules/eslint/node_modules/debug": {
1069
- "version": "4.3.4",
1070
- "license": "MIT",
1071
- "dependencies": {
1072
- "ms": "2.1.2"
1073
- },
1074
- "engines": {
1075
- "node": ">=6.0"
1076
- },
1077
- "peerDependenciesMeta": {
1078
- "supports-color": {
1079
- "optional": true
1080
- }
1081
- }
1082
- },
1083
- "node_modules/eslint/node_modules/ms": {
1084
- "version": "2.1.2",
1085
- "license": "MIT"
1086
- },
1087
1188
  "node_modules/espree": {
1088
1189
  "version": "9.6.1",
1089
1190
  "license": "BSD-2-Clause",
@@ -1187,11 +1288,8 @@
1187
1288
  "ms": "2.0.0"
1188
1289
  }
1189
1290
  },
1190
- "node_modules/extsprintf": {
1191
- "version": "1.4.1",
1192
- "engines": [
1193
- "node >=0.6.0"
1194
- ],
1291
+ "node_modules/express/node_modules/ms": {
1292
+ "version": "2.0.0",
1195
1293
  "license": "MIT"
1196
1294
  },
1197
1295
  "node_modules/fast-deep-equal": {
@@ -1225,6 +1323,7 @@
1225
1323
  },
1226
1324
  "node_modules/fill-range": {
1227
1325
  "version": "7.0.1",
1326
+ "extraneous": true,
1228
1327
  "license": "MIT",
1229
1328
  "dependencies": {
1230
1329
  "to-regex-range": "^5.0.1"
@@ -1256,6 +1355,10 @@
1256
1355
  "ms": "2.0.0"
1257
1356
  }
1258
1357
  },
1358
+ "node_modules/finalhandler/node_modules/ms": {
1359
+ "version": "2.0.0",
1360
+ "license": "MIT"
1361
+ },
1259
1362
  "node_modules/find-up": {
1260
1363
  "version": "5.0.0",
1261
1364
  "license": "MIT",
@@ -1451,25 +1554,6 @@
1451
1554
  "version": "1.4.0",
1452
1555
  "license": "MIT"
1453
1556
  },
1454
- "node_modules/handlebars": {
1455
- "version": "4.7.7",
1456
- "license": "MIT",
1457
- "dependencies": {
1458
- "minimist": "^1.2.5",
1459
- "neo-async": "^2.6.0",
1460
- "source-map": "^0.6.1",
1461
- "wordwrap": "^1.0.0"
1462
- },
1463
- "bin": {
1464
- "handlebars": "bin/handlebars"
1465
- },
1466
- "engines": {
1467
- "node": ">=0.4.7"
1468
- },
1469
- "optionalDependencies": {
1470
- "uglify-js": "^3.1.4"
1471
- }
1472
- },
1473
1557
  "node_modules/has-flag": {
1474
1558
  "version": "4.0.0",
1475
1559
  "license": "MIT",
@@ -1522,16 +1606,6 @@
1522
1606
  "node": ">= 0.4"
1523
1607
  }
1524
1608
  },
1525
- "node_modules/hdb": {
1526
- "version": "0.19.3",
1527
- "license": "Apache-2.0",
1528
- "dependencies": {
1529
- "iconv-lite": "^0.4.18"
1530
- },
1531
- "engines": {
1532
- "node": ">= 0.12"
1533
- }
1534
- },
1535
1609
  "node_modules/http-cache-semantics": {
1536
1610
  "version": "4.1.1",
1537
1611
  "license": "BSD-2-Clause",
@@ -1564,27 +1638,6 @@
1564
1638
  "node": ">= 6"
1565
1639
  }
1566
1640
  },
1567
- "node_modules/http-proxy-agent/node_modules/debug": {
1568
- "version": "4.3.4",
1569
- "license": "MIT",
1570
- "optional": true,
1571
- "dependencies": {
1572
- "ms": "2.1.2"
1573
- },
1574
- "engines": {
1575
- "node": ">=6.0"
1576
- },
1577
- "peerDependenciesMeta": {
1578
- "supports-color": {
1579
- "optional": true
1580
- }
1581
- }
1582
- },
1583
- "node_modules/http-proxy-agent/node_modules/ms": {
1584
- "version": "2.1.2",
1585
- "license": "MIT",
1586
- "optional": true
1587
- },
1588
1641
  "node_modules/https-proxy-agent": {
1589
1642
  "version": "5.0.1",
1590
1643
  "license": "MIT",
@@ -1597,27 +1650,6 @@
1597
1650
  "node": ">= 6"
1598
1651
  }
1599
1652
  },
1600
- "node_modules/https-proxy-agent/node_modules/debug": {
1601
- "version": "4.3.4",
1602
- "license": "MIT",
1603
- "optional": true,
1604
- "dependencies": {
1605
- "ms": "2.1.2"
1606
- },
1607
- "engines": {
1608
- "node": ">=6.0"
1609
- },
1610
- "peerDependenciesMeta": {
1611
- "supports-color": {
1612
- "optional": true
1613
- }
1614
- }
1615
- },
1616
- "node_modules/https-proxy-agent/node_modules/ms": {
1617
- "version": "2.1.2",
1618
- "license": "MIT",
1619
- "optional": true
1620
- },
1621
1653
  "node_modules/humanize-ms": {
1622
1654
  "version": "1.2.1",
1623
1655
  "license": "MIT",
@@ -1637,7 +1669,7 @@
1637
1669
  }
1638
1670
  },
1639
1671
  "node_modules/ignore": {
1640
- "version": "5.2.4",
1672
+ "version": "5.3.0",
1641
1673
  "license": "MIT",
1642
1674
  "engines": {
1643
1675
  "node": ">= 4"
@@ -1733,6 +1765,7 @@
1733
1765
  },
1734
1766
  "node_modules/is-number": {
1735
1767
  "version": "7.0.0",
1768
+ "extraneous": true,
1736
1769
  "license": "MIT",
1737
1770
  "engines": {
1738
1771
  "node": ">=0.12.0"
@@ -1871,11 +1904,12 @@
1871
1904
  }
1872
1905
  },
1873
1906
  "node_modules/micromatch": {
1874
- "version": "4.0.4",
1907
+ "version": "4.0.5",
1908
+ "extraneous": true,
1875
1909
  "license": "MIT",
1876
1910
  "dependencies": {
1877
- "braces": "^3.0.1",
1878
- "picomatch": "^2.2.3"
1911
+ "braces": "^3.0.2",
1912
+ "picomatch": "^2.3.1"
1879
1913
  },
1880
1914
  "engines": {
1881
1915
  "node": ">=8.6"
@@ -1918,13 +1952,6 @@
1918
1952
  "node": "*"
1919
1953
  }
1920
1954
  },
1921
- "node_modules/minimist": {
1922
- "version": "1.2.8",
1923
- "license": "MIT",
1924
- "funding": {
1925
- "url": "https://github.com/sponsors/ljharb"
1926
- }
1927
- },
1928
1955
  "node_modules/minipass": {
1929
1956
  "version": "3.3.6",
1930
1957
  "devOptional": true,
@@ -2030,7 +2057,7 @@
2030
2057
  }
2031
2058
  },
2032
2059
  "node_modules/ms": {
2033
- "version": "2.0.0",
2060
+ "version": "2.1.2",
2034
2061
  "license": "MIT"
2035
2062
  },
2036
2063
  "node_modules/mustache": {
@@ -2051,25 +2078,11 @@
2051
2078
  "node": ">= 0.6"
2052
2079
  }
2053
2080
  },
2054
- "node_modules/neo-async": {
2055
- "version": "2.6.2",
2056
- "license": "MIT"
2057
- },
2058
2081
  "node_modules/node-addon-api": {
2059
2082
  "version": "4.3.0",
2060
2083
  "license": "MIT",
2061
2084
  "optional": true
2062
2085
  },
2063
- "node_modules/node-cache": {
2064
- "version": "5.1.2",
2065
- "license": "MIT",
2066
- "dependencies": {
2067
- "clone": "2.x"
2068
- },
2069
- "engines": {
2070
- "node": ">= 8.0.0"
2071
- }
2072
- },
2073
2086
  "node_modules/node-fetch": {
2074
2087
  "version": "2.7.0",
2075
2088
  "license": "MIT",
@@ -2319,6 +2332,7 @@
2319
2332
  },
2320
2333
  "node_modules/picomatch": {
2321
2334
  "version": "2.3.1",
2335
+ "extraneous": true,
2322
2336
  "license": "MIT",
2323
2337
  "engines": {
2324
2338
  "node": ">=8.6"
@@ -2695,34 +2709,6 @@
2695
2709
  "node": ">= 10"
2696
2710
  }
2697
2711
  },
2698
- "node_modules/socks-proxy-agent/node_modules/debug": {
2699
- "version": "4.3.4",
2700
- "license": "MIT",
2701
- "optional": true,
2702
- "dependencies": {
2703
- "ms": "2.1.2"
2704
- },
2705
- "engines": {
2706
- "node": ">=6.0"
2707
- },
2708
- "peerDependenciesMeta": {
2709
- "supports-color": {
2710
- "optional": true
2711
- }
2712
- }
2713
- },
2714
- "node_modules/socks-proxy-agent/node_modules/ms": {
2715
- "version": "2.1.2",
2716
- "license": "MIT",
2717
- "optional": true
2718
- },
2719
- "node_modules/source-map": {
2720
- "version": "0.6.1",
2721
- "license": "BSD-3-Clause",
2722
- "engines": {
2723
- "node": ">=0.10.0"
2724
- }
2725
- },
2726
2712
  "node_modules/sqlite3": {
2727
2713
  "version": "5.1.6",
2728
2714
  "hasInstallScript": true,
@@ -2849,6 +2835,7 @@
2849
2835
  },
2850
2836
  "node_modules/to-regex-range": {
2851
2837
  "version": "5.0.1",
2838
+ "extraneous": true,
2852
2839
  "license": "MIT",
2853
2840
  "dependencies": {
2854
2841
  "is-number": "^7.0.0"
@@ -2900,17 +2887,6 @@
2900
2887
  "node": ">= 0.6"
2901
2888
  }
2902
2889
  },
2903
- "node_modules/uglify-js": {
2904
- "version": "3.17.4",
2905
- "license": "BSD-2-Clause",
2906
- "optional": true,
2907
- "bin": {
2908
- "uglifyjs": "bin/uglifyjs"
2909
- },
2910
- "engines": {
2911
- "node": ">=0.8.0"
2912
- }
2913
- },
2914
2890
  "node_modules/unique-filename": {
2915
2891
  "version": "1.1.1",
2916
2892
  "license": "ISC",
@@ -2960,18 +2936,6 @@
2960
2936
  "node": ">= 0.8"
2961
2937
  }
2962
2938
  },
2963
- "node_modules/verror": {
2964
- "version": "1.10.0",
2965
- "engines": [
2966
- "node >=0.6.0"
2967
- ],
2968
- "license": "MIT",
2969
- "dependencies": {
2970
- "assert-plus": "^1.0.0",
2971
- "core-util-is": "1.0.2",
2972
- "extsprintf": "^1.2.0"
2973
- }
2974
- },
2975
2939
  "node_modules/webidl-conversions": {
2976
2940
  "version": "3.0.1",
2977
2941
  "license": "BSD-2-Clause",
@@ -3007,10 +2971,6 @@
3007
2971
  "string-width": "^1.0.2 || 2 || 3 || 4"
3008
2972
  }
3009
2973
  },
3010
- "node_modules/wordwrap": {
3011
- "version": "1.0.0",
3012
- "license": "MIT"
3013
- },
3014
2974
  "node_modules/wrappy": {
3015
2975
  "version": "1.0.2",
3016
2976
  "license": "ISC"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sap/cds-dk",
3
- "version": "7.4.0",
3
+ "version": "7.4.1",
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": [
@@ -40,5 +40,14 @@
40
40
  "npm-shrinkwrap.json",
41
41
  "LICENSE"
42
42
  ],
43
+ "overrides": {
44
+ "sqlite3": {
45
+ "@mapbox/node-pre-gyp": {
46
+ "make-dir": {
47
+ "semver": "^7"
48
+ }
49
+ }
50
+ }
51
+ },
43
52
  "_hasShrinkwrap": true
44
53
  }