@salesforce/plugin-deploy-retrieve 1.8.6 → 1.8.7
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/lib/commands/deploy.d.ts +5 -0
- package/lib/commands/deploy.js +5 -0
- package/lib/commands/deploy.js.map +1 -1
- package/lib/commands/project/convert/mdapi.d.ts +32 -0
- package/lib/commands/project/convert/mdapi.js +170 -0
- package/lib/commands/project/convert/mdapi.js.map +1 -0
- package/lib/commands/project/convert/source.d.ts +81 -0
- package/lib/commands/project/convert/source.js +141 -0
- package/lib/commands/project/convert/source.js.map +1 -0
- package/lib/commands/project/delete/source.d.ts +69 -0
- package/lib/commands/project/delete/source.js +424 -0
- package/lib/commands/project/delete/source.js.map +1 -0
- package/lib/commands/project/delete/tracking.d.ts +19 -0
- package/lib/commands/project/delete/tracking.js +49 -0
- package/lib/commands/project/delete/tracking.js.map +1 -0
- package/lib/commands/{deploy/metadata → project/deploy}/cancel.d.ts +2 -1
- package/lib/commands/{deploy/metadata → project/deploy}/cancel.js +20 -7
- package/lib/commands/project/deploy/cancel.js.map +1 -0
- package/lib/commands/{deploy/metadata → project/deploy}/preview.d.ts +2 -1
- package/lib/commands/{deploy/metadata → project/deploy}/preview.js +3 -2
- package/lib/commands/project/deploy/preview.js.map +1 -0
- package/lib/commands/{deploy/metadata → project/deploy}/quick.d.ts +3 -1
- package/lib/commands/{deploy/metadata → project/deploy}/quick.js +14 -7
- package/lib/commands/project/deploy/quick.js.map +1 -0
- package/lib/commands/{deploy/metadata → project/deploy}/report.d.ts +5 -1
- package/lib/commands/{deploy/metadata → project/deploy}/report.js +25 -7
- package/lib/commands/project/deploy/report.js.map +1 -0
- package/lib/commands/{deploy/metadata → project/deploy}/resume.d.ts +5 -1
- package/lib/commands/{deploy/metadata → project/deploy}/resume.js +21 -6
- package/lib/commands/project/deploy/resume.js.map +1 -0
- package/lib/commands/{deploy/metadata.d.ts → project/deploy/start.d.ts} +10 -3
- package/lib/commands/{deploy/metadata.js → project/deploy/start.js} +56 -17
- package/lib/commands/project/deploy/start.js.map +1 -0
- package/lib/commands/{deploy/metadata → project/deploy}/validate.d.ts +2 -1
- package/lib/commands/{deploy/metadata → project/deploy}/validate.js +10 -9
- package/lib/commands/project/deploy/validate.js.map +1 -0
- package/lib/commands/project/generate/manifest.d.ts +26 -0
- package/lib/commands/project/generate/manifest.js +132 -0
- package/lib/commands/project/generate/manifest.js.map +1 -0
- package/lib/commands/project/list/ignored.d.ts +24 -0
- package/lib/commands/project/list/ignored.js +85 -0
- package/lib/commands/project/list/ignored.js.map +1 -0
- package/lib/commands/project/reset/tracking.d.ts +21 -0
- package/lib/commands/project/reset/tracking.js +64 -0
- package/lib/commands/project/reset/tracking.js.map +1 -0
- package/lib/commands/{retrieve/metadata → project/retrieve}/preview.d.ts +2 -1
- package/lib/commands/{retrieve/metadata → project/retrieve}/preview.js +2 -1
- package/lib/commands/project/retrieve/preview.js.map +1 -0
- package/lib/commands/{retrieve/metadata.d.ts → project/retrieve/start.d.ts} +3 -2
- package/lib/commands/{retrieve/metadata.js → project/retrieve/start.js} +12 -10
- package/lib/commands/project/retrieve/start.js.map +1 -0
- package/lib/formatters/asyncDeployCancelResultFormatter.d.ts +10 -0
- package/lib/formatters/asyncDeployCancelResultFormatter.js +29 -0
- package/lib/formatters/asyncDeployCancelResultFormatter.js.map +1 -0
- package/lib/formatters/asyncDeployResultFormatter.d.ts +10 -0
- package/lib/formatters/asyncDeployResultFormatter.js +31 -0
- package/lib/formatters/asyncDeployResultFormatter.js.map +1 -0
- package/lib/formatters/deleteResultFormatter.d.ts +13 -0
- package/lib/formatters/deleteResultFormatter.js +72 -0
- package/lib/formatters/deleteResultFormatter.js.map +1 -0
- package/lib/formatters/deployCancelResultFormatter.d.ts +8 -0
- package/lib/formatters/deployCancelResultFormatter.js +29 -0
- package/lib/formatters/deployCancelResultFormatter.js.map +1 -0
- package/lib/formatters/deployReportResultFormatter.d.ts +4 -0
- package/lib/formatters/deployReportResultFormatter.js +52 -0
- package/lib/formatters/deployReportResultFormatter.js.map +1 -0
- package/lib/formatters/deployResultFormatter.d.ts +46 -0
- package/lib/formatters/deployResultFormatter.js +296 -0
- package/lib/formatters/deployResultFormatter.js.map +1 -0
- package/lib/formatters/metadataConvertResultFormatter.d.ts +9 -0
- package/lib/formatters/metadataConvertResultFormatter.js +59 -0
- package/lib/formatters/metadataConvertResultFormatter.js.map +1 -0
- package/lib/formatters/metadataRetrieveResultFormatter.d.ts +17 -0
- package/lib/formatters/metadataRetrieveResultFormatter.js +38 -0
- package/lib/formatters/metadataRetrieveResultFormatter.js.map +1 -0
- package/lib/formatters/retrieveResultFormatter.d.ts +13 -0
- package/lib/formatters/retrieveResultFormatter.js +66 -0
- package/lib/formatters/retrieveResultFormatter.js.map +1 -0
- package/lib/formatters/sourceConvertResultFormatter.d.ts +10 -0
- package/lib/formatters/sourceConvertResultFormatter.js +37 -0
- package/lib/formatters/sourceConvertResultFormatter.js.map +1 -0
- package/lib/utils/conflicts.js +1 -1
- package/lib/utils/conflicts.js.map +1 -1
- package/lib/utils/coverage.d.ts +9 -0
- package/lib/utils/coverage.js +109 -0
- package/lib/utils/coverage.js.map +1 -0
- package/lib/utils/deploy.d.ts +10 -6
- package/lib/utils/deploy.js +23 -26
- package/lib/utils/deploy.js.map +1 -1
- package/lib/utils/deployCache.d.ts +8 -2
- package/lib/utils/deployCache.js +11 -2
- package/lib/utils/deployCache.js.map +1 -1
- package/lib/utils/errorCodes.d.ts +3 -1
- package/lib/utils/errorCodes.js +4 -4
- package/lib/utils/errorCodes.js.map +1 -1
- package/lib/utils/flags.js +3 -8
- package/lib/utils/flags.js.map +1 -1
- package/lib/utils/manifestCache.d.ts +5 -0
- package/lib/utils/manifestCache.js +44 -0
- package/lib/utils/manifestCache.js.map +1 -0
- package/lib/utils/metadataDeployer.js +3 -2
- package/lib/utils/metadataDeployer.js.map +1 -1
- package/lib/utils/output.d.ts +6 -83
- package/lib/utils/output.js +3 -385
- package/lib/utils/output.js.map +1 -1
- package/lib/utils/previewOutput.d.ts +1 -0
- package/lib/utils/previewOutput.js +18 -21
- package/lib/utils/previewOutput.js.map +1 -1
- package/lib/utils/progressBar.d.ts +1 -0
- package/lib/utils/progressBar.js +21 -17
- package/lib/utils/progressBar.js.map +1 -1
- package/lib/utils/types.d.ts +39 -0
- package/lib/utils/types.js +3 -1
- package/lib/utils/types.js.map +1 -1
- package/messages/convert.mdapi.md +68 -0
- package/messages/convert.source.md +69 -0
- package/messages/delete.source.md +136 -0
- package/messages/delete.tracking.md +39 -0
- package/messages/deploy.async.md +3 -3
- package/messages/deploy.md +5 -1
- package/messages/deploy.metadata.cancel.md +10 -6
- package/messages/deploy.metadata.md +37 -5
- package/messages/deploy.metadata.preview.md +11 -7
- package/messages/deploy.metadata.quick.md +11 -3
- package/messages/deploy.metadata.report.md +16 -4
- package/messages/deploy.metadata.resume.md +17 -5
- package/messages/deploy.metadata.validate.md +9 -5
- package/messages/list.ignored.md +29 -0
- package/messages/manifest.generate.md +74 -0
- package/messages/retrieve.metadata.md +4 -4
- package/messages/retrieve.metadata.preview.md +7 -7
- package/oclif.manifest.json +1476 -463
- package/package.json +55 -39
- package/schemas/project-convert-mdapi.json +29 -0
- package/schemas/project-delete-source.json +609 -0
- package/schemas/project-delete-tracking.json +19 -0
- package/schemas/project-generate-manifest.json +19 -0
- package/schemas/project-list-ignored.json +19 -0
- package/schemas/project-reset-tracking.json +19 -0
- package/lib/commands/deploy/metadata/cancel.js.map +0 -1
- package/lib/commands/deploy/metadata/preview.js.map +0 -1
- package/lib/commands/deploy/metadata/quick.js.map +0 -1
- package/lib/commands/deploy/metadata/report.js.map +0 -1
- package/lib/commands/deploy/metadata/resume.js.map +0 -1
- package/lib/commands/deploy/metadata/validate.js.map +0 -1
- package/lib/commands/deploy/metadata.js.map +0 -1
- package/lib/commands/retrieve/metadata/preview.js.map +0 -1
- package/lib/commands/retrieve/metadata.js.map +0 -1
- /package/schemas/{deploy-metadata-cancel.json → project-deploy-cancel.json} +0 -0
- /package/schemas/{deploy-metadata-preview.json → project-deploy-preview.json} +0 -0
- /package/schemas/{deploy-metadata-quick.json → project-deploy-quick.json} +0 -0
- /package/schemas/{deploy-metadata-report.json → project-deploy-report.json} +0 -0
- /package/schemas/{deploy-metadata-resume.json → project-deploy-resume.json} +0 -0
- /package/schemas/{deploy-metadata-validate.json → project-deploy-start.json} +0 -0
- /package/schemas/{deploy-metadata.json → project-deploy-validate.json} +0 -0
- /package/schemas/{retrieve-metadata-preview.json → project-retrieve-preview.json} +0 -0
- /package/schemas/{retrieve-metadata.json → project-retrieve-start.json} +0 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MetadataRetrieveResultFormatter = exports.retrieveMessages = void 0;
|
|
4
|
+
/*
|
|
5
|
+
* Copyright (c) 2020, salesforce.com, inc.
|
|
6
|
+
* All rights reserved.
|
|
7
|
+
* Licensed under the BSD 3-Clause license.
|
|
8
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
9
|
+
*/
|
|
10
|
+
const path = require("path");
|
|
11
|
+
const core_1 = require("@oclif/core");
|
|
12
|
+
const core_2 = require("@salesforce/core");
|
|
13
|
+
const output_1 = require("../utils/output");
|
|
14
|
+
core_2.Messages.importMessagesDirectory(__dirname);
|
|
15
|
+
exports.retrieveMessages = core_2.Messages.loadMessages('@salesforce/plugin-deploy-retrieve', 'retrieve.metadata');
|
|
16
|
+
class MetadataRetrieveResultFormatter {
|
|
17
|
+
constructor(result, opts) {
|
|
18
|
+
this.result = result;
|
|
19
|
+
this.opts = opts;
|
|
20
|
+
this.zipFilePath = path.join(opts['target-metadata-dir'], opts['zip-file-name']);
|
|
21
|
+
this.files = (0, output_1.sortFileResponses)((0, output_1.asRelativePaths)(this.result.getFileResponses() ?? []));
|
|
22
|
+
}
|
|
23
|
+
getJson() {
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
25
|
+
const { zipFile, ...responseWithoutZipFile } = this.result.response;
|
|
26
|
+
return { ...responseWithoutZipFile, zipFilePath: this.zipFilePath, files: this.files };
|
|
27
|
+
}
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
29
|
+
async display() {
|
|
30
|
+
core_1.ux.log(exports.retrieveMessages.getMessage('info.WroteZipFile', [this.zipFilePath]));
|
|
31
|
+
if (this.opts.unzip) {
|
|
32
|
+
const extractPath = path.join(this.opts['target-metadata-dir'], path.parse(this.opts['zip-file-name']).name);
|
|
33
|
+
core_1.ux.log(exports.retrieveMessages.getMessage('info.ExtractedZipFile', [this.zipFilePath, extractPath]));
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.MetadataRetrieveResultFormatter = MetadataRetrieveResultFormatter;
|
|
38
|
+
//# sourceMappingURL=metadataRetrieveResultFormatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadataRetrieveResultFormatter.js","sourceRoot":"","sources":["../../src/formatters/metadataRetrieveResultFormatter.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,6BAA6B;AAC7B,sCAAiC;AAEjC,2CAA4C;AAE5C,4CAAqE;AAErE,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC/B,QAAA,gBAAgB,GAAG,eAAQ,CAAC,YAAY,CAAC,oCAAoC,EAAE,mBAAmB,CAAC,CAAC;AAEjH,MAAa,+BAA+B;IAG1C,YACU,MAAsB,EACtB,IAAgF;QADhF,WAAM,GAAN,MAAM,CAAgB;QACtB,SAAI,GAAJ,IAAI,CAA4E;QAExF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,KAAK,GAAG,IAAA,0BAAiB,EAAC,IAAA,wBAAe,EAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACxF,CAAC;IAEM,OAAO;QACZ,6DAA6D;QAC7D,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAsB,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QACpE,OAAO,EAAE,GAAG,sBAAsB,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IACzF,CAAC;IAED,4DAA4D;IACrD,KAAK,CAAC,OAAO;QAClB,SAAE,CAAC,GAAG,CAAC,wBAAgB,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC7E,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACnB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC7G,SAAE,CAAC,GAAG,CAAC,wBAAgB,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;SAC/F;IACH,CAAC;CACF;AAzBD,0EAyBC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FileResponse, RetrieveResult } from '@salesforce/source-deploy-retrieve';
|
|
2
|
+
import { Formatter, RetrieveResultJson } from '../utils/types';
|
|
3
|
+
export declare class RetrieveResultFormatter implements Formatter<RetrieveResultJson> {
|
|
4
|
+
private result;
|
|
5
|
+
private packageNames;
|
|
6
|
+
private files;
|
|
7
|
+
constructor(result: RetrieveResult, packageNames?: string[], deleteResponses?: FileResponse[]);
|
|
8
|
+
getJson(): RetrieveResultJson;
|
|
9
|
+
display(): Promise<void>;
|
|
10
|
+
private displaySuccesses;
|
|
11
|
+
private displayPackages;
|
|
12
|
+
private getPackages;
|
|
13
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RetrieveResultFormatter = void 0;
|
|
4
|
+
/*
|
|
5
|
+
* Copyright (c) 2020, salesforce.com, inc.
|
|
6
|
+
* All rights reserved.
|
|
7
|
+
* Licensed under the BSD 3-Clause license.
|
|
8
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
9
|
+
*/
|
|
10
|
+
const path = require("path");
|
|
11
|
+
const core_1 = require("@oclif/core");
|
|
12
|
+
const core_2 = require("@salesforce/core");
|
|
13
|
+
const types_1 = require("../utils/types");
|
|
14
|
+
const output_1 = require("../utils/output");
|
|
15
|
+
class RetrieveResultFormatter {
|
|
16
|
+
constructor(result, packageNames = [], deleteResponses = []) {
|
|
17
|
+
this.result = result;
|
|
18
|
+
this.packageNames = packageNames;
|
|
19
|
+
this.files = (this.result.getFileResponses() ?? []).concat(deleteResponses);
|
|
20
|
+
}
|
|
21
|
+
getJson() {
|
|
22
|
+
const { zipFile, ...responseWithoutZip } = this.result.response;
|
|
23
|
+
return { ...responseWithoutZip, files: this.files };
|
|
24
|
+
}
|
|
25
|
+
async display() {
|
|
26
|
+
this.displaySuccesses();
|
|
27
|
+
await this.displayPackages();
|
|
28
|
+
}
|
|
29
|
+
displaySuccesses() {
|
|
30
|
+
const successes = (0, output_1.sortFileResponses)((0, output_1.asRelativePaths)(this.files.filter(types_1.isSdrSuccess)));
|
|
31
|
+
if (!successes.length)
|
|
32
|
+
return;
|
|
33
|
+
const columns = {
|
|
34
|
+
state: { header: 'State' },
|
|
35
|
+
fullName: { header: 'Name' },
|
|
36
|
+
type: { header: 'Type' },
|
|
37
|
+
filePath: { header: 'Path' },
|
|
38
|
+
};
|
|
39
|
+
const title = 'Retrieved Source';
|
|
40
|
+
const options = { title: (0, output_1.tableHeader)(title) };
|
|
41
|
+
core_1.ux.log();
|
|
42
|
+
core_1.ux.table((0, output_1.getFileResponseSuccessProps)(successes), columns, options);
|
|
43
|
+
}
|
|
44
|
+
async displayPackages() {
|
|
45
|
+
const packages = await this.getPackages();
|
|
46
|
+
if (packages?.length) {
|
|
47
|
+
const columns = {
|
|
48
|
+
name: { header: 'Package Name' },
|
|
49
|
+
fullPath: { header: 'Converted Location' },
|
|
50
|
+
};
|
|
51
|
+
const title = 'Retrieved Packages';
|
|
52
|
+
const options = { title: (0, output_1.tableHeader)(title) };
|
|
53
|
+
core_1.ux.log();
|
|
54
|
+
core_1.ux.table(packages, columns, options);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
async getPackages() {
|
|
58
|
+
const projectPath = await core_2.SfProject.resolveProjectPath();
|
|
59
|
+
return this.packageNames.map((name) => {
|
|
60
|
+
const packagePath = path.join(projectPath, name);
|
|
61
|
+
return { name, path: packagePath, fullPath: path.resolve(packagePath) };
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.RetrieveResultFormatter = RetrieveResultFormatter;
|
|
66
|
+
//# sourceMappingURL=retrieveResultFormatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieveResultFormatter.js","sourceRoot":"","sources":["../../src/formatters/retrieveResultFormatter.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,6BAA6B;AAC7B,sCAAiC;AAEjC,2CAA8D;AAC9D,0CAA6E;AAC7E,4CAA+G;AAE/G,MAAa,uBAAuB;IAElC,YACU,MAAsB,EACtB,eAAyB,EAAE,EACnC,kBAAkC,EAAE;QAF5B,WAAM,GAAN,MAAM,CAAgB;QACtB,iBAAY,GAAZ,YAAY,CAAe;QAGnC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC9E,CAAC;IAEM,OAAO;QACZ,MAAM,EAAE,OAAO,EAAE,GAAG,kBAAkB,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChE,OAAO,EAAE,GAAG,kBAAkB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IACtD,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;IAC/B,CAAC;IAEO,gBAAgB;QACtB,MAAM,SAAS,GAAG,IAAA,0BAAiB,EAAC,IAAA,wBAAe,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAY,CAAC,CAAC,CAAC,CAAC;QAEtF,IAAI,CAAC,SAAS,CAAC,MAAM;YAAE,OAAO;QAE9B,MAAM,OAAO,GAAG;YACd,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;YAC1B,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;YAC5B,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;YACxB,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;SAC7B,CAAC;QACF,MAAM,KAAK,GAAG,kBAAkB,CAAC;QACjC,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,IAAA,oBAAW,EAAC,KAAK,CAAC,EAAE,CAAC;QAC9C,SAAE,CAAC,GAAG,EAAE,CAAC;QAET,SAAE,CAAC,KAAK,CAAC,IAAA,oCAA2B,EAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,QAAQ,EAAE,MAAM,EAAE;YACpB,MAAM,OAAO,GAAG;gBACd,IAAI,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE;gBAChC,QAAQ,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE;aAC3C,CAAC;YACF,MAAM,KAAK,GAAG,oBAAoB,CAAC;YACnC,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,IAAA,oBAAW,EAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,SAAE,CAAC,GAAG,EAAE,CAAC;YACT,SAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACtC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,MAAM,WAAW,GAAG,MAAM,gBAAS,CAAC,kBAAkB,EAAE,CAAC;QACzD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACpC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACjD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA3DD,0DA2DC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ConvertResult } from '@salesforce/source-deploy-retrieve';
|
|
2
|
+
import { Messages } from '@salesforce/core';
|
|
3
|
+
import { ConvertResultJson, Formatter } from '../utils/types';
|
|
4
|
+
export declare const convertMessages: Messages<string>;
|
|
5
|
+
export declare class SourceConvertResultFormatter implements Formatter<ConvertResultJson> {
|
|
6
|
+
private result;
|
|
7
|
+
constructor(result: ConvertResult);
|
|
8
|
+
getJson(): ConvertResultJson;
|
|
9
|
+
display(): void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SourceConvertResultFormatter = exports.convertMessages = void 0;
|
|
4
|
+
/*
|
|
5
|
+
* Copyright (c) 2020, salesforce.com, inc.
|
|
6
|
+
* All rights reserved.
|
|
7
|
+
* Licensed under the BSD 3-Clause license.
|
|
8
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
9
|
+
*/
|
|
10
|
+
const path_1 = require("path");
|
|
11
|
+
const core_1 = require("@oclif/core");
|
|
12
|
+
const core_2 = require("@salesforce/core");
|
|
13
|
+
core_2.Messages.importMessagesDirectory(__dirname);
|
|
14
|
+
exports.convertMessages = core_2.Messages.loadMessages('@salesforce/plugin-deploy-retrieve', 'convert.source');
|
|
15
|
+
class SourceConvertResultFormatter {
|
|
16
|
+
constructor(result) {
|
|
17
|
+
this.result = result;
|
|
18
|
+
}
|
|
19
|
+
getJson() {
|
|
20
|
+
if (!this.result.packagePath) {
|
|
21
|
+
throw new core_2.SfError('Convert result contains no packagePath');
|
|
22
|
+
}
|
|
23
|
+
return {
|
|
24
|
+
location: (0, path_1.resolve)(this.result.packagePath),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
display() {
|
|
28
|
+
if ([0, 69].includes(process.exitCode ?? 0)) {
|
|
29
|
+
core_1.ux.log(exports.convertMessages.getMessage('success', [this.result.packagePath]));
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
throw new core_2.SfError(exports.convertMessages.getMessage('convertFailed'), 'ConvertFailed');
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.SourceConvertResultFormatter = SourceConvertResultFormatter;
|
|
37
|
+
//# sourceMappingURL=sourceConvertResultFormatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sourceConvertResultFormatter.js","sourceRoot":"","sources":["../../src/formatters/sourceConvertResultFormatter.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,+BAA+B;AAC/B,sCAAiC;AAEjC,2CAAqD;AAGrD,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC/B,QAAA,eAAe,GAAG,eAAQ,CAAC,YAAY,CAAC,oCAAoC,EAAE,gBAAgB,CAAC,CAAC;AAE7G,MAAa,4BAA4B;IACvC,YAA2B,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAC7C,OAAO;QACZ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;YAC5B,MAAM,IAAI,cAAO,CAAC,wCAAwC,CAAC,CAAC;SAC7D;QACD,OAAO;YACL,QAAQ,EAAE,IAAA,cAAO,EAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;SAC3C,CAAC;IACJ,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE;YAC3C,SAAE,CAAC,GAAG,CAAC,uBAAe,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SAC1E;aAAM;YACL,MAAM,IAAI,cAAO,CAAC,uBAAe,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC,CAAC;SACjF;IACH,CAAC;CACF;AAlBD,oEAkBC"}
|
package/lib/utils/conflicts.js
CHANGED
|
@@ -11,7 +11,7 @@ const core_1 = require("@oclif/core");
|
|
|
11
11
|
const writeConflictTable = (conflicts) => {
|
|
12
12
|
// Interfaces cannot be casted to Record<string, unknown> so we have to cast to unknown first
|
|
13
13
|
// See https://github.com/microsoft/TypeScript/issues/15300
|
|
14
|
-
core_1.ux.table(conflicts, {
|
|
14
|
+
core_1.ux.table(conflicts.map((c) => ({ state: c.state, fullName: c.fullName, type: c.type, filePath: c.filePath })), {
|
|
15
15
|
state: { header: 'STATE' },
|
|
16
16
|
fullName: { header: 'FULL NAME' },
|
|
17
17
|
type: { header: 'TYPE' },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conflicts.js","sourceRoot":"","sources":["../../src/utils/conflicts.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,sCAAiC;AAG1B,MAAM,kBAAkB,GAAG,CAAC,SAA6B,EAAQ,EAAE;IACxE,6FAA6F;IAC7F,2DAA2D;IAC3D,SAAE,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"conflicts.js","sourceRoot":"","sources":["../../src/utils/conflicts.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,sCAAiC;AAG1B,MAAM,kBAAkB,GAAG,CAAC,SAA6B,EAAQ,EAAE;IACxE,6FAA6F;IAC7F,2DAA2D;IAC3D,SAAE,CAAC,KAAK,CACN,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EACpG;QACE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QAC1B,QAAQ,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE;QACjC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;QACxB,QAAQ,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE;KAClC,CACF,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,kBAAkB,sBAY7B"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ApexTestResultData, CoverageReporterOptions, ApexCodeCoverageAggregate } from '@salesforce/apex-node';
|
|
2
|
+
import { Successes, Failures, CodeCoverage } from '@salesforce/source-deploy-retrieve';
|
|
3
|
+
export declare const mapTestResults: <T extends Failures | Successes>(testResults: T[]) => ApexTestResultData[];
|
|
4
|
+
export declare const generateCoveredLines: (cov: CodeCoverage) => [number[], number[]];
|
|
5
|
+
export declare const getCoverageFormattersOptions: (formatters?: string[]) => CoverageReporterOptions;
|
|
6
|
+
export declare const transformCoverageToApexCoverage: (mdCoverage: CodeCoverage[]) => ApexCodeCoverageAggregate;
|
|
7
|
+
export declare const coverageOutput: (cov: CodeCoverage) => Pick<CodeCoverage, 'name' | 'numLocations'> & {
|
|
8
|
+
lineNotCovered: string;
|
|
9
|
+
};
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.coverageOutput = exports.transformCoverageToApexCoverage = exports.getCoverageFormattersOptions = exports.generateCoveredLines = exports.mapTestResults = void 0;
|
|
4
|
+
/*
|
|
5
|
+
* Copyright (c) 2020, salesforce.com, inc.
|
|
6
|
+
* All rights reserved.
|
|
7
|
+
* Licensed under the BSD 3-Clause license.
|
|
8
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
9
|
+
*/
|
|
10
|
+
const path = require("path");
|
|
11
|
+
const apex_node_1 = require("@salesforce/apex-node");
|
|
12
|
+
const kit_1 = require("@salesforce/kit");
|
|
13
|
+
const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
|
|
14
|
+
const mapTestResults = (testResults) => testResults.map((testResult) => ({
|
|
15
|
+
apexClass: { fullName: testResult.name, id: testResult.id, name: testResult.name, namespacePrefix: '' },
|
|
16
|
+
apexLogId: '',
|
|
17
|
+
asyncApexJobId: '',
|
|
18
|
+
fullName: testResult.name,
|
|
19
|
+
id: testResult.id,
|
|
20
|
+
...('message' in testResult && testResult.message
|
|
21
|
+
? { message: testResult.message, outcome: "Pass" /* ApexTestResultOutcome.Pass */ }
|
|
22
|
+
: { message: null, outcome: "Fail" /* ApexTestResultOutcome.Fail */ }),
|
|
23
|
+
methodName: testResult.methodName,
|
|
24
|
+
queueItemId: '',
|
|
25
|
+
runTime: parseInt(testResult.time, 10),
|
|
26
|
+
stackTrace: 'stackTrace' in testResult ? testResult.stackTrace : null,
|
|
27
|
+
testTimestamp: '',
|
|
28
|
+
}));
|
|
29
|
+
exports.mapTestResults = mapTestResults;
|
|
30
|
+
const generateCoveredLines = (cov) => {
|
|
31
|
+
const numCovered = parseInt(cov.numLocations, 10);
|
|
32
|
+
const numUncovered = parseInt(cov.numLocationsNotCovered, 10);
|
|
33
|
+
const uncoveredLines = (0, kit_1.ensureArray)(cov.locationsNotCovered).map((location) => parseInt(location.line, 10));
|
|
34
|
+
const minLineNumber = uncoveredLines.length ? Math.min(...uncoveredLines) : 1;
|
|
35
|
+
const lines = [...Array(numCovered + numUncovered).keys()].map((i) => i + minLineNumber);
|
|
36
|
+
const coveredLines = lines.filter((line) => !uncoveredLines.includes(line));
|
|
37
|
+
return [uncoveredLines, coveredLines];
|
|
38
|
+
};
|
|
39
|
+
exports.generateCoveredLines = generateCoveredLines;
|
|
40
|
+
const getCoverageFormattersOptions = (formatters = []) => {
|
|
41
|
+
const reportFormats = formatters;
|
|
42
|
+
const reportOptions = Object.fromEntries(reportFormats.map((format) => {
|
|
43
|
+
const formatDefaults = apex_node_1.DefaultReportOptions[format];
|
|
44
|
+
return [
|
|
45
|
+
format,
|
|
46
|
+
{
|
|
47
|
+
...formatDefaults,
|
|
48
|
+
// always join any subdir from the defaults with our custom coverage dir
|
|
49
|
+
...('subdir' in formatDefaults ? { subdir: path.join('coverage', formatDefaults.subdir) } : {}),
|
|
50
|
+
// if there is no subdir, we also put the file in the coverage dir, otherwise leave it alone
|
|
51
|
+
...('file' in formatDefaults && !('subdir' in formatDefaults)
|
|
52
|
+
? { file: path.join('coverage', formatDefaults.file) }
|
|
53
|
+
: {}),
|
|
54
|
+
},
|
|
55
|
+
];
|
|
56
|
+
}));
|
|
57
|
+
return {
|
|
58
|
+
reportFormats,
|
|
59
|
+
reportOptions,
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
exports.getCoverageFormattersOptions = getCoverageFormattersOptions;
|
|
63
|
+
const transformCoverageToApexCoverage = (mdCoverage) => {
|
|
64
|
+
const apexCoverage = mdCoverage.map((cov) => {
|
|
65
|
+
const numCovered = parseInt(cov.numLocations, 10);
|
|
66
|
+
const numUncovered = parseInt(cov.numLocationsNotCovered, 10);
|
|
67
|
+
const [uncoveredLines, coveredLines] = (0, exports.generateCoveredLines)(cov);
|
|
68
|
+
const ac = {
|
|
69
|
+
ApexClassOrTrigger: {
|
|
70
|
+
Id: cov.id,
|
|
71
|
+
Name: cov.name,
|
|
72
|
+
},
|
|
73
|
+
NumLinesCovered: numCovered,
|
|
74
|
+
NumLinesUncovered: numUncovered,
|
|
75
|
+
Coverage: {
|
|
76
|
+
coveredLines,
|
|
77
|
+
uncoveredLines,
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
return ac;
|
|
81
|
+
});
|
|
82
|
+
return { done: true, totalSize: apexCoverage.length, records: apexCoverage };
|
|
83
|
+
};
|
|
84
|
+
exports.transformCoverageToApexCoverage = transformCoverageToApexCoverage;
|
|
85
|
+
const coverageOutput = (cov) => {
|
|
86
|
+
const numLocationsNum = parseInt(cov.numLocations, 10);
|
|
87
|
+
const numLocationsNotCovered = parseInt(cov.numLocationsNotCovered, 10);
|
|
88
|
+
const color = numLocationsNotCovered > 0 ? sf_plugins_core_1.StandardColors.error : sf_plugins_core_1.StandardColors.success;
|
|
89
|
+
let pctCovered = 100;
|
|
90
|
+
const coverageDecimal = parseFloat(((numLocationsNum - numLocationsNotCovered) / numLocationsNum).toFixed(2));
|
|
91
|
+
if (numLocationsNum > 0) {
|
|
92
|
+
pctCovered = coverageDecimal * 100;
|
|
93
|
+
}
|
|
94
|
+
// cov.numLocations = color(`${pctCovered}%`);
|
|
95
|
+
const base = {
|
|
96
|
+
name: cov.name,
|
|
97
|
+
numLocations: color(`${pctCovered}%`),
|
|
98
|
+
};
|
|
99
|
+
if (!cov.locationsNotCovered) {
|
|
100
|
+
return { ...base, lineNotCovered: '' };
|
|
101
|
+
}
|
|
102
|
+
const locations = (0, kit_1.ensureArray)(cov.locationsNotCovered);
|
|
103
|
+
return {
|
|
104
|
+
...base,
|
|
105
|
+
lineNotCovered: locations.map((location) => location.line).join(','),
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
exports.coverageOutput = coverageOutput;
|
|
109
|
+
//# sourceMappingURL=coverage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coverage.js","sourceRoot":"","sources":["../../src/utils/coverage.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/deploy.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Messages, Org, SfProject } from '@salesforce/core';
|
|
1
|
+
import { ConfigAggregator, Messages, Org, SfProject } from '@salesforce/core';
|
|
2
2
|
import { Duration } from '@salesforce/kit';
|
|
3
3
|
import { Nullable } from '@salesforce/ts-types';
|
|
4
4
|
import { ComponentSet, DeployResult, MetadataApiDeploy, RequestStatus } from '@salesforce/source-deploy-retrieve';
|
|
5
5
|
import { SourceTracking } from '@salesforce/source-tracking';
|
|
6
6
|
import { API, PathInfo, TestLevel } from './types';
|
|
7
|
-
export declare const cacheMessages: Messages<
|
|
7
|
+
export declare const cacheMessages: Messages<string>;
|
|
8
8
|
export type DeployOptions = {
|
|
9
9
|
api: API;
|
|
10
10
|
'target-org': string;
|
|
@@ -25,14 +25,18 @@ export type DeployOptions = {
|
|
|
25
25
|
concise?: boolean;
|
|
26
26
|
'single-package'?: boolean;
|
|
27
27
|
status?: RequestStatus;
|
|
28
|
+
'pre-destructive-changes'?: string;
|
|
29
|
+
'post-destructive-changes'?: string;
|
|
30
|
+
'purge-on-delete'?: boolean;
|
|
28
31
|
};
|
|
29
|
-
|
|
32
|
+
/** Manifest is expected. You cannot pass metadata and source-dir array--use those to get a manifest */
|
|
33
|
+
export type CachedOptions = Omit<DeployOptions, 'wait' | 'metadata' | 'source-dir'> & {
|
|
30
34
|
wait: number;
|
|
31
|
-
}
|
|
35
|
+
} & Partial<Pick<DeployOptions, 'manifest'>>;
|
|
32
36
|
export declare function validateTests(testLevel: TestLevel, tests: Nullable<string[]>): boolean;
|
|
33
|
-
export declare function resolveApi(): Promise<API>;
|
|
37
|
+
export declare function resolveApi(existingConfigAggregator?: ConfigAggregator): Promise<API>;
|
|
34
38
|
export declare function buildComponentSet(opts: Partial<DeployOptions>, stl?: SourceTracking): Promise<ComponentSet>;
|
|
35
|
-
export declare function executeDeploy(opts: Partial<DeployOptions>, project?: SfProject, id?: string): Promise<{
|
|
39
|
+
export declare function executeDeploy(opts: Partial<DeployOptions>, bin?: string, project?: SfProject, id?: string): Promise<{
|
|
36
40
|
deploy: MetadataApiDeploy;
|
|
37
41
|
componentSet?: ComponentSet;
|
|
38
42
|
}>;
|
package/lib/utils/deploy.js
CHANGED
|
@@ -16,23 +16,16 @@ const project_1 = require("./project");
|
|
|
16
16
|
const types_1 = require("./types");
|
|
17
17
|
const errorCodes_1 = require("./errorCodes");
|
|
18
18
|
const deployCache_1 = require("./deployCache");
|
|
19
|
+
const manifestCache_1 = require("./manifestCache");
|
|
19
20
|
core_1.Messages.importMessagesDirectory(__dirname);
|
|
20
|
-
exports.cacheMessages = core_1.Messages.
|
|
21
|
-
|
|
22
|
-
'error.InvalidJobId',
|
|
23
|
-
]);
|
|
24
|
-
const deployMessages = core_1.Messages.load('@salesforce/plugin-deploy-retrieve', 'deploy.metadata', [
|
|
25
|
-
'error.nothingToDeploy',
|
|
26
|
-
'error.nothingToDeploy.Actions',
|
|
27
|
-
]);
|
|
21
|
+
exports.cacheMessages = core_1.Messages.loadMessages('@salesforce/plugin-deploy-retrieve', 'cache');
|
|
22
|
+
const deployMessages = core_1.Messages.loadMessages('@salesforce/plugin-deploy-retrieve', 'deploy.metadata');
|
|
28
23
|
function validateTests(testLevel, tests) {
|
|
29
|
-
|
|
30
|
-
return false;
|
|
31
|
-
return true;
|
|
24
|
+
return !(testLevel === types_1.TestLevel.RunSpecifiedTests && (tests ?? []).length === 0);
|
|
32
25
|
}
|
|
33
26
|
exports.validateTests = validateTests;
|
|
34
|
-
async function resolveApi() {
|
|
35
|
-
const agg = await core_1.ConfigAggregator.create({ customConfigMeta: configMeta_1.default });
|
|
27
|
+
async function resolveApi(existingConfigAggregator) {
|
|
28
|
+
const agg = existingConfigAggregator ?? (await core_1.ConfigAggregator.create({ customConfigMeta: configMeta_1.default }));
|
|
36
29
|
const restDeployConfig = agg.getInfo(configMeta_1.ConfigVars.ORG_METADATA_REST_DEPLOY)?.value;
|
|
37
30
|
return restDeployConfig === 'true' ? types_1.API.REST : types_1.API.SOAP;
|
|
38
31
|
}
|
|
@@ -60,6 +53,8 @@ async function buildComponentSet(opts, stl) {
|
|
|
60
53
|
manifest: {
|
|
61
54
|
manifestPath: opts.manifest,
|
|
62
55
|
directoryPaths: await (0, project_1.getPackageDirs)(),
|
|
56
|
+
destructiveChangesPre: opts['pre-destructive-changes'],
|
|
57
|
+
destructiveChangesPost: opts['post-destructive-changes'],
|
|
63
58
|
},
|
|
64
59
|
}
|
|
65
60
|
: {}),
|
|
@@ -67,7 +62,7 @@ async function buildComponentSet(opts, stl) {
|
|
|
67
62
|
});
|
|
68
63
|
}
|
|
69
64
|
exports.buildComponentSet = buildComponentSet;
|
|
70
|
-
async function executeDeploy(opts, project, id) {
|
|
65
|
+
async function executeDeploy(opts, bin = 'sf', project, id) {
|
|
71
66
|
project ?? (project = await core_1.SfProject.resolve());
|
|
72
67
|
const apiOptions = {
|
|
73
68
|
checkOnly: opts['dry-run'] ?? false,
|
|
@@ -76,19 +71,12 @@ async function executeDeploy(opts, project, id) {
|
|
|
76
71
|
rollbackOnError: !opts['ignore-errors'] || false,
|
|
77
72
|
runTests: opts.tests ?? [],
|
|
78
73
|
testLevel: opts['test-level'],
|
|
74
|
+
purgeOnDelete: opts['purge-on-delete'] ?? false,
|
|
79
75
|
};
|
|
80
76
|
let deploy;
|
|
81
77
|
let componentSet;
|
|
82
78
|
const org = await core_1.Org.create({ aliasOrUsername: opts['target-org'] });
|
|
83
79
|
const usernameOrConnection = org.getConnection();
|
|
84
|
-
// instantiate source tracking
|
|
85
|
-
// stl will decide, based on the org's properties, what needs to be done
|
|
86
|
-
const stl = await source_tracking_1.SourceTracking.create({
|
|
87
|
-
org,
|
|
88
|
-
project,
|
|
89
|
-
subscribeSDREvents: true,
|
|
90
|
-
ignoreConflicts: opts['ignore-conflicts'],
|
|
91
|
-
});
|
|
92
80
|
if (opts['metadata-dir']) {
|
|
93
81
|
if (id) {
|
|
94
82
|
deploy = new source_deploy_retrieve_1.MetadataApiDeploy({ id, usernameOrConnection });
|
|
@@ -104,9 +92,17 @@ async function executeDeploy(opts, project, id) {
|
|
|
104
92
|
}
|
|
105
93
|
}
|
|
106
94
|
else {
|
|
95
|
+
// instantiate source tracking
|
|
96
|
+
// stl will decide, based on the org's properties, what needs to be done
|
|
97
|
+
const stl = await source_tracking_1.SourceTracking.create({
|
|
98
|
+
org,
|
|
99
|
+
project,
|
|
100
|
+
subscribeSDREvents: true,
|
|
101
|
+
ignoreConflicts: opts['ignore-conflicts'],
|
|
102
|
+
});
|
|
107
103
|
componentSet = await buildComponentSet(opts, stl);
|
|
108
104
|
if (componentSet.size === 0) {
|
|
109
|
-
throw new core_1.SfError(deployMessages.getMessage('error.nothingToDeploy'), 'NothingToDeploy', deployMessages.getMessages('error.nothingToDeploy.Actions'));
|
|
105
|
+
throw new core_1.SfError(deployMessages.getMessage('error.nothingToDeploy'), 'NothingToDeploy', deployMessages.getMessages('error.nothingToDeploy.Actions', [bin]));
|
|
110
106
|
}
|
|
111
107
|
deploy = id
|
|
112
108
|
? new source_deploy_retrieve_1.MetadataApiDeploy({ id, usernameOrConnection, components: componentSet })
|
|
@@ -114,9 +110,10 @@ async function executeDeploy(opts, project, id) {
|
|
|
114
110
|
usernameOrConnection,
|
|
115
111
|
apiOptions,
|
|
116
112
|
});
|
|
117
|
-
await deployCache_1.DeployCache.set(deploy.id, { ...opts, wait: opts.wait?.minutes ?? 33 });
|
|
118
113
|
}
|
|
119
|
-
|
|
114
|
+
// does not apply to mdapi deploys
|
|
115
|
+
const manifestPath = componentSet ? await (0, manifestCache_1.writeManifest)(deploy.id, componentSet) : undefined;
|
|
116
|
+
await deployCache_1.DeployCache.set(deploy.id, { ...opts, manifest: manifestPath });
|
|
120
117
|
return { deploy, componentSet };
|
|
121
118
|
}
|
|
122
119
|
exports.executeDeploy = executeDeploy;
|
|
@@ -125,7 +122,7 @@ async function cancelDeploy(opts, id) {
|
|
|
125
122
|
const usernameOrConnection = org.getUsername() ?? org.getConnection();
|
|
126
123
|
const deploy = new source_deploy_retrieve_1.MetadataApiDeploy({ usernameOrConnection, id });
|
|
127
124
|
const componentSet = await buildComponentSet({ ...opts });
|
|
128
|
-
await deployCache_1.DeployCache.set(deploy.id, { ...opts
|
|
125
|
+
await deployCache_1.DeployCache.set(deploy.id, { ...opts });
|
|
129
126
|
await deploy.cancel();
|
|
130
127
|
return poll(org, deploy.id, opts.wait ?? kit_1.Duration.minutes(33), componentSet);
|
|
131
128
|
}
|
package/lib/utils/deploy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/utils/deploy.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,2CAAoH;AACpH,yCAA2C;AAE3C,+EAO4C;AAC5C,iEAA6D;AAC7D,8CAAuD;AACvD,uCAAgE;AAChE,mCAAmD;AACnD,6CAAmD;AACnD,+CAA4C;AAC5C,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC/B,QAAA,aAAa,GAAG,eAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/utils/deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import { TTLConfig } from '@salesforce/core';
|
|
2
2
|
import { JsonMap } from '@salesforce/ts-types';
|
|
3
|
-
import { CachedOptions } from './deploy';
|
|
3
|
+
import { DeployOptions, CachedOptions } from './deploy';
|
|
4
4
|
export declare class DeployCache extends TTLConfig<TTLConfig.Options, CachedOptions> {
|
|
5
5
|
static getFileName(): string;
|
|
6
6
|
static getDefaultOptions(): TTLConfig.Options;
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
* @param key jobId
|
|
10
|
+
* @param value a DeployOptions object (wait is a duration, can use non-manifest options)
|
|
11
|
+
* @param manifestFilePath the path to the manifest file generated by the deploy
|
|
12
|
+
*/
|
|
13
|
+
static set(key: string, value: Partial<DeployOptions>): Promise<void>;
|
|
8
14
|
static unset(key: string): Promise<void>;
|
|
9
15
|
static update(key: string, obj: JsonMap): Promise<void>;
|
|
10
16
|
resolveLatest(useMostRecent: boolean, key: string | undefined, throwOnNotFound?: boolean): string;
|
package/lib/utils/deployCache.js
CHANGED
|
@@ -10,6 +10,7 @@ exports.DeployCache = void 0;
|
|
|
10
10
|
const core_1 = require("@salesforce/core");
|
|
11
11
|
const kit_1 = require("@salesforce/kit");
|
|
12
12
|
const deploy_1 = require("./deploy");
|
|
13
|
+
const manifestCache_1 = require("./manifestCache");
|
|
13
14
|
class DeployCache extends core_1.TTLConfig {
|
|
14
15
|
static getFileName() {
|
|
15
16
|
return 'deploy-cache.json';
|
|
@@ -23,15 +24,23 @@ class DeployCache extends core_1.TTLConfig {
|
|
|
23
24
|
ttl: kit_1.Duration.days(3),
|
|
24
25
|
};
|
|
25
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
*
|
|
29
|
+
* @param key jobId
|
|
30
|
+
* @param value a DeployOptions object (wait is a duration, can use non-manifest options)
|
|
31
|
+
* @param manifestFilePath the path to the manifest file generated by the deploy
|
|
32
|
+
*/
|
|
26
33
|
static async set(key, value) {
|
|
27
34
|
const cache = await DeployCache.create();
|
|
28
|
-
cache
|
|
35
|
+
// remove properties we won't cache
|
|
36
|
+
const { 'metadata-dir': mdDir, 'source-dir': sourceDir, wait, ...cleanValue } = value;
|
|
37
|
+
cache.set(key, { ...cleanValue, wait: wait?.minutes ?? 33 });
|
|
29
38
|
await cache.write();
|
|
30
39
|
}
|
|
31
40
|
static async unset(key) {
|
|
32
41
|
const cache = await DeployCache.create();
|
|
33
42
|
cache.unset(key);
|
|
34
|
-
await cache.write();
|
|
43
|
+
await Promise.all([cache.write(), (0, manifestCache_1.maybeDestroyManifest)(key)]);
|
|
35
44
|
}
|
|
36
45
|
static async update(key, obj) {
|
|
37
46
|
const cache = await DeployCache.create();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployCache.js","sourceRoot":"","sources":["../../src/utils/deployCache.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,2CAAqD;AACrD,yCAA2C;AAE3C,
|
|
1
|
+
{"version":3,"file":"deployCache.js","sourceRoot":"","sources":["../../src/utils/deployCache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import { RequestStatus } from '@salesforce/source-deploy-retrieve';
|
|
2
2
|
export declare const DEPLOY_STATUS_CODES: Map<RequestStatus, number>;
|
|
3
|
-
export declare const DEPLOY_STATUS_CODES_DESCRIPTIONS: {
|
|
3
|
+
export declare const DEPLOY_STATUS_CODES_DESCRIPTIONS: {
|
|
4
|
+
[k: string]: string;
|
|
5
|
+
};
|
package/lib/utils/errorCodes.js
CHANGED
|
@@ -20,8 +20,8 @@ exports.DEPLOY_STATUS_CODES = new Map([
|
|
|
20
20
|
[source_deploy_retrieve_1.RequestStatus.Pending, 69],
|
|
21
21
|
[source_deploy_retrieve_1.RequestStatus.Canceling, 69],
|
|
22
22
|
]);
|
|
23
|
-
exports.DEPLOY_STATUS_CODES_DESCRIPTIONS =
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
exports.DEPLOY_STATUS_CODES_DESCRIPTIONS = Object.fromEntries(Array.from(exports.DEPLOY_STATUS_CODES).map(([status, code]) => [
|
|
24
|
+
`${status} (${code})`,
|
|
25
|
+
messages.getMessage(`errorCode.deploy.${status}`),
|
|
26
|
+
]));
|
|
27
27
|
//# sourceMappingURL=errorCodes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errorCodes.js","sourceRoot":"","sources":["../../src/utils/errorCodes.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,2CAA4C;AAC5C,+EAAmE;AAEnE,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,oCAAoC,EAAE,YAAY,CAAC,CAAC;AAE9E,QAAA,mBAAmB,GAAG,IAAI,GAAG,CAAwB;IAChE,CAAC,sCAAa,CAAC,SAAS,EAAE,CAAC,CAAC;IAC5B,CAAC,sCAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3B,CAAC,sCAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IACzB,CAAC,sCAAa,CAAC,gBAAgB,EAAE,EAAE,CAAC;IACpC,CAAC,sCAAa,CAAC,UAAU,EAAE,EAAE,CAAC;IAC9B,CAAC,sCAAa,CAAC,OAAO,EAAE,EAAE,CAAC;IAC3B,CAAC,sCAAa,CAAC,SAAS,EAAE,EAAE,CAAC;CAC9B,CAAC,CAAC;AAEU,QAAA,gCAAgC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"errorCodes.js","sourceRoot":"","sources":["../../src/utils/errorCodes.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,2CAA4C;AAC5C,+EAAmE;AAEnE,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,oCAAoC,EAAE,YAAY,CAAC,CAAC;AAE9E,QAAA,mBAAmB,GAAG,IAAI,GAAG,CAAwB;IAChE,CAAC,sCAAa,CAAC,SAAS,EAAE,CAAC,CAAC;IAC5B,CAAC,sCAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3B,CAAC,sCAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IACzB,CAAC,sCAAa,CAAC,gBAAgB,EAAE,EAAE,CAAC;IACpC,CAAC,sCAAa,CAAC,UAAU,EAAE,EAAE,CAAC;IAC9B,CAAC,sCAAa,CAAC,OAAO,EAAE,EAAE,CAAC;IAC3B,CAAC,sCAAa,CAAC,SAAS,EAAE,EAAE,CAAC;CAC9B,CAAC,CAAC;AAEU,QAAA,gCAAgC,GAAG,MAAM,CAAC,WAAW,CAChE,KAAK,CAAC,IAAI,CAAC,2BAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;IACtD,GAAG,MAAM,KAAK,IAAI,GAAG;IACrB,QAAQ,CAAC,UAAU,CAAC,oBAAoB,MAAM,EAAE,CAAC;CAClD,CAAC,CACH,CAAC"}
|