@salesforce/plugin-trust 2.6.22 → 3.0.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/README.md +6 -6
- package/bin/dev.cmd +1 -1
- package/bin/dev.js +8 -0
- package/bin/run.cmd +1 -1
- package/bin/run.js +9 -0
- package/lib/commands/plugins/trust/verify.d.ts +3 -3
- package/lib/commands/plugins/trust/verify.js +32 -33
- package/lib/commands/plugins/trust/verify.js.map +1 -1
- package/lib/hooks/jitPluginInstall.js +5 -7
- package/lib/hooks/jitPluginInstall.js.map +1 -1
- package/lib/hooks/verifyInstallSignature.js +13 -17
- package/lib/hooks/verifyInstallSignature.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -2
- package/lib/index.js.map +1 -1
- package/lib/shared/NpmName.js +12 -11
- package/lib/shared/NpmName.js.map +1 -1
- package/lib/shared/errors.js +1 -5
- package/lib/shared/errors.js.map +1 -1
- package/lib/shared/installationVerification.d.ts +3 -3
- package/lib/shared/installationVerification.js +71 -69
- package/lib/shared/installationVerification.js.map +1 -1
- package/lib/shared/npmCommand.d.ts +1 -1
- package/lib/shared/npmCommand.js +29 -31
- package/lib/shared/npmCommand.js.map +1 -1
- package/oclif.lock +9078 -0
- package/oclif.manifest.json +49 -25
- package/package.json +33 -49
- package/bin/dev +0 -21
- package/bin/run +0 -3
|
@@ -1,30 +1,32 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/*
|
|
3
2
|
* Copyright (c) 2022, salesforce.com, inc.
|
|
4
3
|
* All rights reserved.
|
|
5
4
|
* Licensed under the BSD 3-Clause license.
|
|
6
5
|
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
6
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
7
|
+
import path from 'node:path';
|
|
8
|
+
import { Readable } from 'node:stream';
|
|
9
|
+
import { URL } from 'node:url';
|
|
10
|
+
import crypto from 'node:crypto';
|
|
11
|
+
import fs from 'node:fs';
|
|
12
|
+
import { mkdir } from 'node:fs/promises';
|
|
13
|
+
import { fileURLToPath } from 'node:url';
|
|
14
|
+
import { dirname } from 'node:path';
|
|
15
|
+
import { Logger, SfError, Messages } from '@salesforce/core';
|
|
16
|
+
import got from 'got';
|
|
17
|
+
import { ProxyAgent } from 'proxy-agent';
|
|
18
|
+
import { Prompter } from '@salesforce/sf-plugins-core';
|
|
19
|
+
import { ux } from '@oclif/core';
|
|
20
|
+
import { NpmModule } from './npmCommand.js';
|
|
21
|
+
import { setErrorName } from './errors.js';
|
|
23
22
|
const CRYPTO_LEVEL = 'RSA-SHA256';
|
|
24
23
|
const ALLOW_LIST_FILENAME = 'unsignedPluginAllowList.json';
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
export const DEFAULT_REGISTRY = 'https://registry.npmjs.org/';
|
|
25
|
+
Messages.importMessagesDirectory(dirname(fileURLToPath(import.meta.url)));
|
|
27
26
|
class CodeVerifierInfo {
|
|
27
|
+
signature;
|
|
28
|
+
publicKey;
|
|
29
|
+
data;
|
|
28
30
|
get dataToVerify() {
|
|
29
31
|
if (!this.data) {
|
|
30
32
|
throw new Error('CodeVerifierInfo: Verifier has no data because it has not be set');
|
|
@@ -59,7 +61,7 @@ function validSalesforceHostname(url) {
|
|
|
59
61
|
if (!url) {
|
|
60
62
|
return false;
|
|
61
63
|
}
|
|
62
|
-
const parsedUrl = new
|
|
64
|
+
const parsedUrl = new URL(url);
|
|
63
65
|
if (process.env.SFDX_ALLOW_ALL_SALESFORCE_CERTSIG_HOSTING === 'true') {
|
|
64
66
|
return Boolean(parsedUrl.hostname) && /(\.salesforce\.com)$/.test(parsedUrl.hostname);
|
|
65
67
|
}
|
|
@@ -78,7 +80,7 @@ function retrieveKey(stream) {
|
|
|
78
80
|
});
|
|
79
81
|
stream.on('end', () => {
|
|
80
82
|
if (!key.includes('-----BEGIN')) {
|
|
81
|
-
return reject(new
|
|
83
|
+
return reject(new SfError('The specified key format is invalid.', 'InvalidKeyFormat'));
|
|
82
84
|
}
|
|
83
85
|
return resolve(key);
|
|
84
86
|
});
|
|
@@ -86,7 +88,7 @@ function retrieveKey(stream) {
|
|
|
86
88
|
}
|
|
87
89
|
});
|
|
88
90
|
}
|
|
89
|
-
async function verify(codeVerifierInfo) {
|
|
91
|
+
export async function verify(codeVerifierInfo) {
|
|
90
92
|
const publicKey = await retrieveKey(codeVerifierInfo.publicKeyStream);
|
|
91
93
|
const signApi = crypto.createVerify(CRYPTO_LEVEL);
|
|
92
94
|
return new Promise((resolve, reject) => {
|
|
@@ -100,7 +102,7 @@ async function verify(codeVerifierInfo) {
|
|
|
100
102
|
});
|
|
101
103
|
codeVerifierInfo.signatureStream.on('end', () => {
|
|
102
104
|
if (signature.byteLength === 0) {
|
|
103
|
-
return reject(new
|
|
105
|
+
return reject(new SfError('The provided signature is invalid or missing.', 'InvalidSignature'));
|
|
104
106
|
}
|
|
105
107
|
else {
|
|
106
108
|
const verification = signApi.verify(publicKey, signature.toString('utf8'), 'base64');
|
|
@@ -111,19 +113,22 @@ async function verify(codeVerifierInfo) {
|
|
|
111
113
|
});
|
|
112
114
|
});
|
|
113
115
|
}
|
|
114
|
-
exports.verify = verify;
|
|
115
116
|
const errorHandlerForVerify = (err) => {
|
|
116
117
|
if ('code' in err && err.code === 'DEPTH_ZERO_SELF_SIGNED_CERT') {
|
|
117
|
-
return
|
|
118
|
+
return setErrorName(new SfError('Encountered a self signed certificated. To enable "export NODE_TLS_REJECT_UNAUTHORIZED=0"'), 'SelfSignedCert');
|
|
118
119
|
}
|
|
119
120
|
return err;
|
|
120
121
|
};
|
|
121
|
-
const getNpmRegistry = () => new
|
|
122
|
-
exports.getNpmRegistry = getNpmRegistry;
|
|
122
|
+
export const getNpmRegistry = () => new URL(process.env.SF_NPM_REGISTRY ?? process.env.SFDX_NPM_REGISTRY ?? DEFAULT_REGISTRY);
|
|
123
123
|
/**
|
|
124
124
|
* class for verifying a digital signature pack of an npm
|
|
125
125
|
*/
|
|
126
|
-
class InstallationVerification {
|
|
126
|
+
export class InstallationVerification {
|
|
127
|
+
// The name of the published plugin
|
|
128
|
+
pluginNpmName;
|
|
129
|
+
// config derived from the cli environment
|
|
130
|
+
config;
|
|
131
|
+
logger;
|
|
127
132
|
/**
|
|
128
133
|
* setter for the cli engine config
|
|
129
134
|
*
|
|
@@ -134,7 +139,7 @@ class InstallationVerification {
|
|
|
134
139
|
this.config = _config;
|
|
135
140
|
return this;
|
|
136
141
|
}
|
|
137
|
-
throw
|
|
142
|
+
throw setErrorName(new SfError('the cli engine config cannot be null', 'InvalidParam'), 'InvalidParam');
|
|
138
143
|
}
|
|
139
144
|
/**
|
|
140
145
|
* setter for the plugin name
|
|
@@ -146,7 +151,7 @@ class InstallationVerification {
|
|
|
146
151
|
this.pluginNpmName = _pluginName;
|
|
147
152
|
return this;
|
|
148
153
|
}
|
|
149
|
-
throw
|
|
154
|
+
throw setErrorName(new SfError('the plugin name cannot be null', 'InvalidParam'), 'InvalidParam');
|
|
150
155
|
}
|
|
151
156
|
/**
|
|
152
157
|
* validates the digital signature.
|
|
@@ -155,13 +160,13 @@ class InstallationVerification {
|
|
|
155
160
|
const logger = await this.getLogger();
|
|
156
161
|
const npmMeta = await this.streamTagGz();
|
|
157
162
|
if (!npmMeta.tarballLocalPath) {
|
|
158
|
-
throw new
|
|
163
|
+
throw new SfError('The npmMeta does not contain a tarball path');
|
|
159
164
|
}
|
|
160
165
|
if (!npmMeta.signatureUrl) {
|
|
161
|
-
throw new
|
|
166
|
+
throw new SfError('The npmMeta does not contain a signatureUrl');
|
|
162
167
|
}
|
|
163
168
|
if (!npmMeta.publicKeyUrl) {
|
|
164
|
-
throw new
|
|
169
|
+
throw new SfError('The npmMeta does not contain a publicKeyUrl');
|
|
165
170
|
}
|
|
166
171
|
logger.debug(`verify | Found npmMeta? ${!!npmMeta}`);
|
|
167
172
|
logger.debug(`verify | creating a read stream for path - npmMeta.tarballLocalPath: ${npmMeta.tarballLocalPath}`);
|
|
@@ -215,7 +220,7 @@ class InstallationVerification {
|
|
|
215
220
|
if (!npmMeta.tarballUrl) {
|
|
216
221
|
throw new Error('tarballUrl is not defined in the npmMeta object');
|
|
217
222
|
}
|
|
218
|
-
const urlObject = new
|
|
223
|
+
const urlObject = new URL(npmMeta.tarballUrl);
|
|
219
224
|
const urlPathsAsArray = urlObject.pathname.split('/');
|
|
220
225
|
npmMeta.tarballFilename = npmMeta.moduleName?.replace(/@/g, '');
|
|
221
226
|
logger.debug(`streamTagGz | urlPathsAsArray: ${urlPathsAsArray.join(',')}`);
|
|
@@ -229,9 +234,9 @@ class InstallationVerification {
|
|
|
229
234
|
if (!npmMeta.version) {
|
|
230
235
|
throw new Error('version is not defined in the npmMeta object');
|
|
231
236
|
}
|
|
232
|
-
await
|
|
233
|
-
const npmModule = new
|
|
234
|
-
await npmModule.fetchTarball(
|
|
237
|
+
await mkdir(this.getCachePath(), { recursive: true });
|
|
238
|
+
const npmModule = new NpmModule(npmMeta.moduleName, npmMeta.version, this.config?.cliRoot);
|
|
239
|
+
await npmModule.fetchTarball(getNpmRegistry().href, {
|
|
235
240
|
cwd: this.getCachePath(),
|
|
236
241
|
});
|
|
237
242
|
const tarBallFile = fs
|
|
@@ -267,7 +272,7 @@ class InstallationVerification {
|
|
|
267
272
|
*/
|
|
268
273
|
async retrieveNpmMeta() {
|
|
269
274
|
const logger = await this.getLogger();
|
|
270
|
-
const npmRegistry =
|
|
275
|
+
const npmRegistry = getNpmRegistry();
|
|
271
276
|
if (!this.pluginNpmName) {
|
|
272
277
|
throw new Error('pluginNpmName is not defined on the InstallationVerification class. setPluginNpmName should have been called before this method.');
|
|
273
278
|
}
|
|
@@ -278,12 +283,12 @@ class InstallationVerification {
|
|
|
278
283
|
const npmShowModule = this.pluginNpmName.scope
|
|
279
284
|
? `@${this.pluginNpmName.scope}/${this.pluginNpmName.name}`
|
|
280
285
|
: this.pluginNpmName.name;
|
|
281
|
-
const npmModule = new
|
|
286
|
+
const npmModule = new NpmModule(npmShowModule, this.pluginNpmName.tag, this.config?.cliRoot);
|
|
282
287
|
const npmMetadata = npmModule.show(npmRegistry.href);
|
|
283
288
|
logger.debug('retrieveNpmMeta | Found npm meta information.');
|
|
284
289
|
if (!npmMetadata.versions) {
|
|
285
|
-
const err = new
|
|
286
|
-
throw
|
|
290
|
+
const err = new SfError(`The npm metadata for plugin ${this.pluginNpmName.name} is missing the versions attribute.`, 'InvalidNpmMetadata');
|
|
291
|
+
throw setErrorName(err, 'InvalidNpmMetadata');
|
|
287
292
|
}
|
|
288
293
|
// Assume the tag is version tag.
|
|
289
294
|
let versionNumber = npmMetadata.versions.find((version) => version === this.pluginNpmName?.tag);
|
|
@@ -302,30 +307,30 @@ class InstallationVerification {
|
|
|
302
307
|
logger.debug(`retrieveNpmMeta | versionObject: ${versionNumber}`);
|
|
303
308
|
}
|
|
304
309
|
else {
|
|
305
|
-
const err = new
|
|
306
|
-
throw
|
|
310
|
+
const err = new SfError(`The dist tag ${this.pluginNpmName.tag} was not found for plugin: ${this.pluginNpmName.name}`, 'NpmTagNotFound');
|
|
311
|
+
throw setErrorName(err, 'NpmTagNotFound');
|
|
307
312
|
}
|
|
308
313
|
}
|
|
309
314
|
else {
|
|
310
|
-
throw
|
|
315
|
+
throw setErrorName(new SfError('The deployed NPM is missing dist-tags.', 'UnexpectedNpmFormat'), 'UnexpectedNpmFormat');
|
|
311
316
|
}
|
|
312
317
|
}
|
|
313
318
|
npmModule.npmMeta.version = versionNumber;
|
|
314
319
|
if (!npmMetadata.sfdx) {
|
|
315
|
-
throw
|
|
320
|
+
throw setErrorName(new SfError('This plugin is not signed by Salesforce.com, Inc.', 'NotSigned'), 'NotSigned');
|
|
316
321
|
}
|
|
317
322
|
else {
|
|
318
323
|
if (!validSalesforceHostname(npmMetadata.sfdx.publicKeyUrl)) {
|
|
319
|
-
const err = new
|
|
320
|
-
throw
|
|
324
|
+
const err = new SfError(`The host is not allowed to provide signing information. [${npmMetadata.sfdx.publicKeyUrl}]`, 'UnexpectedHost');
|
|
325
|
+
throw setErrorName(err, 'UnexpectedHost');
|
|
321
326
|
}
|
|
322
327
|
else {
|
|
323
328
|
logger.debug(`retrieveNpmMeta | versionObject.sfdx.publicKeyUrl: ${npmMetadata.sfdx.publicKeyUrl}`);
|
|
324
329
|
npmModule.npmMeta.publicKeyUrl = npmMetadata.sfdx.publicKeyUrl;
|
|
325
330
|
}
|
|
326
331
|
if (!validSalesforceHostname(npmMetadata.sfdx.signatureUrl)) {
|
|
327
|
-
const err = new
|
|
328
|
-
throw
|
|
332
|
+
const err = new SfError(`The host is not allowed to provide signing information. [${npmMetadata.sfdx.signatureUrl}]`, 'UnexpectedHost');
|
|
333
|
+
throw setErrorName(err, 'UnexpectedHost');
|
|
329
334
|
}
|
|
330
335
|
else {
|
|
331
336
|
logger.debug(`retrieveNpmMeta | versionObject.sfdx.signatureUrl: ${npmMetadata.sfdx.signatureUrl}`);
|
|
@@ -338,13 +343,13 @@ class InstallationVerification {
|
|
|
338
343
|
}
|
|
339
344
|
async getLogger() {
|
|
340
345
|
if (!this.logger) {
|
|
341
|
-
this.logger = await
|
|
346
|
+
this.logger = await Logger.child('InstallationVerification');
|
|
342
347
|
}
|
|
343
348
|
return this.logger;
|
|
344
349
|
}
|
|
345
350
|
}
|
|
346
|
-
|
|
347
|
-
|
|
351
|
+
export class VerificationConfig {
|
|
352
|
+
verifierMember;
|
|
348
353
|
get verifier() {
|
|
349
354
|
return this.verifierMember;
|
|
350
355
|
}
|
|
@@ -353,28 +358,26 @@ class VerificationConfig {
|
|
|
353
358
|
}
|
|
354
359
|
// eslint-disable-next-line class-methods-use-this
|
|
355
360
|
log(message) {
|
|
356
|
-
|
|
361
|
+
ux.log(message);
|
|
357
362
|
}
|
|
358
363
|
}
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
throw new core_1.SfError('The user canceled the plugin installation.', 'InstallationCanceledError');
|
|
364
|
+
export async function doPrompt() {
|
|
365
|
+
const messages = Messages.loadMessages('@salesforce/plugin-trust', 'verify');
|
|
366
|
+
if (!(await new Prompter().confirm(messages.getMessage('InstallConfirmation'), 30000, false))) {
|
|
367
|
+
throw new SfError('The user canceled the plugin installation.', 'InstallationCanceledError');
|
|
364
368
|
}
|
|
365
369
|
// they approved the plugin. Let them know how to automate this.
|
|
366
|
-
|
|
370
|
+
ux.log(messages.getMessage('SuggestAllowList'));
|
|
367
371
|
}
|
|
368
|
-
|
|
369
|
-
async function doInstallationCodeSigningVerification(config, plugin, verificationConfig) {
|
|
372
|
+
export async function doInstallationCodeSigningVerification(config, plugin, verificationConfig) {
|
|
370
373
|
try {
|
|
371
374
|
if (!verificationConfig.verifier) {
|
|
372
375
|
throw new Error('VerificationConfig.verifier is not set.');
|
|
373
376
|
}
|
|
374
377
|
const meta = await verificationConfig.verifier.verify();
|
|
375
378
|
if (!meta.verified) {
|
|
376
|
-
const err = new
|
|
377
|
-
throw
|
|
379
|
+
const err = new SfError("A digital signature is specified for this plugin but it didn't verify against the certificate.", 'FailedDigitalSignatureVerification');
|
|
380
|
+
throw setErrorName(err, 'FailedDigitalSignatureVerification');
|
|
378
381
|
}
|
|
379
382
|
verificationConfig.log(`Successfully validated digital signature for ${plugin.plugin}.`);
|
|
380
383
|
}
|
|
@@ -393,27 +396,26 @@ async function doInstallationCodeSigningVerification(config, plugin, verificatio
|
|
|
393
396
|
}
|
|
394
397
|
}
|
|
395
398
|
else if (err.name === 'PluginNotFound' || err.name === 'PluginAccessDenied') {
|
|
396
|
-
throw
|
|
399
|
+
throw setErrorName(new SfError(err.message ?? 'The user canceled the plugin installation.'), '');
|
|
397
400
|
}
|
|
398
|
-
throw
|
|
401
|
+
throw setErrorName(SfError.wrap(err), err.name);
|
|
399
402
|
}
|
|
400
403
|
}
|
|
401
404
|
}
|
|
402
|
-
exports.doInstallationCodeSigningVerification = doInstallationCodeSigningVerification;
|
|
403
405
|
/**
|
|
404
406
|
* Retrieve url content for a host
|
|
405
407
|
*
|
|
406
408
|
* @param url host url.
|
|
407
409
|
*/
|
|
408
410
|
const getSigningContent = async (url) => {
|
|
409
|
-
const res = await
|
|
411
|
+
const res = await got.get({
|
|
410
412
|
url,
|
|
411
413
|
timeout: { request: 10000 },
|
|
412
|
-
agent: { https: new
|
|
414
|
+
agent: { https: new ProxyAgent() },
|
|
413
415
|
});
|
|
414
416
|
if (res.statusCode !== 200) {
|
|
415
|
-
throw new
|
|
417
|
+
throw new SfError(`A request to url ${url} failed with error code: [${res.statusCode}]`, 'ErrorGettingContent');
|
|
416
418
|
}
|
|
417
|
-
return
|
|
419
|
+
return Readable.from(Buffer.from(res.body));
|
|
418
420
|
};
|
|
419
421
|
//# sourceMappingURL=installationVerification.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installationVerification.js","sourceRoot":"","sources":["../../src/shared/installationVerification.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"installationVerification.js","sourceRoot":"","sources":["../../src/shared/installationVerification.ts"],"names":[],"mappings":"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"}
|
package/lib/shared/npmCommand.js
CHANGED
|
@@ -1,21 +1,19 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/*
|
|
3
2
|
* Copyright (c) 2020, salesforce.com, inc.
|
|
4
3
|
* All rights reserved.
|
|
5
4
|
* Licensed under the BSD 3-Clause license.
|
|
6
5
|
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
6
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const errors_1 = require("./errors");
|
|
7
|
+
import os from 'node:os';
|
|
8
|
+
import path from 'node:path';
|
|
9
|
+
import { createRequire } from 'node:module';
|
|
10
|
+
import fs from 'node:fs';
|
|
11
|
+
import npmRunPath from 'npm-run-path';
|
|
12
|
+
import shelljs from 'shelljs';
|
|
13
|
+
import { SfError } from '@salesforce/core';
|
|
14
|
+
import { sleep, parseJson } from '@salesforce/kit';
|
|
15
|
+
import { Ux } from '@salesforce/sf-plugins-core';
|
|
16
|
+
import { setErrorName } from './errors.js';
|
|
19
17
|
class NpmCommand {
|
|
20
18
|
static runNpmCmd(cmd, options = {}) {
|
|
21
19
|
const nodeExecutable = NpmCommand.findNode(options.cliRoot);
|
|
@@ -25,25 +23,23 @@ class NpmCommand {
|
|
|
25
23
|
...options,
|
|
26
24
|
silent: true,
|
|
27
25
|
async: false,
|
|
28
|
-
env:
|
|
26
|
+
env: npmRunPath.env({ env: process.env }),
|
|
29
27
|
});
|
|
30
28
|
if (npmCmdResult.code !== 0) {
|
|
31
|
-
throw new
|
|
29
|
+
throw new SfError(npmCmdResult.stderr, 'ShellExecError');
|
|
32
30
|
}
|
|
33
31
|
return npmCmdResult;
|
|
34
32
|
}
|
|
35
|
-
static npmPackagePath() {
|
|
36
|
-
return this.npmPkgPath;
|
|
37
|
-
}
|
|
38
33
|
/**
|
|
39
34
|
* Returns the path to the npm-cli.js file in this package's node_modules
|
|
40
35
|
*
|
|
41
36
|
* @private
|
|
42
37
|
*/
|
|
43
38
|
static npmCli() {
|
|
44
|
-
const
|
|
39
|
+
const require = createRequire(import.meta.url);
|
|
40
|
+
const pkgPath = require.resolve('npm/package.json');
|
|
45
41
|
const fileData = fs.readFileSync(pkgPath, 'utf8');
|
|
46
|
-
const pkgJson =
|
|
42
|
+
const pkgJson = parseJson(fileData, pkgPath);
|
|
47
43
|
const prjPath = pkgPath.substring(0, pkgPath.lastIndexOf(path.sep));
|
|
48
44
|
return path.join(prjPath, pkgJson.bin['npm']);
|
|
49
45
|
}
|
|
@@ -58,7 +54,7 @@ class NpmCommand {
|
|
|
58
54
|
*/
|
|
59
55
|
static findNode(root) {
|
|
60
56
|
const isExecutable = (filepath) => {
|
|
61
|
-
if (
|
|
57
|
+
if (os.type() === 'Windows_NT')
|
|
62
58
|
return filepath.endsWith('node.exe');
|
|
63
59
|
try {
|
|
64
60
|
if (filepath.endsWith('node')) {
|
|
@@ -86,7 +82,7 @@ class NpmCommand {
|
|
|
86
82
|
const nodeShellString = shelljs.which('node');
|
|
87
83
|
if (nodeShellString?.code === 0 && nodeShellString?.stdout)
|
|
88
84
|
return nodeShellString.stdout;
|
|
89
|
-
throw
|
|
85
|
+
throw setErrorName(new SfError('Cannot locate node executable.', 'CannotFindNodeExecutable'), 'CannotFindNodeExecutable');
|
|
90
86
|
}
|
|
91
87
|
/**
|
|
92
88
|
* Finds the bin directory in the sfdx installation root path
|
|
@@ -100,8 +96,11 @@ class NpmCommand {
|
|
|
100
96
|
: [];
|
|
101
97
|
}
|
|
102
98
|
}
|
|
103
|
-
|
|
104
|
-
|
|
99
|
+
export class NpmModule {
|
|
100
|
+
module;
|
|
101
|
+
version;
|
|
102
|
+
cliRoot;
|
|
103
|
+
npmMeta;
|
|
105
104
|
constructor(module, version = 'latest', cliRoot) {
|
|
106
105
|
this.module = module;
|
|
107
106
|
this.version = version;
|
|
@@ -118,14 +117,14 @@ class NpmModule {
|
|
|
118
117
|
// `npm show` doesn't return exit code 1 when it fails to get a specific package version
|
|
119
118
|
// If `stdout` is empty then no info was found in the registry.
|
|
120
119
|
if (showCmd.stdout === '') {
|
|
121
|
-
throw
|
|
120
|
+
throw setErrorName(new SfError(`Failed to find ${this.module}@${this.version} in the registry`, 'NpmError'), 'NpmError');
|
|
122
121
|
}
|
|
123
122
|
try {
|
|
124
123
|
return JSON.parse(showCmd.stdout);
|
|
125
124
|
}
|
|
126
125
|
catch (error) {
|
|
127
126
|
if (error instanceof Error) {
|
|
128
|
-
throw
|
|
127
|
+
throw setErrorName(new SfError(error.message, 'ShellParseError'), 'ShellParseError');
|
|
129
128
|
}
|
|
130
129
|
throw error;
|
|
131
130
|
}
|
|
@@ -140,9 +139,9 @@ class NpmModule {
|
|
|
140
139
|
}
|
|
141
140
|
catch (err) {
|
|
142
141
|
if (err instanceof Error) {
|
|
143
|
-
const sfErr =
|
|
144
|
-
const e = new
|
|
145
|
-
throw
|
|
142
|
+
const sfErr = SfError.wrap(err);
|
|
143
|
+
const e = new SfError(`Failed to fetch tarball from the registry: \n${sfErr.message}`, 'NpmError');
|
|
144
|
+
throw setErrorName(e, 'NpmError');
|
|
146
145
|
}
|
|
147
146
|
}
|
|
148
147
|
return;
|
|
@@ -160,7 +159,7 @@ class NpmModule {
|
|
|
160
159
|
let found = false;
|
|
161
160
|
let attempts = 0;
|
|
162
161
|
const maxAttempts = 300;
|
|
163
|
-
const ux = new
|
|
162
|
+
const ux = new Ux({ jsonEnabled: isNonTTY });
|
|
164
163
|
const start = isNonTTY ? (msg) => ux.log(msg) : (msg) => ux.spinner.start(msg);
|
|
165
164
|
const update = isNonTTY ? (msg) => ux.log(msg) : (msg) => (ux.spinner.status = msg);
|
|
166
165
|
const stop = isNonTTY ? (msg) => ux.log(msg) : (msg) => ux.spinner.stop(msg);
|
|
@@ -179,10 +178,9 @@ class NpmModule {
|
|
|
179
178
|
found = false;
|
|
180
179
|
}
|
|
181
180
|
// eslint-disable-next-line no-await-in-loop
|
|
182
|
-
await
|
|
181
|
+
await sleep(1000);
|
|
183
182
|
}
|
|
184
183
|
stop(attempts >= maxAttempts ? 'failed' : 'done');
|
|
185
184
|
}
|
|
186
185
|
}
|
|
187
|
-
exports.NpmModule = NpmModule;
|
|
188
186
|
//# sourceMappingURL=npmCommand.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npmCommand.js","sourceRoot":"","sources":["../../src/shared/npmCommand.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"npmCommand.js","sourceRoot":"","sources":["../../src/shared/npmCommand.ts"],"names":[],"mappings":"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"}
|