@salesforce/plugin-org 2.6.9 → 2.6.11
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/force/org/delete.d.ts +1 -1
- package/lib/commands/force/org/delete.js +32 -12
- package/lib/commands/force/org/delete.js.map +1 -1
- package/lib/commands/org/delete/sandbox.d.ts +1 -1
- package/lib/commands/org/delete/sandbox.js +21 -7
- package/lib/commands/org/delete/sandbox.js.map +1 -1
- package/lib/commands/org/delete/scratch.d.ts +1 -1
- package/lib/commands/org/delete/scratch.js +25 -7
- package/lib/commands/org/delete/scratch.js.map +1 -1
- package/messages/delete.md +12 -2
- package/oclif.manifest.json +10 -11
- package/package.json +8 -10
|
@@ -12,7 +12,7 @@ export declare class Delete extends SfCommand<DeleteResult> {
|
|
|
12
12
|
message: string;
|
|
13
13
|
};
|
|
14
14
|
static readonly flags: {
|
|
15
|
-
'target-org': import("@oclif/core/lib/interfaces").OptionFlag<
|
|
15
|
+
'target-org': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
16
16
|
targetdevhubusername: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
17
17
|
'api-version': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
18
18
|
'no-prompt': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
@@ -14,23 +14,35 @@ const messages = core_1.Messages.loadMessages('@salesforce/plugin-org', 'delete'
|
|
|
14
14
|
class Delete extends sf_plugins_core_1.SfCommand {
|
|
15
15
|
async run() {
|
|
16
16
|
const { flags } = await this.parse(Delete);
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
const resolvedUsername =
|
|
18
|
+
// from -o alias -> -o username -> [default username]
|
|
19
|
+
(await core_1.StateAggregator.getInstance()).aliases.getUsername(flags['target-org'] ?? '') ??
|
|
20
|
+
flags['target-org'] ??
|
|
21
|
+
this.configAggregator.getPropertyValue('target-org');
|
|
22
|
+
if (!resolvedUsername) {
|
|
23
|
+
throw messages.createError('missingUsername');
|
|
24
|
+
}
|
|
25
|
+
const orgId = (await core_1.AuthInfo.create({ username: resolvedUsername })).getFields().orgId;
|
|
26
|
+
const isSandbox = await (await core_1.StateAggregator.getInstance()).sandboxes.hasFile(orgId);
|
|
22
27
|
// read the config file for the org to be deleted, if it has a PROD_ORG_USERNAME entry, it's a sandbox
|
|
23
28
|
// we either need permission to proceed without a prompt OR get the user to confirm
|
|
24
29
|
if (flags['no-prompt'] ||
|
|
25
|
-
(await this.confirm(messages.getMessage('confirmDelete', [isSandbox ? 'sandbox' : 'scratch',
|
|
30
|
+
(await this.confirm(messages.getMessage('confirmDelete', [isSandbox ? 'sandbox' : 'scratch', resolvedUsername])))) {
|
|
26
31
|
let alreadyDeleted = false;
|
|
27
32
|
let successMessageKey = 'commandSandboxSuccess';
|
|
28
33
|
try {
|
|
34
|
+
const org = await core_1.Org.create({ aliasOrUsername: resolvedUsername });
|
|
29
35
|
// will determine if it's a scratch org or sandbox and will delete from the appropriate parent org (DevHub or Production)
|
|
30
|
-
await
|
|
36
|
+
await org.delete();
|
|
31
37
|
}
|
|
32
38
|
catch (e) {
|
|
33
|
-
if (e instanceof Error && e.name === '
|
|
39
|
+
if (e instanceof Error && e.name === 'DomainNotFoundError') {
|
|
40
|
+
// the org has expired, so remote operations won't work
|
|
41
|
+
// let's clean up the files locally
|
|
42
|
+
const authRemover = await core_1.AuthRemover.create();
|
|
43
|
+
await authRemover.removeAuth(resolvedUsername);
|
|
44
|
+
}
|
|
45
|
+
else if (e instanceof Error && e.name === 'ScratchOrgNotFound') {
|
|
34
46
|
alreadyDeleted = true;
|
|
35
47
|
}
|
|
36
48
|
else if (e instanceof Error && e.name === 'SandboxNotFound') {
|
|
@@ -41,12 +53,12 @@ class Delete extends sf_plugins_core_1.SfCommand {
|
|
|
41
53
|
}
|
|
42
54
|
}
|
|
43
55
|
this.log(isSandbox
|
|
44
|
-
? messages.getMessage(successMessageKey, [
|
|
56
|
+
? messages.getMessage(successMessageKey, [resolvedUsername])
|
|
45
57
|
: messages.getMessage(alreadyDeleted ? 'deleteOrgConfigOnlyCommandSuccess' : 'deleteOrgCommandSuccess', [
|
|
46
|
-
|
|
58
|
+
resolvedUsername,
|
|
47
59
|
]));
|
|
48
60
|
}
|
|
49
|
-
return { username, orgId };
|
|
61
|
+
return { username: resolvedUsername, orgId };
|
|
50
62
|
}
|
|
51
63
|
}
|
|
52
64
|
exports.Delete = Delete;
|
|
@@ -58,7 +70,15 @@ Delete.deprecationOptions = {
|
|
|
58
70
|
message: messages.getMessage('deprecation'),
|
|
59
71
|
};
|
|
60
72
|
Delete.flags = {
|
|
61
|
-
'target-org': sf_plugins_core_1.
|
|
73
|
+
'target-org': sf_plugins_core_1.Flags.string({
|
|
74
|
+
// not required because the user could be assuming the default config
|
|
75
|
+
aliases: ['targetusername', 'u'],
|
|
76
|
+
deprecateAliases: true,
|
|
77
|
+
// we're recreating the flag without all the validation
|
|
78
|
+
// eslint-disable-next-line sf-plugin/dash-o
|
|
79
|
+
char: 'o',
|
|
80
|
+
summary: messages.getMessage('flags.target-org.summary'),
|
|
81
|
+
}),
|
|
62
82
|
targetdevhubusername: sf_plugins_core_1.Flags.string({
|
|
63
83
|
summary: messages.getMessage('flags.targetdevhubusername'),
|
|
64
84
|
char: 'v',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/commands/force/org/delete.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/commands/force/org/delete.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ export default class EnvDeleteSandbox extends SfCommand<SandboxDeleteResponse> {
|
|
|
10
10
|
static readonly aliases: string[];
|
|
11
11
|
static readonly deprecateAliases = true;
|
|
12
12
|
static readonly flags: {
|
|
13
|
-
'target-org': import("@oclif/core/lib/interfaces").OptionFlag<
|
|
13
|
+
'target-org': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
14
14
|
'no-prompt': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
15
15
|
};
|
|
16
16
|
run(): Promise<SandboxDeleteResponse>;
|
|
@@ -13,21 +13,33 @@ const messages = core_1.Messages.loadMessages('@salesforce/plugin-org', 'delete_
|
|
|
13
13
|
class EnvDeleteSandbox extends sf_plugins_core_1.SfCommand {
|
|
14
14
|
async run() {
|
|
15
15
|
const flags = (await this.parse(EnvDeleteSandbox)).flags;
|
|
16
|
-
const
|
|
17
|
-
|
|
16
|
+
const username = // from -o alias -> -o username -> [default username]
|
|
17
|
+
(await core_1.StateAggregator.getInstance()).aliases.getUsername(flags['target-org'] ?? '') ??
|
|
18
|
+
flags['target-org'] ??
|
|
19
|
+
this.configAggregator.getPropertyValue('target-org');
|
|
18
20
|
if (!username) {
|
|
19
21
|
throw new core_1.SfError('The org does not have a username.');
|
|
20
22
|
}
|
|
21
|
-
|
|
23
|
+
const orgId = (await core_1.AuthInfo.create({ username })).getFields().orgId;
|
|
24
|
+
const isSandbox = await (await core_1.StateAggregator.getInstance()).sandboxes.hasFile(orgId);
|
|
25
|
+
if (!isSandbox) {
|
|
22
26
|
throw messages.createError('error.isNotSandbox', [username]);
|
|
23
27
|
}
|
|
24
28
|
if (flags['no-prompt'] || (await this.confirm(messages.getMessage('prompt.confirm', [username])))) {
|
|
25
29
|
try {
|
|
30
|
+
const org = await core_1.Org.create({ aliasOrUsername: username });
|
|
26
31
|
await org.delete();
|
|
27
32
|
this.logSuccess(messages.getMessage('success', [username]));
|
|
28
33
|
}
|
|
29
34
|
catch (e) {
|
|
30
|
-
if (e instanceof Error && e.name === '
|
|
35
|
+
if (e instanceof Error && e.name === 'DomainNotFoundError') {
|
|
36
|
+
// the org has expired, so remote operations won't work
|
|
37
|
+
// let's clean up the files locally
|
|
38
|
+
const authRemover = await core_1.AuthRemover.create();
|
|
39
|
+
await authRemover.removeAuth(username);
|
|
40
|
+
this.logSuccess(messages.getMessage('success.Idempotent', [username]));
|
|
41
|
+
}
|
|
42
|
+
else if (e instanceof Error && e.name === 'SandboxNotFound') {
|
|
31
43
|
this.logSuccess(messages.getMessage('success.Idempotent', [username]));
|
|
32
44
|
}
|
|
33
45
|
else {
|
|
@@ -35,7 +47,7 @@ class EnvDeleteSandbox extends sf_plugins_core_1.SfCommand {
|
|
|
35
47
|
}
|
|
36
48
|
}
|
|
37
49
|
}
|
|
38
|
-
return { username, orgId
|
|
50
|
+
return { username, orgId };
|
|
39
51
|
}
|
|
40
52
|
}
|
|
41
53
|
exports.default = EnvDeleteSandbox;
|
|
@@ -45,9 +57,11 @@ EnvDeleteSandbox.examples = messages.getMessages('examples');
|
|
|
45
57
|
EnvDeleteSandbox.aliases = ['env:delete:sandbox'];
|
|
46
58
|
EnvDeleteSandbox.deprecateAliases = true;
|
|
47
59
|
EnvDeleteSandbox.flags = {
|
|
48
|
-
'target-org': sf_plugins_core_1.Flags.
|
|
49
|
-
|
|
60
|
+
'target-org': sf_plugins_core_1.Flags.string({
|
|
61
|
+
// we're recreating the flag without all the validation
|
|
62
|
+
// eslint-disable-next-line sf-plugin/dash-o
|
|
50
63
|
char: 'o',
|
|
64
|
+
summary: messages.getMessage('flags.target-org.summary'),
|
|
51
65
|
required: true,
|
|
52
66
|
}),
|
|
53
67
|
'no-prompt': sf_plugins_core_1.Flags.boolean({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../../../src/commands/org/delete/sandbox.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,
|
|
1
|
+
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../../../src/commands/org/delete/sandbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ export default class EnvDeleteScratch extends SfCommand<ScratchDeleteResponse> {
|
|
|
10
10
|
static readonly aliases: string[];
|
|
11
11
|
static readonly deprecateAliases = true;
|
|
12
12
|
static readonly flags: {
|
|
13
|
-
'target-org': import("@oclif/core/lib/interfaces").OptionFlag<
|
|
13
|
+
'target-org': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
14
14
|
'no-prompt': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
15
15
|
};
|
|
16
16
|
run(): Promise<ScratchDeleteResponse>;
|
|
@@ -13,22 +13,36 @@ const messages = core_1.Messages.loadMessages('@salesforce/plugin-org', 'delete_
|
|
|
13
13
|
class EnvDeleteScratch extends sf_plugins_core_1.SfCommand {
|
|
14
14
|
async run() {
|
|
15
15
|
const flags = (await this.parse(EnvDeleteScratch)).flags;
|
|
16
|
-
const
|
|
17
|
-
|
|
16
|
+
const resolvedUsername =
|
|
17
|
+
// from -o alias -> -o username -> [default username]
|
|
18
|
+
(await core_1.StateAggregator.getInstance()).aliases.getUsername(flags['target-org'] ?? '') ??
|
|
19
|
+
flags['target-org'] ??
|
|
20
|
+
this.configAggregator.getPropertyValue('target-org');
|
|
21
|
+
const orgId = (await core_1.AuthInfo.create({ username: resolvedUsername })).getFields().orgId;
|
|
22
|
+
if (flags['no-prompt'] || (await this.confirm(messages.getMessage('prompt.confirm', [resolvedUsername])))) {
|
|
18
23
|
try {
|
|
24
|
+
const org = await core_1.Org.create({ aliasOrUsername: resolvedUsername });
|
|
19
25
|
await org.delete();
|
|
20
26
|
this.logSuccess(messages.getMessage('success', [org.getUsername()]));
|
|
27
|
+
return { username: org.getUsername(), orgId: org.getOrgId() };
|
|
21
28
|
}
|
|
22
29
|
catch (e) {
|
|
23
|
-
if (e instanceof Error && e.name === '
|
|
24
|
-
|
|
30
|
+
if (e instanceof Error && e.name === 'DomainNotFoundError') {
|
|
31
|
+
// the org has expired, so remote operations won't work
|
|
32
|
+
// let's clean up the files locally
|
|
33
|
+
const authRemover = await core_1.AuthRemover.create();
|
|
34
|
+
await authRemover.removeAuth(resolvedUsername);
|
|
35
|
+
this.logSuccess(messages.getMessage('success', [resolvedUsername]));
|
|
36
|
+
}
|
|
37
|
+
else if (e instanceof Error && e.name === 'ScratchOrgNotFound') {
|
|
38
|
+
this.logSuccess(messages.getMessage('success.Idempotent', [resolvedUsername]));
|
|
25
39
|
}
|
|
26
40
|
else {
|
|
27
41
|
throw e;
|
|
28
42
|
}
|
|
29
43
|
}
|
|
30
44
|
}
|
|
31
|
-
return { username:
|
|
45
|
+
return { username: resolvedUsername, orgId };
|
|
32
46
|
}
|
|
33
47
|
}
|
|
34
48
|
exports.default = EnvDeleteScratch;
|
|
@@ -38,10 +52,14 @@ EnvDeleteScratch.examples = messages.getMessages('examples');
|
|
|
38
52
|
EnvDeleteScratch.aliases = ['env:delete:scratch'];
|
|
39
53
|
EnvDeleteScratch.deprecateAliases = true;
|
|
40
54
|
EnvDeleteScratch.flags = {
|
|
41
|
-
'target-org': sf_plugins_core_1.Flags.
|
|
55
|
+
'target-org': sf_plugins_core_1.Flags.string({
|
|
56
|
+
// not required because the user could be assuming the default config
|
|
57
|
+
aliases: ['targetusername', 'u'],
|
|
58
|
+
deprecateAliases: true,
|
|
59
|
+
// we're recreating the flag without all the validation
|
|
60
|
+
// eslint-disable-next-line sf-plugin/dash-o
|
|
42
61
|
char: 'o',
|
|
43
62
|
summary: messages.getMessage('flags.target-org.summary'),
|
|
44
|
-
required: true,
|
|
45
63
|
}),
|
|
46
64
|
'no-prompt': sf_plugins_core_1.Flags.boolean({
|
|
47
65
|
char: 'p',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scratch.js","sourceRoot":"","sources":["../../../../src/commands/org/delete/scratch.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH,
|
|
1
|
+
{"version":3,"file":"scratch.js","sourceRoot":"","sources":["../../../../src/commands/org/delete/scratch.ts"],"names":[],"mappings":"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"}
|
package/messages/delete.md
CHANGED
|
@@ -8,7 +8,8 @@ The force:org:delete command is deprecated. Use org:delete:scratch or org:delete
|
|
|
8
8
|
|
|
9
9
|
# description
|
|
10
10
|
|
|
11
|
-
Salesforce CLI marks the org for deletion in either the Dev Hub org (for scratch orgs) or production org (for sandboxes)
|
|
11
|
+
Salesforce CLI marks the org for deletion in either the Dev Hub org (for scratch orgs) or production org (for sandboxes)
|
|
12
|
+
and then deletes all local references to the org from your computer.
|
|
12
13
|
|
|
13
14
|
To mark the org for deletion without being prompted to confirm, specify --noprompt.
|
|
14
15
|
|
|
@@ -22,6 +23,14 @@ To mark the org for deletion without being prompted to confirm, specify --noprom
|
|
|
22
23
|
|
|
23
24
|
No prompt to confirm deletion.
|
|
24
25
|
|
|
26
|
+
# missingUsername
|
|
27
|
+
|
|
28
|
+
Unable to determine the username of the org to delete. Specify the username with the --target-org | -o flag.
|
|
29
|
+
|
|
30
|
+
# flags.target-org.summary
|
|
31
|
+
|
|
32
|
+
Username or alias of the target org.
|
|
33
|
+
|
|
25
34
|
# flags.targetdevhubusername
|
|
26
35
|
|
|
27
36
|
The targetdevhubusername flag exists only for backwards compatibility. It is not necessary and has no effect.
|
|
@@ -48,4 +57,5 @@ Successfully marked scratch org %s for deletion
|
|
|
48
57
|
|
|
49
58
|
# commandSandboxSuccess
|
|
50
59
|
|
|
51
|
-
The sandbox org %s has been successfully removed from your list of CLI authorized orgs. If you created the sandbox with
|
|
60
|
+
The sandbox org %s has been successfully removed from your list of CLI authorized orgs. If you created the sandbox with
|
|
61
|
+
one of the force:org commands, it has also been marked for deletion.
|
package/oclif.manifest.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "2.6.
|
|
2
|
+
"version": "2.6.11",
|
|
3
3
|
"commands": {
|
|
4
4
|
"org:display": {
|
|
5
5
|
"id": "org:display",
|
|
@@ -518,7 +518,7 @@
|
|
|
518
518
|
"force:org:delete": {
|
|
519
519
|
"id": "force:org:delete",
|
|
520
520
|
"summary": "Delete a scratch or sandbox org.",
|
|
521
|
-
"description": "Salesforce CLI marks the org for deletion in either the Dev Hub org (for scratch orgs) or production org (for sandboxes)
|
|
521
|
+
"description": "Salesforce CLI marks the org for deletion in either the Dev Hub org (for scratch orgs) or production org (for sandboxes)\nand then deletes all local references to the org from your computer.\n\nTo mark the org for deletion without being prompted to confirm, specify --noprompt.",
|
|
522
522
|
"strict": true,
|
|
523
523
|
"pluginName": "@salesforce/plugin-org",
|
|
524
524
|
"pluginAlias": "@salesforce/plugin-org",
|
|
@@ -545,7 +545,6 @@
|
|
|
545
545
|
"type": "option",
|
|
546
546
|
"char": "o",
|
|
547
547
|
"summary": "Username or alias of the target org.",
|
|
548
|
-
"required": true,
|
|
549
548
|
"multiple": false,
|
|
550
549
|
"aliases": [
|
|
551
550
|
"targetusername",
|
|
@@ -593,8 +592,7 @@
|
|
|
593
592
|
}
|
|
594
593
|
}
|
|
595
594
|
},
|
|
596
|
-
"args": {}
|
|
597
|
-
"hasDynamicHelp": true
|
|
595
|
+
"args": {}
|
|
598
596
|
},
|
|
599
597
|
"force:org:status": {
|
|
600
598
|
"id": "force:org:status",
|
|
@@ -1046,8 +1044,7 @@
|
|
|
1046
1044
|
"deprecateAliases": true
|
|
1047
1045
|
}
|
|
1048
1046
|
},
|
|
1049
|
-
"args": {}
|
|
1050
|
-
"hasDynamicHelp": true
|
|
1047
|
+
"args": {}
|
|
1051
1048
|
},
|
|
1052
1049
|
"org:delete:scratch": {
|
|
1053
1050
|
"id": "org:delete:scratch",
|
|
@@ -1080,9 +1077,12 @@
|
|
|
1080
1077
|
"type": "option",
|
|
1081
1078
|
"char": "o",
|
|
1082
1079
|
"summary": "Scratch org alias or login user.",
|
|
1083
|
-
"required": true,
|
|
1084
1080
|
"multiple": false,
|
|
1085
|
-
"deprecateAliases": true
|
|
1081
|
+
"deprecateAliases": true,
|
|
1082
|
+
"aliases": [
|
|
1083
|
+
"targetusername",
|
|
1084
|
+
"u"
|
|
1085
|
+
]
|
|
1086
1086
|
},
|
|
1087
1087
|
"no-prompt": {
|
|
1088
1088
|
"name": "no-prompt",
|
|
@@ -1093,8 +1093,7 @@
|
|
|
1093
1093
|
"deprecateAliases": true
|
|
1094
1094
|
}
|
|
1095
1095
|
},
|
|
1096
|
-
"args": {}
|
|
1097
|
-
"hasDynamicHelp": true
|
|
1096
|
+
"args": {}
|
|
1098
1097
|
},
|
|
1099
1098
|
"org:list:metadata-types": {
|
|
1100
1099
|
"id": "org:list:metadata-types",
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/plugin-org",
|
|
3
3
|
"description": "Commands to interact with Salesforce orgs",
|
|
4
|
-
"version": "2.6.
|
|
4
|
+
"version": "2.6.11",
|
|
5
5
|
"author": "Salesforce",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"bugs": "https://github.com/forcedotcom/cli/issues",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"@salesforce/core": "^3.34.6",
|
|
11
11
|
"@salesforce/kit": "^1.9.2",
|
|
12
12
|
"@salesforce/sf-plugins-core": "^2.2.7",
|
|
13
|
-
"@salesforce/source-deploy-retrieve": "^
|
|
13
|
+
"@salesforce/source-deploy-retrieve": "^8.0.1",
|
|
14
14
|
"open": "^8.4.2",
|
|
15
15
|
"tslib": "^2"
|
|
16
16
|
},
|
|
@@ -24,12 +24,10 @@
|
|
|
24
24
|
"@salesforce/prettier-config": "^0.0.2",
|
|
25
25
|
"@salesforce/ts-sinon": "1.4.6",
|
|
26
26
|
"@swc/core": "1.3.39",
|
|
27
|
-
"@types/chai-as-promised": "^7.1.5",
|
|
28
27
|
"@types/shelljs": "^0.8.10",
|
|
29
28
|
"@typescript-eslint/eslint-plugin": "^5.57.0",
|
|
30
29
|
"@typescript-eslint/parser": "^5.57.1",
|
|
31
30
|
"chai": "^4.3.7",
|
|
32
|
-
"chai-as-promised": "^7.1.1",
|
|
33
31
|
"eslint": "^8.38.0",
|
|
34
32
|
"eslint-config-prettier": "^8.6.0",
|
|
35
33
|
"eslint-config-salesforce": "^1.1.1",
|
|
@@ -40,7 +38,7 @@
|
|
|
40
38
|
"eslint-plugin-jsdoc": "^40.0.3",
|
|
41
39
|
"eslint-plugin-sf-plugin": "^1.14.0",
|
|
42
40
|
"husky": "^7.0.4",
|
|
43
|
-
"mocha": "^
|
|
41
|
+
"mocha": "^10.2.0",
|
|
44
42
|
"moment": "^2.29.1",
|
|
45
43
|
"nyc": "^15.1.0",
|
|
46
44
|
"oclif": "^3.7.3",
|
|
@@ -121,9 +119,9 @@
|
|
|
121
119
|
"prepack": "sf-prepack",
|
|
122
120
|
"prepare": "sf-install",
|
|
123
121
|
"test": "wireit",
|
|
124
|
-
"test:nuts": "nyc mocha \"./test/nut/*.nut.ts\" --slow 4500 --timeout 1200000 --parallel --jobs
|
|
125
|
-
"test:nuts:legacy": "nyc mocha \"./test/nut/legacy/*.nut.ts\" --slow 4500 --timeout 1200000 --parallel --jobs
|
|
126
|
-
"test:nuts:sandbox": "nyc mocha \"./test/**/*.sandboxNut.ts\" --slow 450000 --timeout 7200000 --parallel --jobs
|
|
122
|
+
"test:nuts": "nyc mocha \"./test/nut/*.nut.ts\" --slow 4500 --timeout 1200000 --parallel --jobs 5",
|
|
123
|
+
"test:nuts:legacy": "nyc mocha \"./test/nut/legacy/*.nut.ts\" --slow 4500 --timeout 1200000 --parallel --jobs 5",
|
|
124
|
+
"test:nuts:sandbox": "nyc mocha \"./test/**/*.sandboxNut.ts\" --slow 450000 --timeout 7200000 --parallel --jobs 5",
|
|
127
125
|
"test:only": "wireit",
|
|
128
126
|
"test:watch": "mocha --watch \"./test/**/*.test.ts\"",
|
|
129
127
|
"version": "oclif readme"
|
|
@@ -237,7 +235,7 @@
|
|
|
237
235
|
}
|
|
238
236
|
},
|
|
239
237
|
"sfdx": {
|
|
240
|
-
"publicKeyUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-org/2.6.
|
|
241
|
-
"signatureUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-org/2.6.
|
|
238
|
+
"publicKeyUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-org/2.6.11.crt",
|
|
239
|
+
"signatureUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-org/2.6.11.sig"
|
|
242
240
|
}
|
|
243
241
|
}
|