@salesforce/plugin-org 2.4.7 → 2.5.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/lib/commands/org/list/metadata-types.d.ts +17 -0
- package/lib/commands/org/list/metadata-types.js +75 -0
- package/lib/commands/org/list/metadata-types.js.map +1 -0
- package/lib/commands/org/list/metadata.d.ts +19 -0
- package/lib/commands/org/list/metadata.js +68 -0
- package/lib/commands/org/list/metadata.js.map +1 -0
- package/lib/commands/org/open.d.ts +3 -0
- package/lib/commands/org/open.js +42 -7
- package/lib/commands/org/open.js.map +1 -1
- package/messages/list.metadata.md +47 -0
- package/messages/metadata-types.md +37 -0
- package/messages/open.md +10 -0
- package/oclif.manifest.json +207 -4
- package/package.json +14 -8
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { DescribeMetadataResult } from 'jsforce/api/metadata';
|
|
2
|
+
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
3
|
+
export declare class ListMetadataTypes extends SfCommand<DescribeMetadataResult> {
|
|
4
|
+
static readonly summary: string;
|
|
5
|
+
static readonly description: string;
|
|
6
|
+
static readonly examples: string[];
|
|
7
|
+
static readonly aliases: string[];
|
|
8
|
+
static readonly deprecateAliases = true;
|
|
9
|
+
static readonly flags: {
|
|
10
|
+
'api-version': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
11
|
+
loglevel: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
12
|
+
'target-org': import("@oclif/core/lib/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
13
|
+
'output-file': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
14
|
+
'filter-known': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
};
|
|
16
|
+
run(): Promise<DescribeMetadataResult>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ListMetadataTypes = 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 fs = require("fs");
|
|
11
|
+
const core_1 = require("@salesforce/core");
|
|
12
|
+
const source_deploy_retrieve_1 = require("@salesforce/source-deploy-retrieve");
|
|
13
|
+
const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
|
|
14
|
+
core_1.Messages.importMessagesDirectory(__dirname);
|
|
15
|
+
const messages = core_1.Messages.loadMessages('@salesforce/plugin-org', 'metadata-types');
|
|
16
|
+
class ListMetadataTypes extends sf_plugins_core_1.SfCommand {
|
|
17
|
+
async run() {
|
|
18
|
+
const { flags } = await this.parse(ListMetadataTypes);
|
|
19
|
+
const connection = flags['target-org'].getConnection(flags['api-version']);
|
|
20
|
+
const describeResult = await connection.metadata.describe(flags['api-version']);
|
|
21
|
+
if (flags['filter-known']) {
|
|
22
|
+
this.debug('Filtering for only metadata types unregistered in the CLI');
|
|
23
|
+
const registry = new source_deploy_retrieve_1.RegistryAccess();
|
|
24
|
+
describeResult.metadataObjects = describeResult.metadataObjects.filter((md) => {
|
|
25
|
+
try {
|
|
26
|
+
// An error is thrown when a type can't be found by name, and we want
|
|
27
|
+
// the ones that can't be found.
|
|
28
|
+
registry.getTypeByName(md.xmlName);
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
catch (e) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
if (flags['output-file']) {
|
|
37
|
+
await fs.promises.writeFile(flags['output-file'], JSON.stringify(describeResult, null, 2));
|
|
38
|
+
this.logSuccess(`Wrote result file to ${flags['output-file']}.`);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
this.styledJSON(describeResult);
|
|
42
|
+
}
|
|
43
|
+
return describeResult;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.ListMetadataTypes = ListMetadataTypes;
|
|
47
|
+
ListMetadataTypes.summary = messages.getMessage('summary');
|
|
48
|
+
ListMetadataTypes.description = messages.getMessage('description');
|
|
49
|
+
ListMetadataTypes.examples = messages.getMessages('examples');
|
|
50
|
+
ListMetadataTypes.aliases = ['force:mdapi:describemetadata'];
|
|
51
|
+
ListMetadataTypes.deprecateAliases = true;
|
|
52
|
+
ListMetadataTypes.flags = {
|
|
53
|
+
'api-version': sf_plugins_core_1.Flags.orgApiVersion({
|
|
54
|
+
aliases: ['apiversion', 'a'],
|
|
55
|
+
deprecateAliases: true,
|
|
56
|
+
summary: messages.getMessage('flags.api-version.summary'),
|
|
57
|
+
}),
|
|
58
|
+
loglevel: sf_plugins_core_1.loglevel,
|
|
59
|
+
'target-org': sf_plugins_core_1.requiredOrgFlagWithDeprecations,
|
|
60
|
+
'output-file': sf_plugins_core_1.Flags.file({
|
|
61
|
+
aliases: ['resultfile'],
|
|
62
|
+
deprecateAliases: true,
|
|
63
|
+
char: 'f',
|
|
64
|
+
summary: messages.getMessage('flags.output-file.summary'),
|
|
65
|
+
description: messages.getMessage('flags.output-file.description'),
|
|
66
|
+
}),
|
|
67
|
+
'filter-known': sf_plugins_core_1.Flags.boolean({
|
|
68
|
+
aliases: ['filterknown'],
|
|
69
|
+
deprecateAliases: true,
|
|
70
|
+
char: 'k',
|
|
71
|
+
summary: messages.getMessage('flags.filter-known.summary'),
|
|
72
|
+
hidden: true,
|
|
73
|
+
}),
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=metadata-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-types.js","sourceRoot":"","sources":["../../../../src/commands/org/list/metadata-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { FileProperties } from 'jsforce/api/metadata';
|
|
2
|
+
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
3
|
+
export type ListMetadataCommandResult = FileProperties[];
|
|
4
|
+
export declare class ListMetadata extends SfCommand<ListMetadataCommandResult> {
|
|
5
|
+
static readonly summary: string;
|
|
6
|
+
static readonly description: string;
|
|
7
|
+
static readonly examples: string[];
|
|
8
|
+
static readonly aliases: string[];
|
|
9
|
+
static readonly deprecateAliases = true;
|
|
10
|
+
static readonly flags: {
|
|
11
|
+
'api-version': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
12
|
+
loglevel: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
13
|
+
'target-org': import("@oclif/core/lib/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
14
|
+
'output-file': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
15
|
+
'metadata-type': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
16
|
+
folder: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
17
|
+
};
|
|
18
|
+
run(): Promise<ListMetadataCommandResult>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2020, 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
|
+
exports.ListMetadata = void 0;
|
|
10
|
+
const fs = require("fs");
|
|
11
|
+
const core_1 = require("@salesforce/core");
|
|
12
|
+
const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
|
|
13
|
+
core_1.Messages.importMessagesDirectory(__dirname);
|
|
14
|
+
const messages = core_1.Messages.loadMessages('@salesforce/plugin-org', 'list.metadata');
|
|
15
|
+
class ListMetadata extends sf_plugins_core_1.SfCommand {
|
|
16
|
+
async run() {
|
|
17
|
+
const { flags } = await this.parse(ListMetadata);
|
|
18
|
+
const conn = flags['target-org'].getConnection(flags['api-version']);
|
|
19
|
+
const query = flags.folder
|
|
20
|
+
? { type: flags['metadata-type'], folder: flags.folder }
|
|
21
|
+
: { type: flags['metadata-type'] };
|
|
22
|
+
const listResult = await conn.metadata.list(query, flags['api-version']);
|
|
23
|
+
if (flags['output-file']) {
|
|
24
|
+
fs.writeFileSync(flags['output-file'], JSON.stringify(listResult, null, 2));
|
|
25
|
+
this.logSuccess(`Wrote result file to ${flags['output-file']}.`);
|
|
26
|
+
}
|
|
27
|
+
else if (listResult?.length) {
|
|
28
|
+
this.styledJSON(listResult);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
this.warn(messages.getMessage('noMatchingMetadata', [flags['metadata-type'], conn.getUsername()]));
|
|
32
|
+
}
|
|
33
|
+
return listResult;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.ListMetadata = ListMetadata;
|
|
37
|
+
ListMetadata.summary = messages.getMessage('summary');
|
|
38
|
+
ListMetadata.description = messages.getMessage('description');
|
|
39
|
+
ListMetadata.examples = messages.getMessages('examples');
|
|
40
|
+
ListMetadata.aliases = ['force:mdapi:listmetadata'];
|
|
41
|
+
ListMetadata.deprecateAliases = true;
|
|
42
|
+
ListMetadata.flags = {
|
|
43
|
+
'api-version': sf_plugins_core_1.Flags.orgApiVersion({
|
|
44
|
+
aliases: ['apiversion', 'a'],
|
|
45
|
+
deprecateAliases: true,
|
|
46
|
+
summary: messages.getMessage('flags.api-version.summary'),
|
|
47
|
+
}),
|
|
48
|
+
loglevel: sf_plugins_core_1.loglevel,
|
|
49
|
+
'target-org': sf_plugins_core_1.requiredOrgFlagWithDeprecations,
|
|
50
|
+
'output-file': sf_plugins_core_1.Flags.file({
|
|
51
|
+
aliases: ['resultfile'],
|
|
52
|
+
deprecateAliases: true,
|
|
53
|
+
char: 'f',
|
|
54
|
+
summary: messages.getMessage('flags.output-file.summary'),
|
|
55
|
+
}),
|
|
56
|
+
'metadata-type': sf_plugins_core_1.Flags.string({
|
|
57
|
+
aliases: ['metadatatype'],
|
|
58
|
+
deprecateAliases: true,
|
|
59
|
+
char: 'm',
|
|
60
|
+
summary: messages.getMessage('flags.metadata-type.summary'),
|
|
61
|
+
required: true,
|
|
62
|
+
}),
|
|
63
|
+
folder: sf_plugins_core_1.Flags.string({
|
|
64
|
+
summary: messages.getMessage('flags.folder.summary'),
|
|
65
|
+
description: messages.getMessage('flags.folder.description'),
|
|
66
|
+
}),
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../../src/commands/org/list/metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,10 +13,13 @@ export declare class OrgOpenCommand extends SfCommand<OrgOpenOutput> {
|
|
|
13
13
|
path: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
14
14
|
'url-only': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
15
15
|
loglevel: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
16
|
+
'source-file': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
16
17
|
};
|
|
17
18
|
private org;
|
|
19
|
+
private conn;
|
|
18
20
|
run(): Promise<OrgOpenOutput>;
|
|
19
21
|
private buildFrontdoorUrl;
|
|
22
|
+
private generateFileUrl;
|
|
20
23
|
}
|
|
21
24
|
export interface OrgOpenOutput {
|
|
22
25
|
url: string;
|
package/lib/commands/org/open.js
CHANGED
|
@@ -7,10 +7,12 @@
|
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.OrgOpenCommand = void 0;
|
|
10
|
+
const path = require("path");
|
|
10
11
|
const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
|
|
11
12
|
const core_1 = require("@salesforce/core");
|
|
12
13
|
const kit_1 = require("@salesforce/kit");
|
|
13
14
|
const open = require("open");
|
|
15
|
+
const source_deploy_retrieve_1 = require("@salesforce/source-deploy-retrieve");
|
|
14
16
|
const utils_1 = require("../../shared/utils");
|
|
15
17
|
core_1.Messages.importMessagesDirectory(__dirname);
|
|
16
18
|
const messages = core_1.Messages.loadMessages('@salesforce/plugin-org', 'open');
|
|
@@ -19,14 +21,20 @@ class OrgOpenCommand extends sf_plugins_core_1.SfCommand {
|
|
|
19
21
|
async run() {
|
|
20
22
|
const { flags } = await this.parse(OrgOpenCommand);
|
|
21
23
|
this.org = flags['target-org'];
|
|
22
|
-
|
|
23
|
-
|
|
24
|
+
this.conn = this.org.getConnection(flags['api-version']);
|
|
25
|
+
let url = await this.buildFrontdoorUrl();
|
|
26
|
+
if (flags['source-file']) {
|
|
27
|
+
url += `&retURL=${await this.generateFileUrl(flags['source-file'])}`;
|
|
28
|
+
}
|
|
29
|
+
else if (flags.path) {
|
|
30
|
+
url += `&retURL=${flags.path}`;
|
|
31
|
+
}
|
|
24
32
|
const orgId = this.org.getOrgId();
|
|
25
33
|
// TODO: better typings in sfdx-core for orgs read from auth files
|
|
26
34
|
const username = this.org.getUsername();
|
|
27
35
|
const output = { orgId, url, username };
|
|
28
36
|
const containerMode = new kit_1.Env().getBoolean('SFDX_CONTAINER_MODE');
|
|
29
|
-
// security warning only for --json OR --
|
|
37
|
+
// security warning only for --json OR --url-only OR containerMode
|
|
30
38
|
if (flags['url-only'] || flags.json || containerMode) {
|
|
31
39
|
this.warn(sharedMessages.getMessage('SecurityWarning'));
|
|
32
40
|
this.log('');
|
|
@@ -70,20 +78,39 @@ class OrgOpenCommand extends sf_plugins_core_1.SfCommand {
|
|
|
70
78
|
await (0, utils_1.openUrl)(url, openOptions);
|
|
71
79
|
return output;
|
|
72
80
|
}
|
|
73
|
-
async buildFrontdoorUrl(
|
|
81
|
+
async buildFrontdoorUrl() {
|
|
74
82
|
await this.org.refreshAuth(); // we need a live accessToken for the frontdoor url
|
|
75
|
-
const
|
|
76
|
-
const accessToken = conn.accessToken;
|
|
83
|
+
const accessToken = this.conn.accessToken;
|
|
77
84
|
const instanceUrl = this.org.getField(core_1.Org.Fields.INSTANCE_URL);
|
|
78
85
|
const instanceUrlClean = instanceUrl.replace(/\/$/, '');
|
|
79
86
|
return `${instanceUrlClean}/secur/frontdoor.jsp?sid=${accessToken}`;
|
|
80
87
|
}
|
|
88
|
+
async generateFileUrl(file) {
|
|
89
|
+
try {
|
|
90
|
+
const metadataResolver = new source_deploy_retrieve_1.MetadataResolver();
|
|
91
|
+
const components = metadataResolver.getComponentsFromPath(file);
|
|
92
|
+
const typeName = components[0]?.type?.name;
|
|
93
|
+
if (typeName === 'FlexiPage') {
|
|
94
|
+
const flexipage = await this.conn.singleRecordQuery(`SELECT id FROM flexipage WHERE DeveloperName='${path.basename(file, '.flexipage-meta.xml')}'`, { tooling: true });
|
|
95
|
+
return `/visualEditor/appBuilder.app?pageId=${flexipage.Id}`;
|
|
96
|
+
}
|
|
97
|
+
else if (typeName === 'ApexPage') {
|
|
98
|
+
return `/apex/${path.basename(file).replace('.page-meta.xml', '').replace('.page', '')}`;
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
return 'lightning/setup/FlexiPageList/home';
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
return 'lightning/setup/FlexiPageList/home';
|
|
106
|
+
}
|
|
107
|
+
}
|
|
81
108
|
}
|
|
82
109
|
exports.OrgOpenCommand = OrgOpenCommand;
|
|
83
110
|
OrgOpenCommand.summary = messages.getMessage('summary');
|
|
84
111
|
OrgOpenCommand.description = messages.getMessage('description');
|
|
85
112
|
OrgOpenCommand.examples = messages.getMessages('examples');
|
|
86
|
-
OrgOpenCommand.aliases = ['force:org:open'];
|
|
113
|
+
OrgOpenCommand.aliases = ['force:org:open', 'force:source:open'];
|
|
87
114
|
OrgOpenCommand.deprecateAliases = true;
|
|
88
115
|
OrgOpenCommand.flags = {
|
|
89
116
|
'target-org': sf_plugins_core_1.requiredOrgFlagWithDeprecations,
|
|
@@ -98,6 +125,7 @@ OrgOpenCommand.flags = {
|
|
|
98
125
|
char: 'p',
|
|
99
126
|
summary: messages.getMessage('flags.path.summary'),
|
|
100
127
|
env: 'FORCE_OPEN_URL',
|
|
128
|
+
exclusive: ['source-file'],
|
|
101
129
|
parse: (input) => Promise.resolve(encodeURIComponent(decodeURIComponent(input))),
|
|
102
130
|
}),
|
|
103
131
|
'url-only': sf_plugins_core_1.Flags.boolean({
|
|
@@ -107,5 +135,12 @@ OrgOpenCommand.flags = {
|
|
|
107
135
|
deprecateAliases: true,
|
|
108
136
|
}),
|
|
109
137
|
loglevel: sf_plugins_core_1.loglevel,
|
|
138
|
+
'source-file': sf_plugins_core_1.Flags.file({
|
|
139
|
+
char: 'f',
|
|
140
|
+
aliases: ['sourcefile'],
|
|
141
|
+
exclusive: ['path'],
|
|
142
|
+
deprecateAliases: true,
|
|
143
|
+
summary: messages.getMessage('flags.source-file.summary'),
|
|
144
|
+
}),
|
|
110
145
|
};
|
|
111
146
|
//# sourceMappingURL=open.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open.js","sourceRoot":"","sources":["../../../src/commands/org/open.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,iEAMqC;AACrC,
|
|
1
|
+
{"version":3,"file":"open.js","sourceRoot":"","sources":["../../../src/commands/org/open.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# description
|
|
2
|
+
|
|
3
|
+
Use this command to identify individual components in your manifest file or if you want a high-level view of particular metadata types in your org. For example, you can use this command to return a list of names of all the CustomObject or Layout components in your org, then use this information in a retrieve command that returns a subset of these components.
|
|
4
|
+
|
|
5
|
+
The username that you use to connect to the org must have the Modify All Data or Modify Metadata Through Metadata API Functions permission.
|
|
6
|
+
|
|
7
|
+
# summary
|
|
8
|
+
|
|
9
|
+
List the metadata components and properties of a specified type.
|
|
10
|
+
|
|
11
|
+
# examples
|
|
12
|
+
|
|
13
|
+
- List the CustomObject components, and their properties, in the org with alias "my-dev-org":
|
|
14
|
+
|
|
15
|
+
$ <%= config.bin %> <%= command.id %> --metadata-type CustomObject --target-org my-dev-org
|
|
16
|
+
|
|
17
|
+
- List the CustomObject components in your default org, write the output to the specified file, and use API version 57.0:
|
|
18
|
+
|
|
19
|
+
$ <%= config.bin %> <%= command.id %> --metadata-type CustomObject --api-version 57.0 --output-file /path/to/outputfilename.txt
|
|
20
|
+
|
|
21
|
+
- List the Dashboard components in your default org that are contained in the "folderSales" folder, write the output to the specified file, and use API version 57.0:
|
|
22
|
+
|
|
23
|
+
$ <%= config.bin %> <%= command.id %> --metadata-type Dashboard --folder folderSales --api-version 57.0 --output-file /path/to/outputfilename.txt
|
|
24
|
+
|
|
25
|
+
# flags.api-version.summary
|
|
26
|
+
|
|
27
|
+
API version to use; default is the most recent API version.
|
|
28
|
+
|
|
29
|
+
# flags.output-file.summary
|
|
30
|
+
|
|
31
|
+
Pathname of the file in which to write the results.
|
|
32
|
+
|
|
33
|
+
# flags.metadata-type.summary
|
|
34
|
+
|
|
35
|
+
Metadata type to be retrieved, such as CustomObject; metadata type names are case-sensitive.
|
|
36
|
+
|
|
37
|
+
# flags.folder.summary
|
|
38
|
+
|
|
39
|
+
Folder associated with the component; required for components that use folders; folder names are case-sensitive.
|
|
40
|
+
|
|
41
|
+
# flags.folder.description
|
|
42
|
+
|
|
43
|
+
Examples of metadata types that use folders are Dashboard, Document, EmailTemplate, and Report.
|
|
44
|
+
|
|
45
|
+
# noMatchingMetadata
|
|
46
|
+
|
|
47
|
+
No metadata found for type: %s in org: %s.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# description
|
|
2
|
+
|
|
3
|
+
The information includes Apex classes and triggers, custom objects, custom fields on standard objects, tab sets that define an app, and many other metadata types. Use this information to identify the syntax needed for a <name> element in a manifest file (package.xml).
|
|
4
|
+
|
|
5
|
+
The username that you use to connect to the org must have the Modify All Data or Modify Metadata Through Metadata API Functions permission.
|
|
6
|
+
|
|
7
|
+
# summary
|
|
8
|
+
|
|
9
|
+
Display details about the metadata types that are enabled for your org.
|
|
10
|
+
|
|
11
|
+
# examples
|
|
12
|
+
|
|
13
|
+
- Display information about all known and enabled metadata types in the org with alias "my-dev-org" using API version 57.0:
|
|
14
|
+
|
|
15
|
+
$ <%= config.bin %> <%= command.id %> --api-version 57.0 --target-org my-dev-org
|
|
16
|
+
|
|
17
|
+
- Display only the metadata types that aren't yet supported by Salesforce CLI in your default org and write the results to the specified file:
|
|
18
|
+
|
|
19
|
+
$ <%= config.bin %> <%= command.id %> --output-file /path/to/outputfilename.txt --filter-known
|
|
20
|
+
|
|
21
|
+
# flags.api-version.summary
|
|
22
|
+
|
|
23
|
+
API version to use; default is the most recent API version.
|
|
24
|
+
|
|
25
|
+
# flags.output-file.summary
|
|
26
|
+
|
|
27
|
+
Pathname of the file in which to write the results.
|
|
28
|
+
|
|
29
|
+
# flags.filter-known.summary
|
|
30
|
+
|
|
31
|
+
Filter the known metadata types from the result to display only the types not yet fully supported by Salesforce CLI.
|
|
32
|
+
|
|
33
|
+
filter metadata known by the CLI
|
|
34
|
+
|
|
35
|
+
# flags.output-file.description
|
|
36
|
+
|
|
37
|
+
Directing the output to a file makes it easier to extract relevant information for your package.xml manifest file. The default output destination is the terminal or command window console.
|
package/messages/open.md
CHANGED
|
@@ -6,6 +6,8 @@ Open your default scratch org, or another specified org, in a browser.
|
|
|
6
6
|
|
|
7
7
|
To open a specific page, specify the portion of the URL after "https://MyDomainName.my.salesforce.com/" as the value for the --path flag. For example, specify "--path lightning" to open Lightning Experience, or specify "--path /apex/YourPage" to open a Visualforce page.
|
|
8
8
|
|
|
9
|
+
Use the --source-file to open a Lightning Page from your local project in Lightning App Builder. Lightning page files have the suffix .flexipage-meta.xml, and are stored in the "flexipages" directory.
|
|
10
|
+
|
|
9
11
|
To generate a URL but not launch it in your browser, specify --url-only.
|
|
10
12
|
|
|
11
13
|
To open in a specific browser, use the --browser flag. Supported browsers are "chrome", "edge", and "firefox". If you don't specify --browser, the org opens in your default browser.
|
|
@@ -24,10 +26,18 @@ To open in a specific browser, use the --browser flag. Supported browsers are "c
|
|
|
24
26
|
|
|
25
27
|
$ <%= config.bin %> <%= command.id %> --url-only --path lightning
|
|
26
28
|
|
|
29
|
+
- Open a local Lightning page in your default org's Lightning App Builder:
|
|
30
|
+
|
|
31
|
+
$ <%= config.bin %> <%= command.id %> --source-path force-app/main/default/flexipages/Hello.flexipage-meta.xml
|
|
32
|
+
|
|
27
33
|
# flags.browser.summary
|
|
28
34
|
|
|
29
35
|
Browser where the org opens.
|
|
30
36
|
|
|
37
|
+
# flags.source-file.summary
|
|
38
|
+
|
|
39
|
+
Path to an ApexPage or FlexiPage to open in Lightning App Builder.
|
|
40
|
+
|
|
31
41
|
# flags.path.summary
|
|
32
42
|
|
|
33
43
|
Navigation URL path to open a specific page.
|
package/oclif.manifest.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "2.
|
|
2
|
+
"version": "2.5.0",
|
|
3
3
|
"commands": {
|
|
4
4
|
"org:display": {
|
|
5
5
|
"id": "org:display",
|
|
@@ -156,18 +156,20 @@
|
|
|
156
156
|
"org:open": {
|
|
157
157
|
"id": "org:open",
|
|
158
158
|
"summary": "Open your default scratch org, or another specified org, in a browser.",
|
|
159
|
-
"description": "To open a specific page, specify the portion of the URL after \"https://MyDomainName.my.salesforce.com/\" as the value for the --path flag. For example, specify \"--path lightning\" to open Lightning Experience, or specify \"--path /apex/YourPage\" to open a Visualforce page.\n\nTo generate a URL but not launch it in your browser, specify --url-only.\n\nTo open in a specific browser, use the --browser flag. Supported browsers are \"chrome\", \"edge\", and \"firefox\". If you don't specify --browser, the org opens in your default browser.",
|
|
159
|
+
"description": "To open a specific page, specify the portion of the URL after \"https://MyDomainName.my.salesforce.com/\" as the value for the --path flag. For example, specify \"--path lightning\" to open Lightning Experience, or specify \"--path /apex/YourPage\" to open a Visualforce page.\n\nUse the --source-file to open a Lightning Page from your local project in Lightning App Builder. Lightning page files have the suffix .flexipage-meta.xml, and are stored in the \"flexipages\" directory.\n\nTo generate a URL but not launch it in your browser, specify --url-only.\n\nTo open in a specific browser, use the --browser flag. Supported browsers are \"chrome\", \"edge\", and \"firefox\". If you don't specify --browser, the org opens in your default browser.",
|
|
160
160
|
"strict": true,
|
|
161
161
|
"pluginName": "@salesforce/plugin-org",
|
|
162
162
|
"pluginAlias": "@salesforce/plugin-org",
|
|
163
163
|
"pluginType": "core",
|
|
164
164
|
"aliases": [
|
|
165
|
-
"force:org:open"
|
|
165
|
+
"force:org:open",
|
|
166
|
+
"force:source:open"
|
|
166
167
|
],
|
|
167
168
|
"examples": [
|
|
168
169
|
"Open your default org in your default browser:\n$ <%= config.bin %> <%= command.id %>",
|
|
169
170
|
"Open the org with alias MyTestOrg1 in the Firefox browser:\n$ <%= config.bin %> <%= command.id %> --target-org MyTestOrg1 --browser firefox",
|
|
170
|
-
"Display the navigation URL for the Lightning Experience page for your default org, but don't open the page in a browser:\n$ <%= config.bin %> <%= command.id %> --url-only --path lightning"
|
|
171
|
+
"Display the navigation URL for the Lightning Experience page for your default org, but don't open the page in a browser:\n$ <%= config.bin %> <%= command.id %> --url-only --path lightning",
|
|
172
|
+
"Open a local Lightning page in your default org's Lightning App Builder:\n$ <%= config.bin %> <%= command.id %> --source-path force-app/main/default/flexipages/Hello.flexipage-meta.xml"
|
|
171
173
|
],
|
|
172
174
|
"deprecateAliases": true,
|
|
173
175
|
"flags": {
|
|
@@ -224,6 +226,9 @@
|
|
|
224
226
|
"char": "p",
|
|
225
227
|
"summary": "Navigation URL path to open a specific page.",
|
|
226
228
|
"multiple": false,
|
|
229
|
+
"exclusive": [
|
|
230
|
+
"source-file"
|
|
231
|
+
],
|
|
227
232
|
"deprecateAliases": true
|
|
228
233
|
},
|
|
229
234
|
"url-only": {
|
|
@@ -246,6 +251,20 @@
|
|
|
246
251
|
"message": "The loglevel flag is no longer in use on this command. You may use it without error, but it will be ignored.\nSet the log level using the `SFDX_LOG_LEVEL` environment variable."
|
|
247
252
|
},
|
|
248
253
|
"deprecateAliases": true
|
|
254
|
+
},
|
|
255
|
+
"source-file": {
|
|
256
|
+
"name": "source-file",
|
|
257
|
+
"type": "option",
|
|
258
|
+
"char": "f",
|
|
259
|
+
"summary": "Path to an ApexPage or FlexiPage to open in Lightning App Builder.",
|
|
260
|
+
"multiple": false,
|
|
261
|
+
"exclusive": [
|
|
262
|
+
"path"
|
|
263
|
+
],
|
|
264
|
+
"deprecateAliases": true,
|
|
265
|
+
"aliases": [
|
|
266
|
+
"sourcefile"
|
|
267
|
+
]
|
|
249
268
|
}
|
|
250
269
|
},
|
|
251
270
|
"args": {},
|
|
@@ -1076,6 +1095,190 @@
|
|
|
1076
1095
|
"args": {},
|
|
1077
1096
|
"hasDynamicHelp": true
|
|
1078
1097
|
},
|
|
1098
|
+
"org:list:metadata-types": {
|
|
1099
|
+
"id": "org:list:metadata-types",
|
|
1100
|
+
"summary": "Display details about the metadata types that are enabled for your org.",
|
|
1101
|
+
"description": "The information includes Apex classes and triggers, custom objects, custom fields on standard objects, tab sets that define an app, and many other metadata types. Use this information to identify the syntax needed for a <name> element in a manifest file (package.xml).\n\nThe username that you use to connect to the org must have the Modify All Data or Modify Metadata Through Metadata API Functions permission.",
|
|
1102
|
+
"strict": true,
|
|
1103
|
+
"pluginName": "@salesforce/plugin-org",
|
|
1104
|
+
"pluginAlias": "@salesforce/plugin-org",
|
|
1105
|
+
"pluginType": "core",
|
|
1106
|
+
"aliases": [
|
|
1107
|
+
"force:mdapi:describemetadata"
|
|
1108
|
+
],
|
|
1109
|
+
"examples": [
|
|
1110
|
+
"Display information about all known and enabled metadata types in the org with alias \"my-dev-org\" using API version 57.0:\n$ <%= config.bin %> <%= command.id %> --api-version 57.0 --target-org my-dev-org",
|
|
1111
|
+
"Display only the metadata types that aren't yet supported by Salesforce CLI in your default org and write the results to the specified file:\n$ <%= config.bin %> <%= command.id %> --output-file /path/to/outputfilename.txt --filter-known"
|
|
1112
|
+
],
|
|
1113
|
+
"deprecateAliases": true,
|
|
1114
|
+
"flags": {
|
|
1115
|
+
"json": {
|
|
1116
|
+
"name": "json",
|
|
1117
|
+
"type": "boolean",
|
|
1118
|
+
"description": "Format output as json.",
|
|
1119
|
+
"helpGroup": "GLOBAL",
|
|
1120
|
+
"allowNo": false,
|
|
1121
|
+
"deprecateAliases": true
|
|
1122
|
+
},
|
|
1123
|
+
"api-version": {
|
|
1124
|
+
"name": "api-version",
|
|
1125
|
+
"type": "option",
|
|
1126
|
+
"summary": "API version to use; default is the most recent API version.",
|
|
1127
|
+
"description": "Override the api version used for api requests made by this command",
|
|
1128
|
+
"multiple": false,
|
|
1129
|
+
"deprecateAliases": true,
|
|
1130
|
+
"aliases": [
|
|
1131
|
+
"apiversion",
|
|
1132
|
+
"a"
|
|
1133
|
+
]
|
|
1134
|
+
},
|
|
1135
|
+
"loglevel": {
|
|
1136
|
+
"name": "loglevel",
|
|
1137
|
+
"type": "option",
|
|
1138
|
+
"hidden": true,
|
|
1139
|
+
"multiple": false,
|
|
1140
|
+
"deprecated": {
|
|
1141
|
+
"message": "The loglevel flag is no longer in use on this command. You may use it without error, but it will be ignored.\nSet the log level using the `SFDX_LOG_LEVEL` environment variable."
|
|
1142
|
+
},
|
|
1143
|
+
"deprecateAliases": true
|
|
1144
|
+
},
|
|
1145
|
+
"target-org": {
|
|
1146
|
+
"name": "target-org",
|
|
1147
|
+
"type": "option",
|
|
1148
|
+
"char": "o",
|
|
1149
|
+
"summary": "Username or alias of the target org.",
|
|
1150
|
+
"required": true,
|
|
1151
|
+
"multiple": false,
|
|
1152
|
+
"deprecateAliases": true,
|
|
1153
|
+
"aliases": [
|
|
1154
|
+
"targetusername",
|
|
1155
|
+
"u"
|
|
1156
|
+
]
|
|
1157
|
+
},
|
|
1158
|
+
"output-file": {
|
|
1159
|
+
"name": "output-file",
|
|
1160
|
+
"type": "option",
|
|
1161
|
+
"char": "f",
|
|
1162
|
+
"summary": "Pathname of the file in which to write the results.",
|
|
1163
|
+
"description": "Directing the output to a file makes it easier to extract relevant information for your package.xml manifest file. The default output destination is the terminal or command window console.",
|
|
1164
|
+
"multiple": false,
|
|
1165
|
+
"deprecateAliases": true,
|
|
1166
|
+
"aliases": [
|
|
1167
|
+
"resultfile"
|
|
1168
|
+
]
|
|
1169
|
+
},
|
|
1170
|
+
"filter-known": {
|
|
1171
|
+
"name": "filter-known",
|
|
1172
|
+
"type": "boolean",
|
|
1173
|
+
"char": "k",
|
|
1174
|
+
"summary": "Filter the known metadata types from the result to display only the types not yet fully supported by Salesforce CLI.\n\nfilter metadata known by the CLI",
|
|
1175
|
+
"hidden": true,
|
|
1176
|
+
"allowNo": false,
|
|
1177
|
+
"deprecateAliases": true,
|
|
1178
|
+
"aliases": [
|
|
1179
|
+
"filterknown"
|
|
1180
|
+
]
|
|
1181
|
+
}
|
|
1182
|
+
},
|
|
1183
|
+
"args": {},
|
|
1184
|
+
"hasDynamicHelp": true
|
|
1185
|
+
},
|
|
1186
|
+
"org:list:metadata": {
|
|
1187
|
+
"id": "org:list:metadata",
|
|
1188
|
+
"summary": "List the metadata components and properties of a specified type.",
|
|
1189
|
+
"description": "Use this command to identify individual components in your manifest file or if you want a high-level view of particular metadata types in your org. For example, you can use this command to return a list of names of all the CustomObject or Layout components in your org, then use this information in a retrieve command that returns a subset of these components.\n\nThe username that you use to connect to the org must have the Modify All Data or Modify Metadata Through Metadata API Functions permission.",
|
|
1190
|
+
"strict": true,
|
|
1191
|
+
"pluginName": "@salesforce/plugin-org",
|
|
1192
|
+
"pluginAlias": "@salesforce/plugin-org",
|
|
1193
|
+
"pluginType": "core",
|
|
1194
|
+
"aliases": [
|
|
1195
|
+
"force:mdapi:listmetadata"
|
|
1196
|
+
],
|
|
1197
|
+
"examples": [
|
|
1198
|
+
"List the CustomObject components, and their properties, in the org with alias \"my-dev-org\":\n$ <%= config.bin %> <%= command.id %> --metadata-type CustomObject --target-org my-dev-org",
|
|
1199
|
+
"List the CustomObject components in your default org, write the output to the specified file, and use API version 57.0:\n$ <%= config.bin %> <%= command.id %> --metadata-type CustomObject --api-version 57.0 --output-file /path/to/outputfilename.txt",
|
|
1200
|
+
"List the Dashboard components in your default org that are contained in the \"folderSales\" folder, write the output to the specified file, and use API version 57.0:\n$ <%= config.bin %> <%= command.id %> --metadata-type Dashboard --folder folderSales --api-version 57.0 --output-file /path/to/outputfilename.txt"
|
|
1201
|
+
],
|
|
1202
|
+
"deprecateAliases": true,
|
|
1203
|
+
"flags": {
|
|
1204
|
+
"json": {
|
|
1205
|
+
"name": "json",
|
|
1206
|
+
"type": "boolean",
|
|
1207
|
+
"description": "Format output as json.",
|
|
1208
|
+
"helpGroup": "GLOBAL",
|
|
1209
|
+
"allowNo": false,
|
|
1210
|
+
"deprecateAliases": true
|
|
1211
|
+
},
|
|
1212
|
+
"api-version": {
|
|
1213
|
+
"name": "api-version",
|
|
1214
|
+
"type": "option",
|
|
1215
|
+
"summary": "API version to use; default is the most recent API version.",
|
|
1216
|
+
"description": "Override the api version used for api requests made by this command",
|
|
1217
|
+
"multiple": false,
|
|
1218
|
+
"deprecateAliases": true,
|
|
1219
|
+
"aliases": [
|
|
1220
|
+
"apiversion",
|
|
1221
|
+
"a"
|
|
1222
|
+
]
|
|
1223
|
+
},
|
|
1224
|
+
"loglevel": {
|
|
1225
|
+
"name": "loglevel",
|
|
1226
|
+
"type": "option",
|
|
1227
|
+
"hidden": true,
|
|
1228
|
+
"multiple": false,
|
|
1229
|
+
"deprecated": {
|
|
1230
|
+
"message": "The loglevel flag is no longer in use on this command. You may use it without error, but it will be ignored.\nSet the log level using the `SFDX_LOG_LEVEL` environment variable."
|
|
1231
|
+
},
|
|
1232
|
+
"deprecateAliases": true
|
|
1233
|
+
},
|
|
1234
|
+
"target-org": {
|
|
1235
|
+
"name": "target-org",
|
|
1236
|
+
"type": "option",
|
|
1237
|
+
"char": "o",
|
|
1238
|
+
"summary": "Username or alias of the target org.",
|
|
1239
|
+
"required": true,
|
|
1240
|
+
"multiple": false,
|
|
1241
|
+
"deprecateAliases": true,
|
|
1242
|
+
"aliases": [
|
|
1243
|
+
"targetusername",
|
|
1244
|
+
"u"
|
|
1245
|
+
]
|
|
1246
|
+
},
|
|
1247
|
+
"output-file": {
|
|
1248
|
+
"name": "output-file",
|
|
1249
|
+
"type": "option",
|
|
1250
|
+
"char": "f",
|
|
1251
|
+
"summary": "Pathname of the file in which to write the results.",
|
|
1252
|
+
"multiple": false,
|
|
1253
|
+
"deprecateAliases": true,
|
|
1254
|
+
"aliases": [
|
|
1255
|
+
"resultfile"
|
|
1256
|
+
]
|
|
1257
|
+
},
|
|
1258
|
+
"metadata-type": {
|
|
1259
|
+
"name": "metadata-type",
|
|
1260
|
+
"type": "option",
|
|
1261
|
+
"char": "m",
|
|
1262
|
+
"summary": "Metadata type to be retrieved, such as CustomObject; metadata type names are case-sensitive.",
|
|
1263
|
+
"required": true,
|
|
1264
|
+
"multiple": false,
|
|
1265
|
+
"deprecateAliases": true,
|
|
1266
|
+
"aliases": [
|
|
1267
|
+
"metadatatype"
|
|
1268
|
+
]
|
|
1269
|
+
},
|
|
1270
|
+
"folder": {
|
|
1271
|
+
"name": "folder",
|
|
1272
|
+
"type": "option",
|
|
1273
|
+
"summary": "Folder associated with the component; required for components that use folders; folder names are case-sensitive.",
|
|
1274
|
+
"description": "Examples of metadata types that use folders are Dashboard, Document, EmailTemplate, and Report.",
|
|
1275
|
+
"multiple": false,
|
|
1276
|
+
"deprecateAliases": true
|
|
1277
|
+
}
|
|
1278
|
+
},
|
|
1279
|
+
"args": {},
|
|
1280
|
+
"hasDynamicHelp": true
|
|
1281
|
+
},
|
|
1079
1282
|
"org:resume:sandbox": {
|
|
1080
1283
|
"id": "org:resume:sandbox",
|
|
1081
1284
|
"summary": "Check the status of a sandbox creation, and log in to it if it's ready.",
|
package/package.json
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/plugin-org",
|
|
3
3
|
"description": "Commands to interact with Salesforce orgs",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.5.0",
|
|
5
5
|
"author": "Salesforce",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"bugs": "https://github.com/forcedotcom/cli/issues",
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"@oclif/core": "^2.3
|
|
9
|
+
"@oclif/core": "^2.6.3",
|
|
10
10
|
"@salesforce/core": "^3.33.5",
|
|
11
11
|
"@salesforce/kit": "^1.9.0",
|
|
12
12
|
"@salesforce/sf-plugins-core": "^2.2.3",
|
|
13
|
-
"
|
|
13
|
+
"@salesforce/source-deploy-retrieve": "^7.11.0",
|
|
14
|
+
"open": "^8.4.2",
|
|
14
15
|
"tslib": "^2"
|
|
15
16
|
},
|
|
16
17
|
"devDependencies": {
|
|
@@ -19,6 +20,7 @@
|
|
|
19
20
|
"@salesforce/dev-config": "^3.1.0",
|
|
20
21
|
"@salesforce/dev-scripts": "^4.1.2",
|
|
21
22
|
"@salesforce/plugin-command-reference": "^2.2.9",
|
|
23
|
+
"@salesforce/plugin-source": "^2.7.0",
|
|
22
24
|
"@salesforce/prettier-config": "^0.0.2",
|
|
23
25
|
"@salesforce/ts-sinon": "1.4.6",
|
|
24
26
|
"@swc/core": "^1.3.37",
|
|
@@ -36,7 +38,7 @@
|
|
|
36
38
|
"eslint-plugin-header": "^3.0.0",
|
|
37
39
|
"eslint-plugin-import": "2.27.5",
|
|
38
40
|
"eslint-plugin-jsdoc": "^40.0.1",
|
|
39
|
-
"eslint-plugin-sf-plugin": "^1.
|
|
41
|
+
"eslint-plugin-sf-plugin": "^1.13.0",
|
|
40
42
|
"husky": "^7.0.4",
|
|
41
43
|
"mocha": "^9.1.3",
|
|
42
44
|
"moment": "^2.29.1",
|
|
@@ -74,7 +76,8 @@
|
|
|
74
76
|
"devPlugins": [
|
|
75
77
|
"@oclif/plugin-help",
|
|
76
78
|
"@oclif/plugin-command-snapshot",
|
|
77
|
-
"@salesforce/plugin-command-reference"
|
|
79
|
+
"@salesforce/plugin-command-reference",
|
|
80
|
+
"@salesforce/plugin-source"
|
|
78
81
|
],
|
|
79
82
|
"topics": {
|
|
80
83
|
"org": {
|
|
@@ -86,6 +89,9 @@
|
|
|
86
89
|
"resume": {
|
|
87
90
|
"description": "Resume an org creation that was started asynchronously, timed out, or was interrupted."
|
|
88
91
|
},
|
|
92
|
+
"list": {
|
|
93
|
+
"description": "list metadata types that are relevant to the org"
|
|
94
|
+
},
|
|
89
95
|
"delete": {
|
|
90
96
|
"description": "Delete scratch orgs, sandboxes, org shapes, and org snapshots."
|
|
91
97
|
}
|
|
@@ -115,7 +121,7 @@
|
|
|
115
121
|
"prepack": "sf-prepack",
|
|
116
122
|
"prepare": "sf-install",
|
|
117
123
|
"test": "wireit",
|
|
118
|
-
"test:nuts": "nyc mocha \"./test/nut/*.nut.ts\" --slow 4500 --timeout 1200000",
|
|
124
|
+
"test:nuts": "nyc mocha \"./test/nut/*.nut.ts\" --slow 4500 --timeout 1200000 --parallel --jobs 20",
|
|
119
125
|
"test:nuts:legacy": "nyc mocha \"./test/nut/legacy/*.nut.ts\" --slow 4500 --timeout 1200000 --parallel --jobs 10",
|
|
120
126
|
"test:nuts:sandbox": "nyc mocha \"./test/**/*.sandboxNut.ts\" --slow 450000 --timeout 7200000 --parallel --jobs 10",
|
|
121
127
|
"test:only": "wireit",
|
|
@@ -232,7 +238,7 @@
|
|
|
232
238
|
}
|
|
233
239
|
},
|
|
234
240
|
"sfdx": {
|
|
235
|
-
"publicKeyUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-org/2.
|
|
236
|
-
"signatureUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-org/2.
|
|
241
|
+
"publicKeyUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-org/2.5.0.crt",
|
|
242
|
+
"signatureUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-org/2.5.0.sig"
|
|
237
243
|
}
|
|
238
244
|
}
|