@salesforce/plugin-deploy-retrieve 1.5.2 → 1.5.5
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/CHANGELOG.md +16 -0
- package/README.md +141 -13
- package/lib/commands/deploy/metadata/preview.d.ts +17 -0
- package/lib/commands/deploy/metadata/preview.js +86 -0
- package/lib/commands/deploy/metadata/preview.js.map +1 -0
- package/lib/commands/deploy/metadata/quick.js +2 -3
- package/lib/commands/deploy/metadata/quick.js.map +1 -1
- package/lib/commands/deploy.d.ts +1 -1
- package/lib/commands/deploy.js +20 -12
- package/lib/commands/deploy.js.map +1 -1
- package/lib/commands/retrieve/metadata/preview.d.ts +14 -0
- package/lib/commands/retrieve/metadata/preview.js +63 -0
- package/lib/commands/retrieve/metadata/preview.js.map +1 -0
- package/lib/commands/retrieve/metadata.js +22 -19
- package/lib/commands/retrieve/metadata.js.map +1 -1
- package/lib/utils/deploy.js +17 -17
- package/lib/utils/deploy.js.map +1 -1
- package/lib/utils/metadataDeployer.d.ts +2 -2
- package/lib/utils/metadataDeployer.js +9 -7
- package/lib/utils/metadataDeployer.js.map +1 -1
- package/lib/utils/output.d.ts +1 -1
- package/lib/utils/output.js +19 -30
- package/lib/utils/output.js.map +1 -1
- package/lib/utils/previewOutput.d.ts +30 -0
- package/lib/utils/previewOutput.js +199 -0
- package/lib/utils/previewOutput.js.map +1 -0
- package/lib/utils/progressBar.js +1 -2
- package/lib/utils/progressBar.js.map +1 -1
- package/messages/deploy.md +36 -0
- package/messages/deploy.metadata.md +9 -1
- package/messages/deploy.metadata.preview.md +93 -0
- package/messages/deploy.metadata.validate.md +1 -1
- package/messages/previewMessages.md +39 -0
- package/messages/retrieve.metadata.preview.md +59 -0
- package/oclif.manifest.json +1 -1
- package/package.json +31 -29
- package/schemas/deploy-metadata-preview.json +72 -0
- package/schemas/retrieve-metadata-preview.json +72 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [1.5.5](https://github.com/salesforcecli/plugin-deploy-retrieve/compare/v1.5.4...v1.5.5) (2022-08-23)
|
|
6
|
+
|
|
7
|
+
### [1.5.4](https://github.com/salesforcecli/plugin-deploy-retrieve/compare/v1.5.3...v1.5.4) (2022-08-15)
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
- display deploy errors after deploy complete ([9d82f6f](https://github.com/salesforcecli/plugin-deploy-retrieve/commit/9d82f6f2e93552b1ca71a377c69edf3206267219))
|
|
12
|
+
- properly report failed metadata deploys ([c3a5610](https://github.com/salesforcecli/plugin-deploy-retrieve/commit/c3a5610d523fdaa78865968c5f5610bf18c9086d))
|
|
13
|
+
- report on deployers that fail ([8d2dcfa](https://github.com/salesforcecli/plugin-deploy-retrieve/commit/8d2dcfa6c800c14f0e6a8dbe6000928e0b99f71c))
|
|
14
|
+
|
|
15
|
+
### [1.5.3](https://github.com/salesforcecli/plugin-deploy-retrieve/compare/v1.5.2...v1.5.3) (2022-07-05)
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
- ebikes nuts fix ([3e57421](https://github.com/salesforcecli/plugin-deploy-retrieve/commit/3e57421f5fcc2de1380aca0c1f4807c64537e2f4))
|
|
20
|
+
|
|
5
21
|
### [1.5.2](https://github.com/salesforcecli/plugin-deploy-retrieve/compare/v1.5.1...v1.5.2) (2022-06-29)
|
|
6
22
|
|
|
7
23
|
### [1.5.1](https://github.com/salesforcecli/plugin-deploy-retrieve/compare/v1.5.0...v1.5.1) (2022-06-28)
|
package/README.md
CHANGED
|
@@ -67,11 +67,13 @@ sf plugins
|
|
|
67
67
|
- [`sf deploy`](#sf-deploy)
|
|
68
68
|
- [`sf deploy metadata`](#sf-deploy-metadata)
|
|
69
69
|
- [`sf deploy metadata cancel`](#sf-deploy-metadata-cancel)
|
|
70
|
+
- [`sf deploy metadata preview`](#sf-deploy-metadata-preview)
|
|
70
71
|
- [`sf deploy metadata quick`](#sf-deploy-metadata-quick)
|
|
71
72
|
- [`sf deploy metadata report`](#sf-deploy-metadata-report)
|
|
72
73
|
- [`sf deploy metadata resume`](#sf-deploy-metadata-resume)
|
|
73
74
|
- [`sf deploy metadata validate`](#sf-deploy-metadata-validate)
|
|
74
75
|
- [`sf retrieve metadata`](#sf-retrieve-metadata)
|
|
76
|
+
- [`sf retrieve metadata preview`](#sf-retrieve-metadata-preview)
|
|
75
77
|
|
|
76
78
|
## `sf deploy`
|
|
77
79
|
|
|
@@ -115,7 +117,7 @@ EXAMPLES
|
|
|
115
117
|
$ sf deploy --interactive
|
|
116
118
|
```
|
|
117
119
|
|
|
118
|
-
_See code: [src/commands/deploy.ts](https://github.com/salesforcecli/plugin-deploy-retrieve/blob/v1.5.
|
|
120
|
+
_See code: [src/commands/deploy.ts](https://github.com/salesforcecli/plugin-deploy-retrieve/blob/v1.5.4/src/commands/deploy.ts)_
|
|
119
121
|
|
|
120
122
|
## `sf deploy metadata`
|
|
121
123
|
|
|
@@ -138,8 +140,7 @@ FLAGS
|
|
|
138
140
|
-o, --target-org=<value> Login username or alias for the target org.
|
|
139
141
|
-r, --ignore-errors Ignore any errors and don’t roll back deployment.
|
|
140
142
|
-t, --tests=<value>... Apex tests to run when --test-level is RunSpecifiedTests.
|
|
141
|
-
-w, --wait=<minutes>
|
|
142
|
-
results.
|
|
143
|
+
-w, --wait=<minutes> Number of minutes to wait for command to complete and display results.
|
|
143
144
|
-x, --manifest=<value> Full file path for manifest (package.xml) of components to deploy.
|
|
144
145
|
--async Run the command asynchronously.
|
|
145
146
|
--concise Show concise output of the deploy result.
|
|
@@ -207,8 +208,8 @@ EXAMPLES
|
|
|
207
208
|
FLAG DESCRIPTIONS
|
|
208
209
|
-a, --api-version=<value> Target API version for the deploy.
|
|
209
210
|
|
|
210
|
-
Use this flag to override the default API version
|
|
211
|
-
version
|
|
211
|
+
Use this flag to override the default API version with the API version of your package.xml file. The default API
|
|
212
|
+
version is the latest version supported by the CLI.
|
|
212
213
|
|
|
213
214
|
-c, --ignore-conflicts Ignore conflicts and deploy local files, even if they overwrite changes in the org.
|
|
214
215
|
|
|
@@ -346,6 +347,83 @@ FLAG DESCRIPTIONS
|
|
|
346
347
|
deploy metadata report".
|
|
347
348
|
```
|
|
348
349
|
|
|
350
|
+
## `sf deploy metadata preview`
|
|
351
|
+
|
|
352
|
+
Preview a deployment to see what will deploy to the org, the potential conflicts, and the ignored files.
|
|
353
|
+
|
|
354
|
+
```
|
|
355
|
+
USAGE
|
|
356
|
+
$ sf deploy metadata preview [--json] [-c] [-x <value> | -d <value> | -m <value>] [-o <value>]
|
|
357
|
+
|
|
358
|
+
FLAGS
|
|
359
|
+
-c, --ignore-conflicts Ignore conflicts and deploy local files, even if they overwrite changes in the org.
|
|
360
|
+
-d, --source-dir=<value>... Path to the local source files to preview.
|
|
361
|
+
-m, --metadata=<value>... Metadata component names to preview.
|
|
362
|
+
-o, --target-org=<value> Login username or alias for the target org.
|
|
363
|
+
-x, --manifest=<value> Full file path for manifest (package.xml) of components to preview.
|
|
364
|
+
|
|
365
|
+
GLOBAL FLAGS
|
|
366
|
+
--json Format output as json.
|
|
367
|
+
|
|
368
|
+
DESCRIPTION
|
|
369
|
+
Preview a deployment to see what will deploy to the org, the potential conflicts, and the ignored files.
|
|
370
|
+
|
|
371
|
+
You must run this command from within a project.
|
|
372
|
+
|
|
373
|
+
The command outputs a table that describes what will happen if you run the "sf deploy metadata" command. The table
|
|
374
|
+
lists the metadata components that will be deployed and deleted. The table also lists the current conflicts between
|
|
375
|
+
files in your local project and components in the org. Finally, the table lists the files that won't be deployed
|
|
376
|
+
because they're included in your .forceignore file.
|
|
377
|
+
|
|
378
|
+
If your org allows source tracking, then this command considers conflicts between the org and local. Some orgs, such
|
|
379
|
+
as production orgs, never allow source tracking. Use the "--no-track-source" flag when you create a scratch or sandbox
|
|
380
|
+
org to disable source tracking.
|
|
381
|
+
|
|
382
|
+
To preview the deployment of multiple metadata components, either set multiple --metadata <name> flags or a single
|
|
383
|
+
--metadata flag with multiple names separated by spaces. Enclose names that contain spaces in one set of double
|
|
384
|
+
quotes. The same syntax applies to --manifest and --source-dir.
|
|
385
|
+
|
|
386
|
+
EXAMPLES
|
|
387
|
+
NOTE: The commands to preview a deployment and actually deploy it use similar flags. We provide a few preview examples here, but see the help for "sf deploy metadata" for more examples that you can adapt for previewing.
|
|
388
|
+
|
|
389
|
+
Preview the deployment of source files in a directory, such as force-app:
|
|
390
|
+
|
|
391
|
+
$ sf deploy metadata preview --source-dir force-app
|
|
392
|
+
|
|
393
|
+
Preview the deployment of all Apex classes:
|
|
394
|
+
|
|
395
|
+
$ sf deploy metadata preview --metadata ApexClass
|
|
396
|
+
|
|
397
|
+
Preview deployment of a specific Apex class:
|
|
398
|
+
|
|
399
|
+
$ sf deploy metadata preview --metadata ApexClass:MyApexClass
|
|
400
|
+
|
|
401
|
+
Preview deployment of all components listed in a manifest:
|
|
402
|
+
|
|
403
|
+
$ sf deploy metadata preview --manifest path/to/package.xml
|
|
404
|
+
|
|
405
|
+
FLAG DESCRIPTIONS
|
|
406
|
+
-c, --ignore-conflicts Ignore conflicts and deploy local files, even if they overwrite changes in the org.
|
|
407
|
+
|
|
408
|
+
This flag applies only to orgs that allow source tracking. It has no effect on orgs that don't allow it, such as
|
|
409
|
+
production orgs.
|
|
410
|
+
|
|
411
|
+
-d, --source-dir=<value>... Path to the local source files to preview.
|
|
412
|
+
|
|
413
|
+
The supplied path can be to a single file (in which case the operation is applied to only one file) or to a folder
|
|
414
|
+
(in which case the operation is applied to all metadata types in the directory and its subdirectories).
|
|
415
|
+
|
|
416
|
+
If you specify this flag, don’t specify --metadata or --manifest.
|
|
417
|
+
|
|
418
|
+
-o, --target-org=<value> Login username or alias for the target org.
|
|
419
|
+
|
|
420
|
+
Overrides your default org.
|
|
421
|
+
|
|
422
|
+
-x, --manifest=<value> Full file path for manifest (package.xml) of components to preview.
|
|
423
|
+
|
|
424
|
+
All child components are included. If you specify this flag, don’t specify --metadata or --source-dir.
|
|
425
|
+
```
|
|
426
|
+
|
|
349
427
|
## `sf deploy metadata quick`
|
|
350
428
|
|
|
351
429
|
Quickly deploy a validated deployment to an org.
|
|
@@ -358,8 +436,7 @@ FLAGS
|
|
|
358
436
|
-i, --job-id=<value> Job ID of the deployment you want to quick deploy.
|
|
359
437
|
-o, --target-org=<value> Login username or alias for the target org.
|
|
360
438
|
-r, --use-most-recent Use the job ID of the most recently validated deployment.
|
|
361
|
-
-w, --wait=<minutes>
|
|
362
|
-
results.
|
|
439
|
+
-w, --wait=<minutes> Number of minutes to wait for the command to complete and display results.
|
|
363
440
|
--async Run the command asynchronously.
|
|
364
441
|
--concise Show concise output of the deploy result.
|
|
365
442
|
--verbose Show verbose output of the deploy result.
|
|
@@ -548,8 +625,7 @@ FLAGS
|
|
|
548
625
|
-m, --metadata=<value>... Metadata component names to validate for deployment.
|
|
549
626
|
-o, --target-org=<value> Login username or alias for the target org.
|
|
550
627
|
-t, --tests=<value>... Apex tests to run when --test-level is RunSpecifiedTests.
|
|
551
|
-
-w, --wait=<minutes>
|
|
552
|
-
results.
|
|
628
|
+
-w, --wait=<minutes> Number of minutes to wait for the command to complete and display results.
|
|
553
629
|
-x, --manifest=<value> Full file path for manifest (package.xml) of components to validate for deployment.
|
|
554
630
|
--async Run the command asynchronously.
|
|
555
631
|
--concise Show concise output of the validation result.
|
|
@@ -600,8 +676,8 @@ EXAMPLES
|
|
|
600
676
|
FLAG DESCRIPTIONS
|
|
601
677
|
-a, --api-version=<value> Target API version for the validation.
|
|
602
678
|
|
|
603
|
-
Use this flag to override the default API version
|
|
604
|
-
version
|
|
679
|
+
Use this flag to override the default API version with the API version of your package.xml file. The default API
|
|
680
|
+
version is the latest version supported by the CLI.
|
|
605
681
|
|
|
606
682
|
-d, --source-dir=<value>... Path to the local source files to validate for deployment.
|
|
607
683
|
|
|
@@ -667,8 +743,8 @@ FLAGS
|
|
|
667
743
|
-m, --metadata=<value>... Metadata component names to retrieve.
|
|
668
744
|
-n, --package-name=<value>... Package names to retrieve.
|
|
669
745
|
-o, --target-org=<value> Login username or alias for the target org.
|
|
670
|
-
-w, --wait=<value>
|
|
671
|
-
|
|
746
|
+
-w, --wait=<value> Number of minutes to wait for the command to complete and display results to the
|
|
747
|
+
terminal window.
|
|
672
748
|
-x, --manifest=<value> File path for the manifest (package.xml) that specifies the components to retrieve.
|
|
673
749
|
|
|
674
750
|
GLOBAL FLAGS
|
|
@@ -758,4 +834,56 @@ FLAG DESCRIPTIONS
|
|
|
758
834
|
If you specify this parameter, don’t specify --metadata or --source-dir.
|
|
759
835
|
```
|
|
760
836
|
|
|
837
|
+
## `sf retrieve metadata preview`
|
|
838
|
+
|
|
839
|
+
Preview a retrieval to see what will be retrieved from the org, the potential conflicts, and the ignored files.
|
|
840
|
+
|
|
841
|
+
```
|
|
842
|
+
USAGE
|
|
843
|
+
$ sf retrieve metadata preview [--json] [-c] [-o <value>]
|
|
844
|
+
|
|
845
|
+
FLAGS
|
|
846
|
+
-c, --ignore-conflicts Ignore conflicts and preview the retrieve of remote components, even if they will overwrite
|
|
847
|
+
local changes.
|
|
848
|
+
-o, --target-org=<value> Login username or alias for the target org.
|
|
849
|
+
|
|
850
|
+
GLOBAL FLAGS
|
|
851
|
+
--json Format output as json.
|
|
852
|
+
|
|
853
|
+
DESCRIPTION
|
|
854
|
+
Preview a retrieval to see what will be retrieved from the org, the potential conflicts, and the ignored files.
|
|
855
|
+
|
|
856
|
+
You must run this command from within a project.
|
|
857
|
+
|
|
858
|
+
The command outputs a table that describes what will happen if you run the "sf retrieve metadata" command. The table
|
|
859
|
+
lists the metadata components that will be retrieved and deleted. The table also lists the current conflicts between
|
|
860
|
+
files in your local project and components in the org. Finally, the table lists the files that won't be retrieved
|
|
861
|
+
because they're included in your .forceignore file.
|
|
862
|
+
|
|
863
|
+
If your org allows source tracking, then this command considers conflicts between the org and local. Some orgs, such
|
|
864
|
+
as production orgs, never allow source tracking. Use the "--no-track-source" flag when you create a scratch or sandbox
|
|
865
|
+
org to disable source tracking.
|
|
866
|
+
|
|
867
|
+
EXAMPLES
|
|
868
|
+
Preview the retrieve of all changes from the org:
|
|
869
|
+
|
|
870
|
+
$ sf retrieve metadata preview
|
|
871
|
+
|
|
872
|
+
Preview the retrieve when ignoring any conflicts:
|
|
873
|
+
|
|
874
|
+
$ sf retrieve metadata preview --ignore-conflicts
|
|
875
|
+
|
|
876
|
+
FLAG DESCRIPTIONS
|
|
877
|
+
-c, --ignore-conflicts
|
|
878
|
+
|
|
879
|
+
Ignore conflicts and preview the retrieve of remote components, even if they will overwrite local changes.
|
|
880
|
+
|
|
881
|
+
This flag applies only to orgs that allow source tracking. It has no effect on orgs that don't allow it, such as
|
|
882
|
+
production orgs.
|
|
883
|
+
|
|
884
|
+
-o, --target-org=<value> Login username or alias for the target org.
|
|
885
|
+
|
|
886
|
+
Overrides your default org.
|
|
887
|
+
```
|
|
888
|
+
|
|
761
889
|
<!-- commandsstop -->
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
2
|
+
import { PreviewResult } from '../../../utils/previewOutput';
|
|
3
|
+
export default class DeployMetadataPreview extends SfCommand<PreviewResult> {
|
|
4
|
+
static readonly description: string;
|
|
5
|
+
static readonly summary: string;
|
|
6
|
+
static readonly examples: string[];
|
|
7
|
+
static readonly requiresProject = true;
|
|
8
|
+
static readonly state = "beta";
|
|
9
|
+
static flags: {
|
|
10
|
+
'ignore-conflicts': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
manifest: import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
12
|
+
metadata: import("@oclif/core/lib/interfaces").OptionFlag<string[]>;
|
|
13
|
+
'source-dir': import("@oclif/core/lib/interfaces").OptionFlag<string[]>;
|
|
14
|
+
'target-org': import("@oclif/core/lib/interfaces").OptionFlag<import("@salesforce/core").Org>;
|
|
15
|
+
};
|
|
16
|
+
run(): Promise<PreviewResult>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/*
|
|
4
|
+
* Copyright (c) 2022, salesforce.com, inc.
|
|
5
|
+
* All rights reserved.
|
|
6
|
+
* Licensed under the BSD 3-Clause license.
|
|
7
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
8
|
+
*/
|
|
9
|
+
const core_1 = require("@salesforce/core");
|
|
10
|
+
const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
|
|
11
|
+
const source_tracking_1 = require("@salesforce/source-tracking");
|
|
12
|
+
const source_deploy_retrieve_1 = require("@salesforce/source-deploy-retrieve");
|
|
13
|
+
const deploy_1 = require("../../../utils/deploy");
|
|
14
|
+
const previewOutput_1 = require("../../../utils/previewOutput");
|
|
15
|
+
core_1.Messages.importMessagesDirectory(__dirname);
|
|
16
|
+
const messages = core_1.Messages.loadMessages('@salesforce/plugin-deploy-retrieve', 'deploy.metadata.preview');
|
|
17
|
+
const exclusiveFlags = ['manifest', 'source-dir', 'metadata'];
|
|
18
|
+
class DeployMetadataPreview extends sf_plugins_core_1.SfCommand {
|
|
19
|
+
async run() {
|
|
20
|
+
const { flags } = await this.parse(DeployMetadataPreview);
|
|
21
|
+
const deploySpecified = [flags.manifest, flags.metadata, flags['source-dir']].some((f) => f !== undefined);
|
|
22
|
+
// we'll need STL both to check conflicts and to get the list of local changes if no flags are provided
|
|
23
|
+
const stl = flags['ignore-conflicts'] && deploySpecified
|
|
24
|
+
? undefined
|
|
25
|
+
: await source_tracking_1.SourceTracking.create({
|
|
26
|
+
org: flags['target-org'],
|
|
27
|
+
project: this.project,
|
|
28
|
+
});
|
|
29
|
+
const forceIgnore = source_deploy_retrieve_1.ForceIgnore.findAndCreate(this.project.getDefaultPackage().path);
|
|
30
|
+
const [componentSet, filesWithConflicts] = await Promise.all([
|
|
31
|
+
(0, deploy_1.buildComponentSet)({ ...flags, 'target-org': flags['target-org'].getUsername() }, stl),
|
|
32
|
+
(0, previewOutput_1.getConflictFiles)(stl, flags['ignore-conflicts']),
|
|
33
|
+
]);
|
|
34
|
+
const output = (0, previewOutput_1.compileResults)({
|
|
35
|
+
componentSet,
|
|
36
|
+
projectPath: this.project.getPath(),
|
|
37
|
+
filesWithConflicts,
|
|
38
|
+
forceIgnore,
|
|
39
|
+
baseOperation: 'deploy',
|
|
40
|
+
});
|
|
41
|
+
if (!this.jsonEnabled()) {
|
|
42
|
+
(0, previewOutput_1.printTables)(output, 'deploy');
|
|
43
|
+
}
|
|
44
|
+
return output;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.default = DeployMetadataPreview;
|
|
48
|
+
DeployMetadataPreview.description = messages.getMessage('description');
|
|
49
|
+
DeployMetadataPreview.summary = messages.getMessage('summary');
|
|
50
|
+
DeployMetadataPreview.examples = messages.getMessages('examples');
|
|
51
|
+
DeployMetadataPreview.requiresProject = true;
|
|
52
|
+
DeployMetadataPreview.state = 'beta';
|
|
53
|
+
DeployMetadataPreview.flags = {
|
|
54
|
+
'ignore-conflicts': sf_plugins_core_1.Flags.boolean({
|
|
55
|
+
char: 'c',
|
|
56
|
+
summary: messages.getMessage('flags.ignore-conflicts.summary'),
|
|
57
|
+
description: messages.getMessage('flags.ignore-conflicts.description'),
|
|
58
|
+
default: false,
|
|
59
|
+
}),
|
|
60
|
+
manifest: sf_plugins_core_1.Flags.file({
|
|
61
|
+
char: 'x',
|
|
62
|
+
description: messages.getMessage('flags.manifest.description'),
|
|
63
|
+
summary: messages.getMessage('flags.manifest.summary'),
|
|
64
|
+
exclusive: exclusiveFlags.filter((f) => f !== 'manifest'),
|
|
65
|
+
exists: true,
|
|
66
|
+
}),
|
|
67
|
+
metadata: sf_plugins_core_1.Flags.string({
|
|
68
|
+
char: 'm',
|
|
69
|
+
summary: messages.getMessage('flags.metadata.summary'),
|
|
70
|
+
multiple: true,
|
|
71
|
+
exclusive: exclusiveFlags.filter((f) => f !== 'metadata'),
|
|
72
|
+
}),
|
|
73
|
+
'source-dir': sf_plugins_core_1.Flags.string({
|
|
74
|
+
char: 'd',
|
|
75
|
+
description: messages.getMessage('flags.source-dir.description'),
|
|
76
|
+
summary: messages.getMessage('flags.source-dir.summary'),
|
|
77
|
+
multiple: true,
|
|
78
|
+
exclusive: exclusiveFlags.filter((f) => f !== 'source-dir'),
|
|
79
|
+
}),
|
|
80
|
+
'target-org': sf_plugins_core_1.Flags.requiredOrg({
|
|
81
|
+
char: 'o',
|
|
82
|
+
description: messages.getMessage('flags.target-org.description'),
|
|
83
|
+
summary: messages.getMessage('flags.target-org.summary'),
|
|
84
|
+
}),
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=preview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview.js","sourceRoot":"","sources":["../../../../src/commands/deploy/metadata/preview.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,12 +18,11 @@ core_1.Messages.importMessagesDirectory(__dirname);
|
|
|
18
18
|
const messages = core_1.Messages.loadMessages('@salesforce/plugin-deploy-retrieve', 'deploy.metadata.quick');
|
|
19
19
|
class DeployMetadataQuick extends sf_plugins_core_1.SfCommand {
|
|
20
20
|
async run() {
|
|
21
|
-
var _a, _b;
|
|
22
21
|
const { flags } = await this.parse(DeployMetadataQuick);
|
|
23
22
|
const cache = await deploy_1.DeployCache.create();
|
|
24
23
|
const jobId = cache.resolveLatest(flags['use-most-recent'], flags['job-id'], false);
|
|
25
|
-
const deployOpts =
|
|
26
|
-
const org =
|
|
24
|
+
const deployOpts = cache.get(jobId) ?? {};
|
|
25
|
+
const org = flags['target-org'] ?? (await core_1.Org.create({ aliasOrUsername: deployOpts['target-org'] }));
|
|
27
26
|
const api = await (0, deploy_1.resolveApi)();
|
|
28
27
|
await org.getConnection().deployRecentValidation({ id: jobId, rest: api === types_1.API.REST });
|
|
29
28
|
const componentSet = await (0, deploy_1.buildComponentSet)({ ...deployOpts, wait: flags.wait });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quick.js","sourceRoot":"","sources":["../../../../src/commands/deploy/metadata/quick.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH,iCAA6B;AAC7B,2CAAiD;AACjD,iEAA8E;AAC9E,+EAAmE;AACnE,kDAO+B;AAC/B,0DAA6E;AAC7E,kDAA6G;AAC7G,gDAA6D;AAE7D,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,oCAAoC,EAAE,uBAAuB,CAAC,CAAC;AAEtG,MAAqB,mBAAoB,SAAQ,2BAA2B;IAqDnE,KAAK,CAAC,GAAG
|
|
1
|
+
{"version":3,"file":"quick.js","sourceRoot":"","sources":["../../../../src/commands/deploy/metadata/quick.ts"],"names":[],"mappings":"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"}
|
package/lib/commands/deploy.d.ts
CHANGED
|
@@ -5,10 +5,10 @@ export default class Deploy extends SfCommand<void> {
|
|
|
5
5
|
static summary: string;
|
|
6
6
|
static description: string;
|
|
7
7
|
static examples: string[];
|
|
8
|
-
static enableJsonFlag: boolean;
|
|
9
8
|
static flags: {
|
|
10
9
|
interactive: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
11
10
|
};
|
|
11
|
+
static enableJsonFlag: boolean;
|
|
12
12
|
run(): Promise<void>;
|
|
13
13
|
/**
|
|
14
14
|
* If the deploy file exists, we do not want the command to be interactive. But if the file
|
package/lib/commands/deploy.js
CHANGED
|
@@ -20,20 +20,19 @@ const messages = core_2.Messages.loadMessages('@salesforce/plugin-deploy-retriev
|
|
|
20
20
|
exports.DEPLOY_OPTIONS_FILE = 'deploy-options.json';
|
|
21
21
|
class Deploy extends sf_plugins_core_1.SfCommand {
|
|
22
22
|
async run() {
|
|
23
|
-
var _a;
|
|
24
23
|
process.setMaxListeners(new kit_1.Env().getNumber('SF_MAX_EVENT_LISTENERS') || 1000);
|
|
25
24
|
const { flags } = await this.parse(Deploy);
|
|
26
25
|
flags.interactive = await this.isInteractive(flags.interactive);
|
|
27
26
|
const options = await this.readOptions();
|
|
28
|
-
this.log('
|
|
27
|
+
this.log(messages.getMessage('AnalyzingProject'));
|
|
29
28
|
if (!flags.interactive) {
|
|
30
|
-
this.log(
|
|
29
|
+
this.log(messages.getMessage('UsingOptionsFromFile', [exports.DEPLOY_OPTIONS_FILE]));
|
|
31
30
|
}
|
|
32
31
|
const hookResults = await sf_plugins_core_1.SfHook.run(this.config, 'sf:deploy', options);
|
|
33
32
|
this.checkForHookFailures(hookResults);
|
|
34
33
|
let deployers = hookResults.successes.flatMap((s) => s.result);
|
|
35
34
|
if (deployers.length === 0) {
|
|
36
|
-
this.log('
|
|
35
|
+
this.log(messages.getMessage('FoundNothingToDeploy'));
|
|
37
36
|
}
|
|
38
37
|
else {
|
|
39
38
|
if (flags.interactive) {
|
|
@@ -43,11 +42,11 @@ class Deploy extends sf_plugins_core_1.SfCommand {
|
|
|
43
42
|
deployers = deployers.filter((d) => !!options[d.getName()]);
|
|
44
43
|
}
|
|
45
44
|
if (deployers.length === 0) {
|
|
46
|
-
this.log(
|
|
45
|
+
this.log(messages.getMessage('NothingSelectedToDeploy'));
|
|
47
46
|
}
|
|
48
47
|
const deployOptions = {};
|
|
49
48
|
for (const deployer of deployers) {
|
|
50
|
-
const opts =
|
|
49
|
+
const opts = options[deployer.getName()] ?? {};
|
|
51
50
|
// setup must be done sequentially
|
|
52
51
|
// eslint-disable-next-line no-await-in-loop
|
|
53
52
|
deployOptions[deployer.getName()] = await deployer.setup(flags, opts);
|
|
@@ -55,16 +54,26 @@ class Deploy extends sf_plugins_core_1.SfCommand {
|
|
|
55
54
|
if (flags.interactive && (await this.askToSave())) {
|
|
56
55
|
await (0, fs_extra_1.writeJson)(exports.DEPLOY_OPTIONS_FILE, deployOptions);
|
|
57
56
|
this.log();
|
|
58
|
-
this.log(
|
|
57
|
+
this.log(messages.getMessage('DeployOptionsSavedToFile', [exports.DEPLOY_OPTIONS_FILE]));
|
|
59
58
|
if (await this.shouldCommit()) {
|
|
60
59
|
await this.commit();
|
|
61
|
-
this.log(
|
|
60
|
+
this.log(messages.getMessage('DeployOptionsIncludedInGitIgnore', [exports.DEPLOY_OPTIONS_FILE]));
|
|
62
61
|
}
|
|
63
62
|
}
|
|
63
|
+
const deployResults = [];
|
|
64
64
|
for (const deployer of deployers) {
|
|
65
65
|
// deployments must be done sequentially?
|
|
66
66
|
// eslint-disable-next-line no-await-in-loop
|
|
67
|
-
await deployer.deploy();
|
|
67
|
+
deployResults.push([deployer, await deployer.deploy()]);
|
|
68
|
+
}
|
|
69
|
+
if (deployResults.some(([, result]) => !!result && result.exitCode !== 0)) {
|
|
70
|
+
process.exitCode = 1;
|
|
71
|
+
this.warn(messages.getMessage('DeployersHaveNonZeroExitCode'));
|
|
72
|
+
deployResults
|
|
73
|
+
.filter(([, result]) => !!result && result.exitCode !== 0)
|
|
74
|
+
.forEach(([deployer, result]) => {
|
|
75
|
+
this.log(messages.getMessage('DeployerExitCode', [deployer.getName(), result ? result.exitCode : 'unknown']));
|
|
76
|
+
});
|
|
68
77
|
}
|
|
69
78
|
}
|
|
70
79
|
}
|
|
@@ -144,8 +153,7 @@ class Deploy extends sf_plugins_core_1.SfCommand {
|
|
|
144
153
|
return final;
|
|
145
154
|
}
|
|
146
155
|
checkForHookFailures(hookResults) {
|
|
147
|
-
|
|
148
|
-
if ((_a = hookResults.failures) === null || _a === void 0 ? void 0 : _a.length) {
|
|
156
|
+
if (hookResults.failures?.length) {
|
|
149
157
|
// display a table of the errors encountered; Plugin Name, Error Message
|
|
150
158
|
const columns = {
|
|
151
159
|
errorName: { header: 'Error Name' },
|
|
@@ -166,10 +174,10 @@ exports.default = Deploy;
|
|
|
166
174
|
Deploy.summary = messages.getMessage('summary');
|
|
167
175
|
Deploy.description = messages.getMessage('description');
|
|
168
176
|
Deploy.examples = messages.getMessages('examples');
|
|
169
|
-
Deploy.enableJsonFlag = false;
|
|
170
177
|
Deploy.flags = {
|
|
171
178
|
interactive: core_1.Flags.boolean({
|
|
172
179
|
summary: messages.getMessage('flags.interactive.summary'),
|
|
173
180
|
}),
|
|
174
181
|
};
|
|
182
|
+
Deploy.enableJsonFlag = false;
|
|
175
183
|
//# sourceMappingURL=deploy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;AACH,2CAA2C;;;AAE3C,2BAAyB;AACzB,sCAA0C;AAC1C,2CAA4C;AAC5C,uCAAsE;AACtE,yCAAoD;AACpD,iEAAsH;AACtH,qCAA+B;
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
2
|
+
import { PreviewResult } from '../../../utils/previewOutput';
|
|
3
|
+
export default class RetrieveMetadataPreview extends SfCommand<PreviewResult> {
|
|
4
|
+
static readonly description: string;
|
|
5
|
+
static readonly summary: string;
|
|
6
|
+
static readonly examples: string[];
|
|
7
|
+
static readonly requiresProject = true;
|
|
8
|
+
static readonly state = "beta";
|
|
9
|
+
static flags: {
|
|
10
|
+
'ignore-conflicts': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
'target-org': import("@oclif/core/lib/interfaces").OptionFlag<import("@salesforce/core").Org>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<PreviewResult>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/*
|
|
4
|
+
* Copyright (c) 2022, salesforce.com, inc.
|
|
5
|
+
* All rights reserved.
|
|
6
|
+
* Licensed under the BSD 3-Clause license.
|
|
7
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
8
|
+
*/
|
|
9
|
+
const core_1 = require("@salesforce/core");
|
|
10
|
+
const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
|
|
11
|
+
const source_tracking_1 = require("@salesforce/source-tracking");
|
|
12
|
+
const source_deploy_retrieve_1 = require("@salesforce/source-deploy-retrieve");
|
|
13
|
+
const previewOutput_1 = require("../../../utils/previewOutput");
|
|
14
|
+
core_1.Messages.importMessagesDirectory(__dirname);
|
|
15
|
+
const messages = core_1.Messages.loadMessages('@salesforce/plugin-deploy-retrieve', 'retrieve.metadata.preview');
|
|
16
|
+
class RetrieveMetadataPreview extends sf_plugins_core_1.SfCommand {
|
|
17
|
+
async run() {
|
|
18
|
+
const { flags } = await this.parse(RetrieveMetadataPreview);
|
|
19
|
+
const stl = await source_tracking_1.SourceTracking.create({
|
|
20
|
+
org: flags['target-org'],
|
|
21
|
+
project: this.project,
|
|
22
|
+
ignoreConflicts: flags['ignore-conflicts'],
|
|
23
|
+
});
|
|
24
|
+
const forceIgnore = source_deploy_retrieve_1.ForceIgnore.findAndCreate(this.project.getDefaultPackage().path);
|
|
25
|
+
const [componentSet, filesWithConflicts, remoteDeletes] = await Promise.all([
|
|
26
|
+
stl.remoteNonDeletesAsComponentSet(),
|
|
27
|
+
(0, previewOutput_1.getConflictFiles)(stl, flags['ignore-conflicts']),
|
|
28
|
+
stl.getChanges({ origin: 'remote', state: 'delete', format: 'SourceComponent' }),
|
|
29
|
+
]);
|
|
30
|
+
const output = (0, previewOutput_1.compileResults)({
|
|
31
|
+
componentSet,
|
|
32
|
+
projectPath: this.project.getPath(),
|
|
33
|
+
filesWithConflicts,
|
|
34
|
+
forceIgnore,
|
|
35
|
+
baseOperation: 'retrieve',
|
|
36
|
+
remoteDeletes,
|
|
37
|
+
});
|
|
38
|
+
if (!this.jsonEnabled()) {
|
|
39
|
+
(0, previewOutput_1.printTables)(output, 'retrieve');
|
|
40
|
+
}
|
|
41
|
+
return output;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.default = RetrieveMetadataPreview;
|
|
45
|
+
RetrieveMetadataPreview.description = messages.getMessage('description');
|
|
46
|
+
RetrieveMetadataPreview.summary = messages.getMessage('summary');
|
|
47
|
+
RetrieveMetadataPreview.examples = messages.getMessages('examples');
|
|
48
|
+
RetrieveMetadataPreview.requiresProject = true;
|
|
49
|
+
RetrieveMetadataPreview.state = 'beta';
|
|
50
|
+
RetrieveMetadataPreview.flags = {
|
|
51
|
+
'ignore-conflicts': sf_plugins_core_1.Flags.boolean({
|
|
52
|
+
char: 'c',
|
|
53
|
+
summary: messages.getMessage('flags.ignore-conflicts.summary'),
|
|
54
|
+
description: messages.getMessage('flags.ignore-conflicts.description'),
|
|
55
|
+
default: false,
|
|
56
|
+
}),
|
|
57
|
+
'target-org': sf_plugins_core_1.Flags.requiredOrg({
|
|
58
|
+
char: 'o',
|
|
59
|
+
description: messages.getMessage('flags.target-org.description'),
|
|
60
|
+
summary: messages.getMessage('flags.target-org.summary'),
|
|
61
|
+
}),
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=preview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview.js","sourceRoot":"","sources":["../../../../src/commands/retrieve/metadata/preview.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,2CAA4C;AAC5C,iEAA+D;AAC/D,iEAA6D;AAC7D,+EAAiE;AACjE,gEAA4G;AAE5G,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,oCAAoC,EAAE,2BAA2B,CAAC,CAAC;AAE1G,MAAqB,uBAAwB,SAAQ,2BAAwB;IAqBpE,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAE5D,MAAM,GAAG,GAAG,MAAM,gCAAc,CAAC,MAAM,CAAC;YACtC,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC;YACxB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,eAAe,EAAE,KAAK,CAAC,kBAAkB,CAAC;SAC3C,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,oCAAW,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC;QAErF,MAAM,CAAC,YAAY,EAAE,kBAAkB,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC1E,GAAG,CAAC,8BAA8B,EAAE;YACpC,IAAA,gCAAgB,EAAC,GAAG,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAChD,GAAG,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;SACjF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAA,8BAAc,EAAC;YAC5B,YAAY;YACZ,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACnC,kBAAkB;YAClB,WAAW;YACX,aAAa,EAAE,UAAU;YACzB,aAAa;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;YACvB,IAAA,2BAAW,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;SACjC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;;AAnDH,0CAoDC;AAnDwB,mCAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACjD,+BAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACzC,gCAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AAC5C,uCAAe,GAAG,IAAI,CAAC;AACvB,6BAAK,GAAG,MAAM,CAAC;AAExB,6BAAK,GAAG;IACpB,kBAAkB,EAAE,uBAAK,CAAC,OAAO,CAAC;QAChC,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,gCAAgC,CAAC;QAC9D,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,oCAAoC,CAAC;QACtE,OAAO,EAAE,KAAK;KACf,CAAC;IACF,YAAY,EAAE,uBAAK,CAAC,WAAW,CAAC;QAC9B,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,8BAA8B,CAAC;QAChE,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,0BAA0B,CAAC;KACzD,CAAC;CACH,CAAC"}
|