@sap/cds-dk 8.2.1 → 8.2.3
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 +20 -0
- package/bin/cds.js +5 -5
- package/bin/watch.js +1 -1
- package/lib/import/common.js +51 -20
- package/lib/init/mvn.js +3 -4
- package/lib/init/projectReader.js +1 -1
- package/lib/init/template/sample/files/nodejs/admin-service.js +2 -2
- package/lib/mtx/settings_manager.js +1 -1
- package/npm-shrinkwrap.json +72 -60
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,26 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
|
7
7
|
|
|
8
8
|
The format is based on [Keep a Changelog](http://keepachangelog.com/).
|
|
9
9
|
|
|
10
|
+
## Version 8.2.3 - 2024-09-25
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- In `cds.cli.command`, commands now show up in the correct case.
|
|
15
|
+
- `cds add` plugins don't throw a `TypeError` if `cds.cli.options` is `undefined`.
|
|
16
|
+
- `cds watch` no longer ignores `*git/` folders, but only `.git/`.
|
|
17
|
+
- `cds import` updates `package.json` file in `srv` folder if existing. The `srv` folder name is determined by `cds.env.folders.srv` config or parameter `--out`.
|
|
18
|
+
- `cds import` doesn't change existing service configuration data. Now, `destination` credentials are only saved for the `production` profile.
|
|
19
|
+
|
|
20
|
+
## Version 8.2.2 - 2024-09-17
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
|
|
24
|
+
- BDSA-2024-6188: vulnerability with express.js 4.19.2
|
|
25
|
+
- `cds import --out` copies the given metadata file to the correct output folder. CLI options are propagated to the `cds.import` API.
|
|
26
|
+
- `cds add sample` no longer creates a irregular whitespace in `admin-service.js`.
|
|
27
|
+
- `cds login` now correctly fetches tokens again with client credentials (or hints at invalid credentials).
|
|
28
|
+
- `cds add handler` can now also be called from the `srv` dir.
|
|
29
|
+
|
|
10
30
|
## Version 8.2.1 - 2024-09-05
|
|
11
31
|
|
|
12
32
|
### Fixed
|
package/bin/cds.js
CHANGED
|
@@ -33,6 +33,10 @@ const cli = {
|
|
|
33
33
|
if (cmd in this.Shortcuts) cmd = process.argv[2] = this.Shortcuts[cmd]
|
|
34
34
|
if (argv.some(a => this.Shortcuts[a]==='help')) return this.help (cmd)
|
|
35
35
|
|
|
36
|
+
// normalize command case (but not the shortcuts above) so that checks against `cds.cli.command` work
|
|
37
|
+
if (cmd === process.argv[2]) cmd = process.argv[2] = cmd.toLowerCase()
|
|
38
|
+
else if (cmd) cmd = cmd.toLowerCase()
|
|
39
|
+
|
|
36
40
|
const cds = require('../lib') // make sure to load cds-dk API for plugins
|
|
37
41
|
DEBUG?.(`[cds] - @sap/cds ${cds.version} loaded: ${cds.home}`)
|
|
38
42
|
|
|
@@ -69,11 +73,7 @@ const cli = {
|
|
|
69
73
|
}
|
|
70
74
|
const args = this.args(task, argv)
|
|
71
75
|
args[0].push(...appendArgs)
|
|
72
|
-
cds.cli = {
|
|
73
|
-
command: cmd,
|
|
74
|
-
argv: args[0],
|
|
75
|
-
options: args[1],
|
|
76
|
-
}
|
|
76
|
+
cds.cli = { command: cmd, argv: args[0], options: args[1] }
|
|
77
77
|
|
|
78
78
|
if (args[1]?.['resolve-bindings']) await _resolveBindings({ silent: cmd === 'env' })
|
|
79
79
|
|
package/bin/watch.js
CHANGED
|
@@ -56,7 +56,7 @@ const fs = require ('fs')
|
|
|
56
56
|
|
|
57
57
|
const extDefaults = 'cds,csn,csv,ts,mjs,cjs,js,json,properties,edmx,xml,env'
|
|
58
58
|
const ignore = RegExp(
|
|
59
|
-
`(
|
|
59
|
+
`(\\.git|node_modules|_out|@types|@cds-models)\\${sep}` +
|
|
60
60
|
`|app(\\${sep}.+)?\\${sep}(` +
|
|
61
61
|
`(webapp|dist|target)\\${sep}|` +
|
|
62
62
|
`tsconfig\\.json$|` +
|
package/lib/import/common.js
CHANGED
|
@@ -17,7 +17,7 @@ let optionsMapping = {
|
|
|
17
17
|
};
|
|
18
18
|
|
|
19
19
|
let apiOptions = ['includeNamespaces', 'keepNamespace', 'beta'];
|
|
20
|
-
let commonOptions = ['no_copy', 'no_save', 'out', 'dry', 'as', 'from', 'force', 'config'];
|
|
20
|
+
let commonOptions = ['no_copy', 'no_save', 'out', 'dry', 'as', 'from', 'force', 'config', 'destination'];
|
|
21
21
|
|
|
22
22
|
async function generateEDMX2JSON(edmx) {
|
|
23
23
|
let cjson = convert.xml2json(edmx, {
|
|
@@ -155,7 +155,7 @@ async function preProcess(file, options, cwd) {
|
|
|
155
155
|
return srcFilePath;
|
|
156
156
|
}
|
|
157
157
|
|
|
158
|
-
async function processOptions(cliOptions,
|
|
158
|
+
async function processOptions(cliOptions, options) {
|
|
159
159
|
// maps to renaming of variables
|
|
160
160
|
for (let [key, value] of Object.entries(optionsMapping)) {
|
|
161
161
|
if (cliOptions[key]) {
|
|
@@ -165,9 +165,18 @@ async function processOptions(cliOptions, odataOptions) {
|
|
|
165
165
|
}
|
|
166
166
|
// segregating cli/odata options
|
|
167
167
|
apiOptions.forEach(function (item) {
|
|
168
|
-
|
|
169
|
-
|
|
168
|
+
if (cliOptions[item]) {
|
|
169
|
+
options[item] = cliOptions[item];
|
|
170
|
+
delete cliOptions[item];
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
// forward cli options to api options
|
|
174
|
+
commonOptions.forEach(function (item) {
|
|
175
|
+
if (cliOptions[item]) {
|
|
176
|
+
options[item] = cliOptions[item];
|
|
177
|
+
}
|
|
170
178
|
});
|
|
179
|
+
|
|
171
180
|
// reads cli options from environment
|
|
172
181
|
readEnvVariables(cliOptions, true);
|
|
173
182
|
}
|
|
@@ -303,10 +312,10 @@ async function _write(result, service, cwd) {
|
|
|
303
312
|
extension = dest.substring(dest.lastIndexOf('.'));
|
|
304
313
|
dest = dest.replace(extension, '');
|
|
305
314
|
if (service.length > 1){
|
|
306
|
-
using = `using { ${service.join(', ')}} from './${path.relative(
|
|
315
|
+
using = `using { ${service.join(', ')}} from './${path.relative(cds.env.folders.srv, dest).replace(/\\/g, '/')}'`;
|
|
307
316
|
}
|
|
308
317
|
else{
|
|
309
|
-
using = `using { ${service} as external } from './${path.relative(
|
|
318
|
+
using = `using { ${service} as external } from './${path.relative(cds.env.folders.srv, dest).replace(/\\/g, '/')}'`;
|
|
310
319
|
}
|
|
311
320
|
using = require('../util/term').info(using);
|
|
312
321
|
message = `[cds] - imported API to ${path.relative(cwd, dest)}
|
|
@@ -318,21 +327,36 @@ ${using}
|
|
|
318
327
|
console.log(message);
|
|
319
328
|
}
|
|
320
329
|
|
|
321
|
-
async function _updatePackageJson(dest, services, kind, cwd, config) {
|
|
322
|
-
|
|
323
|
-
|
|
330
|
+
async function _updatePackageJson(dest, services, kind, cwd, config, destination) {
|
|
331
|
+
// try to find package.json in the srv folder
|
|
332
|
+
let package_json = _findPackageJson(path.resolve(cwd, dest), cwd);
|
|
333
|
+
let conf = {};
|
|
334
|
+
if (package_json) {
|
|
335
|
+
conf = JSON.parse(await read(package_json, "utf-8"));
|
|
336
|
+
} else {
|
|
337
|
+
package_json = path.resolve(cwd, 'package.json');
|
|
338
|
+
}
|
|
324
339
|
const requires = ['cds', 'requires'].reduce((p, n) => p[n] || (p[n] = {}), conf);
|
|
325
340
|
if (kind !== 'rest' && kind !== 'rfc') {
|
|
326
341
|
kind = (kind === "V2") ? 'odata-v2' : 'odata';
|
|
327
342
|
}
|
|
343
|
+
// add destination configuration
|
|
344
|
+
if (!config && destination) {
|
|
345
|
+
config = { "[production]": { credentials: { destination } } };
|
|
346
|
+
}
|
|
347
|
+
|
|
328
348
|
let package_json_updated = false;
|
|
329
349
|
for (let service of services) {
|
|
330
350
|
// existing service configuration data can be updated, e.g. in case of delta imports
|
|
331
351
|
const model = path.relative(cwd, dest).replace(/\\/g, '/'); // cds env must not be platform specific
|
|
332
352
|
const serviceConfig = { kind, model, ...config }
|
|
333
|
-
if (!requires[service]
|
|
353
|
+
if (!requires[service]) {
|
|
334
354
|
cds.env.requires[service] = requires[service] = serviceConfig;
|
|
335
355
|
package_json_updated = true;
|
|
356
|
+
} else {
|
|
357
|
+
if (JSON.stringify(serviceConfig) !== JSON.stringify(requires[service])) {
|
|
358
|
+
console.warn(`Service '${service}' already exists in ./package.json with a different configuration, skipping update.\n`);
|
|
359
|
+
}
|
|
336
360
|
}
|
|
337
361
|
}
|
|
338
362
|
if (package_json_updated) {
|
|
@@ -341,6 +365,21 @@ async function _updatePackageJson(dest, services, kind, cwd, config) {
|
|
|
341
365
|
}
|
|
342
366
|
}
|
|
343
367
|
|
|
368
|
+
function _findPackageJson(dir, cwd) {
|
|
369
|
+
const packageJsonPath = path.join(dir, 'package.json');
|
|
370
|
+
if (fs.existsSync(packageJsonPath)) {
|
|
371
|
+
return packageJsonPath;
|
|
372
|
+
}
|
|
373
|
+
if (dir === cwd) {
|
|
374
|
+
return null;
|
|
375
|
+
}
|
|
376
|
+
const parentDir = path.dirname(dir);
|
|
377
|
+
if (parentDir === dir) {
|
|
378
|
+
return null;
|
|
379
|
+
}
|
|
380
|
+
return _findPackageJson(parentDir, cwd);
|
|
381
|
+
}
|
|
382
|
+
|
|
344
383
|
function _parseValidJsonConfig(config) {
|
|
345
384
|
try {
|
|
346
385
|
if (config) {
|
|
@@ -354,20 +393,12 @@ function _parseValidJsonConfig(config) {
|
|
|
354
393
|
async function postProcess(filePath, options, csn, cwd) {
|
|
355
394
|
const services = _getServiceNames(csn);
|
|
356
395
|
let config = _parseValidJsonConfig(options.config);
|
|
357
|
-
|
|
358
|
-
// add destination configuration
|
|
359
|
-
if (options.destination) {
|
|
360
|
-
config ??= {};
|
|
361
|
-
config.credentials = { destination: options.destination };
|
|
362
|
-
}
|
|
363
|
-
|
|
364
|
-
const external = path.resolve(cwd, 'srv/external');
|
|
365
|
-
const destFilePath = path.join(external, path.basename(filePath));
|
|
396
|
+
const destFilePath = path.resolve(cwd, options.out ? path.join(options.out, path.basename(filePath)) : path.join(cds.env.folders.srv, 'external', path.basename(filePath)));
|
|
366
397
|
if (options.out) options.out = _validateAndComputeOutputFilePath(options.out, options.as, destFilePath);
|
|
367
398
|
const kind = options.inputFileKind;
|
|
368
399
|
const result = await _getResult(csn, options.as, options.out || destFilePath.replace(/\.[^.]+$/, ''), options.force, kind);
|
|
369
400
|
const written = options.dry || await _write(result, services, cwd);
|
|
370
|
-
const registered = options.dry || options.no_save || await _updatePackageJson(result[1].replace(/\.[^.]+$/, ''), services, kind, cwd, config);
|
|
401
|
+
const registered = options.dry || options.no_save || await _updatePackageJson(result[1].replace(/\.[^.]+$/, ''), services, kind, cwd, config, options.destination);
|
|
371
402
|
if (!options.dry && !options.no_copy)
|
|
372
403
|
await _copyToSrvExternal(filePath, destFilePath, cwd);
|
|
373
404
|
if (options.dry) return console.log(result[0]);
|
package/lib/init/mvn.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
const util = require('util')
|
|
2
|
-
const path = require('path');
|
|
3
2
|
const { exec } = require('child_process')
|
|
4
3
|
const execAsync = util.promisify(exec)
|
|
5
4
|
|
|
@@ -105,11 +104,11 @@ module.exports.init = async function (projectName, options = cds.cli.options) {
|
|
|
105
104
|
|
|
106
105
|
module.exports.generate = async function (feature, options = cds.cli.options) {
|
|
107
106
|
const command = this.generateMvnParams(feature, options)
|
|
108
|
-
const cwd = options.cwd
|
|
107
|
+
const cwd = options.cwd ?? cds.root
|
|
109
108
|
|
|
110
109
|
try {
|
|
111
110
|
console.log(`Executing command: `, term.highlight('mvn ' + command.join(' ')))
|
|
112
|
-
await cmd.spawnCommand('mvn', command, { cwd: cwd
|
|
111
|
+
await cmd.spawnCommand('mvn', command, { cwd: cwd })
|
|
113
112
|
return command
|
|
114
113
|
} catch (err) {
|
|
115
114
|
if (err.code === 'ENOENT' && err.path === 'mvn') {
|
|
@@ -125,7 +124,7 @@ module.exports.generateMvnParams = function (feature, options = cds.cli.options)
|
|
|
125
124
|
const { 'java:mvn': javaMvn, force, filter, out } = options
|
|
126
125
|
if (javaMvn) _scan(javaMvn).forEach(([k,v]) => params.set(k,v))
|
|
127
126
|
const archVersion = params.get(`-DarchetypeVersion`) ?? ''
|
|
128
|
-
params.set(`cds:${archVersion}:generate`)
|
|
127
|
+
params.set(`com.sap.cds:cds-maven-plugin:${archVersion}:generate`)
|
|
129
128
|
|
|
130
129
|
switch (feature) {
|
|
131
130
|
case 'handler':
|
|
@@ -13,7 +13,7 @@ module.exports = new class ProjectReader {
|
|
|
13
13
|
|
|
14
14
|
#setPackageInfo() {
|
|
15
15
|
// 1. Use project name and static default values
|
|
16
|
-
this.appVersion = cds.cli.options
|
|
16
|
+
this.appVersion = cds.cli.options?.add?.has('java') ? '1.0.0-SNAPSHOT' : '1.0.0'
|
|
17
17
|
this.appName = this.appId = basename(cds.root)
|
|
18
18
|
this.appDescription = 'A simple CAP project.'
|
|
19
19
|
|
|
@@ -9,8 +9,8 @@ module.exports = class AdminService extends cds.ApplicationService { init(){
|
|
|
9
9
|
*/
|
|
10
10
|
this.before ('NEW', Books.drafts, async (req) => {
|
|
11
11
|
if (req.data.ID) return
|
|
12
|
-
const {
|
|
13
|
-
const {
|
|
12
|
+
const { ID:id1 } = await SELECT.one.from(Books).columns('max(ID) as ID')
|
|
13
|
+
const { ID:id2 } = await SELECT.one.from(Books.drafts).columns('max(ID) as ID')
|
|
14
14
|
req.data.ID = Math.max(id1||0, id2||0) + 1
|
|
15
15
|
})
|
|
16
16
|
return super.init()
|
|
@@ -13,7 +13,7 @@ const Question = require('./util/question');
|
|
|
13
13
|
const { httpSchema, httpsSchema, schemaRegex, localhostRegex } = require('./util/urls');
|
|
14
14
|
const { capitalize } = require('./util/strings');
|
|
15
15
|
|
|
16
|
-
const
|
|
16
|
+
const DEBUG = cds.debug('cli');
|
|
17
17
|
|
|
18
18
|
const { ParamCollection, Persistence } = require('./params');
|
|
19
19
|
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sap/cds-dk",
|
|
3
|
-
"version": "8.2.
|
|
3
|
+
"version": "8.2.3",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@sap/cds-dk",
|
|
9
|
-
"version": "8.2.
|
|
9
|
+
"version": "8.2.3",
|
|
10
10
|
"license": "SEE LICENSE IN LICENSE",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@cap-js/asyncapi": "^1.0.0",
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
}
|
|
100
100
|
},
|
|
101
101
|
"node_modules/@eslint-community/regexpp": {
|
|
102
|
-
"version": "4.11.
|
|
102
|
+
"version": "4.11.1",
|
|
103
103
|
"license": "MIT",
|
|
104
104
|
"engines": {
|
|
105
105
|
"node": "^12.0.0 || ^14.0.0 || >=16.0.0"
|
|
@@ -139,7 +139,7 @@
|
|
|
139
139
|
}
|
|
140
140
|
},
|
|
141
141
|
"node_modules/@eslint/js": {
|
|
142
|
-
"version": "9.
|
|
142
|
+
"version": "9.10.0",
|
|
143
143
|
"license": "MIT",
|
|
144
144
|
"engines": {
|
|
145
145
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
|
@@ -152,6 +152,16 @@
|
|
|
152
152
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
|
153
153
|
}
|
|
154
154
|
},
|
|
155
|
+
"node_modules/@eslint/plugin-kit": {
|
|
156
|
+
"version": "0.1.0",
|
|
157
|
+
"license": "Apache-2.0",
|
|
158
|
+
"dependencies": {
|
|
159
|
+
"levn": "^0.4.1"
|
|
160
|
+
},
|
|
161
|
+
"engines": {
|
|
162
|
+
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
|
163
|
+
}
|
|
164
|
+
},
|
|
155
165
|
"node_modules/@humanwhocodes/module-importer": {
|
|
156
166
|
"version": "1.0.1",
|
|
157
167
|
"license": "Apache-2.0",
|
|
@@ -204,7 +214,7 @@
|
|
|
204
214
|
}
|
|
205
215
|
},
|
|
206
216
|
"node_modules/@sap/cds": {
|
|
207
|
-
"version": "8.2.
|
|
217
|
+
"version": "8.2.3",
|
|
208
218
|
"license": "SEE LICENSE IN LICENSE",
|
|
209
219
|
"dependencies": {
|
|
210
220
|
"@sap/cds-compiler": ">=5.1",
|
|
@@ -278,7 +288,7 @@
|
|
|
278
288
|
}
|
|
279
289
|
},
|
|
280
290
|
"node_modules/@sap/eslint-plugin-cds": {
|
|
281
|
-
"version": "3.0.
|
|
291
|
+
"version": "3.0.5",
|
|
282
292
|
"license": "See LICENSE file",
|
|
283
293
|
"dependencies": {
|
|
284
294
|
"@sap/cds": ">=7",
|
|
@@ -292,13 +302,13 @@
|
|
|
292
302
|
}
|
|
293
303
|
},
|
|
294
304
|
"node_modules/@sap/hdi": {
|
|
295
|
-
"version": "4.
|
|
305
|
+
"version": "4.6.0",
|
|
296
306
|
"license": "See LICENSE file",
|
|
297
307
|
"dependencies": {
|
|
298
|
-
"async": "3.2.3"
|
|
308
|
+
"async": "^3.2.3"
|
|
299
309
|
},
|
|
300
310
|
"engines": {
|
|
301
|
-
"node": ">=
|
|
311
|
+
"node": ">=18 <=20"
|
|
302
312
|
},
|
|
303
313
|
"peerDependencies": {
|
|
304
314
|
"@sap/hana-client": "^2 >= 2.5",
|
|
@@ -314,16 +324,16 @@
|
|
|
314
324
|
}
|
|
315
325
|
},
|
|
316
326
|
"node_modules/@sap/hdi-deploy": {
|
|
317
|
-
"version": "5.
|
|
327
|
+
"version": "5.3.1",
|
|
318
328
|
"hasInstallScript": true,
|
|
319
329
|
"license": "See LICENSE file",
|
|
320
330
|
"dependencies": {
|
|
321
|
-
"@sap/hdi": "4.
|
|
322
|
-
"@sap/xsenv": "5.2.0",
|
|
323
|
-
"async": "3.2.6",
|
|
324
|
-
"dotenv": "16.4.5",
|
|
325
|
-
"handlebars": "4.7.8",
|
|
326
|
-
"micromatch": "4.0.8"
|
|
331
|
+
"@sap/hdi": "^4.6.0",
|
|
332
|
+
"@sap/xsenv": "^5.2.0",
|
|
333
|
+
"async": "^3.2.6",
|
|
334
|
+
"dotenv": "^16.4.5",
|
|
335
|
+
"handlebars": "^4.7.8",
|
|
336
|
+
"micromatch": "^4.0.8"
|
|
327
337
|
},
|
|
328
338
|
"engines": {
|
|
329
339
|
"node": "^18.0.0 || ^20.0.0"
|
|
@@ -341,16 +351,12 @@
|
|
|
341
351
|
}
|
|
342
352
|
}
|
|
343
353
|
},
|
|
344
|
-
"node_modules/@sap/hdi/node_modules/async": {
|
|
345
|
-
"version": "3.2.3",
|
|
346
|
-
"license": "MIT"
|
|
347
|
-
},
|
|
348
354
|
"node_modules/@sap/xsenv": {
|
|
349
|
-
"version": "5.
|
|
355
|
+
"version": "5.3.0",
|
|
350
356
|
"license": "SEE LICENSE IN LICENSE file",
|
|
351
357
|
"dependencies": {
|
|
352
|
-
"debug": "4.3.
|
|
353
|
-
"node-cache": "^5.1.
|
|
358
|
+
"debug": "4.3.7",
|
|
359
|
+
"node-cache": "^5.1.2",
|
|
354
360
|
"verror": "1.10.1"
|
|
355
361
|
},
|
|
356
362
|
"engines": {
|
|
@@ -482,7 +488,7 @@
|
|
|
482
488
|
"optional": true
|
|
483
489
|
},
|
|
484
490
|
"node_modules/better-sqlite3": {
|
|
485
|
-
"version": "11.
|
|
491
|
+
"version": "11.3.0",
|
|
486
492
|
"hasInstallScript": true,
|
|
487
493
|
"license": "MIT",
|
|
488
494
|
"optional": true,
|
|
@@ -492,7 +498,7 @@
|
|
|
492
498
|
}
|
|
493
499
|
},
|
|
494
500
|
"node_modules/big.js": {
|
|
495
|
-
"version": "6.2.
|
|
501
|
+
"version": "6.2.2",
|
|
496
502
|
"license": "MIT",
|
|
497
503
|
"engines": {
|
|
498
504
|
"node": "*"
|
|
@@ -521,7 +527,7 @@
|
|
|
521
527
|
}
|
|
522
528
|
},
|
|
523
529
|
"node_modules/body-parser": {
|
|
524
|
-
"version": "1.20.
|
|
530
|
+
"version": "1.20.3",
|
|
525
531
|
"license": "MIT",
|
|
526
532
|
"dependencies": {
|
|
527
533
|
"bytes": "3.1.2",
|
|
@@ -532,7 +538,7 @@
|
|
|
532
538
|
"http-errors": "2.0.0",
|
|
533
539
|
"iconv-lite": "0.4.24",
|
|
534
540
|
"on-finished": "2.4.1",
|
|
535
|
-
"qs": "6.
|
|
541
|
+
"qs": "6.13.0",
|
|
536
542
|
"raw-body": "2.5.2",
|
|
537
543
|
"type-is": "~1.6.18",
|
|
538
544
|
"unpipe": "1.0.0"
|
|
@@ -724,10 +730,10 @@
|
|
|
724
730
|
}
|
|
725
731
|
},
|
|
726
732
|
"node_modules/debug": {
|
|
727
|
-
"version": "4.3.
|
|
733
|
+
"version": "4.3.7",
|
|
728
734
|
"license": "MIT",
|
|
729
735
|
"dependencies": {
|
|
730
|
-
"ms": "2.1.
|
|
736
|
+
"ms": "^2.1.3"
|
|
731
737
|
},
|
|
732
738
|
"engines": {
|
|
733
739
|
"node": ">=6.0"
|
|
@@ -824,7 +830,7 @@
|
|
|
824
830
|
"license": "MIT"
|
|
825
831
|
},
|
|
826
832
|
"node_modules/encodeurl": {
|
|
827
|
-
"version": "
|
|
833
|
+
"version": "2.0.0",
|
|
828
834
|
"license": "MIT",
|
|
829
835
|
"engines": {
|
|
830
836
|
"node": ">= 0.8"
|
|
@@ -870,14 +876,15 @@
|
|
|
870
876
|
}
|
|
871
877
|
},
|
|
872
878
|
"node_modules/eslint": {
|
|
873
|
-
"version": "9.
|
|
879
|
+
"version": "9.10.0",
|
|
874
880
|
"license": "MIT",
|
|
875
881
|
"dependencies": {
|
|
876
882
|
"@eslint-community/eslint-utils": "^4.2.0",
|
|
877
883
|
"@eslint-community/regexpp": "^4.11.0",
|
|
878
884
|
"@eslint/config-array": "^0.18.0",
|
|
879
885
|
"@eslint/eslintrc": "^3.1.0",
|
|
880
|
-
"@eslint/js": "9.
|
|
886
|
+
"@eslint/js": "9.10.0",
|
|
887
|
+
"@eslint/plugin-kit": "^0.1.0",
|
|
881
888
|
"@humanwhocodes/module-importer": "^1.0.1",
|
|
882
889
|
"@humanwhocodes/retry": "^0.3.0",
|
|
883
890
|
"@nodelib/fs.walk": "^1.2.8",
|
|
@@ -900,7 +907,6 @@
|
|
|
900
907
|
"is-glob": "^4.0.0",
|
|
901
908
|
"is-path-inside": "^3.0.3",
|
|
902
909
|
"json-stable-stringify-without-jsonify": "^1.0.1",
|
|
903
|
-
"levn": "^0.4.1",
|
|
904
910
|
"lodash.merge": "^4.6.2",
|
|
905
911
|
"minimatch": "^3.1.2",
|
|
906
912
|
"natural-compare": "^1.4.0",
|
|
@@ -1015,35 +1021,35 @@
|
|
|
1015
1021
|
}
|
|
1016
1022
|
},
|
|
1017
1023
|
"node_modules/express": {
|
|
1018
|
-
"version": "4.
|
|
1024
|
+
"version": "4.21.0",
|
|
1019
1025
|
"license": "MIT",
|
|
1020
1026
|
"dependencies": {
|
|
1021
1027
|
"accepts": "~1.3.8",
|
|
1022
1028
|
"array-flatten": "1.1.1",
|
|
1023
|
-
"body-parser": "1.20.
|
|
1029
|
+
"body-parser": "1.20.3",
|
|
1024
1030
|
"content-disposition": "0.5.4",
|
|
1025
1031
|
"content-type": "~1.0.4",
|
|
1026
1032
|
"cookie": "0.6.0",
|
|
1027
1033
|
"cookie-signature": "1.0.6",
|
|
1028
1034
|
"debug": "2.6.9",
|
|
1029
1035
|
"depd": "2.0.0",
|
|
1030
|
-
"encodeurl": "~
|
|
1036
|
+
"encodeurl": "~2.0.0",
|
|
1031
1037
|
"escape-html": "~1.0.3",
|
|
1032
1038
|
"etag": "~1.8.1",
|
|
1033
|
-
"finalhandler": "1.
|
|
1039
|
+
"finalhandler": "1.3.1",
|
|
1034
1040
|
"fresh": "0.5.2",
|
|
1035
1041
|
"http-errors": "2.0.0",
|
|
1036
|
-
"merge-descriptors": "1.0.
|
|
1042
|
+
"merge-descriptors": "1.0.3",
|
|
1037
1043
|
"methods": "~1.1.2",
|
|
1038
1044
|
"on-finished": "2.4.1",
|
|
1039
1045
|
"parseurl": "~1.3.3",
|
|
1040
|
-
"path-to-regexp": "0.1.
|
|
1046
|
+
"path-to-regexp": "0.1.10",
|
|
1041
1047
|
"proxy-addr": "~2.0.7",
|
|
1042
|
-
"qs": "6.
|
|
1048
|
+
"qs": "6.13.0",
|
|
1043
1049
|
"range-parser": "~1.2.1",
|
|
1044
1050
|
"safe-buffer": "5.2.1",
|
|
1045
|
-
"send": "0.
|
|
1046
|
-
"serve-static": "1.
|
|
1051
|
+
"send": "0.19.0",
|
|
1052
|
+
"serve-static": "1.16.2",
|
|
1047
1053
|
"setprototypeof": "1.2.0",
|
|
1048
1054
|
"statuses": "2.0.1",
|
|
1049
1055
|
"type-is": "~1.6.18",
|
|
@@ -1117,11 +1123,11 @@
|
|
|
1117
1123
|
}
|
|
1118
1124
|
},
|
|
1119
1125
|
"node_modules/finalhandler": {
|
|
1120
|
-
"version": "1.
|
|
1126
|
+
"version": "1.3.1",
|
|
1121
1127
|
"license": "MIT",
|
|
1122
1128
|
"dependencies": {
|
|
1123
1129
|
"debug": "2.6.9",
|
|
1124
|
-
"encodeurl": "~
|
|
1130
|
+
"encodeurl": "~2.0.0",
|
|
1125
1131
|
"escape-html": "~1.0.3",
|
|
1126
1132
|
"on-finished": "2.4.1",
|
|
1127
1133
|
"parseurl": "~1.3.3",
|
|
@@ -1173,7 +1179,7 @@
|
|
|
1173
1179
|
"license": "ISC"
|
|
1174
1180
|
},
|
|
1175
1181
|
"node_modules/follow-redirects": {
|
|
1176
|
-
"version": "1.15.
|
|
1182
|
+
"version": "1.15.9",
|
|
1177
1183
|
"funding": [
|
|
1178
1184
|
{
|
|
1179
1185
|
"type": "individual",
|
|
@@ -1554,8 +1560,11 @@
|
|
|
1554
1560
|
}
|
|
1555
1561
|
},
|
|
1556
1562
|
"node_modules/merge-descriptors": {
|
|
1557
|
-
"version": "1.0.
|
|
1558
|
-
"license": "MIT"
|
|
1563
|
+
"version": "1.0.3",
|
|
1564
|
+
"license": "MIT",
|
|
1565
|
+
"funding": {
|
|
1566
|
+
"url": "https://github.com/sponsors/sindresorhus"
|
|
1567
|
+
}
|
|
1559
1568
|
},
|
|
1560
1569
|
"node_modules/methods": {
|
|
1561
1570
|
"version": "1.1.2",
|
|
@@ -1636,7 +1645,7 @@
|
|
|
1636
1645
|
"optional": true
|
|
1637
1646
|
},
|
|
1638
1647
|
"node_modules/ms": {
|
|
1639
|
-
"version": "2.1.
|
|
1648
|
+
"version": "2.1.3",
|
|
1640
1649
|
"license": "MIT"
|
|
1641
1650
|
},
|
|
1642
1651
|
"node_modules/mustache": {
|
|
@@ -1667,7 +1676,7 @@
|
|
|
1667
1676
|
"license": "MIT"
|
|
1668
1677
|
},
|
|
1669
1678
|
"node_modules/node-abi": {
|
|
1670
|
-
"version": "3.
|
|
1679
|
+
"version": "3.68.0",
|
|
1671
1680
|
"license": "MIT",
|
|
1672
1681
|
"optional": true,
|
|
1673
1682
|
"dependencies": {
|
|
@@ -1795,7 +1804,7 @@
|
|
|
1795
1804
|
}
|
|
1796
1805
|
},
|
|
1797
1806
|
"node_modules/path-to-regexp": {
|
|
1798
|
-
"version": "0.1.
|
|
1807
|
+
"version": "0.1.10",
|
|
1799
1808
|
"license": "MIT"
|
|
1800
1809
|
},
|
|
1801
1810
|
"node_modules/picomatch": {
|
|
@@ -1863,7 +1872,7 @@
|
|
|
1863
1872
|
"license": "MIT"
|
|
1864
1873
|
},
|
|
1865
1874
|
"node_modules/pump": {
|
|
1866
|
-
"version": "3.0.
|
|
1875
|
+
"version": "3.0.2",
|
|
1867
1876
|
"license": "MIT",
|
|
1868
1877
|
"optional": true,
|
|
1869
1878
|
"dependencies": {
|
|
@@ -1879,10 +1888,10 @@
|
|
|
1879
1888
|
}
|
|
1880
1889
|
},
|
|
1881
1890
|
"node_modules/qs": {
|
|
1882
|
-
"version": "6.
|
|
1891
|
+
"version": "6.13.0",
|
|
1883
1892
|
"license": "BSD-3-Clause",
|
|
1884
1893
|
"dependencies": {
|
|
1885
|
-
"side-channel": "^1.0.
|
|
1894
|
+
"side-channel": "^1.0.6"
|
|
1886
1895
|
},
|
|
1887
1896
|
"engines": {
|
|
1888
1897
|
"node": ">=0.6"
|
|
@@ -2037,7 +2046,7 @@
|
|
|
2037
2046
|
}
|
|
2038
2047
|
},
|
|
2039
2048
|
"node_modules/send": {
|
|
2040
|
-
"version": "0.
|
|
2049
|
+
"version": "0.19.0",
|
|
2041
2050
|
"license": "MIT",
|
|
2042
2051
|
"dependencies": {
|
|
2043
2052
|
"debug": "2.6.9",
|
|
@@ -2069,18 +2078,21 @@
|
|
|
2069
2078
|
"version": "2.0.0",
|
|
2070
2079
|
"license": "MIT"
|
|
2071
2080
|
},
|
|
2072
|
-
"node_modules/send/node_modules/
|
|
2073
|
-
"version": "
|
|
2074
|
-
"license": "MIT"
|
|
2081
|
+
"node_modules/send/node_modules/encodeurl": {
|
|
2082
|
+
"version": "1.0.2",
|
|
2083
|
+
"license": "MIT",
|
|
2084
|
+
"engines": {
|
|
2085
|
+
"node": ">= 0.8"
|
|
2086
|
+
}
|
|
2075
2087
|
},
|
|
2076
2088
|
"node_modules/serve-static": {
|
|
2077
|
-
"version": "1.
|
|
2089
|
+
"version": "1.16.2",
|
|
2078
2090
|
"license": "MIT",
|
|
2079
2091
|
"dependencies": {
|
|
2080
|
-
"encodeurl": "~
|
|
2092
|
+
"encodeurl": "~2.0.0",
|
|
2081
2093
|
"escape-html": "~1.0.3",
|
|
2082
2094
|
"parseurl": "~1.3.3",
|
|
2083
|
-
"send": "0.
|
|
2095
|
+
"send": "0.19.0"
|
|
2084
2096
|
},
|
|
2085
2097
|
"engines": {
|
|
2086
2098
|
"node": ">= 0.8.0"
|