@salesforce/plugin-deploy-retrieve 1.8.4 → 1.8.5-beta.2
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 +173 -0
- package/lib/commands/project/convert/mdapi.js.map +1 -0
- package/lib/commands/project/convert/source.d.ts +29 -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 +423 -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 -0
- package/lib/commands/{deploy/metadata → project/deploy}/cancel.js +13 -3
- package/lib/commands/project/deploy/cancel.js.map +1 -0
- package/lib/commands/{deploy/metadata → project/deploy}/preview.d.ts +3 -0
- package/lib/commands/{deploy/metadata → project/deploy}/preview.js +9 -3
- package/lib/commands/project/deploy/preview.js.map +1 -0
- package/lib/commands/{deploy/metadata → project/deploy}/quick.d.ts +3 -0
- package/lib/commands/{deploy/metadata → project/deploy}/quick.js +10 -4
- package/lib/commands/project/deploy/quick.js.map +1 -0
- package/lib/commands/project/deploy/report.d.ts +22 -0
- package/lib/commands/{deploy/metadata → project/deploy}/report.js +25 -4
- package/lib/commands/project/deploy/report.js.map +1 -0
- package/lib/commands/{deploy/metadata → project/deploy}/resume.d.ts +5 -0
- package/lib/commands/{deploy/metadata → project/deploy}/resume.js +17 -2
- package/lib/commands/project/deploy/resume.js.map +1 -0
- package/lib/commands/{deploy/metadata.d.ts → project/deploy/start.d.ts} +10 -2
- package/lib/commands/{deploy/metadata.js → project/deploy/start.js} +40 -11
- package/lib/commands/project/deploy/start.js.map +1 -0
- package/lib/commands/{deploy/metadata → project/deploy}/validate.d.ts +2 -0
- package/lib/commands/{deploy/metadata → project/deploy}/validate.js +4 -4
- package/lib/commands/project/deploy/validate.js.map +1 -0
- package/lib/commands/project/manifest/create.d.ts +26 -0
- package/lib/commands/project/manifest/create.js +133 -0
- package/lib/commands/project/manifest/create.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 -0
- package/lib/commands/{retrieve/metadata → project/retrieve}/preview.js +2 -0
- package/lib/commands/project/retrieve/preview.js.map +1 -0
- package/lib/commands/{retrieve/metadata.d.ts → project/retrieve/start.d.ts} +3 -1
- package/lib/commands/{retrieve/metadata.js → project/retrieve/start.js} +8 -6
- package/lib/commands/project/retrieve/start.js.map +1 -0
- package/lib/utils/coverage.d.ts +9 -0
- package/lib/utils/coverage.js +111 -0
- package/lib/utils/coverage.js.map +1 -0
- package/lib/utils/deploy.d.ts +9 -5
- package/lib/utils/deploy.js +21 -24
- 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/flags.js +1 -5
- package/lib/utils/flags.js.map +1 -1
- package/lib/utils/manifestCache.d.ts +5 -0
- package/lib/utils/manifestCache.js +38 -0
- package/lib/utils/manifestCache.js.map +1 -0
- package/lib/utils/metadataDeployer.js +1 -0
- package/lib/utils/metadataDeployer.js.map +1 -1
- package/lib/utils/output.d.ts +44 -4
- package/lib/utils/output.js +220 -38
- package/lib/utils/output.js.map +1 -1
- package/lib/utils/previewOutput.d.ts +2 -1
- package/lib/utils/previewOutput.js +14 -22
- package/lib/utils/previewOutput.js.map +1 -1
- package/lib/utils/types.d.ts +35 -0
- package/lib/utils/types.js +3 -1
- package/lib/utils/types.js.map +1 -1
- package/messages/convert.mdapi.md +78 -0
- package/messages/convert.source.md +64 -0
- package/messages/delete.source.md +122 -0
- package/messages/delete.tracking.md +34 -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 +33 -5
- package/messages/deploy.metadata.preview.md +7 -3
- package/messages/deploy.metadata.quick.md +11 -3
- package/messages/deploy.metadata.report.md +24 -4
- package/messages/deploy.metadata.resume.md +17 -5
- package/messages/deploy.metadata.validate.md +9 -5
- package/messages/manifest.create.md +61 -0
- package/messages/retrieve.metadata.md +1 -1
- package/messages/retrieve.metadata.preview.md +3 -3
- package/oclif.manifest.json +1673 -665
- package/package.json +45 -32
- 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-manifest-create.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.d.ts +0 -14
- 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
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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"}
|
package/lib/utils/flags.js
CHANGED
|
@@ -13,11 +13,7 @@ const core_1 = require("@oclif/core");
|
|
|
13
13
|
const core_2 = require("@salesforce/core");
|
|
14
14
|
const types_1 = require("./types");
|
|
15
15
|
core_2.Messages.importMessagesDirectory(__dirname);
|
|
16
|
-
const messages = core_2.Messages.
|
|
17
|
-
'error.InvalidFlagPath',
|
|
18
|
-
'error.ExpectedDirectory',
|
|
19
|
-
'error.ExpectedFileOrDirToExist',
|
|
20
|
-
]);
|
|
16
|
+
const messages = core_2.Messages.loadMessages('@salesforce/plugin-deploy-retrieve', 'validation');
|
|
21
17
|
const parsePathInfo = async (input, opts) => {
|
|
22
18
|
if (opts.exists && !fs.existsSync(input)) {
|
|
23
19
|
throw messages.createError('error.InvalidFlagPath', [input, messages.getMessage('error.ExpectedFileOrDirToExist')]);
|
package/lib/utils/flags.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flags.js","sourceRoot":"","sources":["../../src/utils/flags.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,yBAAyB;AACzB,+BAAwC;AACxC,sCAAoC;AACpC,2CAA4C;AAC5C,mCAA8C;AAE9C,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"flags.js","sourceRoot":"","sources":["../../src/utils/flags.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ComponentSet } from '@salesforce/source-deploy-retrieve';
|
|
2
|
+
/** Give it a jobId, ComponentSet it will write the manifest file
|
|
3
|
+
* returns the file path it wrote to */
|
|
4
|
+
export declare const writeManifest: (jobId: string, componentSet: ComponentSet) => Promise<string>;
|
|
5
|
+
export declare const maybeDestroyManifest: (jobId: string) => Promise<void>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.maybeDestroyManifest = exports.writeManifest = 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 os_1 = require("os");
|
|
12
|
+
const fs = require("fs");
|
|
13
|
+
const core_1 = require("@salesforce/core");
|
|
14
|
+
const MANIFEST_CACHE_DIR = 'manifestCache';
|
|
15
|
+
/** Give it a jobId, ComponentSet it will write the manifest file
|
|
16
|
+
* returns the file path it wrote to */
|
|
17
|
+
const writeManifest = async (jobId, componentSet) => {
|
|
18
|
+
// when we write a manifest, we will omit the CustomLabels component since it's redundant with the individual labels.
|
|
19
|
+
// this makes the use of the manifest in report/resume/etc accurate in certain mpd scenarios where it would otherwise pull in ALL labels from every dir
|
|
20
|
+
// regardless of whether they were actually deployed
|
|
21
|
+
const xml = await componentSet.filter((c) => c.type.name !== 'CustomLabels').getPackageXml();
|
|
22
|
+
const filePath = getManifestFilePath(jobId);
|
|
23
|
+
await fs.promises.mkdir(path.dirname(filePath), { recursive: true });
|
|
24
|
+
await fs.promises.writeFile(filePath, xml);
|
|
25
|
+
return filePath;
|
|
26
|
+
};
|
|
27
|
+
exports.writeManifest = writeManifest;
|
|
28
|
+
const maybeDestroyManifest = async (jobId) => {
|
|
29
|
+
try {
|
|
30
|
+
return await fs.promises.rm(getManifestFilePath(jobId));
|
|
31
|
+
}
|
|
32
|
+
catch (e) {
|
|
33
|
+
// that's ok in a maybe
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
exports.maybeDestroyManifest = maybeDestroyManifest;
|
|
37
|
+
const getManifestFilePath = (jobId) => path.join((0, os_1.homedir)(), core_1.Global.SF_STATE_FOLDER, MANIFEST_CACHE_DIR, `${jobId}.xml`);
|
|
38
|
+
//# sourceMappingURL=manifestCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifestCache.js","sourceRoot":"","sources":["../../src/utils/manifestCache.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,6BAA6B;AAC7B,2BAA6B;AAC7B,yBAAyB;AAEzB,2CAA0C;AAE1C,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAE3C;uCACuC;AAChC,MAAM,aAAa,GAAG,KAAK,EAAE,KAAa,EAAE,YAA0B,EAAmB,EAAE;IAChG,qHAAqH;IACrH,uJAAuJ;IACvJ,oDAAoD;IACpD,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,aAAa,EAAE,CAAC;IAC7F,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC3C,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AATW,QAAA,aAAa,iBASxB;AAEK,MAAM,oBAAoB,GAAG,KAAK,EAAE,KAAa,EAAiB,EAAE;IACzE,IAAI;QACF,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;KACzD;IAAC,OAAO,CAAC,EAAE;QACV,uBAAuB;KACxB;AACH,CAAC,CAAC;AANW,QAAA,oBAAoB,wBAM/B;AAEF,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAU,EAAE,CACpD,IAAI,CAAC,IAAI,CAAC,IAAA,YAAO,GAAE,EAAE,aAAM,CAAC,eAAe,EAAE,kBAAkB,EAAE,GAAG,KAAK,MAAM,CAAC,CAAC"}
|
|
@@ -111,6 +111,7 @@ class MetadataDeployer extends sf_plugins_core_1.Deployer {
|
|
|
111
111
|
'test-level': this.testLevel,
|
|
112
112
|
verbose: false,
|
|
113
113
|
concise: false,
|
|
114
|
+
'target-org': await core_1.Org.create({ aliasOrUsername: this.username }),
|
|
114
115
|
});
|
|
115
116
|
formatter.display();
|
|
116
117
|
const deployerResult = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadataDeployer.js","sourceRoot":"","sources":["../../src/utils/metadataDeployer.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;AACH,2CAA2C;;;AAE3C,2BAAyB;AACzB,iCAAkC;AAClC,yCAA2C;AAC3C,
|
|
1
|
+
{"version":3,"file":"metadataDeployer.js","sourceRoot":"","sources":["../../src/utils/metadataDeployer.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;AACH,2CAA2C;;;AAE3C,2BAAyB;AACzB,iCAAkC;AAClC,yCAA2C;AAC3C,2CAS0B;AAC1B,iEAAyG;AAEzG,qCAAiD;AACjD,mCAAoC;AACpC,+CAA+C;AAC/C,qCAAwE;AAExE,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,oCAAoC,EAAE,QAAQ,CAAC,CAAC;AAIvF,MAAM,WAAW,GAAG,CAAC,CAAuB,EAAE,CAAuB,EAAU,EAAE;IAC/E,iCAAiC;IACjC,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE;QACrC,gDAAgD;QAChD,OAAO,CAAC,CAAC,CAAC;KACX;SAAM;QACL,8CAA8C;QAC9C,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,EAAE;YACpC,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACzC,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACzC,OAAO,UAAU,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;SACpD;QACD,mDAAmD;QACnD,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;YAChD,OAAO,CAAC,CAAC,CAAC;SACX;QACD,8DAA8D;QAC9D,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;YACf,OAAO,CAAC,CAAC;SACV;KACF;IACD,kDAAkD;IAClD,OAAO,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC,CAAC;AAQF,MAAa,iBAAkB,SAAQ,4BAAU;IAC/C,YAA0B,GAAoB,EAAU,MAAgB;QACtE,KAAK,EAAE,CAAC;QADgB,QAAG,GAAH,GAAG,CAAiB;QAAU,WAAM,GAAN,MAAM,CAAU;IAExE,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IACvB,CAAC;IAEM,OAAO;QACZ,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IACvB,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AApBD,8CAoBC;AAED,MAAa,gBAAiB,SAAQ,0BAAQ;IAO5C,YAA2B,QAA2B;QACpD,KAAK,EAAE,CAAC;QADiB,aAAQ,GAAR,QAAQ,CAAmB;QAH9C,cAAS,GAAc,iBAAS,CAAC,SAAS,CAAC;QAKjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAClF,CAAC;IAEM,OAAO;QACZ,OAAO,gBAAgB,CAAC,IAAI,CAAC;IAC/B,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,KAAqB,EAAE,OAA8B;QACtE,IAAI,KAAK,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACjD,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAChD;aAAM;YACL,IAAI,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE;gBAC/B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;gBAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACnF,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;aAClC;YACD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;YACxE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;SACtE;QAED,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAC/C,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,MAAM;QACjB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5E,MAAM,GAAG,GAAG,MAAM,IAAA,mBAAU,GAAE,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,GAAG,QAAG,aAAa,IAAI,OAAO,IAAI,CAAC,QAAQ,UAAU,GAAG,MAAM,CAAC,CAAC;QAEzE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,sBAAa,EAAC;YACrC,YAAY,EAAE,IAAI,CAAC,QAAQ;YAC3B,YAAY,EAAE,WAAW;YACzB,YAAY,EAAE,IAAI,CAAC,SAAS;YAC5B,GAAG;SACJ,CAAC,CAAC;QAEH,IAAI,4BAAc,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QAEnC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,cAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QAE1E,MAAM,SAAS,GAAG,IAAI,8BAAqB,CAAC,MAAM,EAAE;YAClD,YAAY,EAAE,IAAI,CAAC,SAAS;YAC5B,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,MAAM,UAAG,CAAC,MAAM,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;SACnE,CAAC,CAAC;QACH,SAAS,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,cAAc,GAAmB;YACrC,QAAQ,EAAE,IAAA,0BAAiB,EAAC,MAAM,CAAC;SACpC,CAAC;QACF,OAAO,cAAmB,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,iBAAiB;QAC5B,MAAM,eAAe,GAAG,uBAAgB,CAAC,QAAQ,CAAC,0BAAmB,CAAC,UAAU,CAAC,EAAE,KAAe,CAAC;QACnG,MAAM,eAAe,GAAG,MAAM,sBAAe,CAAC,WAAW,EAAE,CAAC;QAC5D,MAAM,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpD,IAAI,aAA2C,CAAC;QAChD,wDAAwD;QACxD,IAAI,eAAe,EAAE;YACnB,aAAa,GAAG,CACd,MAAM,eAAQ,CAAC,qBAAqB,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,eAAe,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,eAAe,CAAC,CAAC,IAAI,KAAK,CAC1G,CACF,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YACjB,IAAI,aAAa,EAAE;gBACjB,IAAI,aAAa,EAAE,SAAS,EAAE;oBAC5B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CAAwB;wBAC9D;4BACE,IAAI,EAAE,UAAU;4BAChB,IAAI,EAAE,SAAS;4BACf,OAAO,EAAE,IAAA,WAAG,EAAC,QAAQ,CAAC,UAAU,CAAC,4BAA4B,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;yBACnF;qBACF,CAAC,CAAC;oBACH,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;wBAC5B,MAAM,QAAQ,CAAC,WAAW,CAAC,yCAAyC,CAAC,CAAC;qBACvE;iBACF;qBAAM;oBACL,OAAO,eAAe,CAAC,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;iBACjE;aACF;SACF;QAED,IAAI,CAAC,eAAe,IAAI,aAAa,EAAE,SAAS,EAAE;YAChD,MAAM,QAAQ,GAAG,CACf,MAAM,eAAQ,CAAC,qBAAqB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC,CAChG,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBACtB,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;gBAC7D,OAAO,EAAE,GAAG,OAAO,EAAE,SAAS,EAA0B,CAAC;YAC3D,CAAC,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7B,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACrD,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBACzC,IAAI,EAAE,IAAI,CAAC,QAAQ;oBACnB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;yBAChC,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,EAAE,EAAE,CAAC,eAAe,KAAK,IAAI,CAAC,QAAQ,CAAC;yBAClE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC;yBACvB,IAAI,CAAC,IAAI,CAAC;oBACb,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;oBAC9C,KAAK,EAAE,IAAI,CAAC,QAAQ;iBACrB,CAAC,CAAC,CAAC;gBACJ,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;gBACjF,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAuB;oBAC3D;wBACE,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,uCAAuC;wBAChD,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,IAAA,sCAAoB,EAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC;qBACvD;iBACF,CAAC,CAAC;gBACH,IAAI,aAAa,EAAE,SAAS,EAAE;oBAC5B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAoB;wBACxD;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,SAAS;4BACf,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,CAAC;yBAC5D;qBACF,CAAC,CAAC;oBACH,IAAI,YAAY,CAAC,IAAI,EAAE;wBACrB,MAAM,QAAQ,GAAG,MAAM,eAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;wBACrD,MAAM,QAAQ,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;qBAC5C;iBACF;gBACD,OAAO,QAAQ,CAAC;aACjB;iBAAM;gBACL,MAAM,QAAQ,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;aACrD;SACF;QACD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAEM,KAAK,CAAC,kBAAkB;QAC7B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAA2B;YAChE;gBACE,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,8CAA8C;gBACvD,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,KAAK;gBACX,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,iBAAS,CAAC,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE;oBACjF,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,iBAAS,CAAC,aAAa,EAAE,KAAK,EAAE,iBAAiB,EAAE;oBACrF;wBACE,IAAI,EAAE,8BAA8B;wBACpC,KAAK,EAAE,iBAAS,CAAC,gBAAgB;wBACjC,KAAK,EAAE,8BAA8B;qBACtC;iBACF;aACF;SACF,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;;AAzKH,4CA0KC;AAzKe,qBAAI,GAAG,iBAAiB,CAAC"}
|
package/lib/utils/output.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { DeployResult, FileResponse,
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { ComponentSet, ConvertResult, DeployResult, Failures, FileResponse, FileResponseFailure, FileResponseSuccess, RetrieveResult, Successes } from '@salesforce/source-deploy-retrieve';
|
|
2
|
+
import { Org } from '@salesforce/core';
|
|
3
|
+
import { API, AsyncDeployResultJson, ConvertMdapiJson, ConvertResultJson, DeleteSourceJson, DeployResultJson, MetadataRetrieveResultJson, RetrieveResultJson, TestLevel } from './types';
|
|
4
|
+
export declare function asRelativePaths<T extends FileResponse | FileResponseSuccess | FileResponseFailure>(fileResponses: T[]): T[];
|
|
4
5
|
/**
|
|
5
6
|
* Sorts file responds by type, then by filePath, then by fullName
|
|
6
7
|
*/
|
|
7
|
-
export declare function sortFileResponses(fileResponses:
|
|
8
|
+
export declare function sortFileResponses<T extends FileResponse | FileResponseSuccess | FileResponseFailure>(fileResponses: T[]): T[];
|
|
8
9
|
export declare function sortTestResults(results?: Failures[] | Successes[]): Failures[] | Successes[];
|
|
9
10
|
export declare function getVersionMessage(action: string, componentSet: ComponentSet | undefined, api: API): string;
|
|
10
11
|
interface Formatter<T> {
|
|
@@ -17,18 +18,33 @@ export declare class DeployResultFormatter implements Formatter<DeployResultJson
|
|
|
17
18
|
'test-level': TestLevel;
|
|
18
19
|
verbose: boolean;
|
|
19
20
|
concise: boolean;
|
|
21
|
+
'coverage-formatters': string[];
|
|
22
|
+
junit: boolean;
|
|
23
|
+
'results-dir': string;
|
|
24
|
+
'target-org': Org;
|
|
20
25
|
}>;
|
|
21
26
|
private relativeFiles;
|
|
22
27
|
private absoluteFiles;
|
|
23
28
|
private testLevel;
|
|
24
29
|
private verbosity;
|
|
30
|
+
private coverageOptions;
|
|
31
|
+
private resultsDir;
|
|
32
|
+
private readonly junit;
|
|
25
33
|
constructor(result: DeployResult, flags: Partial<{
|
|
26
34
|
'test-level': TestLevel;
|
|
27
35
|
verbose: boolean;
|
|
28
36
|
concise: boolean;
|
|
37
|
+
'coverage-formatters': string[];
|
|
38
|
+
junit: boolean;
|
|
39
|
+
'results-dir': string;
|
|
40
|
+
'target-org': Org;
|
|
29
41
|
}>);
|
|
30
42
|
getJson(): DeployResultJson;
|
|
31
43
|
display(): void;
|
|
44
|
+
private maybeCreateRequestedReports;
|
|
45
|
+
private createJunitResults;
|
|
46
|
+
private transformDeployTestsResultsToTestResult;
|
|
47
|
+
private createCoverageReport;
|
|
32
48
|
private displayReplacements;
|
|
33
49
|
private displaySuccesses;
|
|
34
50
|
private displayFailures;
|
|
@@ -54,6 +70,19 @@ export declare class DeployCancelResultFormatter implements Formatter<DeployResu
|
|
|
54
70
|
getJson(): DeployResultJson;
|
|
55
71
|
display(): void;
|
|
56
72
|
}
|
|
73
|
+
export declare class SourceConvertResultFormatter implements Formatter<ConvertResultJson> {
|
|
74
|
+
private result;
|
|
75
|
+
constructor(result: ConvertResult);
|
|
76
|
+
getJson(): ConvertResultJson;
|
|
77
|
+
display(): void;
|
|
78
|
+
}
|
|
79
|
+
export declare class MetadataConvertResultFormatter implements Formatter<ConvertMdapiJson> {
|
|
80
|
+
private result;
|
|
81
|
+
private convertResults;
|
|
82
|
+
constructor(result: ConvertResult);
|
|
83
|
+
getJson(): ConvertMdapiJson;
|
|
84
|
+
display(): void;
|
|
85
|
+
}
|
|
57
86
|
export declare class AsyncDeployCancelResultFormatter implements Formatter<AsyncDeployResultJson> {
|
|
58
87
|
private id;
|
|
59
88
|
constructor(id: string);
|
|
@@ -71,6 +100,17 @@ export declare class RetrieveResultFormatter implements Formatter<RetrieveResult
|
|
|
71
100
|
private displayPackages;
|
|
72
101
|
private getPackages;
|
|
73
102
|
}
|
|
103
|
+
export declare class DeleteResultFormatter implements Formatter<DeleteSourceJson> {
|
|
104
|
+
private result;
|
|
105
|
+
constructor(result: DeployResult);
|
|
106
|
+
/**
|
|
107
|
+
* Get the JSON output from the DeployResult.
|
|
108
|
+
*
|
|
109
|
+
* @returns a JSON formatted result matching the provided type.
|
|
110
|
+
*/
|
|
111
|
+
getJson(): DeleteSourceJson;
|
|
112
|
+
display(): void;
|
|
113
|
+
}
|
|
74
114
|
export declare class MetadataRetrieveResultFormatter implements Formatter<MetadataRetrieveResultJson> {
|
|
75
115
|
private result;
|
|
76
116
|
private opts;
|
package/lib/utils/output.js
CHANGED
|
@@ -6,28 +6,25 @@
|
|
|
6
6
|
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.MetadataRetrieveResultFormatter = exports.RetrieveResultFormatter = exports.AsyncDeployCancelResultFormatter = exports.DeployCancelResultFormatter = exports.AsyncDeployResultFormatter = exports.DeployReportResultFormatter = exports.DeployResultFormatter = exports.getVersionMessage = exports.sortTestResults = exports.sortFileResponses = exports.asRelativePaths = void 0;
|
|
9
|
+
exports.MetadataRetrieveResultFormatter = exports.DeleteResultFormatter = exports.RetrieveResultFormatter = exports.AsyncDeployCancelResultFormatter = exports.MetadataConvertResultFormatter = exports.SourceConvertResultFormatter = exports.DeployCancelResultFormatter = exports.AsyncDeployResultFormatter = exports.DeployReportResultFormatter = exports.DeployResultFormatter = exports.getVersionMessage = exports.sortTestResults = exports.sortFileResponses = exports.asRelativePaths = void 0;
|
|
10
10
|
const os = require("os");
|
|
11
11
|
const path = require("path");
|
|
12
|
+
const path_1 = require("path");
|
|
13
|
+
const fs = require("fs");
|
|
12
14
|
const core_1 = require("@oclif/core");
|
|
15
|
+
const chalk = require("chalk");
|
|
13
16
|
const chalk_1 = require("chalk");
|
|
14
17
|
const source_deploy_retrieve_1 = require("@salesforce/source-deploy-retrieve");
|
|
15
18
|
const core_2 = require("@salesforce/core");
|
|
16
19
|
const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
|
|
17
20
|
const kit_1 = require("@salesforce/kit");
|
|
21
|
+
const apex_node_1 = require("@salesforce/apex-node");
|
|
18
22
|
const types_1 = require("./types");
|
|
23
|
+
const coverage_1 = require("./coverage");
|
|
19
24
|
core_2.Messages.importMessagesDirectory(__dirname);
|
|
20
|
-
const deployAsyncMessages = core_2.Messages.
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
'info.AsyncDeployCancel',
|
|
24
|
-
'info.AsyncDeployQueued',
|
|
25
|
-
'info.AsyncDeployCancelQueued',
|
|
26
|
-
]);
|
|
27
|
-
const retrieveMessages = core_2.Messages.load('@salesforce/plugin-deploy-retrieve', 'retrieve.metadata', [
|
|
28
|
-
'info.WroteZipFile',
|
|
29
|
-
'info.ExtractedZipFile',
|
|
30
|
-
]);
|
|
25
|
+
const deployAsyncMessages = core_2.Messages.loadMessages('@salesforce/plugin-deploy-retrieve', 'deploy.async');
|
|
26
|
+
const retrieveMessages = core_2.Messages.loadMessages('@salesforce/plugin-deploy-retrieve', 'retrieve.metadata');
|
|
27
|
+
const convertMessages = core_2.Messages.loadMessages('@salesforce/plugin-deploy-retrieve', 'convert.source');
|
|
31
28
|
function tableHeader(message) {
|
|
32
29
|
return (0, chalk_1.blue)((0, chalk_1.bold)(message));
|
|
33
30
|
}
|
|
@@ -102,6 +99,9 @@ class DeployResultFormatter {
|
|
|
102
99
|
this.relativeFiles = asRelativePaths(this.absoluteFiles);
|
|
103
100
|
this.testLevel = this.flags['test-level'] ?? types_1.TestLevel.NoTestRun;
|
|
104
101
|
this.verbosity = this.determineVerbosity();
|
|
102
|
+
this.resultsDir = this.flags['results-dir'] ?? 'coverage';
|
|
103
|
+
this.coverageOptions = (0, coverage_1.getCoverageFormattersOptions)(this.flags['coverage-formatters']);
|
|
104
|
+
this.junit = this.flags.junit;
|
|
105
105
|
}
|
|
106
106
|
getJson() {
|
|
107
107
|
if (this.verbosity === 'concise') {
|
|
@@ -133,8 +133,87 @@ class DeployResultFormatter {
|
|
|
133
133
|
this.displayFailures();
|
|
134
134
|
this.displayDeletes();
|
|
135
135
|
this.displayTestResults();
|
|
136
|
+
this.maybeCreateRequestedReports();
|
|
136
137
|
this.displayReplacements();
|
|
137
138
|
}
|
|
139
|
+
maybeCreateRequestedReports() {
|
|
140
|
+
// only generate reports if test results are presented
|
|
141
|
+
if (this.result.response?.numberTestsTotal) {
|
|
142
|
+
if (this.coverageOptions) {
|
|
143
|
+
core_1.ux.log(`Code Coverage formats, [${this.flags['coverage-formatters']?.join(', ')}], written to ${this.resultsDir}/`);
|
|
144
|
+
this.createCoverageReport('no-map');
|
|
145
|
+
}
|
|
146
|
+
if (this.junit) {
|
|
147
|
+
core_1.ux.log(`Junit results written to ${this.resultsDir}/junit/junit.xml`);
|
|
148
|
+
this.createJunitResults();
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
createJunitResults() {
|
|
153
|
+
const testResult = this.transformDeployTestsResultsToTestResult();
|
|
154
|
+
if (testResult.summary.testsRan > 0) {
|
|
155
|
+
const jUnitReporter = new apex_node_1.JUnitReporter();
|
|
156
|
+
const junitResults = jUnitReporter.format(testResult);
|
|
157
|
+
const junitReportPath = path.join(this.resultsDir ?? '', 'junit');
|
|
158
|
+
fs.mkdirSync(junitReportPath, { recursive: true });
|
|
159
|
+
fs.writeFileSync(path.join(junitReportPath, 'junit.xml'), junitResults, 'utf8');
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
transformDeployTestsResultsToTestResult() {
|
|
163
|
+
const runTestResult = this.result.response?.details?.runTestResult;
|
|
164
|
+
const numTestsRun = parseInt(runTestResult.numTestsRun, 10);
|
|
165
|
+
const numTestFailures = parseInt(runTestResult.numFailures, 10);
|
|
166
|
+
return {
|
|
167
|
+
summary: {
|
|
168
|
+
commandTimeInMs: 0,
|
|
169
|
+
failRate: ((numTestFailures / numTestsRun) * 100).toFixed(2) + '%',
|
|
170
|
+
failing: numTestFailures,
|
|
171
|
+
hostname: this.flags['target-org']?.getConnection().getConnectionOptions().instanceUrl,
|
|
172
|
+
orgId: this.flags['target-org']?.getConnection().getAuthInfoFields().orgId,
|
|
173
|
+
outcome: '',
|
|
174
|
+
passRate: numTestFailures === 0 ? '100%' : ((1 - numTestFailures / numTestsRun) * 100).toFixed(2) + '%',
|
|
175
|
+
passing: numTestsRun - numTestFailures,
|
|
176
|
+
skipRate: '',
|
|
177
|
+
skipped: 0,
|
|
178
|
+
testExecutionTimeInMs: parseFloat(runTestResult.totalTime),
|
|
179
|
+
testRunId: '',
|
|
180
|
+
testStartTime: new Date().toISOString(),
|
|
181
|
+
testTotalTimeInMs: parseFloat(runTestResult.totalTime),
|
|
182
|
+
testsRan: numTestsRun,
|
|
183
|
+
userId: this.flags['target-org']?.getConnection().getConnectionOptions().userId,
|
|
184
|
+
username: this.flags['target-org']?.getConnection().getUsername(),
|
|
185
|
+
},
|
|
186
|
+
tests: [
|
|
187
|
+
...(0, coverage_1.mapTestResults)((0, kit_1.ensureArray)(runTestResult.successes)),
|
|
188
|
+
...(0, coverage_1.mapTestResults)((0, kit_1.ensureArray)(runTestResult.failures)),
|
|
189
|
+
],
|
|
190
|
+
codecoverage: (0, kit_1.ensureArray)(runTestResult?.codeCoverage).map((cov) => {
|
|
191
|
+
const codeCoverageResult = {};
|
|
192
|
+
codeCoverageResult.apexId = cov.id;
|
|
193
|
+
codeCoverageResult.name = cov.name;
|
|
194
|
+
codeCoverageResult.numLinesUncovered = parseInt(cov.numLocationsNotCovered, 10);
|
|
195
|
+
codeCoverageResult.numLinesCovered = parseInt(cov.numLocations, 10) - codeCoverageResult.numLinesUncovered;
|
|
196
|
+
const [uncoveredLines, coveredLines] = (0, coverage_1.generateCoveredLines)(cov);
|
|
197
|
+
codeCoverageResult.coveredLines = coveredLines;
|
|
198
|
+
codeCoverageResult.uncoveredLines = uncoveredLines;
|
|
199
|
+
const numLocationsNum = parseInt(cov.numLocations, 10);
|
|
200
|
+
const numLocationsNotCovered = parseInt(cov.numLocationsNotCovered, 10);
|
|
201
|
+
codeCoverageResult.percentage =
|
|
202
|
+
numLocationsNum > 0
|
|
203
|
+
? (((numLocationsNum - numLocationsNotCovered) / numLocationsNum) * 100).toFixed() + '%'
|
|
204
|
+
: '';
|
|
205
|
+
return codeCoverageResult;
|
|
206
|
+
}),
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
createCoverageReport(sourceDir) {
|
|
210
|
+
if (this.resultsDir) {
|
|
211
|
+
const apexCoverage = (0, coverage_1.transformCoverageToApexCoverage)((0, kit_1.ensureArray)(this.result.response?.details?.runTestResult?.codeCoverage));
|
|
212
|
+
fs.mkdirSync(this.resultsDir, { recursive: true });
|
|
213
|
+
const coverageReport = new apex_node_1.CoverageReporter(apexCoverage, this.resultsDir, sourceDir, this.coverageOptions);
|
|
214
|
+
coverageReport.generateReports();
|
|
215
|
+
}
|
|
216
|
+
}
|
|
138
217
|
displayReplacements() {
|
|
139
218
|
if (this.verbosity === 'verbose' && this.result.replacements?.size) {
|
|
140
219
|
const replacements = Array.from(this.result.replacements.entries()).flatMap(([filepath, stringsReplaced]) => stringsReplaced.map((replaced) => ({
|
|
@@ -249,7 +328,7 @@ class DeployResultFormatter {
|
|
|
249
328
|
const coverage = codeCoverage.sort((a, b) => (a.name.toUpperCase() > b.name.toUpperCase() ? 1 : -1));
|
|
250
329
|
core_1.ux.log();
|
|
251
330
|
core_1.ux.log(tableHeader('Apex Code Coverage'));
|
|
252
|
-
core_1.ux.table(coverage.map(coverageOutput), {
|
|
331
|
+
core_1.ux.table(coverage.map(coverage_1.coverageOutput), {
|
|
253
332
|
name: { header: 'Name' },
|
|
254
333
|
numLocations: { header: '% Covered' },
|
|
255
334
|
lineNotCovered: { header: 'Uncovered Lines' },
|
|
@@ -284,6 +363,8 @@ class DeployReportResultFormatter extends DeployResultFormatter {
|
|
|
284
363
|
const opts = Object.entries(this.flags).reduce((result, [key, value]) => {
|
|
285
364
|
if (key === 'timestamp')
|
|
286
365
|
return result;
|
|
366
|
+
if (key === 'target-org')
|
|
367
|
+
return result.concat({ key: 'target-org', value: this.flags['target-org']?.getUsername() });
|
|
287
368
|
return result.concat({ key, value });
|
|
288
369
|
}, []);
|
|
289
370
|
core_1.ux.log();
|
|
@@ -325,6 +406,72 @@ class DeployCancelResultFormatter {
|
|
|
325
406
|
}
|
|
326
407
|
}
|
|
327
408
|
exports.DeployCancelResultFormatter = DeployCancelResultFormatter;
|
|
409
|
+
class SourceConvertResultFormatter {
|
|
410
|
+
constructor(result) {
|
|
411
|
+
this.result = result;
|
|
412
|
+
}
|
|
413
|
+
getJson() {
|
|
414
|
+
return {
|
|
415
|
+
location: (0, path_1.resolve)(this.result.packagePath),
|
|
416
|
+
};
|
|
417
|
+
}
|
|
418
|
+
display() {
|
|
419
|
+
if ([0, 69].includes(process.exitCode ?? 0)) {
|
|
420
|
+
core_1.ux.log(convertMessages.getMessage('success', [this.result.packagePath]));
|
|
421
|
+
}
|
|
422
|
+
else {
|
|
423
|
+
throw new core_2.SfError(convertMessages.getMessage('convertFailed'), 'ConvertFailed');
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
exports.SourceConvertResultFormatter = SourceConvertResultFormatter;
|
|
428
|
+
class MetadataConvertResultFormatter {
|
|
429
|
+
constructor(result) {
|
|
430
|
+
this.result = result;
|
|
431
|
+
}
|
|
432
|
+
getJson() {
|
|
433
|
+
this.convertResults = [];
|
|
434
|
+
this.result?.converted?.forEach((component) => {
|
|
435
|
+
if (component.xml) {
|
|
436
|
+
this.convertResults.push({
|
|
437
|
+
fullName: component.fullName,
|
|
438
|
+
type: component.type.name,
|
|
439
|
+
filePath: path.relative('.', component.xml),
|
|
440
|
+
state: 'Add',
|
|
441
|
+
});
|
|
442
|
+
}
|
|
443
|
+
if (component.content) {
|
|
444
|
+
this.convertResults.push({
|
|
445
|
+
fullName: component.fullName,
|
|
446
|
+
type: component.type.name,
|
|
447
|
+
filePath: path.relative('.', component.content),
|
|
448
|
+
state: 'Add',
|
|
449
|
+
});
|
|
450
|
+
}
|
|
451
|
+
});
|
|
452
|
+
return this.convertResults;
|
|
453
|
+
}
|
|
454
|
+
display() {
|
|
455
|
+
const convertData = this.getJson();
|
|
456
|
+
if (convertData?.length) {
|
|
457
|
+
core_1.ux.table(convertData.map((entry) => ({
|
|
458
|
+
state: entry.state,
|
|
459
|
+
fullName: entry.fullName,
|
|
460
|
+
type: entry.type,
|
|
461
|
+
filePath: entry.filePath,
|
|
462
|
+
})), {
|
|
463
|
+
state: { header: 'STATE' },
|
|
464
|
+
fullName: { header: 'FULL NAME' },
|
|
465
|
+
type: { header: 'TYPE' },
|
|
466
|
+
filePath: { header: 'PROJECT PATH' },
|
|
467
|
+
});
|
|
468
|
+
}
|
|
469
|
+
else {
|
|
470
|
+
core_1.ux.log('No metadata found to convert');
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
exports.MetadataConvertResultFormatter = MetadataConvertResultFormatter;
|
|
328
475
|
class AsyncDeployCancelResultFormatter {
|
|
329
476
|
constructor(id) {
|
|
330
477
|
this.id = id;
|
|
@@ -343,7 +490,7 @@ class RetrieveResultFormatter {
|
|
|
343
490
|
constructor(result, packageNames = [], deleteResponses = []) {
|
|
344
491
|
this.result = result;
|
|
345
492
|
this.packageNames = packageNames;
|
|
346
|
-
this.files =
|
|
493
|
+
this.files = (this.result.getFileResponses() ?? []).concat(deleteResponses);
|
|
347
494
|
}
|
|
348
495
|
getJson() {
|
|
349
496
|
const { zipFile, ...responseWithoutZip } = this.result.response;
|
|
@@ -354,7 +501,7 @@ class RetrieveResultFormatter {
|
|
|
354
501
|
await this.displayPackages();
|
|
355
502
|
}
|
|
356
503
|
displaySuccesses() {
|
|
357
|
-
const successes = this.files.filter(types_1.isSdrSuccess);
|
|
504
|
+
const successes = sortFileResponses(asRelativePaths(this.files.filter(types_1.isSdrSuccess)));
|
|
358
505
|
if (!successes.length)
|
|
359
506
|
return;
|
|
360
507
|
const columns = {
|
|
@@ -390,6 +537,64 @@ class RetrieveResultFormatter {
|
|
|
390
537
|
}
|
|
391
538
|
}
|
|
392
539
|
exports.RetrieveResultFormatter = RetrieveResultFormatter;
|
|
540
|
+
class DeleteResultFormatter {
|
|
541
|
+
constructor(result) {
|
|
542
|
+
this.result = result;
|
|
543
|
+
}
|
|
544
|
+
/**
|
|
545
|
+
* Get the JSON output from the DeployResult.
|
|
546
|
+
*
|
|
547
|
+
* @returns a JSON formatted result matching the provided type.
|
|
548
|
+
*/
|
|
549
|
+
getJson() {
|
|
550
|
+
return {
|
|
551
|
+
...this.result.response,
|
|
552
|
+
deletedSource: this.result.getFileResponses() ?? [],
|
|
553
|
+
outboundFiles: [],
|
|
554
|
+
deployedSource: [],
|
|
555
|
+
deletes: [Object.assign({}, this.result?.response)],
|
|
556
|
+
};
|
|
557
|
+
}
|
|
558
|
+
display() {
|
|
559
|
+
if ([0, 69].includes(process.exitCode ?? 0)) {
|
|
560
|
+
const successes = [];
|
|
561
|
+
const fileResponseSuccesses = new Map();
|
|
562
|
+
if (this.result?.getFileResponses()?.length) {
|
|
563
|
+
const fileResponses = [];
|
|
564
|
+
this.result?.getFileResponses().map((f) => {
|
|
565
|
+
fileResponses.push(f);
|
|
566
|
+
fileResponseSuccesses.set(`${f.type}#${f.fullName}`, f);
|
|
567
|
+
});
|
|
568
|
+
sortFileResponses(fileResponses);
|
|
569
|
+
asRelativePaths(fileResponses);
|
|
570
|
+
successes.push(...fileResponses);
|
|
571
|
+
}
|
|
572
|
+
const deployMessages = (0, kit_1.ensureArray)(this.result?.response?.details?.componentSuccesses).filter((item) => !item.fileName.includes('package.xml'));
|
|
573
|
+
if (deployMessages.length >= successes.length) {
|
|
574
|
+
// if there's additional successes in the API response, find the success and add it to the output
|
|
575
|
+
deployMessages.map((deployMessage) => {
|
|
576
|
+
if (!fileResponseSuccesses.has(`${deployMessage.componentType}#${deployMessage.fullName}`)) {
|
|
577
|
+
successes.push(Object.assign(deployMessage, {
|
|
578
|
+
type: deployMessage.componentType,
|
|
579
|
+
}));
|
|
580
|
+
}
|
|
581
|
+
});
|
|
582
|
+
}
|
|
583
|
+
core_1.ux.log('');
|
|
584
|
+
core_1.ux.styledHeader(chalk.blue('Deleted Source'));
|
|
585
|
+
core_1.ux.table(successes.map((entry) => ({
|
|
586
|
+
fullName: entry.fullName,
|
|
587
|
+
type: entry.type,
|
|
588
|
+
filePath: entry.filePath,
|
|
589
|
+
})), {
|
|
590
|
+
fullName: { header: 'FULL NAME' },
|
|
591
|
+
type: { header: 'TYPE' },
|
|
592
|
+
filePath: { header: 'PROJECT PATH' },
|
|
593
|
+
});
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
}
|
|
597
|
+
exports.DeleteResultFormatter = DeleteResultFormatter;
|
|
393
598
|
class MetadataRetrieveResultFormatter {
|
|
394
599
|
constructor(result, opts) {
|
|
395
600
|
this.result = result;
|
|
@@ -413,27 +618,4 @@ class MetadataRetrieveResultFormatter {
|
|
|
413
618
|
}
|
|
414
619
|
exports.MetadataRetrieveResultFormatter = MetadataRetrieveResultFormatter;
|
|
415
620
|
const getFileResponseSuccessProps = (successes) => successes.map((s) => ({ filePath: s.filePath, fullName: s.fullName, type: s.type, state: s.state }));
|
|
416
|
-
const coverageOutput = (cov) => {
|
|
417
|
-
const numLocationsNum = parseInt(cov.numLocations, 10);
|
|
418
|
-
const numLocationsNotCovered = parseInt(cov.numLocationsNotCovered, 10);
|
|
419
|
-
const color = numLocationsNotCovered > 0 ? sf_plugins_core_1.StandardColors.error : sf_plugins_core_1.StandardColors.success;
|
|
420
|
-
let pctCovered = 100;
|
|
421
|
-
const coverageDecimal = parseFloat(((numLocationsNum - numLocationsNotCovered) / numLocationsNum).toFixed(2));
|
|
422
|
-
if (numLocationsNum > 0) {
|
|
423
|
-
pctCovered = coverageDecimal * 100;
|
|
424
|
-
}
|
|
425
|
-
// cov.numLocations = color(`${pctCovered}%`);
|
|
426
|
-
const base = {
|
|
427
|
-
name: cov.name,
|
|
428
|
-
numLocations: color(`${pctCovered}%`),
|
|
429
|
-
};
|
|
430
|
-
if (!cov.locationsNotCovered) {
|
|
431
|
-
return { ...base, lineNotCovered: '' };
|
|
432
|
-
}
|
|
433
|
-
const locations = (0, kit_1.ensureArray)(cov.locationsNotCovered);
|
|
434
|
-
return {
|
|
435
|
-
...base,
|
|
436
|
-
lineNotCovered: locations.map((location) => location.line).join(','),
|
|
437
|
-
};
|
|
438
|
-
};
|
|
439
621
|
//# sourceMappingURL=output.js.map
|