@salesforce/plugin-deploy-retrieve 1.0.6 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/README.md +211 -1
- package/lib/commands/deploy/metadata.d.ts +36 -0
- package/lib/commands/deploy/metadata.js +123 -0
- package/lib/commands/deploy/metadata.js.map +1 -0
- package/lib/commands/deploy.js +3 -3
- package/lib/commands/deploy.js.map +1 -1
- package/lib/commands/retrieve/metadata.d.ts +29 -0
- package/lib/commands/retrieve/metadata.js +134 -0
- package/lib/commands/retrieve/metadata.js.map +1 -0
- package/lib/hooks/deploy.d.ts +4 -0
- package/lib/hooks/deploy.js +17 -0
- package/lib/hooks/deploy.js.map +1 -0
- package/lib/utils/componentSetBuilder.d.ts +28 -0
- package/lib/utils/componentSetBuilder.js +123 -0
- package/lib/utils/componentSetBuilder.js.map +1 -0
- package/lib/utils/config.d.ts +1 -0
- package/lib/utils/config.js +18 -0
- package/lib/utils/config.js.map +1 -0
- package/lib/utils/metadataDeployer.d.ts +30 -0
- package/lib/utils/metadataDeployer.js +178 -0
- package/lib/utils/metadataDeployer.js.map +1 -0
- package/lib/utils/orgs.d.ts +4 -0
- package/lib/utils/orgs.js +39 -0
- package/lib/utils/orgs.js.map +1 -0
- package/lib/utils/output.d.ts +18 -0
- package/lib/utils/output.js +152 -0
- package/lib/utils/output.js.map +1 -0
- package/lib/utils/progressBar.d.ts +8 -0
- package/lib/utils/progressBar.js +55 -0
- package/lib/utils/progressBar.js.map +1 -0
- package/lib/utils/requiredFlagValidator.d.ts +3 -0
- package/lib/utils/requiredFlagValidator.js +19 -0
- package/lib/utils/requiredFlagValidator.js.map +1 -0
- package/lib/utils/testLevel.d.ts +6 -0
- package/lib/utils/testLevel.js +17 -0
- package/lib/utils/testLevel.js.map +1 -0
- package/messages/deploy.metadata.md +114 -0
- package/messages/metadata.transfer.md +27 -0
- package/messages/required.flag.md +3 -0
- package/messages/retrieve.metadata.md +100 -0
- package/oclif.manifest.json +1 -1
- package/package.json +20 -11
- package/schemas/deploy-metadata.json +98 -0
- package/schemas/hooks/sf-deploy.json +106 -0
- package/schemas/retrieve-metadata.json +69 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,16 @@
|
|
|
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.1.0](https://github.com/salesforcecli/plugin-deploy-retrieve/compare/v1.0.6...v1.1.0) (2022-02-24)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
- merge deploy-retrieve-metadata commands ([#212](https://github.com/salesforcecli/plugin-deploy-retrieve/issues/212)) ([74a9eb9](https://github.com/salesforcecli/plugin-deploy-retrieve/commit/74a9eb90eac99b83a27330ad80d20afa40449776))
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
- regenerate yarn.lock ([777245c](https://github.com/salesforcecli/plugin-deploy-retrieve/commit/777245ccec5973f07b7fac6af652ad184ddb2a0a))
|
|
14
|
+
|
|
5
15
|
### [1.0.6](https://github.com/salesforcecli/plugin-deploy-retrieve/compare/v1.0.5...v1.0.6) (2022-01-06)
|
|
6
16
|
|
|
7
17
|
### Bug Fixes
|
package/README.md
CHANGED
|
@@ -63,6 +63,8 @@ sf plugins
|
|
|
63
63
|
<!-- commands -->
|
|
64
64
|
|
|
65
65
|
- [`sf deploy`](#sf-deploy)
|
|
66
|
+
- [`sf deploy metadata`](#sf-deploy-metadata)
|
|
67
|
+
- [`sf retrieve metadata`](#sf-retrieve-metadata)
|
|
66
68
|
|
|
67
69
|
## `sf deploy`
|
|
68
70
|
|
|
@@ -106,6 +108,214 @@ EXAMPLES
|
|
|
106
108
|
$ sf deploy --interactive
|
|
107
109
|
```
|
|
108
110
|
|
|
109
|
-
_See code: [src/commands/deploy.ts](https://github.com/salesforcecli/plugin-deploy-retrieve/blob/v1.0.
|
|
111
|
+
_See code: [src/commands/deploy.ts](https://github.com/salesforcecli/plugin-deploy-retrieve/blob/v1.0.6/src/commands/deploy.ts)_
|
|
112
|
+
|
|
113
|
+
## `sf deploy metadata`
|
|
114
|
+
|
|
115
|
+
Deploy metadata in source format to an org from your local project.
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
USAGE
|
|
119
|
+
$ sf deploy metadata [--json] [-m <value> | -x <value> | -d <value>] [-o <value>] [-l
|
|
120
|
+
NoTestRun|RunSpecifiedTests|RunLocalTests|RunAllTestsInOrg] [-w <value>]
|
|
121
|
+
|
|
122
|
+
FLAGS
|
|
123
|
+
-d, --source-dir=<value>... Path to the local source files to deploy.
|
|
124
|
+
-l, --test-level=<option> [default: NoTestRun] Deployment Apex testing level.
|
|
125
|
+
<options: NoTestRun|RunSpecifiedTests|RunLocalTests|RunAllTestsInOrg>
|
|
126
|
+
-m, --metadata=<value>... Metadata component names to deploy.
|
|
127
|
+
-o, --target-org=<value> Login username or alias for the target org.
|
|
128
|
+
-w, --wait=<value> [default: 33] Number of minutes to wait for command to complete and display results.
|
|
129
|
+
-x, --manifest=<value> Full file path for manifest (package.xml) of components to deploy.
|
|
130
|
+
|
|
131
|
+
GLOBAL FLAGS
|
|
132
|
+
--json Format output as json.
|
|
133
|
+
|
|
134
|
+
DESCRIPTION
|
|
135
|
+
Deploy metadata in source format to an org from your local project.
|
|
136
|
+
|
|
137
|
+
You must run this command from within a project.
|
|
138
|
+
|
|
139
|
+
This command doesn't support source-tracking. The source you deploy overwrites the corresponding metadata in your org.
|
|
140
|
+
This command doesn’t attempt to merge your source with the versions in your org.
|
|
141
|
+
|
|
142
|
+
To run the command asynchronously, set --wait to 0, which immediately returns the job ID. This way, you can continue
|
|
143
|
+
to use the CLI.
|
|
144
|
+
|
|
145
|
+
To deploy multiple metadata components, either set multiple --metadata <name> flags or a single --metadata flag with
|
|
146
|
+
multiple names separated by spaces. Enclose names that contain spaces in one set of double quotes. The same syntax
|
|
147
|
+
applies to --manifest and --source-dir.
|
|
148
|
+
|
|
149
|
+
EXAMPLES
|
|
150
|
+
Deploy the source files in a directory:
|
|
151
|
+
|
|
152
|
+
$ sf deploy metadata --source-dir path/to/source
|
|
153
|
+
|
|
154
|
+
Deploy a specific Apex class and the objects whose source is in a directory (both examples are equivalent):
|
|
155
|
+
|
|
156
|
+
$ sf deploy metadata --source-dir path/to/apex/classes/MyClass.cls path/to/source/objects
|
|
157
|
+
$ sf deploy metadata --source-dir path/to/apex/classes/MyClass.cls --source-dir path/to/source/objects
|
|
158
|
+
|
|
159
|
+
Deploy all Apex classes:
|
|
160
|
+
|
|
161
|
+
$ sf deploy metadata --metadata ApexClass
|
|
162
|
+
|
|
163
|
+
Deploy a specific Apex class:
|
|
164
|
+
|
|
165
|
+
$ sf deploy metadata --metadata ApexClass:MyApexClass
|
|
166
|
+
|
|
167
|
+
Deploy all custom objects and Apex classes (both examples are equivalent):
|
|
168
|
+
|
|
169
|
+
$ sf deploy metadata --metadata CustomObject ApexClass
|
|
170
|
+
$ sf deploy metadata --metadata CustomObject --metadata ApexClass
|
|
171
|
+
|
|
172
|
+
Deploy all Apex classes and a profile that has a space in its name:
|
|
173
|
+
|
|
174
|
+
$ sf deploy metadata --metadata ApexClass --metadata "Profile:My Profile"
|
|
175
|
+
|
|
176
|
+
Deploy all components listed in a manifest:
|
|
177
|
+
|
|
178
|
+
$ sf deploy metadata --manifest path/to/package.xml
|
|
179
|
+
|
|
180
|
+
Run the tests that aren’t in any managed packages as part of a deployment:
|
|
181
|
+
|
|
182
|
+
$ sf deploy metadata --metadata ApexClass --test-level RunLocalTests
|
|
183
|
+
|
|
184
|
+
FLAG DESCRIPTIONS
|
|
185
|
+
-d, --source-dir=<value>... Path to the local source files to deploy.
|
|
186
|
+
|
|
187
|
+
The supplied path can be to a single file (in which case the operation is applied to only one file) or to a folder
|
|
188
|
+
(in which case the operation is applied to all metadata types in the directory and its subdirectories).
|
|
189
|
+
|
|
190
|
+
If you specify this flag, don’t specify --metadata or --manifest.
|
|
191
|
+
|
|
192
|
+
-l, --test-level=NoTestRun|RunSpecifiedTests|RunLocalTests|RunAllTestsInOrg Deployment Apex testing level.
|
|
193
|
+
|
|
194
|
+
Valid values are:
|
|
195
|
+
|
|
196
|
+
- NoTestRun — No tests are run. This test level applies only to deployments to development environments, such as
|
|
197
|
+
sandbox, Developer Edition, or trial orgs. This test level is the default for development environments.
|
|
198
|
+
|
|
199
|
+
- RunSpecifiedTests — Runs only the tests that you specify with the --run-tests flag. Code coverage requirements
|
|
200
|
+
differ from the default coverage requirements when using this test level. Executed tests must comprise a minimum of
|
|
201
|
+
75% code coverage for each class and trigger in the deployment package. This coverage is computed for each class and
|
|
202
|
+
trigger individually and is different than the overall coverage percentage.
|
|
203
|
+
|
|
204
|
+
- RunLocalTests — All tests in your org are run, except the ones that originate from installed managed and unlocked
|
|
205
|
+
packages. This test level is the default for production deployments that include Apex classes or triggers.
|
|
206
|
+
|
|
207
|
+
- RunAllTestsInOrg — All tests in your org are run, including tests of managed packages.
|
|
208
|
+
|
|
209
|
+
If you don’t specify a test level, the default behavior depends on the contents of your deployment package. For more
|
|
210
|
+
information, see [Running Tests in a
|
|
211
|
+
Deployment](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy_running_tests.htm)
|
|
212
|
+
in the "Metadata API Developer Guide".
|
|
213
|
+
|
|
214
|
+
-o, --target-org=<value> Login username or alias for the target org.
|
|
215
|
+
|
|
216
|
+
Overrides your default org.
|
|
217
|
+
|
|
218
|
+
-w, --wait=<value> Number of minutes to wait for command to complete and display results.
|
|
219
|
+
|
|
220
|
+
If the command continues to run after the wait period, the CLI returns control of the terminal window to you.
|
|
221
|
+
|
|
222
|
+
-x, --manifest=<value> Full file path for manifest (package.xml) of components to deploy.
|
|
223
|
+
|
|
224
|
+
All child components are included. If you specify this flag, don’t specify --metadata or --source-dir.
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
## `sf retrieve metadata`
|
|
228
|
+
|
|
229
|
+
Retrieve metadata in source format from an org to your local project.
|
|
230
|
+
|
|
231
|
+
```
|
|
232
|
+
USAGE
|
|
233
|
+
$ sf retrieve metadata [--json] [-a <value>] [-x <value> | -m <value> | -d <value>] [-n <value>] [-o <value>] [-w
|
|
234
|
+
<value>]
|
|
235
|
+
|
|
236
|
+
FLAGS
|
|
237
|
+
-a, --api-version=<value> Target API version for the retrieve.
|
|
238
|
+
-d, --source-dir=<value>... File paths for source to retrieve from the org.
|
|
239
|
+
-m, --metadata=<value>... Metadata component names to retrieve.
|
|
240
|
+
-n, --package-name=<value>... Package names to retrieve.
|
|
241
|
+
-o, --target-org=<value> Login username or alias for the target org.
|
|
242
|
+
-w, --wait=<value> [default: 33] Number of minutes to wait for the command to complete and display results
|
|
243
|
+
to the terminal window.
|
|
244
|
+
-x, --manifest=<value> File path for the manifest (package.xml) that specifies the components to retrieve.
|
|
245
|
+
|
|
246
|
+
GLOBAL FLAGS
|
|
247
|
+
--json Format output as json.
|
|
248
|
+
|
|
249
|
+
DESCRIPTION
|
|
250
|
+
Retrieve metadata in source format from an org to your local project.
|
|
251
|
+
|
|
252
|
+
You must run this command from within a project.
|
|
253
|
+
|
|
254
|
+
This command doesn't support source-tracking. The source you retrieve overwrites the corresponding source files in
|
|
255
|
+
your local project. This command doesn’t attempt to merge the source from your org with your local source files.
|
|
256
|
+
|
|
257
|
+
To retrieve multiple metadata components, either use multiple --metadata <name> flags or use a single --metadata flag
|
|
258
|
+
with multiple names separated by spaces. Enclose names that contain spaces in one set of double quotes. The same
|
|
259
|
+
syntax applies to --manifest and --source-dir.
|
|
260
|
+
|
|
261
|
+
EXAMPLES
|
|
262
|
+
Retrieve the source files in a directory:
|
|
263
|
+
|
|
264
|
+
$ sf retrieve metadata --source-dir path/to/source
|
|
265
|
+
|
|
266
|
+
Retrieve a specific Apex class and the objects whose source is in a directory (both examples are equivalent):
|
|
267
|
+
|
|
268
|
+
$ sf retrieve metadata --source-dir path/to/apex/classes/MyClass.cls path/to/source/objects
|
|
269
|
+
$ sf retrieve metadata --source-dir path/to/apex/classes/MyClass.cls --source-dir path/to/source/objects
|
|
270
|
+
|
|
271
|
+
Retrieve all Apex classes:
|
|
272
|
+
|
|
273
|
+
$ sf retrieve metadata --metadata ApexClass
|
|
274
|
+
|
|
275
|
+
Retrieve a specific Apex class:
|
|
276
|
+
|
|
277
|
+
$ sf retrieve metadata --metadata ApexClass:MyApexClass
|
|
278
|
+
|
|
279
|
+
Retrieve all custom objects and Apex classes (both examples are equivalent):
|
|
280
|
+
|
|
281
|
+
$ sf retrieve metadata --metadata CustomObject ApexClass
|
|
282
|
+
$ sf retrieve metadata --metadata CustomObject --metadata ApexClass
|
|
283
|
+
|
|
284
|
+
Retrieve all metadata components listed in a manifest:
|
|
285
|
+
|
|
286
|
+
$ sf retrieve metadata --manifest path/to/package.xml
|
|
287
|
+
|
|
288
|
+
Retrieve metadata from a package:
|
|
289
|
+
|
|
290
|
+
$ sf retrieve metadata --package-name MyPackageName
|
|
291
|
+
|
|
292
|
+
Retrieve metadata from multiple packages, one of which has a space in its name (both examples are equivalent):
|
|
293
|
+
|
|
294
|
+
$ sf retrieve metadata --package-name Package1 "PackageName With Spaces" Package3
|
|
295
|
+
$ sf retrieve metadata --package-name Package1 --package-name "PackageName With Spaces" --package-name Package3
|
|
296
|
+
|
|
297
|
+
FLAG DESCRIPTIONS
|
|
298
|
+
-a, --api-version=<value> Target API version for the retrieve.
|
|
299
|
+
|
|
300
|
+
Use this flag to override the default API version, which is the latest version supported the CLI, with the API
|
|
301
|
+
version in your package.xml file.
|
|
302
|
+
|
|
303
|
+
-d, --source-dir=<value>... File paths for source to retrieve from the org.
|
|
304
|
+
|
|
305
|
+
The supplied paths can be to a single file (in which case the operation is applied to only one file) or to a folder
|
|
306
|
+
(in which case the operation is applied to all source files in the directory and its subdirectories).
|
|
307
|
+
|
|
308
|
+
-o, --target-org=<value> Login username or alias for the target org.
|
|
309
|
+
|
|
310
|
+
Overrides your default org.
|
|
311
|
+
|
|
312
|
+
-w, --wait=<value> Number of minutes to wait for the command to complete and display results to the terminal window.
|
|
313
|
+
|
|
314
|
+
If the command continues to run after the wait period, the CLI returns control of the terminal window to you.
|
|
315
|
+
|
|
316
|
+
-x, --manifest=<value> File path for the manifest (package.xml) that specifies the components to retrieve.
|
|
317
|
+
|
|
318
|
+
If you specify this parameter, don’t specify --metadata or --source-dir.
|
|
319
|
+
```
|
|
110
320
|
|
|
111
321
|
<!-- commandsstop -->
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { FileResponse } from '@sf/sdr';
|
|
2
|
+
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
3
|
+
export declare type TestResults = {
|
|
4
|
+
passing: number;
|
|
5
|
+
failing: number;
|
|
6
|
+
total: number;
|
|
7
|
+
time?: number;
|
|
8
|
+
};
|
|
9
|
+
export declare type DeployMetadataResult = {
|
|
10
|
+
files: FileResponse[];
|
|
11
|
+
tests?: TestResults;
|
|
12
|
+
};
|
|
13
|
+
export default class DeployMetadata extends SfCommand<DeployMetadataResult> {
|
|
14
|
+
static readonly description: string;
|
|
15
|
+
static readonly summary: string;
|
|
16
|
+
static readonly examples: string[];
|
|
17
|
+
static flags: {
|
|
18
|
+
metadata: import("@oclif/core/lib/interfaces").OptionFlag<string[]>;
|
|
19
|
+
manifest: import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
20
|
+
'source-dir': import("@oclif/core/lib/interfaces").OptionFlag<string[]>;
|
|
21
|
+
'target-org': import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
22
|
+
'test-level': import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
23
|
+
wait: import("@oclif/core/lib/interfaces").OptionFlag<number>;
|
|
24
|
+
};
|
|
25
|
+
static configurationVariablesSection: {
|
|
26
|
+
header: string;
|
|
27
|
+
body: string | [string, string][] | import("@oclif/core").HelpSectionKeyValueTable;
|
|
28
|
+
};
|
|
29
|
+
static envVariablesSection: {
|
|
30
|
+
header: string;
|
|
31
|
+
body: string | [string, string][] | import("@oclif/core").HelpSectionKeyValueTable;
|
|
32
|
+
};
|
|
33
|
+
run(): Promise<DeployMetadataResult>;
|
|
34
|
+
private setExitCode;
|
|
35
|
+
private getTestResults;
|
|
36
|
+
}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2021, salesforce.com, inc.
|
|
4
|
+
* All rights reserved.
|
|
5
|
+
* Licensed under the BSD 3-Clause license.
|
|
6
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
const os_1 = require("os");
|
|
10
|
+
const core_1 = require("@oclif/core");
|
|
11
|
+
const core_2 = require("@salesforce/core");
|
|
12
|
+
const kit_1 = require("@salesforce/kit");
|
|
13
|
+
const ts_types_1 = require("@salesforce/ts-types");
|
|
14
|
+
const types_1 = require("@sf/sdr/lib/src/client/types");
|
|
15
|
+
const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
|
|
16
|
+
const orgs_1 = require("../../utils/orgs");
|
|
17
|
+
const componentSetBuilder_1 = require("../../utils/componentSetBuilder");
|
|
18
|
+
const output_1 = require("../../utils/output");
|
|
19
|
+
const testLevel_1 = require("../../utils/testLevel");
|
|
20
|
+
const progressBar_1 = require("../../utils/progressBar");
|
|
21
|
+
const config_1 = require("../../utils/config");
|
|
22
|
+
const requiredFlagValidator_1 = require("../../utils/requiredFlagValidator");
|
|
23
|
+
core_2.Messages.importMessagesDirectory(__dirname);
|
|
24
|
+
const messages = core_2.Messages.loadMessages('@salesforce/plugin-deploy-retrieve', 'deploy.metadata');
|
|
25
|
+
// One of these flags must be specified for a valid deploy.
|
|
26
|
+
const requiredFlags = ['manifest', 'metadata', 'source-dir'];
|
|
27
|
+
class DeployMetadata extends sf_plugins_core_1.SfCommand {
|
|
28
|
+
async run() {
|
|
29
|
+
const flags = (await this.parse(DeployMetadata)).flags;
|
|
30
|
+
const testLevel = flags['test-level'];
|
|
31
|
+
(0, requiredFlagValidator_1.validateOneOfCommandFlags)(requiredFlags, flags);
|
|
32
|
+
const componentSet = await componentSetBuilder_1.ComponentSetBuilder.build({
|
|
33
|
+
sourceapiversion: await (0, orgs_1.getSourceApiVersion)(),
|
|
34
|
+
sourcepath: flags['source-dir'],
|
|
35
|
+
manifest: (flags.manifest && {
|
|
36
|
+
manifestPath: flags.manifest,
|
|
37
|
+
directoryPaths: await (0, orgs_1.getPackageDirs)(),
|
|
38
|
+
}),
|
|
39
|
+
metadata: flags.metadata && {
|
|
40
|
+
metadataEntries: flags.metadata,
|
|
41
|
+
directoryPaths: await (0, orgs_1.getPackageDirs)(),
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
const targetOrg = await (0, orgs_1.resolveTargetOrg)(flags['target-org']);
|
|
45
|
+
this.log(`${os_1.EOL}${messages.getMessage('deploy.metadata.api', [targetOrg, (0, config_1.resolveRestDeploy)()])}${os_1.EOL}`);
|
|
46
|
+
const deploy = await componentSet.deploy({
|
|
47
|
+
usernameOrConnection: targetOrg,
|
|
48
|
+
apiOptions: { testLevel },
|
|
49
|
+
});
|
|
50
|
+
new progressBar_1.DeployProgress(deploy, this.jsonEnabled()).start();
|
|
51
|
+
const result = await deploy.pollStatus(500, kit_1.Duration.minutes(flags.wait).seconds);
|
|
52
|
+
this.setExitCode(result);
|
|
53
|
+
if (!this.jsonEnabled()) {
|
|
54
|
+
(0, output_1.displaySuccesses)(result);
|
|
55
|
+
(0, output_1.displayFailures)(result);
|
|
56
|
+
(0, output_1.displayTestResults)(result, testLevel);
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
files: (0, output_1.asRelativePaths)((result === null || result === void 0 ? void 0 : result.getFileResponses()) || []),
|
|
60
|
+
tests: this.getTestResults(result),
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
setExitCode(result) {
|
|
64
|
+
const status = (0, ts_types_1.getString)(result, 'response.status');
|
|
65
|
+
if (status !== types_1.RequestStatus.Succeeded) {
|
|
66
|
+
process.exitCode = 1;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
getTestResults(result) {
|
|
70
|
+
const passing = (0, ts_types_1.get)(result, 'response.numberTestsCompleted', 0);
|
|
71
|
+
const failing = (0, ts_types_1.get)(result, 'response.numberTestErrors', 0);
|
|
72
|
+
const total = (0, ts_types_1.get)(result, 'response.numberTestsTotal', 0);
|
|
73
|
+
const testResults = { passing, failing, total };
|
|
74
|
+
const time = (0, ts_types_1.get)(result, 'response.details.runTestResult.totalTime', 0);
|
|
75
|
+
return time ? { ...testResults, time } : testResults;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.default = DeployMetadata;
|
|
79
|
+
DeployMetadata.description = messages.getMessage('description');
|
|
80
|
+
DeployMetadata.summary = messages.getMessage('summary');
|
|
81
|
+
DeployMetadata.examples = messages.getMessages('examples');
|
|
82
|
+
DeployMetadata.flags = {
|
|
83
|
+
metadata: core_1.Flags.string({
|
|
84
|
+
char: 'm',
|
|
85
|
+
summary: messages.getMessage('flags.metadata.summary'),
|
|
86
|
+
multiple: true,
|
|
87
|
+
exclusive: ['manifest', 'source-dir'],
|
|
88
|
+
}),
|
|
89
|
+
manifest: core_1.Flags.string({
|
|
90
|
+
char: 'x',
|
|
91
|
+
description: messages.getMessage('flags.manifest.description'),
|
|
92
|
+
summary: messages.getMessage('flags.manifest.summary'),
|
|
93
|
+
exclusive: ['metadata', 'source-dir'],
|
|
94
|
+
}),
|
|
95
|
+
'source-dir': core_1.Flags.string({
|
|
96
|
+
char: 'd',
|
|
97
|
+
description: messages.getMessage('flags.source-dir.description'),
|
|
98
|
+
summary: messages.getMessage('flags.source-dir.summary'),
|
|
99
|
+
multiple: true,
|
|
100
|
+
exclusive: ['manifest', 'metadata'],
|
|
101
|
+
}),
|
|
102
|
+
'target-org': core_1.Flags.string({
|
|
103
|
+
char: 'o',
|
|
104
|
+
description: messages.getMessage('flags.target-org.description'),
|
|
105
|
+
summary: messages.getMessage('flags.target-org.summary'),
|
|
106
|
+
}),
|
|
107
|
+
'test-level': core_1.Flags.string({
|
|
108
|
+
char: 'l',
|
|
109
|
+
description: messages.getMessage('flags.test-level.description'),
|
|
110
|
+
summary: messages.getMessage('flags.test-level.summary'),
|
|
111
|
+
options: Object.values(testLevel_1.TestLevel),
|
|
112
|
+
default: testLevel_1.TestLevel.NoTestRun,
|
|
113
|
+
}),
|
|
114
|
+
wait: core_1.Flags.integer({
|
|
115
|
+
char: 'w',
|
|
116
|
+
summary: messages.getMessage('flags.wait.summary'),
|
|
117
|
+
description: messages.getMessage('flags.wait.description'),
|
|
118
|
+
default: 33,
|
|
119
|
+
}),
|
|
120
|
+
};
|
|
121
|
+
DeployMetadata.configurationVariablesSection = (0, sf_plugins_core_1.toHelpSection)('CONFIGURATION VARIABLES', core_2.OrgConfigProperties.TARGET_ORG, core_2.SfdxPropertyKeys.API_VERSION);
|
|
122
|
+
DeployMetadata.envVariablesSection = (0, sf_plugins_core_1.toHelpSection)('ENVIRONMENT VARIABLES', core_2.EnvironmentVariable.SF_TARGET_ORG, core_2.EnvironmentVariable.SFDX_DEFAULTUSERNAME, core_2.EnvironmentVariable.SFDX_USE_PROGRESS_BAR);
|
|
123
|
+
//# sourceMappingURL=metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/commands/deploy/metadata.ts"],"names":[],"mappings":"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"}
|
package/lib/commands/deploy.js
CHANGED
|
@@ -85,8 +85,8 @@ class Deploy extends sf_plugins_core_1.SfCommand {
|
|
|
85
85
|
const addition = `${os_1.EOL}${os_1.EOL}# Deploy Options${os_1.EOL}${exports.DEPLOY_OPTIONS_FILE}${os_1.EOL}`;
|
|
86
86
|
await core_2.fs.writeFile('.gitignore', `${gitignore}${addition}`);
|
|
87
87
|
}
|
|
88
|
-
shelljs_1.exec('git add .gitignore', { silent: true });
|
|
89
|
-
shelljs_1.exec(`git commit -am "Add ${exports.DEPLOY_OPTIONS_FILE} to .gitignore"`, { silent: true });
|
|
88
|
+
(0, shelljs_1.exec)('git add .gitignore', { silent: true });
|
|
89
|
+
(0, shelljs_1.exec)(`git commit -am "Add ${exports.DEPLOY_OPTIONS_FILE} to .gitignore"`, { silent: true });
|
|
90
90
|
}
|
|
91
91
|
async shouldCommit() {
|
|
92
92
|
return (await core_2.fs.fileExists('.git')) && (await core_2.fs.fileExists('functions'));
|
|
@@ -115,7 +115,7 @@ class Deploy extends sf_plugins_core_1.SfCommand {
|
|
|
115
115
|
name: 'deployables',
|
|
116
116
|
message: 'Select apps and packages to deploy:',
|
|
117
117
|
type: 'checkbox',
|
|
118
|
-
choices: sf_plugins_core_1.generateTableChoices(columns, options),
|
|
118
|
+
choices: (0, sf_plugins_core_1.generateTableChoices)(columns, options),
|
|
119
119
|
},
|
|
120
120
|
]);
|
|
121
121
|
const chosenDeployers = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { FileResponse, RetrieveResult } from '@sf/sdr';
|
|
2
|
+
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
3
|
+
export declare type RetrieveMetadataResult = FileResponse[];
|
|
4
|
+
export default class RetrieveMetadata extends SfCommand<RetrieveMetadataResult> {
|
|
5
|
+
static readonly summary: string;
|
|
6
|
+
static readonly description: string;
|
|
7
|
+
static readonly examples: string[];
|
|
8
|
+
static flags: {
|
|
9
|
+
'api-version': import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
10
|
+
manifest: import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
11
|
+
metadata: import("@oclif/core/lib/interfaces").OptionFlag<string[]>;
|
|
12
|
+
'package-name': 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<string>;
|
|
15
|
+
wait: import("@oclif/core/lib/interfaces").OptionFlag<number>;
|
|
16
|
+
};
|
|
17
|
+
static configurationVariablesSection: {
|
|
18
|
+
header: string;
|
|
19
|
+
body: string | [string, string][] | import("@oclif/core").HelpSectionKeyValueTable;
|
|
20
|
+
};
|
|
21
|
+
static envVariablesSection: {
|
|
22
|
+
header: string;
|
|
23
|
+
body: string | [string, string][] | import("@oclif/core").HelpSectionKeyValueTable;
|
|
24
|
+
};
|
|
25
|
+
protected retrieveResult: RetrieveResult;
|
|
26
|
+
run(): Promise<RetrieveMetadataResult>;
|
|
27
|
+
private displayResults;
|
|
28
|
+
private getPackages;
|
|
29
|
+
}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2021, salesforce.com, inc.
|
|
4
|
+
* All rights reserved.
|
|
5
|
+
* Licensed under the BSD 3-Clause license.
|
|
6
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
const path = require("path");
|
|
10
|
+
const core_1 = require("@oclif/core");
|
|
11
|
+
const core_2 = require("@salesforce/core");
|
|
12
|
+
const kit_1 = require("@salesforce/kit");
|
|
13
|
+
const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
|
|
14
|
+
const ts_types_1 = require("@salesforce/ts-types");
|
|
15
|
+
const orgs_1 = require("../../utils/orgs");
|
|
16
|
+
const componentSetBuilder_1 = require("../../utils/componentSetBuilder");
|
|
17
|
+
const output_1 = require("../../utils/output");
|
|
18
|
+
const requiredFlagValidator_1 = require("../../utils/requiredFlagValidator");
|
|
19
|
+
core_2.Messages.importMessagesDirectory(__dirname);
|
|
20
|
+
const messages = core_2.Messages.loadMessages('@salesforce/plugin-deploy-retrieve', 'retrieve.metadata');
|
|
21
|
+
const mdTrasferMessages = core_2.Messages.loadMessages('@salesforce/plugin-deploy-retrieve', 'metadata.transfer');
|
|
22
|
+
// One of these flags must be specified for a valid deploy.
|
|
23
|
+
const requiredFlags = ['manifest', 'metadata', 'package-name', 'source-dir'];
|
|
24
|
+
class RetrieveMetadata extends sf_plugins_core_1.SfCommand {
|
|
25
|
+
async run() {
|
|
26
|
+
const flags = (await this.parse(RetrieveMetadata)).flags;
|
|
27
|
+
(0, requiredFlagValidator_1.validateOneOfCommandFlags)(requiredFlags, flags);
|
|
28
|
+
const componentSet = await componentSetBuilder_1.ComponentSetBuilder.build({
|
|
29
|
+
apiversion: flags['api-version'],
|
|
30
|
+
sourcepath: flags['source-dir'],
|
|
31
|
+
packagenames: flags['package-name'],
|
|
32
|
+
manifest: (flags.manifest && {
|
|
33
|
+
manifestPath: flags.manifest,
|
|
34
|
+
directoryPaths: await (0, orgs_1.getPackageDirs)(),
|
|
35
|
+
}),
|
|
36
|
+
metadata: flags.metadata && {
|
|
37
|
+
metadataEntries: flags.metadata,
|
|
38
|
+
directoryPaths: await (0, orgs_1.getPackageDirs)(),
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
const project = await core_2.SfdxProject.resolve();
|
|
42
|
+
const retrieve = await componentSet.retrieve({
|
|
43
|
+
usernameOrConnection: await (0, orgs_1.resolveTargetOrg)(flags['target-org']),
|
|
44
|
+
merge: true,
|
|
45
|
+
output: project.getDefaultPackage().fullPath,
|
|
46
|
+
packageOptions: flags['package-name'],
|
|
47
|
+
});
|
|
48
|
+
retrieve.onUpdate((data) => {
|
|
49
|
+
this.spinner.status = mdTrasferMessages.getMessage(data.status);
|
|
50
|
+
});
|
|
51
|
+
// any thing else should stop the progress bar
|
|
52
|
+
retrieve.onFinish((data) => this.spinner.stop(mdTrasferMessages.getMessage(data.response.status)));
|
|
53
|
+
retrieve.onCancel((data) => this.spinner.stop(mdTrasferMessages.getMessage(data.status)));
|
|
54
|
+
retrieve.onError((error) => {
|
|
55
|
+
this.spinner.stop(error.name);
|
|
56
|
+
throw error;
|
|
57
|
+
});
|
|
58
|
+
this.spinner.start(messages.getMessage('RetrieveTitle'));
|
|
59
|
+
await retrieve.start();
|
|
60
|
+
const result = await retrieve.pollStatus(500, kit_1.Duration.minutes(flags.wait).seconds);
|
|
61
|
+
const fileResponses = (result === null || result === void 0 ? void 0 : result.getFileResponses()) || [];
|
|
62
|
+
await this.displayResults(result, flags);
|
|
63
|
+
return fileResponses;
|
|
64
|
+
}
|
|
65
|
+
async displayResults(result, flags) {
|
|
66
|
+
if (!(0, ts_types_1.getBoolean)(flags, 'json', false)) {
|
|
67
|
+
if (result.response.status === 'Succeeded') {
|
|
68
|
+
(0, output_1.displaySuccesses)(result);
|
|
69
|
+
(0, output_1.displayPackages)(result, await this.getPackages(result, flags));
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
throw new core_2.SfdxError((0, ts_types_1.getString)(result.response, 'errorMessage', result.response.status), (0, ts_types_1.getString)(result.response, 'errorStatusCode', 'unknown'));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
async getPackages(result, flags) {
|
|
77
|
+
const packages = [];
|
|
78
|
+
const projectPath = await core_2.SfdxProject.resolveProjectPath();
|
|
79
|
+
const packageNames = (0, ts_types_1.getArray)(flags, 'package-name', []);
|
|
80
|
+
packageNames.forEach((name) => {
|
|
81
|
+
packages.push({ name, path: path.join(projectPath, name) });
|
|
82
|
+
});
|
|
83
|
+
return packages;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
exports.default = RetrieveMetadata;
|
|
87
|
+
RetrieveMetadata.summary = messages.getMessage('summary');
|
|
88
|
+
RetrieveMetadata.description = messages.getMessage('description');
|
|
89
|
+
RetrieveMetadata.examples = messages.getMessages('examples');
|
|
90
|
+
RetrieveMetadata.flags = {
|
|
91
|
+
'api-version': core_1.Flags.string({
|
|
92
|
+
char: 'a',
|
|
93
|
+
summary: messages.getMessage('flags.api-version.summary'),
|
|
94
|
+
description: messages.getMessage('flags.api-version.description'),
|
|
95
|
+
}),
|
|
96
|
+
manifest: core_1.Flags.string({
|
|
97
|
+
char: 'x',
|
|
98
|
+
summary: messages.getMessage('flags.manifest.summary'),
|
|
99
|
+
description: messages.getMessage('flags.manifest.description'),
|
|
100
|
+
exclusive: ['metadata', 'source-dir'],
|
|
101
|
+
}),
|
|
102
|
+
metadata: core_1.Flags.string({
|
|
103
|
+
char: 'm',
|
|
104
|
+
summary: messages.getMessage('flags.metadata.summary'),
|
|
105
|
+
multiple: true,
|
|
106
|
+
exclusive: ['manifest', 'source-dir'],
|
|
107
|
+
}),
|
|
108
|
+
'package-name': core_1.Flags.string({
|
|
109
|
+
char: 'n',
|
|
110
|
+
summary: messages.getMessage('flags.package-name.summary'),
|
|
111
|
+
multiple: true,
|
|
112
|
+
}),
|
|
113
|
+
'source-dir': core_1.Flags.string({
|
|
114
|
+
char: 'd',
|
|
115
|
+
summary: messages.getMessage('flags.source-dir.summary'),
|
|
116
|
+
description: messages.getMessage('flags.source-dir.description'),
|
|
117
|
+
multiple: true,
|
|
118
|
+
exclusive: ['manifest', 'metadata'],
|
|
119
|
+
}),
|
|
120
|
+
'target-org': core_1.Flags.string({
|
|
121
|
+
char: 'o',
|
|
122
|
+
summary: messages.getMessage('flags.target-org.summary'),
|
|
123
|
+
description: messages.getMessage('flags.target-org.description'),
|
|
124
|
+
}),
|
|
125
|
+
wait: core_1.Flags.integer({
|
|
126
|
+
char: 'w',
|
|
127
|
+
default: 33,
|
|
128
|
+
summary: messages.getMessage('flags.wait.summary'),
|
|
129
|
+
description: messages.getMessage('flags.wait.description'),
|
|
130
|
+
}),
|
|
131
|
+
};
|
|
132
|
+
RetrieveMetadata.configurationVariablesSection = (0, sf_plugins_core_1.toHelpSection)('CONFIGURATION VARIABLES', core_2.OrgConfigProperties.TARGET_ORG, core_2.SfdxPropertyKeys.API_VERSION);
|
|
133
|
+
RetrieveMetadata.envVariablesSection = (0, sf_plugins_core_1.toHelpSection)('ENVIRONMENT VARIABLES', core_2.EnvironmentVariable.SF_TARGET_ORG, core_2.EnvironmentVariable.SFDX_DEFAULTUSERNAME, core_2.EnvironmentVariable.SFDX_USE_PROGRESS_BAR);
|
|
134
|
+
//# sourceMappingURL=metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/commands/retrieve/metadata.ts"],"names":[],"mappings":"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"}
|