@salesforce/plugin-release-management 4.5.27 → 4.6.0
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 +18 -41
- package/bin/dev.js +8 -6
- package/bin/run.js +7 -5
- package/lib/amazonS3.d.ts +4 -8
- package/lib/amazonS3.js +76 -81
- package/lib/amazonS3.js.map +1 -1
- package/lib/codeSigning/NpmName.js +5 -9
- package/lib/codeSigning/NpmName.js.map +1 -1
- package/lib/codeSigning/SimplifiedSigning.d.ts +1 -1
- package/lib/codeSigning/SimplifiedSigning.js +16 -21
- package/lib/codeSigning/SimplifiedSigning.js.map +1 -1
- package/lib/codeSigning/error.js +2 -6
- package/lib/codeSigning/error.js.map +1 -1
- package/lib/codeSigning/packAndSign.d.ts +2 -2
- package/lib/codeSigning/packAndSign.js +45 -44
- package/lib/codeSigning/packAndSign.js.map +1 -1
- package/lib/codeSigning/upload.d.ts +1 -1
- package/lib/codeSigning/upload.js +4 -8
- package/lib/codeSigning/upload.js.map +1 -1
- package/lib/commands/channel/promote.d.ts +11 -4
- package/lib/commands/channel/promote.js +113 -115
- package/lib/commands/channel/promote.js.map +1 -1
- package/lib/commands/cli/artifacts/compare.js +58 -52
- package/lib/commands/cli/artifacts/compare.js.map +1 -1
- package/lib/commands/cli/install/jit/test.d.ts +1 -1
- package/lib/commands/cli/install/jit/test.js +18 -21
- package/lib/commands/cli/install/jit/test.js.map +1 -1
- package/lib/commands/cli/install/test.d.ts +4 -4
- package/lib/commands/cli/install/test.js +114 -106
- package/lib/commands/cli/install/test.js.map +1 -1
- package/lib/commands/cli/release/automerge.d.ts +5 -5
- package/lib/commands/cli/release/automerge.js +44 -47
- package/lib/commands/cli/release/automerge.js.map +1 -1
- package/lib/commands/cli/release/build.d.ts +12 -12
- package/lib/commands/cli/release/build.js +78 -81
- package/lib/commands/cli/release/build.js.map +1 -1
- package/lib/commands/cli/releasenotes.d.ts +4 -4
- package/lib/commands/cli/releasenotes.js +49 -54
- package/lib/commands/cli/releasenotes.js.map +1 -1
- package/lib/commands/cli/tarballs/prepare.js +31 -33
- package/lib/commands/cli/tarballs/prepare.js.map +1 -1
- package/lib/commands/cli/tarballs/smoke.js +32 -31
- package/lib/commands/cli/tarballs/smoke.js.map +1 -1
- package/lib/commands/cli/tarballs/verify.d.ts +1 -1
- package/lib/commands/cli/tarballs/verify.js +58 -62
- package/lib/commands/cli/tarballs/verify.js.map +1 -1
- package/lib/commands/cli/versions/inspect.d.ts +4 -3
- package/lib/commands/cli/versions/inspect.js +79 -84
- package/lib/commands/cli/versions/inspect.js.map +1 -1
- package/lib/commands/dependabot/automerge.d.ts +6 -6
- package/lib/commands/dependabot/automerge.js +48 -48
- package/lib/commands/dependabot/automerge.js.map +1 -1
- package/lib/commands/github/check/closed.d.ts +7 -5
- package/lib/commands/github/check/closed.js +25 -28
- package/lib/commands/github/check/closed.js.map +1 -1
- package/lib/commands/npm/dependencies/pin.d.ts +3 -3
- package/lib/commands/npm/dependencies/pin.js +21 -24
- package/lib/commands/npm/dependencies/pin.js.map +1 -1
- package/lib/commands/npm/package/release.d.ts +11 -12
- package/lib/commands/npm/package/release.js +58 -61
- package/lib/commands/npm/package/release.js.map +1 -1
- package/lib/commands/repositories/index.d.ts +4 -3
- package/lib/commands/repositories/index.js +17 -20
- package/lib/commands/repositories/index.js.map +1 -1
- package/lib/dependabot.d.ts +1 -1
- package/lib/dependabot.js +13 -17
- package/lib/dependabot.js.map +1 -1
- package/lib/dependencies.d.ts +1 -1
- package/lib/dependencies.js +3 -7
- package/lib/dependencies.js.map +1 -1
- package/lib/index.d.ts +1 -2
- package/lib/index.js +1 -2
- package/lib/index.js.map +1 -1
- package/lib/jit.js +18 -22
- package/lib/jit.js.map +1 -1
- package/lib/package.d.ts +0 -2
- package/lib/package.js +36 -59
- package/lib/package.js.map +1 -1
- package/lib/registry.js +19 -18
- package/lib/registry.js.map +1 -1
- package/lib/repositories.js +5 -9
- package/lib/repositories.js.map +1 -1
- package/lib/repository.d.ts +5 -7
- package/lib/repository.js +41 -43
- package/lib/repository.js.map +1 -1
- package/lib/types.js +4 -7
- package/lib/types.js.map +1 -1
- package/npm-shrinkwrap.json +2952 -2228
- package/oclif.manifest.json +17 -69
- package/package.json +9 -9
- package/lib/commands/cli/schemas/compare.d.ts +0 -19
- package/lib/commands/cli/schemas/compare.js +0 -114
- package/lib/commands/cli/schemas/compare.js.map +0 -1
- package/messages/cli.schemas.compare.md +0 -7
|
@@ -1,12 +1,9 @@
|
|
|
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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.signVerifyUpload = exports.getSfdxProperty = exports.SECURITY_PATH = exports.BASE_URL = void 0;
|
|
10
7
|
/**
|
|
11
8
|
* Signed npm packages have two fields that point plugin-trust to the URLs for the public key and signature file
|
|
12
9
|
* see src/package.ts/#PackageJsonSfdxProperty
|
|
@@ -23,22 +20,21 @@ exports.signVerifyUpload = exports.getSfdxProperty = exports.SECURITY_PATH = exp
|
|
|
23
20
|
*
|
|
24
21
|
* For security reasons, the url paths and bucket are hardcoded.
|
|
25
22
|
*/
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
23
|
+
import { generateKeyPair, createSign, createVerify } from 'node:crypto';
|
|
24
|
+
import { createReadStream } from 'node:fs';
|
|
25
|
+
import { putObject } from '../codeSigning/upload.js';
|
|
29
26
|
const CRYPTO_LEVEL = 'RSA-SHA256';
|
|
30
27
|
const BUCKET = 'dfc-data-production';
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
const getSfdxProperty = (packageName, packageVersion) => {
|
|
34
|
-
const fullPathNoExtension = `${
|
|
28
|
+
export const BASE_URL = 'https://developer.salesforce.com';
|
|
29
|
+
export const SECURITY_PATH = 'media/salesforce-cli/security';
|
|
30
|
+
export const getSfdxProperty = (packageName, packageVersion) => {
|
|
31
|
+
const fullPathNoExtension = `${BASE_URL}/${SECURITY_PATH}/${packageName}/${packageVersion}`;
|
|
35
32
|
return {
|
|
36
33
|
publicKeyUrl: `${fullPathNoExtension}.crt`,
|
|
37
34
|
signatureUrl: `${fullPathNoExtension}.sig`,
|
|
38
35
|
};
|
|
39
36
|
};
|
|
40
|
-
|
|
41
|
-
const signVerifyUpload = async (signingRequest) => {
|
|
37
|
+
export const signVerifyUpload = async (signingRequest) => {
|
|
42
38
|
const { publicKey, privateKey } = await getOneTimeUseKeys();
|
|
43
39
|
const { packageName, packageVersion } = signingRequest;
|
|
44
40
|
const signatureContents = await getSignature(privateKey, signingRequest.targetFileToSign);
|
|
@@ -47,7 +43,7 @@ const signVerifyUpload = async (signingRequest) => {
|
|
|
47
43
|
const output = {
|
|
48
44
|
publicKeyContents: publicKey,
|
|
49
45
|
signatureContents,
|
|
50
|
-
packageJsonSfdxProperty:
|
|
46
|
+
packageJsonSfdxProperty: getSfdxProperty(packageName, packageVersion),
|
|
51
47
|
fileTarPath: signingRequest.targetFileToSign,
|
|
52
48
|
packageName,
|
|
53
49
|
packageVersion,
|
|
@@ -57,18 +53,17 @@ const signVerifyUpload = async (signingRequest) => {
|
|
|
57
53
|
}
|
|
58
54
|
return output;
|
|
59
55
|
};
|
|
60
|
-
exports.signVerifyUpload = signVerifyUpload;
|
|
61
56
|
/**
|
|
62
57
|
* Save the security items (publicKey and .sig file) to AWS based on the generates filenames
|
|
63
58
|
*/
|
|
64
59
|
const upload = async (input) => Promise.all([
|
|
65
60
|
// signature file
|
|
66
|
-
|
|
61
|
+
putObject(BUCKET, input.packageJsonSfdxProperty.signatureUrl.replace(`${BASE_URL}/`, ''), input.signatureContents),
|
|
67
62
|
// publicKey
|
|
68
|
-
|
|
63
|
+
putObject(BUCKET, input.packageJsonSfdxProperty.publicKeyUrl.replace(`${BASE_URL}/`, ''), input.publicKeyContents),
|
|
69
64
|
]);
|
|
70
65
|
const getOneTimeUseKeys = () => new Promise((resolve, reject) => {
|
|
71
|
-
|
|
66
|
+
generateKeyPair('rsa', {
|
|
72
67
|
modulusLength: 4096,
|
|
73
68
|
publicKeyEncoding: {
|
|
74
69
|
type: 'spki',
|
|
@@ -88,17 +83,17 @@ const getOneTimeUseKeys = () => new Promise((resolve, reject) => {
|
|
|
88
83
|
});
|
|
89
84
|
});
|
|
90
85
|
const getSignature = async (privateKey, dataToSignFilePath) => {
|
|
91
|
-
const signApi =
|
|
86
|
+
const signApi = createSign(CRYPTO_LEVEL);
|
|
92
87
|
return new Promise((resolve, reject) => {
|
|
93
|
-
const dataToSignStream =
|
|
88
|
+
const dataToSignStream = createReadStream(dataToSignFilePath, { encoding: 'binary' });
|
|
94
89
|
dataToSignStream.pipe(signApi);
|
|
95
90
|
dataToSignStream.on('end', () => resolve(signApi.sign(privateKey, 'base64')));
|
|
96
91
|
dataToSignStream.on('error', (err) => reject(err));
|
|
97
92
|
});
|
|
98
93
|
};
|
|
99
94
|
const verify = async (dataToSignFilePath, publicKey, signature) => new Promise((resolve, reject) => {
|
|
100
|
-
const verifier =
|
|
101
|
-
const dataToVerifyStream =
|
|
95
|
+
const verifier = createVerify(CRYPTO_LEVEL);
|
|
96
|
+
const dataToVerifyStream = createReadStream(dataToSignFilePath, { encoding: 'binary' });
|
|
102
97
|
dataToVerifyStream.pipe(verifier);
|
|
103
98
|
dataToVerifyStream.on('end', () => {
|
|
104
99
|
if (verifier.verify(publicKey, signature, 'base64')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimplifiedSigning.js","sourceRoot":"","sources":["../../src/codeSigning/SimplifiedSigning.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SimplifiedSigning.js","sourceRoot":"","sources":["../../src/codeSigning/SimplifiedSigning.ts"],"names":[],"mappings":"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"}
|
package/lib/codeSigning/error.js
CHANGED
|
@@ -1,17 +1,13 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/*
|
|
3
2
|
* Copyright (c) 2018, 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
|
-
const kit_1 = require("@salesforce/kit");
|
|
11
|
-
class ExecProcessFailed extends kit_1.NamedError {
|
|
7
|
+
import { NamedError } from '@salesforce/kit';
|
|
8
|
+
export class ExecProcessFailed extends NamedError {
|
|
12
9
|
constructor(process, errorCode, message) {
|
|
13
10
|
super('Sub-process failed.', `Exec'd subprocess ${process} failed with error code '${errorCode}' and message '${message}'.`);
|
|
14
11
|
}
|
|
15
12
|
}
|
|
16
|
-
exports.ExecProcessFailed = ExecProcessFailed;
|
|
17
13
|
//# sourceMappingURL=error.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/codeSigning/error.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/codeSigning/error.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,OAAO,iBAAkB,SAAQ,UAAU;IAC/C,YAAmB,OAAe,EAAE,SAA0B,EAAE,OAAe;QAC7E,KAAK,CACH,qBAAqB,EACrB,qBAAqB,OAAO,4BAA4B,SAAS,kBAAkB,OAAO,IAAI,CAC/F,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { Agents } from 'got';
|
|
3
3
|
import { Ux } from '@salesforce/sf-plugins-core';
|
|
4
|
-
import { PackageJson } from '../package';
|
|
5
|
-
import { SigningResponse } from './SimplifiedSigning';
|
|
4
|
+
import { PackageJson } from '../package.js';
|
|
5
|
+
import { SigningResponse } from './SimplifiedSigning.js';
|
|
6
6
|
export declare const api: {
|
|
7
7
|
setUx(ux: Ux): void;
|
|
8
8
|
/**
|
|
@@ -1,25 +1,27 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
2
|
/*
|
|
4
3
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
5
4
|
* All rights reserved.
|
|
6
5
|
* Licensed under the BSD 3-Clause license.
|
|
7
6
|
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
8
7
|
*/
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.api = void 0;
|
|
11
8
|
/* eslint-disable no-underscore-dangle */
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
9
|
+
import fs from 'node:fs/promises';
|
|
10
|
+
import cp from 'node:child_process';
|
|
11
|
+
import { EOL } from 'node:os';
|
|
12
|
+
import { join as pathJoin } from 'node:path';
|
|
13
|
+
import { Logger } from '@salesforce/core';
|
|
14
|
+
import { NamedError } from '@salesforce/kit';
|
|
15
|
+
import { ProxyAgent } from 'proxy-agent';
|
|
16
|
+
import { signVerifyUpload as sign2, getSfdxProperty } from './SimplifiedSigning.js';
|
|
17
|
+
import { ExecProcessFailed } from './error.js';
|
|
18
|
+
import { parseNpmName } from './NpmName.js';
|
|
22
19
|
class PathGetter {
|
|
20
|
+
static packageJson = 'package.json';
|
|
21
|
+
_packageJson;
|
|
22
|
+
_packageJsonBak;
|
|
23
|
+
_target;
|
|
24
|
+
_cwd;
|
|
23
25
|
constructor(target) {
|
|
24
26
|
this._cwd = process.cwd();
|
|
25
27
|
if (!target) {
|
|
@@ -29,10 +31,10 @@ class PathGetter {
|
|
|
29
31
|
this._target = target;
|
|
30
32
|
}
|
|
31
33
|
else {
|
|
32
|
-
this._target = (
|
|
34
|
+
this._target = pathJoin(this._cwd, target);
|
|
33
35
|
}
|
|
34
|
-
this._packageJson = (
|
|
35
|
-
this._packageJsonBak = (
|
|
36
|
+
this._packageJson = pathJoin(this._target, PathGetter.packageJson);
|
|
37
|
+
this._packageJsonBak = pathJoin(this._target, `${PathGetter.packageJson}.bak`);
|
|
36
38
|
}
|
|
37
39
|
get packageJson() {
|
|
38
40
|
return this._packageJson;
|
|
@@ -44,16 +46,15 @@ class PathGetter {
|
|
|
44
46
|
return this._target;
|
|
45
47
|
}
|
|
46
48
|
getFile(filename) {
|
|
47
|
-
return (
|
|
49
|
+
return pathJoin(this._target, filename);
|
|
48
50
|
}
|
|
49
51
|
getIgnoreFile(filename) {
|
|
50
|
-
return (
|
|
52
|
+
return pathJoin(this._cwd, filename);
|
|
51
53
|
}
|
|
52
54
|
}
|
|
53
|
-
PathGetter.packageJson = 'package.json';
|
|
54
55
|
let cliUx;
|
|
55
56
|
let pathGetter;
|
|
56
|
-
|
|
57
|
+
export const api = {
|
|
57
58
|
setUx(ux) {
|
|
58
59
|
cliUx = ux;
|
|
59
60
|
},
|
|
@@ -65,14 +66,14 @@ exports.api = {
|
|
|
65
66
|
pathGetter = new PathGetter();
|
|
66
67
|
return new Promise((resolve, reject) => {
|
|
67
68
|
const command = 'npm pack -p';
|
|
68
|
-
|
|
69
|
+
cp.exec(command, { cwd: pathGetter.target, maxBuffer: 1024 * 4096 },
|
|
69
70
|
// we expect an error code from this command, so we're adding it to the normal Error type
|
|
70
71
|
(error, stdout, stderr) => {
|
|
71
72
|
if (error?.code) {
|
|
72
|
-
return reject(new
|
|
73
|
+
return reject(new ExecProcessFailed(command, error['code'], stderr));
|
|
73
74
|
}
|
|
74
75
|
else {
|
|
75
|
-
const output = stdout.split(
|
|
76
|
+
const output = stdout.split(EOL);
|
|
76
77
|
if (output.length > 1) {
|
|
77
78
|
// note the output end with a newline;
|
|
78
79
|
const path = output[output.length - 2];
|
|
@@ -80,11 +81,11 @@ exports.api = {
|
|
|
80
81
|
return resolve(pathGetter.getFile(path));
|
|
81
82
|
}
|
|
82
83
|
else {
|
|
83
|
-
return reject(new
|
|
84
|
+
return reject(new NamedError('UnexpectedNpmFormat', `Npm pack did not return an expected tgz filename result: [${path}]`));
|
|
84
85
|
}
|
|
85
86
|
}
|
|
86
87
|
else {
|
|
87
|
-
return reject(new
|
|
88
|
+
return reject(new NamedError('UnexpectedNpmFormat', `The output from the npm utility is unexpected [${stdout}]`));
|
|
88
89
|
}
|
|
89
90
|
}
|
|
90
91
|
});
|
|
@@ -112,10 +113,10 @@ exports.api = {
|
|
|
112
113
|
validateNpmIgnorePatterns(content) {
|
|
113
114
|
const validate = (pattern) => {
|
|
114
115
|
if (!content) {
|
|
115
|
-
throw new
|
|
116
|
+
throw new NamedError('MissingNpmIgnoreFile', 'Missing .npmignore file. The following patterns are required in for code signing: *.tgz, *.sig, package.json.bak.');
|
|
116
117
|
}
|
|
117
118
|
if (!content.includes(pattern)) {
|
|
118
|
-
throw new
|
|
119
|
+
throw new NamedError('MissingNpmIgnorePattern', `.npmignore is missing ${pattern}. The following patterns are required for code signing: *.tgz, *.sig, package.json.bak`);
|
|
119
120
|
}
|
|
120
121
|
};
|
|
121
122
|
validate('*.tgz');
|
|
@@ -130,7 +131,7 @@ exports.api = {
|
|
|
130
131
|
validateNpmFilePatterns(patterns) {
|
|
131
132
|
const validate = (pattern) => {
|
|
132
133
|
if (patterns.includes(pattern)) {
|
|
133
|
-
throw new
|
|
134
|
+
throw new NamedError('ForbiddenFilePattern', 'the files property in package.json should not include the following: *.tgz, *.sig, package.json.bak');
|
|
134
135
|
}
|
|
135
136
|
};
|
|
136
137
|
validate('*.tgz');
|
|
@@ -158,7 +159,7 @@ exports.api = {
|
|
|
158
159
|
// Restore the package.json file so it doesn't show a git diff.
|
|
159
160
|
await fs.access(pathGetter.packageJsonBak);
|
|
160
161
|
cliUx.log(`Restoring package.json from ${pathGetter.packageJsonBak}`);
|
|
161
|
-
await
|
|
162
|
+
await api.copyPackageDotJson(pathGetter.packageJsonBak, pathGetter.packageJson);
|
|
162
163
|
await fs.unlink(pathGetter.packageJsonBak);
|
|
163
164
|
},
|
|
164
165
|
/**
|
|
@@ -169,51 +170,51 @@ exports.api = {
|
|
|
169
170
|
* @return {Promise<SigningResponse>} The SigningResponse
|
|
170
171
|
*/
|
|
171
172
|
async packSignVerifyModifyPackageJSON(targetPackagePath) {
|
|
172
|
-
const logger = await
|
|
173
|
+
const logger = await Logger.child('packAndSign');
|
|
173
174
|
pathGetter = new PathGetter(targetPackagePath);
|
|
174
175
|
try {
|
|
175
176
|
// read package.json info
|
|
176
|
-
const packageJsonContent = await
|
|
177
|
+
const packageJsonContent = await api.retrievePackageJson();
|
|
177
178
|
const packageJson = JSON.parse(packageJsonContent);
|
|
178
179
|
logger.debug('parsed the package.json content');
|
|
179
180
|
if (packageJson.files) {
|
|
180
181
|
// validate that files property does not include forbidden patterns
|
|
181
|
-
|
|
182
|
+
api.validateNpmFilePatterns(packageJson.files);
|
|
182
183
|
}
|
|
183
184
|
else {
|
|
184
185
|
// validate npm ignore has what we name.
|
|
185
|
-
const npmIgnoreContent = await
|
|
186
|
-
|
|
186
|
+
const npmIgnoreContent = await api.retrieveIgnoreFile('.npmignore');
|
|
187
|
+
api.validateNpmIgnorePatterns(npmIgnoreContent);
|
|
187
188
|
logger.debug('validated the expected npm ignore patterns');
|
|
188
189
|
}
|
|
189
190
|
// Recommend updating git ignore to match npmignore.
|
|
190
191
|
const filename = '.gitignore';
|
|
191
|
-
const gitIgnoreContent = await
|
|
192
|
+
const gitIgnoreContent = await api.retrieveIgnoreFile(filename);
|
|
192
193
|
try {
|
|
193
|
-
|
|
194
|
+
api.validateNpmIgnorePatterns(gitIgnoreContent);
|
|
194
195
|
logger.debug('validated the expected git ignore patterns');
|
|
195
196
|
}
|
|
196
197
|
catch (e) {
|
|
197
198
|
cliUx.warn(`WARNING: The following patterns are recommended in ${filename} for code signing: *.tgz, *.sig, package.json.bak.`);
|
|
198
199
|
}
|
|
199
200
|
// get the packageJson name/version
|
|
200
|
-
const npmName =
|
|
201
|
+
const npmName = parseNpmName(packageJson.name);
|
|
201
202
|
logger.debug(`parsed the following npmName components: ${JSON.stringify(npmName, null, 4)}`);
|
|
202
203
|
npmName.tag = packageJson.version;
|
|
203
204
|
// make a backup of the packageJson
|
|
204
|
-
await
|
|
205
|
+
await api.copyPackageDotJson(pathGetter.packageJson, pathGetter.packageJsonBak);
|
|
205
206
|
logger.debug('made a backup of the package.json file.');
|
|
206
207
|
cliUx.log(`Backed up ${pathGetter.packageJson} to ${pathGetter.packageJsonBak}`);
|
|
207
208
|
const packageNameWithOrWithoutScope = npmName.scope ? `@${npmName.scope}/${npmName.name}` : npmName.name;
|
|
208
209
|
// we have to modify package.json with security URLs BEFORE packing
|
|
209
210
|
// update the package.json object with the signature urls and write it to disk.
|
|
210
|
-
packageJson.sfdx =
|
|
211
|
-
await
|
|
211
|
+
packageJson.sfdx = getSfdxProperty(packageNameWithOrWithoutScope, npmName.tag);
|
|
212
|
+
await api.writePackageJson(packageJson);
|
|
212
213
|
cliUx.log('Successfully updated package.json with public key and signature file locations.');
|
|
213
214
|
cliUx.styledJSON(packageJson.sfdx);
|
|
214
|
-
const filepath = await
|
|
215
|
+
const filepath = await api.pack();
|
|
215
216
|
cliUx.log(`Packed tgz to ${filepath}`);
|
|
216
|
-
const signResponse = await (
|
|
217
|
+
const signResponse = await sign2({
|
|
217
218
|
upload: true,
|
|
218
219
|
targetFileToSign: filepath,
|
|
219
220
|
packageName: packageNameWithOrWithoutScope,
|
|
@@ -223,13 +224,13 @@ exports.api = {
|
|
|
223
224
|
}
|
|
224
225
|
finally {
|
|
225
226
|
// prevent any publish-time changes from persisting to git
|
|
226
|
-
await
|
|
227
|
+
await api.revertPackageJsonIfExists();
|
|
227
228
|
}
|
|
228
229
|
},
|
|
229
230
|
// preserve previous behavior when the param was used.
|
|
230
231
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
231
232
|
getAgentForUri(url) {
|
|
232
|
-
const agent = new
|
|
233
|
+
const agent = new ProxyAgent();
|
|
233
234
|
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
|
234
235
|
return { https: agent, http: agent };
|
|
235
236
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packAndSign.js","sourceRoot":"","sources":["../../src/codeSigning/packAndSign.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"packAndSign.js","sourceRoot":"","sources":["../../src/codeSigning/packAndSign.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
1
|
+
import AWS from 'aws-sdk';
|
|
2
2
|
export declare function putObject(bucket: string, key: string, body: string): Promise<AWS.S3.PutObjectOutput>;
|
|
@@ -1,17 +1,14 @@
|
|
|
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
|
-
const packAndSign_1 = require("./packAndSign");
|
|
12
|
-
async function putObject(bucket, key, body) {
|
|
7
|
+
import AWS from 'aws-sdk';
|
|
8
|
+
import { api } from './packAndSign.js';
|
|
9
|
+
export async function putObject(bucket, key, body) {
|
|
13
10
|
return new Promise((resolve, reject) => {
|
|
14
|
-
const agent =
|
|
11
|
+
const agent = api.getAgentForUri('https://s3.amazonaws.com');
|
|
15
12
|
const s3 = new AWS.S3({
|
|
16
13
|
httpOptions: { agent: agent.http },
|
|
17
14
|
httpsOptions: { agent: agent.https },
|
|
@@ -24,5 +21,4 @@ async function putObject(bucket, key, body) {
|
|
|
24
21
|
});
|
|
25
22
|
});
|
|
26
23
|
}
|
|
27
|
-
exports.putObject = putObject;
|
|
28
24
|
//# sourceMappingURL=upload.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../../src/codeSigning/upload.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../../src/codeSigning/upload.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,GAAG,MAAM,SAAS,CAAC;AAG1B,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAGvC,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAc,EAAE,GAAW,EAAE,IAAY;IACvE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,GAAG,CAAC,cAAc,CAAC,0BAA0B,CAAW,CAAC;QACvE,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC;YACpB,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE;YAClC,YAAY,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;SACd,CAAC,CAAC;QAC1B,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACnE,IAAI,GAAG;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YACrB,IAAI,IAAI;gBAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
import { Interfaces } from '@oclif/core';
|
|
2
|
-
import { AnyJson } from '@salesforce/ts-types';
|
|
3
2
|
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
4
|
-
import { CLI } from '../../types';
|
|
5
|
-
export
|
|
3
|
+
import { CLI } from '../../types.js';
|
|
4
|
+
export type PromoteResult = {
|
|
5
|
+
dryRun: boolean;
|
|
6
|
+
cli: CLI;
|
|
7
|
+
target: string;
|
|
8
|
+
sha: string;
|
|
9
|
+
version: string;
|
|
10
|
+
platforms: string[];
|
|
11
|
+
};
|
|
12
|
+
export default class Promote extends SfCommand<PromoteResult> {
|
|
6
13
|
static readonly description: string;
|
|
7
14
|
static readonly summary: string;
|
|
8
15
|
static readonly examples: string[];
|
|
@@ -20,7 +27,7 @@ export default class Promote extends SfCommand<AnyJson> {
|
|
|
20
27
|
version: Interfaces.OptionFlag<string | undefined, Interfaces.CustomOptions>;
|
|
21
28
|
};
|
|
22
29
|
private flags;
|
|
23
|
-
run(): Promise<
|
|
30
|
+
run(): Promise<PromoteResult>;
|
|
24
31
|
/**
|
|
25
32
|
* validate flag combinations
|
|
26
33
|
*
|