@sap/cds-dk 7.8.2 → 7.9.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/add.js +28 -7
- package/bin/bind.js +64 -21
- package/bin/build.js +35 -3
- package/bin/cds.js +31 -13
- package/bin/compile/index.js +44 -3
- package/bin/completion/completionFs.js +61 -0
- package/bin/completion/index.js +212 -0
- package/bin/completion/scripts/cds-bash.sh +17 -0
- package/bin/completion/scripts/cds-ps.ps1 +18 -0
- package/bin/completion/scripts/cds-zsh.sh +12 -0
- package/bin/help.js +8 -2
- package/bin/init.js +34 -4
- package/bin/subscribe.js +5 -1
- package/bin/watch.js +4 -2
- package/lib/bind/KubernetesApiAccessor.js +3 -2
- package/lib/bind/bindingResolver.js +3 -2
- package/lib/bind/bindingUtil.js +10 -8
- package/lib/bind/cfKeyProvider.js +58 -153
- package/lib/bind/index.js +46 -36
- package/lib/bind/kubernetesCredentialsProvider.js +6 -5
- package/lib/bind/userCdsrcJsonStorageProvider.js +25 -3
- package/lib/build/buildTaskEngine.js +1 -1
- package/lib/build/provider/hana/index.js +1 -1
- package/lib/build/provider/hana/template/undeploy.json +3 -1
- package/lib/build/provider/nodejs/index.js +1 -1
- package/lib/compile/openapi/index.js +5 -0
- package/lib/deploy/to-hana/hana.js +25 -7
- package/lib/env/schemas/cds-rc.js +29 -2
- package/lib/import/odata/v4parser.js +78 -25
- package/lib/init/constants.js +2 -1
- package/lib/init/index.js +18 -13
- package/lib/init/merge.js +1 -0
- package/lib/init/mvn.js +8 -47
- package/lib/init/plugin.js +0 -4
- package/lib/init/projectReader.js +17 -10
- package/lib/init/template/approuter/files/values.yaml.hbs +0 -12
- package/lib/init/template/completion/completionSetup.js +184 -0
- package/lib/init/template/completion/index.js +22 -0
- package/lib/init/template/data/as-csv.js +25 -17
- package/lib/init/template/data/as-json.js +115 -30
- package/lib/init/template/data/index.js +28 -15
- package/lib/init/template/hana/files/undeploy.json +2 -1
- package/lib/init/template/helm/files/chart/values.schema.json +1 -1
- package/lib/init/template/helm/files/content-deployment/Chart.yaml +0 -2
- package/lib/init/template/helm/files/content-deployment/values.schema.json +0 -1
- package/lib/init/template/helm/files/service-instance/Chart.yaml +0 -2
- package/lib/init/template/helm/files/service-instance/values.schema.json +0 -1
- package/lib/init/template/helm/files/web-application/Chart.yaml +0 -2
- package/lib/init/template/helm/files/web-application/values.schema.json +0 -1
- package/lib/init/template/helm-unified-runtime/files/values.schema.json +1 -1
- package/lib/init/template/http/index.js +150 -104
- package/lib/init/template/kafka/index.js +6 -0
- package/lib/init/template/lint/index.js +12 -13
- package/lib/init/template/mta/files/mta.yaml.hbs +1 -1
- package/lib/init/template/multitenancy/files/values.yaml.hbs +0 -5
- package/lib/init/template/multitenancy/index.js +13 -5
- package/lib/init/template/nodejs/files/.vscode/settings.json +11 -0
- package/lib/init/template/nodejs/files/eslint.config.js +13 -0
- package/lib/init/template/nodejs/files/package.json.hbs +3 -1
- package/lib/init/template/sample/index.js +18 -20
- package/lib/init/template/tiny-sample/index.js +1 -2
- package/lib/init/template/typer/index.js +2 -2
- package/lib/lint/Linter.js +133 -55
- package/lib/lint/checks.js +5 -6
- package/lib/lint/io.js +119 -10
- package/lib/mtx/auth_manager.js +5 -5
- package/lib/mtx/params.js +4 -2
- package/lib/mtx/settings_manager.js +1 -1
- package/lib/mtx/tenant_action.js +12 -2
- package/lib/mtx/util/logging.js +10 -4
- package/lib/util/axios.js +2 -1
- package/lib/util/cf.js +32 -37
- package/lib/util/git.js +1 -1
- package/lib/util/term.js +1 -1
- package/{bin → lib/watch}/watched.js +2 -2
- package/npm-shrinkwrap.json +34 -34
- package/package.json +2 -2
- package/lib/init/template/nodejs/files/.eslintrc +0 -26
package/lib/mtx/util/logging.js
CHANGED
|
@@ -3,9 +3,12 @@
|
|
|
3
3
|
function getMessage(errorText, { error, command, help = command && getCommandHelp(command) } = {}) {
|
|
4
4
|
let message = errorText ? errorText.trim() : '';
|
|
5
5
|
if (error) {
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
message
|
|
6
|
+
const debug = require('../../cds').debug('cli');
|
|
7
|
+
const includeStack = debug && error.stack?.includes('\n');
|
|
8
|
+
if (message.length) {
|
|
9
|
+
message = message.replace(/(?<!\p{P})$/u, ':'); // Append colon if no punctuation at the end
|
|
10
|
+
message += includeStack ? '\n' : ' ';
|
|
11
|
+
}
|
|
9
12
|
const oriMsg = error.response?.data?.message // case: response body == error
|
|
10
13
|
|| error.response?.data?.error?.message // case: response body == { error }
|
|
11
14
|
|| (includeStack ? '' : error.message);
|
|
@@ -13,9 +16,12 @@ function getMessage(errorText, { error, command, help = command && getCommandHel
|
|
|
13
16
|
if (includeStack) {
|
|
14
17
|
message += (oriMsg ? '\n' : '') + error.stack;
|
|
15
18
|
}
|
|
19
|
+
if (debug && error.cause) {
|
|
20
|
+
message += '\nCaused by: ' + getMessage('', { error: error.cause }).replace(/^(?= *at)/gm, ' ');
|
|
21
|
+
}
|
|
16
22
|
}
|
|
17
23
|
if (typeof help === 'string') {
|
|
18
|
-
message += require('../../../bin/help').formatHelp(help);
|
|
24
|
+
message += '\n' + require('../../../bin/help').formatHelp(help);
|
|
19
25
|
}
|
|
20
26
|
return message;
|
|
21
27
|
}
|
package/lib/util/axios.js
CHANGED
|
@@ -15,7 +15,8 @@ function pruneErrors() {
|
|
|
15
15
|
response => response,
|
|
16
16
|
axError => {
|
|
17
17
|
const { inspect } = require('util');
|
|
18
|
-
|
|
18
|
+
let { url, method } = axError.config ?? {};
|
|
19
|
+
url = url?.replace(/(passcode|refreshToken|clientsecret|key)=[^&]+/g, '$1=...');
|
|
19
20
|
const { errno, code, response = {}, message: axMessage } = axError;
|
|
20
21
|
const prefix = (url && method ? `${method.toUpperCase()} ${url}` : 'Request') + ' failed';
|
|
21
22
|
|
package/lib/util/cf.js
CHANGED
|
@@ -28,12 +28,8 @@ const OPERATION_STATE_SUCCEEDED = 'succeeded';
|
|
|
28
28
|
|
|
29
29
|
const CF_CLIENT_MINIMUM_VERSION = 8;
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
_clear() {
|
|
35
|
-
this.spaceInfo = null;
|
|
36
|
-
}
|
|
31
|
+
module.exports = new class CfUtil {
|
|
32
|
+
spaceInfo;
|
|
37
33
|
|
|
38
34
|
async _sleep(ms) {
|
|
39
35
|
return new Promise((resolve) => {
|
|
@@ -41,7 +37,7 @@ class CfUtil {
|
|
|
41
37
|
});
|
|
42
38
|
}
|
|
43
39
|
|
|
44
|
-
async
|
|
40
|
+
async cfRun(...args) {
|
|
45
41
|
args = args.map(arg => arg.replace(/"/g, '\\"'));
|
|
46
42
|
const cmdLine = `${CF_COMMAND} "${args.join('" "')}"`;
|
|
47
43
|
DEBUG && console.time(cmdLine);
|
|
@@ -65,12 +61,15 @@ class CfUtil {
|
|
|
65
61
|
}
|
|
66
62
|
}
|
|
67
63
|
|
|
68
|
-
async
|
|
64
|
+
async cfRequest(urlPath, queryObj, bodyObj) {
|
|
69
65
|
if (queryObj) {
|
|
70
66
|
const entries = Object.entries(queryObj);
|
|
71
67
|
const queryStr = entries.map(([key, value]) => {
|
|
68
|
+
if (Array.isArray(value)) {
|
|
69
|
+
value = value.join(',');
|
|
70
|
+
}
|
|
72
71
|
// commas cause problems in cf curl when not double encoded
|
|
73
|
-
value = value.replace(/,/g, encodeURIComponent(','));
|
|
72
|
+
// value = value.replace(/,/g, encodeURIComponent(','));
|
|
74
73
|
return `${key}=${encodeURIComponent(value)}`;
|
|
75
74
|
}).join('&');
|
|
76
75
|
|
|
@@ -84,7 +83,7 @@ class CfUtil {
|
|
|
84
83
|
args.push(JSON.stringify(bodyObj)); // cfRun uses spawn so no special handling for quotes on cli required
|
|
85
84
|
}
|
|
86
85
|
|
|
87
|
-
const result = await this.
|
|
86
|
+
const result = await this.cfRun(...args);
|
|
88
87
|
let response = {};
|
|
89
88
|
if (result.stdout) {
|
|
90
89
|
response = JSON.parse(result.stdout);
|
|
@@ -108,7 +107,7 @@ class CfUtil {
|
|
|
108
107
|
throw new Error(errorMsg);
|
|
109
108
|
}
|
|
110
109
|
|
|
111
|
-
async
|
|
110
|
+
async _getCfTargetFromConfigFile() {
|
|
112
111
|
const cfHome = process.env.CF_HOME || process.env.cf_home || path.join(os.homedir(), '.cf');
|
|
113
112
|
try {
|
|
114
113
|
const fileContent = await fsp.readFile(path.join(cfHome, 'config.json'));
|
|
@@ -125,8 +124,8 @@ class CfUtil {
|
|
|
125
124
|
}
|
|
126
125
|
}
|
|
127
126
|
|
|
128
|
-
async
|
|
129
|
-
const result = await this.
|
|
127
|
+
async _getCfTargetFromCli() {
|
|
128
|
+
const result = await this.cfRun('target');
|
|
130
129
|
if (result?.stdout) {
|
|
131
130
|
return {
|
|
132
131
|
apiEndpoint: this._extract(result.stdout, /api endpoint\s*:\s*([^\s]+)/i, `CF API endpoint is missing. Use 'cf login' to login.`),
|
|
@@ -137,23 +136,23 @@ class CfUtil {
|
|
|
137
136
|
}
|
|
138
137
|
}
|
|
139
138
|
|
|
140
|
-
async
|
|
139
|
+
async _getCfAuthorization() {
|
|
141
140
|
DEBUG?.('getting authorization');
|
|
142
141
|
try {
|
|
143
|
-
return (await this.
|
|
142
|
+
return (await this.cfRun('oauth-token')).stdout;
|
|
144
143
|
} catch (err) {
|
|
145
144
|
throw err.message;
|
|
146
145
|
}
|
|
147
146
|
}
|
|
148
147
|
|
|
149
148
|
async getCfTarget() {
|
|
150
|
-
await this.
|
|
151
|
-
await this.
|
|
152
|
-
return await this.
|
|
149
|
+
await this._checkCliVersion();
|
|
150
|
+
await this._getCfAuthorization();
|
|
151
|
+
return await this._getCfTargetFromConfigFile() || await this._getCfTargetFromCli();
|
|
153
152
|
}
|
|
154
153
|
|
|
155
|
-
async
|
|
156
|
-
const result = await this.
|
|
154
|
+
async _checkCliVersion() {
|
|
155
|
+
const result = await this.cfRun('-v');
|
|
157
156
|
const version = result?.stdout?.match(/version.*(\d+\.\d+\.\d+)/i)
|
|
158
157
|
if (parseInt(version?.[1]) < CF_CLIENT_MINIMUM_VERSION) {
|
|
159
158
|
console.log(warn(`
|
|
@@ -170,13 +169,13 @@ Deployment will stop in the near future for Cloud Foundry client versions < ${CF
|
|
|
170
169
|
const target = await this.getCfTarget();
|
|
171
170
|
|
|
172
171
|
const { org, space } = target;
|
|
173
|
-
const orgs = await this.
|
|
172
|
+
const orgs = await this.cfRequest(`/v3/organizations`, { names: org });
|
|
174
173
|
if (!orgs?.resources?.length) {
|
|
175
174
|
throw new Error(`CF org ${bold(org)} not found!`);
|
|
176
175
|
}
|
|
177
176
|
|
|
178
177
|
const orgGuid = orgs.resources[0].guid;
|
|
179
|
-
const spaces = await this.
|
|
178
|
+
const spaces = await this.cfRequest(`/v3/spaces`, { names: space, organization_guids: orgGuid });
|
|
180
179
|
if (!spaces?.resources?.length) {
|
|
181
180
|
throw new Error(`CF space ${bold(space)} not found in org ${bold(org)}!`);
|
|
182
181
|
}
|
|
@@ -196,10 +195,10 @@ Deployment will stop in the near future for Cloud Foundry client versions < ${CF
|
|
|
196
195
|
|
|
197
196
|
async getEnv(app) {
|
|
198
197
|
const { spaceGuid: space_guids, orgGuid: organization_guids } = await this.getCfSpaceInfo();
|
|
199
|
-
const apps = await this.
|
|
198
|
+
const apps = await this.cfRequest('/v3/apps', { space_guids, organization_guids, names: app });
|
|
200
199
|
if (apps.resources.length < 1) throw `Cannot find app with name '${app}'`
|
|
201
200
|
const guid = apps.resources[0].guid;
|
|
202
|
-
return await this.
|
|
201
|
+
return await this.cfRequest('/v3/apps/' + guid + '/env', { space_guids, organization_guids, names: app });
|
|
203
202
|
}
|
|
204
203
|
|
|
205
204
|
async getService(serviceName, showMessage = true) {
|
|
@@ -209,7 +208,7 @@ Deployment will stop in the near future for Cloud Foundry client versions < ${CF
|
|
|
209
208
|
let counter = POLL_COUNTER;
|
|
210
209
|
while (counter > 0) {
|
|
211
210
|
counter--;
|
|
212
|
-
const serviceInstances = await this.
|
|
211
|
+
const serviceInstances = await this.cfRequest('/v3/service_instances', {
|
|
213
212
|
names: serviceName,
|
|
214
213
|
space_guids: spaceInfo.spaceGuid,
|
|
215
214
|
organization_guids: spaceInfo.orgGuid
|
|
@@ -253,7 +252,7 @@ Deployment will stop in the near future for Cloud Foundry client versions < ${CF
|
|
|
253
252
|
|
|
254
253
|
const spaceInfo = await this.getCfSpaceInfo();
|
|
255
254
|
|
|
256
|
-
const servicePlan = await this.
|
|
255
|
+
const servicePlan = await this.cfRequest(`/v3/service_plans`, {
|
|
257
256
|
names: planName,
|
|
258
257
|
space_guids: spaceInfo.spaceGuid,
|
|
259
258
|
organization_guids: spaceInfo.orgGuid,
|
|
@@ -286,7 +285,7 @@ Deployment will stop in the near future for Cloud Foundry client versions < ${CF
|
|
|
286
285
|
body.parameters = { ...options };
|
|
287
286
|
}
|
|
288
287
|
|
|
289
|
-
const postResult = await this.
|
|
288
|
+
const postResult = await this.cfRequest('/v3/service_instances', undefined, body);
|
|
290
289
|
if (postResult?.errors) {
|
|
291
290
|
throw new Error(postResult.errors[0].detail);
|
|
292
291
|
}
|
|
@@ -299,14 +298,13 @@ Deployment will stop in the near future for Cloud Foundry client versions < ${CF
|
|
|
299
298
|
throw new Error(`Could not create service ${bold(serviceName)}`);
|
|
300
299
|
}
|
|
301
300
|
|
|
302
|
-
|
|
303
|
-
async getServiceKey(serviceInstance, serviceKeyName, showMessage = true) {
|
|
301
|
+
async _getServiceKey(serviceInstance, serviceKeyName, showMessage = true) {
|
|
304
302
|
showMessage && console.log(`Getting service key ${bold(serviceKeyName)}`);
|
|
305
303
|
|
|
306
304
|
let counter = POLL_COUNTER;
|
|
307
305
|
while (counter > 0) {
|
|
308
306
|
counter--;
|
|
309
|
-
const bindings = await this.
|
|
307
|
+
const bindings = await this.cfRequest(`/v3/service_credential_bindings`, { names: serviceKeyName, service_instance_guids: serviceInstance.guid });
|
|
310
308
|
if (!bindings?.resources?.length) {
|
|
311
309
|
return null;
|
|
312
310
|
}
|
|
@@ -319,7 +317,7 @@ Deployment will stop in the near future for Cloud Foundry client versions < ${CF
|
|
|
319
317
|
break;
|
|
320
318
|
|
|
321
319
|
case OPERATION_STATE_SUCCEEDED: {
|
|
322
|
-
const keyDetails = await this.
|
|
320
|
+
const keyDetails = await this.cfRequest(`/v3/service_credential_bindings/${encodeURIComponent(binding.guid)}/details`);
|
|
323
321
|
return keyDetails.credentials;
|
|
324
322
|
}
|
|
325
323
|
|
|
@@ -335,9 +333,8 @@ Deployment will stop in the near future for Cloud Foundry client versions < ${CF
|
|
|
335
333
|
throw new Error(`Timeout occurred while getting service key ${bold(serviceKeyName)}`);
|
|
336
334
|
}
|
|
337
335
|
|
|
338
|
-
|
|
339
336
|
async getOrCreateServiceKey(serviceInstance, serviceKeyName, parameters, { silent = false, create = true } = {}) {
|
|
340
|
-
const serviceKey = await this.
|
|
337
|
+
const serviceKey = await this._getServiceKey(serviceInstance, serviceKeyName, false);
|
|
341
338
|
if (serviceKey || !create) {
|
|
342
339
|
if (serviceKey && !silent) console.log(`Getting service key ${bold(serviceKeyName)}`);
|
|
343
340
|
return serviceKey;
|
|
@@ -358,12 +355,12 @@ Deployment will stop in the near future for Cloud Foundry client versions < ${CF
|
|
|
358
355
|
parameters
|
|
359
356
|
}
|
|
360
357
|
|
|
361
|
-
const postResult = await this.
|
|
358
|
+
const postResult = await this.cfRequest('/v3/service_credential_bindings', undefined, body);
|
|
362
359
|
if (postResult?.errors) {
|
|
363
360
|
throw new Error(postResult.errors[0].detail);
|
|
364
361
|
}
|
|
365
362
|
|
|
366
|
-
const newServiceKey = await this.
|
|
363
|
+
const newServiceKey = await this._getServiceKey(serviceInstance, serviceKeyName, false);
|
|
367
364
|
if (newServiceKey) {
|
|
368
365
|
return newServiceKey;
|
|
369
366
|
}
|
|
@@ -371,5 +368,3 @@ Deployment will stop in the near future for Cloud Foundry client versions < ${CF
|
|
|
371
368
|
throw new Error(`Could not create service key ${bold(serviceKeyName)}`);
|
|
372
369
|
}
|
|
373
370
|
}
|
|
374
|
-
|
|
375
|
-
module.exports = new CfUtil();
|
package/lib/util/git.js
CHANGED
|
@@ -35,7 +35,7 @@ class GitUtil {
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
console.log(`
|
|
38
|
+
console.log(`Adding entry '${file}' to ${GIT_IGNORE_FILE}.`);
|
|
39
39
|
let gitignore = await this.readFileSafely(gitIgnorePath);
|
|
40
40
|
gitignore = gitignore + `${os.EOL}# added by cds${os.EOL}${file}${os.EOL}`;
|
|
41
41
|
|
package/lib/util/term.js
CHANGED
|
@@ -26,7 +26,7 @@ module.exports.info = o => as(t.green, o)
|
|
|
26
26
|
module.exports.link = o => as(t.link, o)
|
|
27
27
|
module.exports.bold = o => as(t.bold, o)
|
|
28
28
|
module.exports.highlight = o => as(t.blue,as(t.bold, o))
|
|
29
|
-
module.exports.
|
|
29
|
+
module.exports.dim = o => as(t.grey, o)
|
|
30
30
|
|
|
31
31
|
const format = module.exports.format = (o, severity='Error', asInternalError=false, withStack=false) => {
|
|
32
32
|
switch (severity) {
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
|
|
8
8
|
// run through cli in order to use its error handling
|
|
9
9
|
const args = JSON.parse(process.env._args)
|
|
10
|
-
const cds = require('../
|
|
11
|
-
const bootstrap = require('
|
|
10
|
+
const cds = require('../cds'); cds.watched = true
|
|
11
|
+
const bootstrap = require('../../bin/cds')(...args)
|
|
12
12
|
|
|
13
13
|
cds.once('listening', ({server}) => {
|
|
14
14
|
process.send ({ code:'listening', port: server.address().port })
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sap/cds-dk",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.9.1",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@sap/cds-dk",
|
|
9
|
-
"version": "7.
|
|
9
|
+
"version": "7.9.1",
|
|
10
10
|
"license": "SEE LICENSE IN LICENSE",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@sap/cds": "^7",
|
|
13
13
|
"@sap/cds-foss": "^5.0.0",
|
|
14
14
|
"@sap/cds-mtxs": "^1.9.0",
|
|
15
|
-
"@sap/eslint-plugin-cds": "^
|
|
15
|
+
"@sap/eslint-plugin-cds": "^3.0.1",
|
|
16
16
|
"@sap/hdi-deploy": "^4.8.0",
|
|
17
17
|
"axios": "^1",
|
|
18
18
|
"eslint": "^8",
|
|
@@ -32,13 +32,6 @@
|
|
|
32
32
|
"sqlite3": "^5.0.4"
|
|
33
33
|
}
|
|
34
34
|
},
|
|
35
|
-
"node_modules/@aashutoshrathi/word-wrap": {
|
|
36
|
-
"version": "1.2.6",
|
|
37
|
-
"license": "MIT",
|
|
38
|
-
"engines": {
|
|
39
|
-
"node": ">=0.10.0"
|
|
40
|
-
}
|
|
41
|
-
},
|
|
42
35
|
"node_modules/@cap-js/cds-types": {
|
|
43
36
|
"version": "0.2.0",
|
|
44
37
|
"license": "SEE LICENSE IN LICENSE",
|
|
@@ -215,7 +208,7 @@
|
|
|
215
208
|
}
|
|
216
209
|
},
|
|
217
210
|
"node_modules/@sap/cds": {
|
|
218
|
-
"version": "7.
|
|
211
|
+
"version": "7.9.0",
|
|
219
212
|
"license": "SEE LICENSE IN LICENSE",
|
|
220
213
|
"dependencies": {
|
|
221
214
|
"@cap-js/cds-types": "<1",
|
|
@@ -232,7 +225,7 @@
|
|
|
232
225
|
}
|
|
233
226
|
},
|
|
234
227
|
"node_modules/@sap/cds-compiler": {
|
|
235
|
-
"version": "4.
|
|
228
|
+
"version": "4.9.0",
|
|
236
229
|
"license": "SEE LICENSE IN LICENSE",
|
|
237
230
|
"dependencies": {
|
|
238
231
|
"antlr4": "4.9.3"
|
|
@@ -268,7 +261,7 @@
|
|
|
268
261
|
}
|
|
269
262
|
},
|
|
270
263
|
"node_modules/@sap/cds-mtxs": {
|
|
271
|
-
"version": "1.
|
|
264
|
+
"version": "1.18.0",
|
|
272
265
|
"license": "SEE LICENSE IN LICENSE",
|
|
273
266
|
"dependencies": {
|
|
274
267
|
"@sap/hdi-deploy": "^4",
|
|
@@ -280,7 +273,7 @@
|
|
|
280
273
|
}
|
|
281
274
|
},
|
|
282
275
|
"node_modules/@sap/eslint-plugin-cds": {
|
|
283
|
-
"version": "
|
|
276
|
+
"version": "3.0.2",
|
|
284
277
|
"license": "See LICENSE file",
|
|
285
278
|
"dependencies": {
|
|
286
279
|
"@sap/cds": ">=5.6.0",
|
|
@@ -290,7 +283,7 @@
|
|
|
290
283
|
"node": ">=18"
|
|
291
284
|
},
|
|
292
285
|
"peerDependencies": {
|
|
293
|
-
"eslint": ">=
|
|
286
|
+
"eslint": ">=8"
|
|
294
287
|
}
|
|
295
288
|
},
|
|
296
289
|
"node_modules/@sap/hana-client": {
|
|
@@ -777,8 +770,8 @@
|
|
|
777
770
|
},
|
|
778
771
|
"node_modules/chownr": {
|
|
779
772
|
"version": "2.0.0",
|
|
780
|
-
"devOptional": true,
|
|
781
773
|
"license": "ISC",
|
|
774
|
+
"optional": true,
|
|
782
775
|
"engines": {
|
|
783
776
|
"node": ">=10"
|
|
784
777
|
}
|
|
@@ -1432,8 +1425,8 @@
|
|
|
1432
1425
|
},
|
|
1433
1426
|
"node_modules/fs-minipass": {
|
|
1434
1427
|
"version": "2.1.0",
|
|
1435
|
-
"devOptional": true,
|
|
1436
1428
|
"license": "ISC",
|
|
1429
|
+
"optional": true,
|
|
1437
1430
|
"dependencies": {
|
|
1438
1431
|
"minipass": "^3.0.0"
|
|
1439
1432
|
},
|
|
@@ -2082,8 +2075,8 @@
|
|
|
2082
2075
|
},
|
|
2083
2076
|
"node_modules/minipass": {
|
|
2084
2077
|
"version": "3.3.6",
|
|
2085
|
-
"devOptional": true,
|
|
2086
2078
|
"license": "ISC",
|
|
2079
|
+
"optional": true,
|
|
2087
2080
|
"dependencies": {
|
|
2088
2081
|
"yallist": "^4.0.0"
|
|
2089
2082
|
},
|
|
@@ -2153,13 +2146,13 @@
|
|
|
2153
2146
|
},
|
|
2154
2147
|
"node_modules/minipass/node_modules/yallist": {
|
|
2155
2148
|
"version": "4.0.0",
|
|
2156
|
-
"
|
|
2157
|
-
"
|
|
2149
|
+
"license": "ISC",
|
|
2150
|
+
"optional": true
|
|
2158
2151
|
},
|
|
2159
2152
|
"node_modules/minizlib": {
|
|
2160
2153
|
"version": "2.1.2",
|
|
2161
|
-
"devOptional": true,
|
|
2162
2154
|
"license": "MIT",
|
|
2155
|
+
"optional": true,
|
|
2163
2156
|
"dependencies": {
|
|
2164
2157
|
"minipass": "^3.0.0",
|
|
2165
2158
|
"yallist": "^4.0.0"
|
|
@@ -2170,13 +2163,13 @@
|
|
|
2170
2163
|
},
|
|
2171
2164
|
"node_modules/minizlib/node_modules/yallist": {
|
|
2172
2165
|
"version": "4.0.0",
|
|
2173
|
-
"
|
|
2174
|
-
"
|
|
2166
|
+
"license": "ISC",
|
|
2167
|
+
"optional": true
|
|
2175
2168
|
},
|
|
2176
2169
|
"node_modules/mkdirp": {
|
|
2177
2170
|
"version": "1.0.4",
|
|
2178
|
-
"devOptional": true,
|
|
2179
2171
|
"license": "MIT",
|
|
2172
|
+
"optional": true,
|
|
2180
2173
|
"bin": {
|
|
2181
2174
|
"mkdirp": "bin/cmd.js"
|
|
2182
2175
|
},
|
|
@@ -2221,7 +2214,7 @@
|
|
|
2221
2214
|
"license": "MIT"
|
|
2222
2215
|
},
|
|
2223
2216
|
"node_modules/node-abi": {
|
|
2224
|
-
"version": "3.
|
|
2217
|
+
"version": "3.62.0",
|
|
2225
2218
|
"license": "MIT",
|
|
2226
2219
|
"optional": true,
|
|
2227
2220
|
"dependencies": {
|
|
@@ -2332,15 +2325,15 @@
|
|
|
2332
2325
|
}
|
|
2333
2326
|
},
|
|
2334
2327
|
"node_modules/optionator": {
|
|
2335
|
-
"version": "0.9.
|
|
2328
|
+
"version": "0.9.4",
|
|
2336
2329
|
"license": "MIT",
|
|
2337
2330
|
"dependencies": {
|
|
2338
|
-
"@aashutoshrathi/word-wrap": "^1.2.3",
|
|
2339
2331
|
"deep-is": "^0.1.3",
|
|
2340
2332
|
"fast-levenshtein": "^2.0.6",
|
|
2341
2333
|
"levn": "^0.4.1",
|
|
2342
2334
|
"prelude-ls": "^1.2.1",
|
|
2343
|
-
"type-check": "^0.4.0"
|
|
2335
|
+
"type-check": "^0.4.0",
|
|
2336
|
+
"word-wrap": "^1.2.5"
|
|
2344
2337
|
},
|
|
2345
2338
|
"engines": {
|
|
2346
2339
|
"node": ">= 0.8.0"
|
|
@@ -3038,8 +3031,8 @@
|
|
|
3038
3031
|
},
|
|
3039
3032
|
"node_modules/tar": {
|
|
3040
3033
|
"version": "6.2.1",
|
|
3041
|
-
"devOptional": true,
|
|
3042
3034
|
"license": "ISC",
|
|
3035
|
+
"optional": true,
|
|
3043
3036
|
"dependencies": {
|
|
3044
3037
|
"chownr": "^2.0.0",
|
|
3045
3038
|
"fs-minipass": "^2.0.0",
|
|
@@ -3085,16 +3078,16 @@
|
|
|
3085
3078
|
},
|
|
3086
3079
|
"node_modules/tar/node_modules/minipass": {
|
|
3087
3080
|
"version": "5.0.0",
|
|
3088
|
-
"devOptional": true,
|
|
3089
3081
|
"license": "ISC",
|
|
3082
|
+
"optional": true,
|
|
3090
3083
|
"engines": {
|
|
3091
3084
|
"node": ">=8"
|
|
3092
3085
|
}
|
|
3093
3086
|
},
|
|
3094
3087
|
"node_modules/tar/node_modules/yallist": {
|
|
3095
3088
|
"version": "4.0.0",
|
|
3096
|
-
"
|
|
3097
|
-
"
|
|
3089
|
+
"license": "ISC",
|
|
3090
|
+
"optional": true
|
|
3098
3091
|
},
|
|
3099
3092
|
"node_modules/text-table": {
|
|
3100
3093
|
"version": "0.2.0",
|
|
@@ -3252,6 +3245,13 @@
|
|
|
3252
3245
|
"string-width": "^1.0.2 || 2 || 3 || 4"
|
|
3253
3246
|
}
|
|
3254
3247
|
},
|
|
3248
|
+
"node_modules/word-wrap": {
|
|
3249
|
+
"version": "1.2.5",
|
|
3250
|
+
"license": "MIT",
|
|
3251
|
+
"engines": {
|
|
3252
|
+
"node": ">=0.10.0"
|
|
3253
|
+
}
|
|
3254
|
+
},
|
|
3255
3255
|
"node_modules/wordwrap": {
|
|
3256
3256
|
"version": "1.0.0",
|
|
3257
3257
|
"license": "MIT"
|
|
@@ -3261,7 +3261,7 @@
|
|
|
3261
3261
|
"license": "ISC"
|
|
3262
3262
|
},
|
|
3263
3263
|
"node_modules/ws": {
|
|
3264
|
-
"version": "8.
|
|
3264
|
+
"version": "8.17.0",
|
|
3265
3265
|
"license": "MIT",
|
|
3266
3266
|
"engines": {
|
|
3267
3267
|
"node": ">=10.0.0"
|
|
@@ -3297,7 +3297,7 @@
|
|
|
3297
3297
|
}
|
|
3298
3298
|
},
|
|
3299
3299
|
"node_modules/yaml": {
|
|
3300
|
-
"version": "2.4.
|
|
3300
|
+
"version": "2.4.2",
|
|
3301
3301
|
"license": "ISC",
|
|
3302
3302
|
"bin": {
|
|
3303
3303
|
"yaml": "bin.mjs"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sap/cds-dk",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.9.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": [
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"@sap/cds": "^7",
|
|
20
20
|
"@sap/cds-foss": "^5.0.0",
|
|
21
21
|
"@sap/cds-mtxs": "^1.9.0",
|
|
22
|
-
"@sap/eslint-plugin-cds": "^
|
|
22
|
+
"@sap/eslint-plugin-cds": "^3.0.1",
|
|
23
23
|
"@sap/hdi-deploy": "^4.8.0",
|
|
24
24
|
"axios": "^1",
|
|
25
25
|
"eslint": "^8",
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"extends": "eslint:recommended",
|
|
3
|
-
"env": {
|
|
4
|
-
"es2022": true,
|
|
5
|
-
"node": true,
|
|
6
|
-
"jest": true,
|
|
7
|
-
"mocha": true
|
|
8
|
-
},
|
|
9
|
-
"globals": {
|
|
10
|
-
"SELECT": true,
|
|
11
|
-
"INSERT": true,
|
|
12
|
-
"UPSERT": true,
|
|
13
|
-
"UPDATE": true,
|
|
14
|
-
"DELETE": true,
|
|
15
|
-
"CREATE": true,
|
|
16
|
-
"DROP": true,
|
|
17
|
-
"CDL": true,
|
|
18
|
-
"CQL": true,
|
|
19
|
-
"CXL": true,
|
|
20
|
-
"cds": true
|
|
21
|
-
},
|
|
22
|
-
"rules": {
|
|
23
|
-
"no-console": "off",
|
|
24
|
-
"require-atomic-updates": "off"
|
|
25
|
-
}
|
|
26
|
-
}
|