@salesforce/core 3.34.6 → 3.35.0-qa.1
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/config/config.js +12 -2
- package/lib/config/configAggregator.d.ts +4 -11
- package/lib/config/configAggregator.js +31 -66
- package/lib/config/envVars.d.ts +2 -1
- package/lib/config/envVars.js +30 -30
- package/lib/crypto/crypto.js +1 -1
- package/lib/crypto/keyChain.js +1 -1
- package/lib/org/authInfo.js +1 -1
- package/lib/org/scratchOrgErrorCodes.js +2 -2
- package/lib/org/scratchOrgInfoApi.js +1 -1
- package/messages/envVars.md +10 -0
- package/messages/scratchOrgErrorCodes.md +1 -1
- package/package.json +33 -25
package/lib/config/config.js
CHANGED
|
@@ -17,6 +17,7 @@ const messages_1 = require("../messages");
|
|
|
17
17
|
const sfdc_1 = require("../util/sfdc");
|
|
18
18
|
const sfdcUrl_1 = require("../util/sfdcUrl");
|
|
19
19
|
const orgConfigProperties_1 = require("../org/orgConfigProperties");
|
|
20
|
+
const lifecycleEvents_1 = require("../lifecycleEvents");
|
|
20
21
|
const configFile_1 = require("./configFile");
|
|
21
22
|
const messages = new messages_1.Messages('@salesforce/core', 'config', new Map([["unknownConfigKey", "Unknown config name: %s."], ["deprecatedConfigKey", "Deprecated config name: %s. Please use %s instead."], ["invalidWrite", "The writeSync method is not allowed on SfdxConfig. Use the async write method instead."], ["invalidConfigValue", "Invalid config value: %s."], ["invalidInstanceUrl", "Specify a valid Salesforce instance URL."], ["invalidApiVersion", "Specify a valid Salesforce API version, for example, 42.0."], ["invalidCustomOrgMetadataTemplates", "Specify a valid repository URL or directory for the custom org metadata templates."], ["invalidIsvDebuggerSid", "Specify a valid Debugger SID."], ["invalidIsvDebuggerUrl", "Specify a valid Debugger URL."], ["invalidNumberConfigValue", "Specify a valid positive integer, for example, 150000."], ["invalidBooleanConfigValue", "The config value can only be set to true or false."], ["invalidProjectWorkspace", "This directory does not contain a valid Salesforce DX project."], ["schemaValidationError", "The config file \"%s\" is not schema valid.\nDue to: %s"], ["schemaValidationError.actions", ["Fix the invalid entries at %s."]], ["missingDefaultPath", "In sfdx-project.json, be sure to specify which package directory (path) is the default. Example: `[{ \"path\": \"packageDirectory1\", \"default\": true }, { \"path\": \"packageDirectory2\" }]`"], ["missingPackageDirectory", "The path \"%s\", specified in sfdx-project.json, does not exist. Be sure this directory is included in your project root."], ["invalidPackageDirectory", "The path \"%s\", specified in sfdx-project.json, must be indicated as a relative path to the project root."], ["multipleDefaultPaths", "In sfdx-project.json, indicate only one package directory (path) as the default."], ["singleNonDefaultPackage", "The sfdx-project.json file must include one, and only one, default package directory (path). Because your sfdx-project.json file contains only one package directory, it must be the default. Remove the `\"default\": false` key and try again."], ["target-org", "Username or alias of the org that all commands run against by default. (sf only)"], ["target-dev-hub", "Username or alias of your default Dev Hub org. (sf only)"], ["defaultUsername", "Username or alias of the org that all commands run against by default. (sfdx only)"], ["defaultDevHubUsername", "Username or alias of your default Dev Hub org. (sfdx only)"], ["isvDebuggerSid", "ISV debugger SID (sfdx only)"], ["isvDebuggerUrl", "ISV debugger URL (sfdx only)"], ["org-isv-debugger-sid", "ISV debugger SID."], ["org-isv-debugger-url", "ISV debugger URL."], ["apiVersion", "API version of your project. Default: API version of your Dev Hub org. (sfdx only)"], ["org-api-version", "API version of your project. Default: API version of your Dev Hub org."], ["disableTelemetry", "Disables the collection of usage and user environment information, etc. Default: false. (sfdx only)"], ["disable-telemetry", "Disables the collection of usage and user environment information, etc. Default: false."], ["maxQueryLimit", "Maximum number of Salesforce records returned by a CLI command. Default: 10,000. (sfdx only)"], ["org-max-query-limit", "Maximum number of Salesforce records returned by a CLI command. Default: 10,000."], ["restDeploy", "Whether deployments use the Metadata REST API (true) or SOAP API (false, default value). (sfdx only)"], ["instanceUrl", "URL of the Salesforce instance hosting your org. Default: https://login.salesforce.com. (sfdx only)"], ["org-instance-url", "URL of the Salesforce instance hosting your org. Default: https://login.salesforce.com."], ["customOrgMetadataTemplates", "A valid repository URL or directory for the custom org metadata templates."], ["org-custom-metadata-templates", "A valid repository URL or directory for the custom org metadata templates."], ["invalidId", "The given id %s is not a valid 15 or 18 character Salesforce ID."]]));
|
|
22
23
|
const SFDX_CONFIG_FILE_NAME = 'sfdx-config.json';
|
|
@@ -376,7 +377,9 @@ class Config extends configFile_1.ConfigFile {
|
|
|
376
377
|
throw messages.createError('unknownConfigKey', [key]);
|
|
377
378
|
}
|
|
378
379
|
if (property.deprecated && property.newKey) {
|
|
379
|
-
|
|
380
|
+
// you're trying to set a deprecated key, but we'll set the new key instead
|
|
381
|
+
void lifecycleEvents_1.Lifecycle.getInstance().emitWarning(messages.getMessage('deprecatedConfigKey', [key, property.newKey]));
|
|
382
|
+
return this.set(property.newKey, value);
|
|
380
383
|
}
|
|
381
384
|
if (property.input) {
|
|
382
385
|
if (property.input?.validator(value)) {
|
|
@@ -410,7 +413,10 @@ class Config extends configFile_1.ConfigFile {
|
|
|
410
413
|
throw messages.createError('unknownConfigKey', [key]);
|
|
411
414
|
}
|
|
412
415
|
if (property.deprecated && property.newKey) {
|
|
413
|
-
|
|
416
|
+
// you're trying to set a deprecated key, so we'll ALSO unset the new key
|
|
417
|
+
void lifecycleEvents_1.Lifecycle.getInstance().emitWarning(messages.getMessage('deprecatedConfigKey', [key, property.newKey]));
|
|
418
|
+
super.unset(property.key);
|
|
419
|
+
return this.unset(property.newKey);
|
|
414
420
|
}
|
|
415
421
|
return super.unset(property.key);
|
|
416
422
|
}
|
|
@@ -425,6 +431,10 @@ class Config extends configFile_1.ConfigFile {
|
|
|
425
431
|
getPropertyConfig(propertyName) {
|
|
426
432
|
const prop = Config.propertyConfigMap()[propertyName];
|
|
427
433
|
if (!prop) {
|
|
434
|
+
const newEquivalent = Config.allowedProperties.find((p) => p.newKey);
|
|
435
|
+
if (newEquivalent) {
|
|
436
|
+
return this.getPropertyConfig(newEquivalent.key);
|
|
437
|
+
}
|
|
428
438
|
throw messages.createError('unknownConfigKey', [propertyName]);
|
|
429
439
|
}
|
|
430
440
|
return prop;
|
|
@@ -74,7 +74,7 @@ export declare class ConfigAggregator extends AsyncOptionalCreatable<ConfigAggre
|
|
|
74
74
|
*
|
|
75
75
|
* @param key The config key.
|
|
76
76
|
*/
|
|
77
|
-
static getValue(key: string): ConfigInfo;
|
|
77
|
+
static getValue(key: string): ConfigInfo | undefined;
|
|
78
78
|
/**
|
|
79
79
|
* Get the static ConfigAggregator instance. If one doesn't exist, one will be created with
|
|
80
80
|
* the **encrypted** config values. Encrypted config values need to be resolved
|
|
@@ -87,6 +87,7 @@ export declare class ConfigAggregator extends AsyncOptionalCreatable<ConfigAggre
|
|
|
87
87
|
init(): Promise<void>;
|
|
88
88
|
/**
|
|
89
89
|
* Get a resolved config property.
|
|
90
|
+
* If you use a deprecated property, a warning will be emitted and it will attempt to resolve the new property's value
|
|
90
91
|
*
|
|
91
92
|
* **Throws** *{@link SfError}{ name: 'UnknownConfigKeyError' }* An attempt to get a property that's not supported.
|
|
92
93
|
*
|
|
@@ -95,6 +96,7 @@ export declare class ConfigAggregator extends AsyncOptionalCreatable<ConfigAggre
|
|
|
95
96
|
getPropertyValue<T extends AnyJson>(key: string): Optional<T>;
|
|
96
97
|
/**
|
|
97
98
|
* Get a resolved config property meta.
|
|
99
|
+
* If the property is deprecated, it will return the new key's meta, if it exists, with a deprecation warning
|
|
98
100
|
*
|
|
99
101
|
* **Throws** *{@link SfError}{ name: 'UnknownConfigKeyError' }* An attempt to get a property that's not supported.
|
|
100
102
|
*
|
|
@@ -103,6 +105,7 @@ export declare class ConfigAggregator extends AsyncOptionalCreatable<ConfigAggre
|
|
|
103
105
|
getPropertyMeta(key: string): ConfigPropertyMeta;
|
|
104
106
|
/**
|
|
105
107
|
* Get a resolved config property.
|
|
108
|
+
* If a property is deprecated, it will try to use the the new key, if there is a config there.
|
|
106
109
|
*
|
|
107
110
|
* @param key The key of the property.
|
|
108
111
|
* @param throwOnDeprecation True, if you want an error throw when reading a deprecated config
|
|
@@ -219,14 +222,4 @@ export declare namespace ConfigAggregator {
|
|
|
219
222
|
* @deprecated
|
|
220
223
|
*/
|
|
221
224
|
export declare class SfdxConfigAggregator extends ConfigAggregator {
|
|
222
|
-
protected static instance: AsyncOptionalCreatable;
|
|
223
|
-
protected static encrypted: boolean;
|
|
224
|
-
static create<P, T extends AsyncOptionalCreatable<P>>(this: new (options?: ConfigAggregator.Options) => T, options?: ConfigAggregator.Options): Promise<T>;
|
|
225
|
-
getPropertyMeta(key: string): ConfigPropertyMeta;
|
|
226
|
-
getPropertyValue<T extends AnyJson>(key: string): Optional<T>;
|
|
227
|
-
getInfo(key: string): ConfigInfo;
|
|
228
|
-
getLocation(key: string): Optional<ConfigAggregator.Location>;
|
|
229
|
-
getPath(key: string): Optional<string>;
|
|
230
|
-
getConfigInfo(): ConfigInfo[];
|
|
231
|
-
private translate;
|
|
232
225
|
}
|
|
@@ -10,6 +10,7 @@ exports.SfdxConfigAggregator = exports.ConfigAggregator = void 0;
|
|
|
10
10
|
const kit_1 = require("@salesforce/kit");
|
|
11
11
|
const ts_types_1 = require("@salesforce/ts-types");
|
|
12
12
|
const messages_1 = require("../messages");
|
|
13
|
+
const lifecycleEvents_1 = require("../lifecycleEvents");
|
|
13
14
|
const envVars_1 = require("./envVars");
|
|
14
15
|
const config_1 = require("./config");
|
|
15
16
|
const messages = new messages_1.Messages('@salesforce/core', 'config', new Map([["unknownConfigKey", "Unknown config name: %s."], ["deprecatedConfigKey", "Deprecated config name: %s. Please use %s instead."], ["invalidWrite", "The writeSync method is not allowed on SfdxConfig. Use the async write method instead."], ["invalidConfigValue", "Invalid config value: %s."], ["invalidInstanceUrl", "Specify a valid Salesforce instance URL."], ["invalidApiVersion", "Specify a valid Salesforce API version, for example, 42.0."], ["invalidCustomOrgMetadataTemplates", "Specify a valid repository URL or directory for the custom org metadata templates."], ["invalidIsvDebuggerSid", "Specify a valid Debugger SID."], ["invalidIsvDebuggerUrl", "Specify a valid Debugger URL."], ["invalidNumberConfigValue", "Specify a valid positive integer, for example, 150000."], ["invalidBooleanConfigValue", "The config value can only be set to true or false."], ["invalidProjectWorkspace", "This directory does not contain a valid Salesforce DX project."], ["schemaValidationError", "The config file \"%s\" is not schema valid.\nDue to: %s"], ["schemaValidationError.actions", ["Fix the invalid entries at %s."]], ["missingDefaultPath", "In sfdx-project.json, be sure to specify which package directory (path) is the default. Example: `[{ \"path\": \"packageDirectory1\", \"default\": true }, { \"path\": \"packageDirectory2\" }]`"], ["missingPackageDirectory", "The path \"%s\", specified in sfdx-project.json, does not exist. Be sure this directory is included in your project root."], ["invalidPackageDirectory", "The path \"%s\", specified in sfdx-project.json, must be indicated as a relative path to the project root."], ["multipleDefaultPaths", "In sfdx-project.json, indicate only one package directory (path) as the default."], ["singleNonDefaultPackage", "The sfdx-project.json file must include one, and only one, default package directory (path). Because your sfdx-project.json file contains only one package directory, it must be the default. Remove the `\"default\": false` key and try again."], ["target-org", "Username or alias of the org that all commands run against by default. (sf only)"], ["target-dev-hub", "Username or alias of your default Dev Hub org. (sf only)"], ["defaultUsername", "Username or alias of the org that all commands run against by default. (sfdx only)"], ["defaultDevHubUsername", "Username or alias of your default Dev Hub org. (sfdx only)"], ["isvDebuggerSid", "ISV debugger SID (sfdx only)"], ["isvDebuggerUrl", "ISV debugger URL (sfdx only)"], ["org-isv-debugger-sid", "ISV debugger SID."], ["org-isv-debugger-url", "ISV debugger URL."], ["apiVersion", "API version of your project. Default: API version of your Dev Hub org. (sfdx only)"], ["org-api-version", "API version of your project. Default: API version of your Dev Hub org."], ["disableTelemetry", "Disables the collection of usage and user environment information, etc. Default: false. (sfdx only)"], ["disable-telemetry", "Disables the collection of usage and user environment information, etc. Default: false."], ["maxQueryLimit", "Maximum number of Salesforce records returned by a CLI command. Default: 10,000. (sfdx only)"], ["org-max-query-limit", "Maximum number of Salesforce records returned by a CLI command. Default: 10,000."], ["restDeploy", "Whether deployments use the Metadata REST API (true) or SOAP API (false, default value). (sfdx only)"], ["instanceUrl", "URL of the Salesforce instance hosting your org. Default: https://login.salesforce.com. (sfdx only)"], ["org-instance-url", "URL of the Salesforce instance hosting your org. Default: https://login.salesforce.com."], ["customOrgMetadataTemplates", "A valid repository URL or directory for the custom org metadata templates."], ["org-custom-metadata-templates", "A valid repository URL or directory for the custom org metadata templates."], ["invalidId", "The given id %s is not a valid 15 or 18 character Salesforce ID."]]));
|
|
@@ -100,13 +101,22 @@ class ConfigAggregator extends kit_1.AsyncOptionalCreatable {
|
|
|
100
101
|
}
|
|
101
102
|
/**
|
|
102
103
|
* Get a resolved config property.
|
|
104
|
+
* If you use a deprecated property, a warning will be emitted and it will attempt to resolve the new property's value
|
|
103
105
|
*
|
|
104
106
|
* **Throws** *{@link SfError}{ name: 'UnknownConfigKeyError' }* An attempt to get a property that's not supported.
|
|
105
107
|
*
|
|
106
108
|
* @param key The key of the property.
|
|
107
109
|
*/
|
|
108
110
|
getPropertyValue(key) {
|
|
109
|
-
|
|
111
|
+
const match = this.getAllowedProperties().find((element) => key === element.key);
|
|
112
|
+
if (match?.deprecated && match.newKey) {
|
|
113
|
+
void lifecycleEvents_1.Lifecycle.getInstance().emitWarning(messages.getMessage('deprecatedConfigKey', [key, match.newKey]));
|
|
114
|
+
const newKeyMatch = this.getAllowedProperties().find((element) => match.newKey === element.key);
|
|
115
|
+
if (newKeyMatch) {
|
|
116
|
+
return this.getConfig()[newKeyMatch.key] ?? this.getConfig()[match.key];
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
if (this.getAllowedProperties().some((element) => key === element.key || key === element.newKey)) {
|
|
110
120
|
return this.getConfig()[key];
|
|
111
121
|
}
|
|
112
122
|
else {
|
|
@@ -115,6 +125,7 @@ class ConfigAggregator extends kit_1.AsyncOptionalCreatable {
|
|
|
115
125
|
}
|
|
116
126
|
/**
|
|
117
127
|
* Get a resolved config property meta.
|
|
128
|
+
* If the property is deprecated, it will return the new key's meta, if it exists, with a deprecation warning
|
|
118
129
|
*
|
|
119
130
|
* **Throws** *{@link SfError}{ name: 'UnknownConfigKeyError' }* An attempt to get a property that's not supported.
|
|
120
131
|
*
|
|
@@ -123,6 +134,13 @@ class ConfigAggregator extends kit_1.AsyncOptionalCreatable {
|
|
|
123
134
|
getPropertyMeta(key) {
|
|
124
135
|
const match = this.getAllowedProperties().find((element) => key === element.key);
|
|
125
136
|
if (match) {
|
|
137
|
+
if (match.deprecated && match.newKey) {
|
|
138
|
+
void lifecycleEvents_1.Lifecycle.getInstance().emitWarning(messages.getMessage('deprecatedConfigKey', [key, match.newKey]));
|
|
139
|
+
const newKeyMatch = this.getAllowedProperties().find((element) => key === element.newKey);
|
|
140
|
+
if (newKeyMatch) {
|
|
141
|
+
return newKeyMatch ?? match;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
126
144
|
return match;
|
|
127
145
|
}
|
|
128
146
|
else {
|
|
@@ -131,21 +149,25 @@ class ConfigAggregator extends kit_1.AsyncOptionalCreatable {
|
|
|
131
149
|
}
|
|
132
150
|
/**
|
|
133
151
|
* Get a resolved config property.
|
|
152
|
+
* If a property is deprecated, it will try to use the the new key, if there is a config there.
|
|
134
153
|
*
|
|
135
154
|
* @param key The key of the property.
|
|
136
155
|
* @param throwOnDeprecation True, if you want an error throw when reading a deprecated config
|
|
137
156
|
*/
|
|
138
157
|
getInfo(key, throwOnDeprecation = false) {
|
|
139
158
|
const meta = this.getPropertyMeta(key);
|
|
140
|
-
if (
|
|
141
|
-
|
|
159
|
+
if (meta.deprecated && meta.newKey) {
|
|
160
|
+
if (throwOnDeprecation) {
|
|
161
|
+
throw messages.createError('deprecatedConfigKey', [key, meta.newKey]);
|
|
162
|
+
}
|
|
163
|
+
// we don't need to emit a deprecatedConfigKey warning here because getPropertyMeta does that
|
|
142
164
|
}
|
|
143
|
-
const location = this.getLocation(key);
|
|
165
|
+
const location = meta.newKey ? this.getLocation(meta.newKey) : this.getLocation(key);
|
|
144
166
|
return {
|
|
145
|
-
key,
|
|
167
|
+
key: meta.newKey ?? key,
|
|
146
168
|
location,
|
|
147
|
-
value: this.getPropertyValue(key),
|
|
148
|
-
path: this.getPath(key),
|
|
169
|
+
value: this.getPropertyValue(meta.newKey ?? key),
|
|
170
|
+
path: this.getPath(meta.newKey ?? key),
|
|
149
171
|
isLocal: () => location === "Local" /* ConfigAggregator.Location.LOCAL */,
|
|
150
172
|
isGlobal: () => location === "Global" /* ConfigAggregator.Location.GLOBAL */,
|
|
151
173
|
isEnvVar: () => location === "Environment" /* ConfigAggregator.Location.ENVIRONMENT */,
|
|
@@ -163,6 +185,7 @@ class ConfigAggregator extends kit_1.AsyncOptionalCreatable {
|
|
|
163
185
|
* @param key The key of the property.
|
|
164
186
|
*/
|
|
165
187
|
getLocation(key) {
|
|
188
|
+
// envs populate old and new automatically
|
|
166
189
|
if (this.envVars[key] != null) {
|
|
167
190
|
return "Environment" /* ConfigAggregator.Location.ENVIRONMENT */;
|
|
168
191
|
}
|
|
@@ -188,6 +211,7 @@ class ConfigAggregator extends kit_1.AsyncOptionalCreatable {
|
|
|
188
211
|
* @param key The key of the property.
|
|
189
212
|
*/
|
|
190
213
|
getPath(key) {
|
|
214
|
+
// TODO: make EnvVars always prefer the "new" regardless of CLI
|
|
191
215
|
if (this.envVars[key] != null) {
|
|
192
216
|
return `$${envVars_1.EnvVars.propertyToEnvName(key)}`;
|
|
193
217
|
}
|
|
@@ -315,65 +339,6 @@ ConfigAggregator.encrypted = true;
|
|
|
315
339
|
* @deprecated
|
|
316
340
|
*/
|
|
317
341
|
class SfdxConfigAggregator extends ConfigAggregator {
|
|
318
|
-
static async create(options = {}) {
|
|
319
|
-
const customConfigMeta = options.customConfigMeta ?? [];
|
|
320
|
-
// org-metadata-rest-deploy has been moved to plugin-deploy-retrieve but we need to have a placeholder
|
|
321
|
-
// for it here since sfdx needs to know how to set the deprecated restDeploy config var.
|
|
322
|
-
const restDeploy = config_1.SFDX_ALLOWED_PROPERTIES.find((p) => p.key === config_1.SfdxPropertyKeys.REST_DEPLOY);
|
|
323
|
-
const orgRestDeploy = Object.assign({}, restDeploy, { key: 'org-metadata-rest-deploy', deprecated: false });
|
|
324
|
-
options.customConfigMeta = [...customConfigMeta, orgRestDeploy];
|
|
325
|
-
let config = SfdxConfigAggregator.instance;
|
|
326
|
-
if (!config) {
|
|
327
|
-
config = SfdxConfigAggregator.instance = new this(options);
|
|
328
|
-
await config.init();
|
|
329
|
-
}
|
|
330
|
-
if (SfdxConfigAggregator.encrypted) {
|
|
331
|
-
await config.loadProperties();
|
|
332
|
-
}
|
|
333
|
-
if (options?.customConfigMeta) {
|
|
334
|
-
config_1.Config.addAllowedProperties(options.customConfigMeta);
|
|
335
|
-
}
|
|
336
|
-
return SfdxConfigAggregator.instance;
|
|
337
|
-
}
|
|
338
|
-
getPropertyMeta(key) {
|
|
339
|
-
const match = this.getAllowedProperties().find((element) => key === element.key);
|
|
340
|
-
if (match?.deprecated && match?.newKey) {
|
|
341
|
-
return this.getPropertyMeta(match.newKey);
|
|
342
|
-
}
|
|
343
|
-
else if (match) {
|
|
344
|
-
return match;
|
|
345
|
-
}
|
|
346
|
-
else {
|
|
347
|
-
throw messages.createError('unknownConfigKey', [key]);
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
getPropertyValue(key) {
|
|
351
|
-
return super.getPropertyValue(this.translate(key));
|
|
352
|
-
}
|
|
353
|
-
getInfo(key) {
|
|
354
|
-
const info = super.getInfo(this.translate(key));
|
|
355
|
-
info.key = this.translate(info.key, 'toOld');
|
|
356
|
-
return info;
|
|
357
|
-
}
|
|
358
|
-
getLocation(key) {
|
|
359
|
-
return super.getLocation(this.translate(key));
|
|
360
|
-
}
|
|
361
|
-
getPath(key) {
|
|
362
|
-
return super.getPath(this.translate(key));
|
|
363
|
-
}
|
|
364
|
-
getConfigInfo() {
|
|
365
|
-
return super.getConfigInfo().map((c) => {
|
|
366
|
-
c.key = this.translate(c.key, 'toOld');
|
|
367
|
-
return c;
|
|
368
|
-
});
|
|
369
|
-
}
|
|
370
|
-
translate(key, direction = 'toNew') {
|
|
371
|
-
const propConfig = direction === 'toNew'
|
|
372
|
-
? this.getPropertyMeta(key)
|
|
373
|
-
: config_1.Config.getAllowedProperties().find((c) => c.newKey === key) ?? {};
|
|
374
|
-
return propConfig.key || key;
|
|
375
|
-
}
|
|
376
342
|
}
|
|
377
343
|
exports.SfdxConfigAggregator = SfdxConfigAggregator;
|
|
378
|
-
SfdxConfigAggregator.encrypted = true;
|
|
379
344
|
//# sourceMappingURL=configAggregator.js.map
|
package/lib/config/envVars.d.ts
CHANGED
|
@@ -81,6 +81,7 @@ export declare enum EnvironmentVariable {
|
|
|
81
81
|
}
|
|
82
82
|
type EnvMetaData = {
|
|
83
83
|
description: string;
|
|
84
|
+
/** the env has been renamed. synonymOf points to the new env */
|
|
84
85
|
synonymOf: Nullable<string>;
|
|
85
86
|
};
|
|
86
87
|
type EnvType = {
|
|
@@ -93,7 +94,7 @@ export declare class EnvVars extends Env {
|
|
|
93
94
|
private static defaultPrefix;
|
|
94
95
|
getPropertyFromEnv<T>(property: string, prefix?: string): Nullable<T>;
|
|
95
96
|
asDictionary(): Dictionary<unknown>;
|
|
96
|
-
asMap(): Map<string,
|
|
97
|
+
asMap(): Map<string, unknown>;
|
|
97
98
|
private resolve;
|
|
98
99
|
private get;
|
|
99
100
|
}
|
package/lib/config/envVars.js
CHANGED
|
@@ -11,8 +11,8 @@ const path_1 = require("path");
|
|
|
11
11
|
const change_case_1 = require("change-case");
|
|
12
12
|
const kit_1 = require("@salesforce/kit");
|
|
13
13
|
const messages_1 = require("../messages");
|
|
14
|
-
const
|
|
15
|
-
const messages = new messages_1.Messages('@salesforce/core', 'envVars', new Map([["forceOpenUrl", "Web page that opens in your browser when you connect to an org. For example, to open Lightning Experience, set to \"lightning\"."], ["forceShowSpinner", "Set to true to show a spinner animation on the command line when running asynchronous CLI commands. Default is false."], ["forceSpinnerDelay", "Speed of the spinner in milliseconds. Default is 60."], ["httpProxy", "HTTP URL and port of the proxy server when using Salesforce CLI behind a corporate firewall or web proxy."], ["httpsProxy", "HTTPS URL and port of the proxy server when using Salesforce CLI behind a corporate firewall or web proxy."], ["nodeExtraCaCerts", "Fully qualified path to your self-signed certificate. Will be installed after you run \"sfdx update\"."], ["nodeTlsRejectUnauthorized", "Set to 0 to allow Node.js to use the self-signed certificate in the certificate chain."], ["sfdxAccessToken", "Specifies an access token when using the auth:accesstoken:store command."], ["sfdxApiVersion", "The API version for a specific project or all projects. Default value is the API version of your Dev Hub. Overrides the apiVersion config value."], ["sfdxAudienceUrl", "URL that overrides the aud (audience) field used for JWT authentication so that it matches the expected value of the authorization server URL for the org you\u2019re logging into."], ["sfdxCodeCoverageRequirement", "Code coverage percentages that are displayed in green when you run force:apex:test:\\* with the --codecoverage parameter."], ["sfdxContentType", "Set to JSON so that all CLI commands output results in JSON format."], ["sfdxDefaultdevhubusername", "Username or alias of your default Dev Hub org. Overrides the defaultdevhubusername configuration value."], ["sfdxDefaultusername", "Username or alias of your default org. Overrides the defaultusername configuration value."], ["sfdxDisableAutoupdate", "Set to true to disable the auto-update feature of Salesforce CLI. Default value is false."], ["sfdxAutoupdateDisable", "Set to true to disable the auto-update feature of Salesforce CLI. Default value is false."], ["sfdxDisableSourceMemberPolling", "Set to true to disable polling of your org\u2019s SourceMember object when you run the force:source:push|pull commands. Default value is false."], ["sfdxDisableTelemetry", "Set to true to disable Salesforce CLI from collecting usage information, user environment information, and crash reports. Default value is false. Overrides the disableTelemetry configration variable."], ["sfdxDnsTimeout", "Number of seconds that the force:org:\\* commands wait for a response when checking whether an org is connected. Default value is 3."], ["sfdxDomainRetry", "Time, in seconds, that Salesforce CLI waits for the Lightning Experience custom domain to resolve and become available in a scratch org. Default value is 240."], ["sfdxImprovedCodeCoverage", "Set to true to scope Apex test results to the classes entered during a test run when running force:apex:test:\\*."], ["sfdxInstanceUrl", "URL of the Salesforce instance that is hosting your org. Default value is https://login.salesforce.com. Overrides the instanceUrl configuration value."], ["sfdxJsonToStdout", "Set to true to send messages resulting from failed Salesforce CLI commands to stdout instead of stderr."], ["sfdxDisableLogFile", "Set to true to disable log file writing"], ["sfdxLogLevel", "Level of messages that the CLI writes to the log file. Valid values are trace, debug, info, warn, error, fatal. Default value is warn."], ["sfdxLogRotationCount", "The default rotation period for logs. Example '1d' will rotate logs daily (at midnight)."], ["sfdxLogRotationPeriod", "The number of backup rotated log files to keep. Example: '3' will have the base sf.log file, and the past 3 (period) log files."], ["sfdxMaxQueryLimit", "Maximum number of Salesforce records returned by a CLI command. Default value is 10,000. Overrides the maxQueryLimit configuration value."], ["sfdxMdapiTempDir", "Directory that contains files (in metadata format) when running certain Salesforce CLI commands, such as force:source:\\*."], ["sfdxNpmRegistry", "URL to a private npm server, where all packages that you publish are private."], ["sfdxPrecompileEnable", "Set to true to enable Apex pre-compile before the tests are run with the force:apex:test:run command. Default is false."], ["sfdxProjectAutoupdateDisableForPackageCreate", "Set to true to disable automatic updates to sfdx-project.json when running force:package:create."], ["sfdxProjectAutoupdateDisableForPackageVersionCreate", "Set to true to disable automatic updates to sfdx-project.json when running force:package:version:create."], ["sfdxRestDeploy", "Set to true to make Salesforce CLI use the Metadata REST API for deployments. By default, the CLI uses SOAP."], ["sfdxSourceMemberPollingTimeout", "Number of seconds you want the force:source:push command to keep polling the SourceMember object before the command times out."], ["sfdxUseGenericUnixKeychain", "(Linux and macOS only) Set to true if you want to use the generic UNIX keychain instead of the Linux libsecret library or macOS keychain."], ["sfdxUseProgressBar", "Set to false to disable the progress bar when running force:mdapi:deploy, force:source:deploy, or force:source:push."], ["sfdxLazyLoadModules", "Set to true to enable lazy loading of sfdx modules"], ["sfdxS3Host", "URL to S3 host"], ["sfdxUpdateInstructions", "Text that describes how to update sfdx"], ["sfdxInstaller", "Boolean indicating that the installer is running"], ["sfdxEnv", "Describes if sfdx is in \"demo\" mode"], ["sfTargetOrg", "Username or alias of your default org. Overrides the target-org configuration variable."], ["sfTargetDevHub", "Username or alias of your default Dev Hub org. Overrides the target-dev-hub configuration variable."], ["sfAccessToken", "Specifies an access token when using a login command that uses access tokens."], ["sfOrgApiVersion", "API version for a specific project or all projects. Default value is the API version of your Dev Hub. Overrides the apiVersion configuration variable."], ["sfAudienceUrl", "URL that overrides the aud (audience) field used for JWT authentication so that it matches the expected value of the authorization server URL for the org you\u2019re logging into."], ["sfCodeCoverageRequirement", "Code coverage percentages that are displayed in green when you run the Apex test CLIcommands with the --code-coverage flag."], ["sfContentType", "Set to JSON so that all CLI commands output results in JSON format."], ["sfDisableAutoupdate", "Set to true to disable the auto-update feature of Salesforce CLI. Default value is false."], ["sfAutoupdateDisable", "Set to true to disable the auto-update feature of Salesforce CLI. Default value is false."], ["sfDisableSourceMemberPolling", "Set to true to disable polling of your org\u2019s SourceMember object when you run the commands to push and pull source. Default value is false."], ["sfDisableTelemetry", "Set to true to disable Salesforce CLI from collecting usage information, user environment information, and crash reports. Default value is false. Overrides the disableTelemetry configration variable."], ["sfDnsTimeout", "Number of seconds that the env commands wait for a response when checking whether an org is connected. Default value is 3."], ["sfDomainRetry", "Time, in seconds, that Salesforce CLI waits for the Lightning Experience custom domain to resolve and become available in a scratch org. Default value is 240."], ["sfImprovedCodeCoverage", "Set to true to scope Apex test results to the classes entered during a test run when running the Apex test commands."], ["sfOrgInstanceUrl", "URL of the Salesforce instance that is hosting your org. Default value is https://login.salesforce.com. Overrides the instanceUrl configuration variable."], ["sfJsonToStdout", "Set to true to send messages resulting from failed Salesforce CLI commands to stdout instead of stderr."], ["sfDisableLogFile", "Set to true to disable log file writing"], ["sfLogLevel", "Level of messages that the CLI writes to the log file. Valid values are trace, debug, info, warn, error, fatal. Default value is warn."], ["sfLogRotationCount", "The default rotation period for logs. Example '1d' will rotate logs daily (at midnight)."], ["sfLogRotationPeriod", "The number of backup rotated log files to keep. Example: '3' will have the base sf.log file, and the past 3 (period) log files."], ["sfOrgMaxQueryLimit", "Maximum number of Salesforce records returned by a CLI command. Default value is 10,000. Overrides the maxQueryLimit configuration variable."], ["sfMdapiTempDir", "Directory that contains files (in metadata format) when running certain Salesforce CLI commands."], ["sfNpmRegistry", "URL to a private npm server, where all packages that you publish are private."], ["sfPrecompileEnable", "Set to true to enable Apex pre-compile before the tests are run with the Apex test run command. Default is false."], ["sfProjectAutoupdateDisableForPackageCreate", "Set to true to disable automatic updates to sfdx-project.json when running the package create command."], ["sfProjectAutoupdateDisableForPackageVersionCreate", "Set to true to disable automatic updates to sfdx-project.json when running the package version create command."], ["sfSourceMemberPollingTimeout", "Number of seconds you want the source push command to keep polling the SourceMember object before the command times out."], ["sfUseGenericUnixKeychain", "(Linux and macOS only) Set to true if you want to use the generic UNIX keychain instead of the Linux libsecret library or macOS keychain."], ["sfUseProgressBar", "Set to false to disable the progress bar when running the metadata deploy command."], ["sfLazyLoadModules", "Set to true to enable lazy loading of sf modules"], ["sfS3Host", "URL to S3 host"], ["sfUpdateInstructions", "Text that describes how to update sf"], ["sfInstaller", "Boolean indicating that the installer is running"], ["sfEnv", "Describes if sf is in \"demo\" mode"]]));
|
|
14
|
+
const lifecycleEvents_1 = require("../lifecycleEvents");
|
|
15
|
+
const messages = new messages_1.Messages('@salesforce/core', 'envVars', new Map([["forceOpenUrl", "Web page that opens in your browser when you connect to an org. For example, to open Lightning Experience, set to \"lightning\"."], ["forceShowSpinner", "Set to true to show a spinner animation on the command line when running asynchronous CLI commands. Default is false."], ["forceSpinnerDelay", "Speed of the spinner in milliseconds. Default is 60."], ["httpProxy", "HTTP URL and port of the proxy server when using Salesforce CLI behind a corporate firewall or web proxy."], ["httpsProxy", "HTTPS URL and port of the proxy server when using Salesforce CLI behind a corporate firewall or web proxy."], ["nodeExtraCaCerts", "Fully qualified path to your self-signed certificate. Will be installed after you run \"sfdx update\"."], ["nodeTlsRejectUnauthorized", "Set to 0 to allow Node.js to use the self-signed certificate in the certificate chain."], ["sfdxAccessToken", "Specifies an access token when using the auth:accesstoken:store command."], ["sfdxApiVersion", "The API version for a specific project or all projects. Default value is the API version of your Dev Hub. Overrides the apiVersion config value."], ["sfdxAudienceUrl", "URL that overrides the aud (audience) field used for JWT authentication so that it matches the expected value of the authorization server URL for the org you\u2019re logging into."], ["sfdxCodeCoverageRequirement", "Code coverage percentages that are displayed in green when you run force:apex:test:\\* with the --codecoverage parameter."], ["sfdxContentType", "Set to JSON so that all CLI commands output results in JSON format."], ["sfdxDefaultdevhubusername", "Username or alias of your default Dev Hub org. Overrides the defaultdevhubusername configuration value."], ["sfdxDefaultusername", "Username or alias of your default org. Overrides the defaultusername configuration value."], ["sfdxDisableAutoupdate", "Set to true to disable the auto-update feature of Salesforce CLI. Default value is false."], ["sfdxAutoupdateDisable", "Set to true to disable the auto-update feature of Salesforce CLI. Default value is false."], ["sfdxDisableSourceMemberPolling", "Set to true to disable polling of your org\u2019s SourceMember object when you run the force:source:push|pull commands. Default value is false."], ["sfdxDisableTelemetry", "Set to true to disable Salesforce CLI from collecting usage information, user environment information, and crash reports. Default value is false. Overrides the disableTelemetry configration variable."], ["sfdxDnsTimeout", "Number of seconds that the force:org:\\* commands wait for a response when checking whether an org is connected. Default value is 3."], ["sfdxDomainRetry", "Time, in seconds, that Salesforce CLI waits for the Lightning Experience custom domain to resolve and become available in a scratch org. Default value is 240."], ["sfdxImprovedCodeCoverage", "Set to true to scope Apex test results to the classes entered during a test run when running force:apex:test:\\*."], ["sfdxInstanceUrl", "URL of the Salesforce instance that is hosting your org. Default value is https://login.salesforce.com. Overrides the instanceUrl configuration value."], ["sfdxJsonToStdout", "Set to true to send messages resulting from failed Salesforce CLI commands to stdout instead of stderr."], ["sfdxDisableLogFile", "Set to true to disable log file writing"], ["sfdxLogLevel", "Level of messages that the CLI writes to the log file. Valid values are trace, debug, info, warn, error, fatal. Default value is warn."], ["sfdxLogRotationCount", "The default rotation period for logs. Example '1d' will rotate logs daily (at midnight)."], ["sfdxLogRotationPeriod", "The number of backup rotated log files to keep. Example: '3' will have the base sf.log file, and the past 3 (period) log files."], ["sfdxMaxQueryLimit", "Maximum number of Salesforce records returned by a CLI command. Default value is 10,000. Overrides the maxQueryLimit configuration value."], ["sfdxMdapiTempDir", "Directory that contains files (in metadata format) when running certain Salesforce CLI commands, such as force:source:\\*."], ["sfdxNpmRegistry", "URL to a private npm server, where all packages that you publish are private."], ["sfdxPrecompileEnable", "Set to true to enable Apex pre-compile before the tests are run with the force:apex:test:run command. Default is false."], ["sfdxProjectAutoupdateDisableForPackageCreate", "Set to true to disable automatic updates to sfdx-project.json when running force:package:create."], ["sfdxProjectAutoupdateDisableForPackageVersionCreate", "Set to true to disable automatic updates to sfdx-project.json when running force:package:version:create."], ["sfdxRestDeploy", "Set to true to make Salesforce CLI use the Metadata REST API for deployments. By default, the CLI uses SOAP."], ["sfdxSourceMemberPollingTimeout", "Number of seconds you want the force:source:push command to keep polling the SourceMember object before the command times out."], ["sfdxUseGenericUnixKeychain", "(Linux and macOS only) Set to true if you want to use the generic UNIX keychain instead of the Linux libsecret library or macOS keychain."], ["sfdxUseProgressBar", "Set to false to disable the progress bar when running force:mdapi:deploy, force:source:deploy, or force:source:push."], ["sfdxLazyLoadModules", "Set to true to enable lazy loading of sfdx modules"], ["sfdxS3Host", "URL to S3 host"], ["sfdxUpdateInstructions", "Text that describes how to update sfdx"], ["sfdxInstaller", "Boolean indicating that the installer is running"], ["sfdxEnv", "Describes if sfdx is in \"demo\" mode"], ["sfTargetOrg", "Username or alias of your default org. Overrides the target-org configuration variable."], ["sfTargetDevHub", "Username or alias of your default Dev Hub org. Overrides the target-dev-hub configuration variable."], ["sfAccessToken", "Specifies an access token when using a login command that uses access tokens."], ["sfOrgApiVersion", "API version for a specific project or all projects. Default value is the API version of your Dev Hub. Overrides the apiVersion configuration variable."], ["sfAudienceUrl", "URL that overrides the aud (audience) field used for JWT authentication so that it matches the expected value of the authorization server URL for the org you\u2019re logging into."], ["sfCodeCoverageRequirement", "Code coverage percentages that are displayed in green when you run the Apex test CLIcommands with the --code-coverage flag."], ["sfContentType", "Set to JSON so that all CLI commands output results in JSON format."], ["sfDisableAutoupdate", "Set to true to disable the auto-update feature of Salesforce CLI. Default value is false."], ["sfAutoupdateDisable", "Set to true to disable the auto-update feature of Salesforce CLI. Default value is false."], ["sfDisableSourceMemberPolling", "Set to true to disable polling of your org\u2019s SourceMember object when you run the commands to push and pull source. Default value is false."], ["sfDisableTelemetry", "Set to true to disable Salesforce CLI from collecting usage information, user environment information, and crash reports. Default value is false. Overrides the disableTelemetry configration variable."], ["sfDnsTimeout", "Number of seconds that the env commands wait for a response when checking whether an org is connected. Default value is 3."], ["sfDomainRetry", "Time, in seconds, that Salesforce CLI waits for the Lightning Experience custom domain to resolve and become available in a scratch org. Default value is 240."], ["sfImprovedCodeCoverage", "Set to true to scope Apex test results to the classes entered during a test run when running the Apex test commands."], ["sfOrgInstanceUrl", "URL of the Salesforce instance that is hosting your org. Default value is https://login.salesforce.com. Overrides the instanceUrl configuration variable."], ["sfJsonToStdout", "Set to true to send messages resulting from failed Salesforce CLI commands to stdout instead of stderr."], ["sfDisableLogFile", "Set to true to disable log file writing"], ["sfLogLevel", "Level of messages that the CLI writes to the log file. Valid values are trace, debug, info, warn, error, fatal. Default value is warn."], ["sfLogRotationCount", "The default rotation period for logs. Example '1d' will rotate logs daily (at midnight)."], ["sfLogRotationPeriod", "The number of backup rotated log files to keep. Example: '3' will have the base sf.log file, and the past 3 (period) log files."], ["sfOrgMaxQueryLimit", "Maximum number of Salesforce records returned by a CLI command. Default value is 10,000. Overrides the maxQueryLimit configuration variable."], ["sfMdapiTempDir", "Directory that contains files (in metadata format) when running certain Salesforce CLI commands."], ["sfNpmRegistry", "URL to a private npm server, where all packages that you publish are private."], ["sfPrecompileEnable", "Set to true to enable Apex pre-compile before the tests are run with the Apex test run command. Default is false."], ["sfProjectAutoupdateDisableForPackageCreate", "Set to true to disable automatic updates to sfdx-project.json when running the package create command."], ["sfProjectAutoupdateDisableForPackageVersionCreate", "Set to true to disable automatic updates to sfdx-project.json when running the package version create command."], ["sfSourceMemberPollingTimeout", "Number of seconds you want the source push command to keep polling the SourceMember object before the command times out."], ["sfUseGenericUnixKeychain", "(Linux and macOS only) Set to true if you want to use the generic UNIX keychain instead of the Linux libsecret library or macOS keychain."], ["sfUseProgressBar", "Set to false to disable the progress bar when running the metadata deploy command."], ["sfLazyLoadModules", "Set to true to enable lazy loading of sf modules"], ["sfS3Host", "URL to S3 host"], ["sfUpdateInstructions", "Text that describes how to update sf"], ["sfInstaller", "Boolean indicating that the installer is running"], ["sfEnv", "Describes if sf is in \"demo\" mode"], ["deprecatedEnv", "Deprecated environment variable: %s. Please use %s instead."], ["deprecatedEnvDisagreement", "Deprecated environment variable: %s. Please use %s instead.\n\nYour environment has both variables populated, and with different values. The value from %s will be used."]]));
|
|
16
16
|
var EnvironmentVariable;
|
|
17
17
|
(function (EnvironmentVariable) {
|
|
18
18
|
EnvironmentVariable["FORCE_OPEN_URL"] = "FORCE_OPEN_URL";
|
|
@@ -265,11 +265,11 @@ exports.SUPPORTED_ENV_VARS = {
|
|
|
265
265
|
},
|
|
266
266
|
[EnvironmentVariable.SF_TARGET_ORG]: {
|
|
267
267
|
description: getMessage(EnvironmentVariable.SF_TARGET_ORG),
|
|
268
|
-
synonymOf:
|
|
268
|
+
synonymOf: null,
|
|
269
269
|
},
|
|
270
270
|
[EnvironmentVariable.SF_TARGET_DEV_HUB]: {
|
|
271
271
|
description: getMessage(EnvironmentVariable.SF_TARGET_DEV_HUB),
|
|
272
|
-
synonymOf:
|
|
272
|
+
synonymOf: null,
|
|
273
273
|
},
|
|
274
274
|
// sf vars
|
|
275
275
|
[EnvironmentVariable.SF_ACCESS_TOKEN]: {
|
|
@@ -278,7 +278,7 @@ exports.SUPPORTED_ENV_VARS = {
|
|
|
278
278
|
},
|
|
279
279
|
[EnvironmentVariable.SF_ORG_API_VERSION]: {
|
|
280
280
|
description: getMessage(EnvironmentVariable.SF_ORG_API_VERSION),
|
|
281
|
-
synonymOf:
|
|
281
|
+
synonymOf: null,
|
|
282
282
|
},
|
|
283
283
|
[EnvironmentVariable.SF_AUDIENCE_URL]: {
|
|
284
284
|
description: getMessage(EnvironmentVariable.SF_AUDIENCE_URL),
|
|
@@ -330,7 +330,7 @@ exports.SUPPORTED_ENV_VARS = {
|
|
|
330
330
|
},
|
|
331
331
|
[EnvironmentVariable.SF_DISABLE_LOG_FILE]: {
|
|
332
332
|
description: getMessage(EnvironmentVariable.SF_DISABLE_LOG_FILE),
|
|
333
|
-
synonymOf:
|
|
333
|
+
synonymOf: null,
|
|
334
334
|
},
|
|
335
335
|
[EnvironmentVariable.SF_LOG_LEVEL]: {
|
|
336
336
|
description: getMessage(EnvironmentVariable.SF_LOG_LEVEL),
|
|
@@ -346,7 +346,7 @@ exports.SUPPORTED_ENV_VARS = {
|
|
|
346
346
|
},
|
|
347
347
|
[EnvironmentVariable.SF_ORG_MAX_QUERY_LIMIT]: {
|
|
348
348
|
description: getMessage(EnvironmentVariable.SF_ORG_MAX_QUERY_LIMIT),
|
|
349
|
-
synonymOf:
|
|
349
|
+
synonymOf: null,
|
|
350
350
|
},
|
|
351
351
|
[EnvironmentVariable.SF_MDAPI_TEMP_DIR]: {
|
|
352
352
|
description: getMessage(EnvironmentVariable.SF_MDAPI_TEMP_DIR),
|
|
@@ -410,45 +410,45 @@ class EnvVars extends kit_1.Env {
|
|
|
410
410
|
return `${prefix || ''}${(0, change_case_1.snakeCase)(property).toUpperCase()}`;
|
|
411
411
|
}
|
|
412
412
|
static defaultPrefix() {
|
|
413
|
-
|
|
414
|
-
return 'SFDX_';
|
|
415
|
-
if (process.argv[0].startsWith('sf'))
|
|
416
|
-
return 'SF_';
|
|
417
|
-
return 'SFDX_';
|
|
413
|
+
return 'SF_';
|
|
418
414
|
}
|
|
419
415
|
getPropertyFromEnv(property, prefix = EnvVars.defaultPrefix()) {
|
|
420
416
|
const envName = EnvVars.propertyToEnvName(property, prefix);
|
|
421
|
-
|
|
422
|
-
return this.get(envName) ?? this.get(synonym);
|
|
417
|
+
return this.get(envName);
|
|
423
418
|
}
|
|
424
419
|
asDictionary() {
|
|
425
|
-
return this.entries()
|
|
426
|
-
accumulator[key] = value;
|
|
427
|
-
return accumulator;
|
|
428
|
-
}, {});
|
|
420
|
+
return Object.fromEntries(this.entries());
|
|
429
421
|
}
|
|
430
422
|
asMap() {
|
|
431
|
-
return this.entries()
|
|
432
|
-
accumulator.set(key, value);
|
|
433
|
-
return accumulator;
|
|
434
|
-
}, new Map());
|
|
423
|
+
return new Map(this.entries());
|
|
435
424
|
}
|
|
436
425
|
resolve() {
|
|
426
|
+
// iterate everything in the real environment
|
|
427
|
+
const corrections = new Map();
|
|
437
428
|
this.entries().forEach(([key, value]) => {
|
|
438
|
-
if (exports.SUPPORTED_ENV_VARS[key]) {
|
|
439
|
-
//
|
|
440
|
-
if
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
429
|
+
if (exports.SUPPORTED_ENV_VARS[key]?.synonymOf) {
|
|
430
|
+
// we are looking at an "old" key that has a new name
|
|
431
|
+
// if the new key has a value set, use that for the old key, too
|
|
432
|
+
const newEnvName = exports.SUPPORTED_ENV_VARS[key].synonymOf;
|
|
433
|
+
if (newEnvName) {
|
|
434
|
+
const valueOfNewName = this.getString(newEnvName);
|
|
435
|
+
if (!valueOfNewName) {
|
|
436
|
+
void lifecycleEvents_1.Lifecycle.getInstance().emitWarning(messages.getMessage('deprecatedEnv', [key, newEnvName]));
|
|
437
|
+
corrections.set(newEnvName, value);
|
|
438
|
+
}
|
|
439
|
+
else if (valueOfNewName !== value) {
|
|
440
|
+
void lifecycleEvents_1.Lifecycle.getInstance().emitWarning(messages.getMessage('deprecatedEnvDisagreement', [key, newEnvName, newEnvName]));
|
|
441
|
+
corrections.set(key, valueOfNewName ?? value);
|
|
445
442
|
}
|
|
446
443
|
}
|
|
447
444
|
}
|
|
448
445
|
});
|
|
446
|
+
corrections.forEach((v, k) => {
|
|
447
|
+
this.setString(k, v);
|
|
448
|
+
});
|
|
449
449
|
}
|
|
450
450
|
get(envName) {
|
|
451
|
-
return this.
|
|
451
|
+
return this.asMap().get(envName);
|
|
452
452
|
}
|
|
453
453
|
}
|
|
454
454
|
exports.EnvVars = EnvVars;
|
package/lib/crypto/crypto.js
CHANGED
|
@@ -129,7 +129,7 @@ class Crypto extends kit_1.AsyncOptionalCreatable {
|
|
|
129
129
|
}
|
|
130
130
|
catch (err) {
|
|
131
131
|
const error = messages.createError('authDecryptError', [err.message], [], err);
|
|
132
|
-
const useGenericUnixKeychain = kit_1.env.getBoolean('
|
|
132
|
+
const useGenericUnixKeychain = kit_1.env.getBoolean('SF_USE_GENERIC_UNIX_KEYCHAIN') || kit_1.env.getBoolean('USE_GENERIC_UNIX_KEYCHAIN');
|
|
133
133
|
if (os.platform() === 'darwin' && !useGenericUnixKeychain) {
|
|
134
134
|
error.actions = [messages.getMessage('macKeychainOutOfSync')];
|
|
135
135
|
}
|
package/lib/crypto/keyChain.js
CHANGED
|
@@ -21,7 +21,7 @@ const messages = new messages_1.Messages('@salesforce/core', 'encryption', new M
|
|
|
21
21
|
const retrieveKeychain = async (platform) => {
|
|
22
22
|
const logger = await logger_1.Logger.child('keyChain');
|
|
23
23
|
logger.debug(`platform: ${platform}`);
|
|
24
|
-
const useGenericUnixKeychainVar = kit_1.env.getBoolean('
|
|
24
|
+
const useGenericUnixKeychainVar = kit_1.env.getBoolean('SF_USE_GENERIC_UNIX_KEYCHAIN');
|
|
25
25
|
const shouldUseGenericUnixKeychain = useGenericUnixKeychainVar && useGenericUnixKeychainVar;
|
|
26
26
|
if (platform.startsWith('win')) {
|
|
27
27
|
return keyChainImpl_1.keyChainImpl.generic_windows;
|
package/lib/org/authInfo.js
CHANGED
|
@@ -98,7 +98,7 @@ class AuthInfo extends kit_1.AsyncOptionalCreatable {
|
|
|
98
98
|
* @returns {string}
|
|
99
99
|
*/
|
|
100
100
|
static getDefaultInstanceUrl() {
|
|
101
|
-
const configuredInstanceUrl = configAggregator_1.ConfigAggregator.getValue(orgConfigProperties_1.OrgConfigProperties.ORG_INSTANCE_URL)
|
|
101
|
+
const configuredInstanceUrl = configAggregator_1.ConfigAggregator.getValue(orgConfigProperties_1.OrgConfigProperties.ORG_INSTANCE_URL)?.value;
|
|
102
102
|
return configuredInstanceUrl ?? sfdcUrl_1.SfdcUrl.PRODUCTION;
|
|
103
103
|
}
|
|
104
104
|
/**
|
|
@@ -13,8 +13,8 @@ const logger_1 = require("../logger");
|
|
|
13
13
|
const scratchOrgCache_1 = require("./scratchOrgCache");
|
|
14
14
|
const scratchOrgLifecycleEvents_1 = require("./scratchOrgLifecycleEvents");
|
|
15
15
|
const WORKSPACE_CONFIG_FILENAME = 'sfdx-project.json';
|
|
16
|
-
const messages = new messages_1.Messages('@salesforce/core', 'scratchOrgErrorCodes', new Map([["SignupFailedError", "The request to create a scratch org failed with error code: %s."], ["SignupFailedUnknownError", "An unknown server error occurred. Please try again. If you still see this error, contact Salesforce support for assistance. Include the information from 'sfdx force:data:record:get -s ScratchOrgInfo -i %s -u %s'."], ["SignupFailedActionError", "See https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_scratch_orgs_error_codes.htm for information on error code %s."], ["SignupUnexpectedError", "The request to create a scratch org returned an unexpected status"], ["StillInProgressError", "The scratch org is not ready yet (Status = %s)."], ["action.StillInProgress", "Wait for a few minutes, and then try the
|
|
17
|
-
const namedMessages = new messages_1.Messages('@salesforce/core', 'scratchOrgErrorCodes', new Map([["SignupFailedError", "The request to create a scratch org failed with error code: %s."], ["SignupFailedUnknownError", "An unknown server error occurred. Please try again. If you still see this error, contact Salesforce support for assistance. Include the information from 'sfdx force:data:record:get -s ScratchOrgInfo -i %s -u %s'."], ["SignupFailedActionError", "See https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_scratch_orgs_error_codes.htm for information on error code %s."], ["SignupUnexpectedError", "The request to create a scratch org returned an unexpected status"], ["StillInProgressError", "The scratch org is not ready yet (Status = %s)."], ["action.StillInProgress", "Wait for a few minutes, and then try the
|
|
16
|
+
const messages = new messages_1.Messages('@salesforce/core', 'scratchOrgErrorCodes', new Map([["SignupFailedError", "The request to create a scratch org failed with error code: %s."], ["SignupFailedUnknownError", "An unknown server error occurred. Please try again. If you still see this error, contact Salesforce support for assistance. Include the information from 'sfdx force:data:record:get -s ScratchOrgInfo -i %s -u %s'."], ["SignupFailedActionError", "See https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_scratch_orgs_error_codes.htm for information on error code %s."], ["SignupUnexpectedError", "The request to create a scratch org returned an unexpected status"], ["StillInProgressError", "The scratch org is not ready yet (Status = %s)."], ["action.StillInProgress", "Wait for a few minutes, and then try the command again"], ["NoScratchOrgInfoError", "No ScratchOrgInfo object found in the Dev Hub you specified. Check that the ID and the Dev Hub are correct."], ["ScratchOrgDeletedError", "That scratch org has been deleted, so you can't connect to it anymore."], ["INVALID_ID_FIELD", "Provide a valid template ID, in the format 0TTxxxxxxxxxxxx."], ["T-0002", "We couldn\u2019t find a template or snapshot with the ID or name specified in the scratch org definition. If you\u2019re sure the ID is correct, contact Salesforce Support."], ["T-0003", "The template specified in the scratch org definition is unapproved. Contact Salesforce Support to request template approval."], ["T-0004", "The Trialforce Source Organization (TSO) for the template doesn\u2019t exist or has expired."], ["S-1006", "Provide a valid email address in your scratch org definition or your %s file."], ["S-2006", "Provide a valid country code in your scratch org definition or your %s file."], ["S-1017", "Specify a namespace that\u2019s used by a release org associated with your Dev Hub org."], ["S-1018", "Provide a valid My Domain value. This value can\u2019t include double hyphens, end in a hyphen, include restricted words, or be more than 40 characters long."], ["S-1019", "The My Domain value you chose is already in use."], ["S-1026", "Provide a valid namespace value. This value must begin with a letter. It can\u2019t include consecutive underscores, end in an underscore, be more than 15 characters long, or be a restricted or reserved namespace. Only alphanumeric characters and underscores are allowed."], ["S-9999", "A fatal signup error occurred. Please try again. If you still see this error, contact Salesforce Support for assistance."], ["SH-0001", "Can\u2019t create scratch org. Contact the source org admin to add your Dev Hub org ID to Setup > Org Shape. Then try again."], ["SH-0002", "Can\u2019t create scratch org. No org shape exists for the specified sourceOrg. Create an org shape and try again."], ["SH-0003", "Can\u2019t create scratch org from org shape. The org shape version is outdated. Recreate the org shape and try again."], ["C-1007", "The username provided to the org:create command is already in use. Run 'force:org:list --clean' to remove stale org authentications or create the org with a different username."], ["C-1015", "We encountered a problem while registering your My Domain value with the DNS provider. Please try again."], ["C-1016", "We encountered a problem while attempting to configure and approve the Connected App for your org. Verify the Connected App configuration with your Salesforce admin."], ["C-1017", "Provide a valid namespace prefix. This value must begin with a letter. It can\u2019t include consecutive underscores, end in an underscore, be more than 15 characters long, or be a restricted or reserved namespace. Only alphanumeric characters and underscores are allowed."], ["C-1020", "We couldn't find a template with the ID specified in the scratch org definition. If you\u2019re sure the ID is correct, contact Salesforce Support."], ["C-1027", "The template specified in the Scratch Definition isn\u2019t supported. Specify a generic edition (such as Developer or Enterprise), or specify a template ID."], ["C-9999", "A fatal signup error occurred. Please try again. If you still see this error, contact Salesforce Support for assistance"]]));
|
|
17
|
+
const namedMessages = new messages_1.Messages('@salesforce/core', 'scratchOrgErrorCodes', new Map([["SignupFailedError", "The request to create a scratch org failed with error code: %s."], ["SignupFailedUnknownError", "An unknown server error occurred. Please try again. If you still see this error, contact Salesforce support for assistance. Include the information from 'sfdx force:data:record:get -s ScratchOrgInfo -i %s -u %s'."], ["SignupFailedActionError", "See https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_scratch_orgs_error_codes.htm for information on error code %s."], ["SignupUnexpectedError", "The request to create a scratch org returned an unexpected status"], ["StillInProgressError", "The scratch org is not ready yet (Status = %s)."], ["action.StillInProgress", "Wait for a few minutes, and then try the command again"], ["NoScratchOrgInfoError", "No ScratchOrgInfo object found in the Dev Hub you specified. Check that the ID and the Dev Hub are correct."], ["ScratchOrgDeletedError", "That scratch org has been deleted, so you can't connect to it anymore."], ["INVALID_ID_FIELD", "Provide a valid template ID, in the format 0TTxxxxxxxxxxxx."], ["T-0002", "We couldn\u2019t find a template or snapshot with the ID or name specified in the scratch org definition. If you\u2019re sure the ID is correct, contact Salesforce Support."], ["T-0003", "The template specified in the scratch org definition is unapproved. Contact Salesforce Support to request template approval."], ["T-0004", "The Trialforce Source Organization (TSO) for the template doesn\u2019t exist or has expired."], ["S-1006", "Provide a valid email address in your scratch org definition or your %s file."], ["S-2006", "Provide a valid country code in your scratch org definition or your %s file."], ["S-1017", "Specify a namespace that\u2019s used by a release org associated with your Dev Hub org."], ["S-1018", "Provide a valid My Domain value. This value can\u2019t include double hyphens, end in a hyphen, include restricted words, or be more than 40 characters long."], ["S-1019", "The My Domain value you chose is already in use."], ["S-1026", "Provide a valid namespace value. This value must begin with a letter. It can\u2019t include consecutive underscores, end in an underscore, be more than 15 characters long, or be a restricted or reserved namespace. Only alphanumeric characters and underscores are allowed."], ["S-9999", "A fatal signup error occurred. Please try again. If you still see this error, contact Salesforce Support for assistance."], ["SH-0001", "Can\u2019t create scratch org. Contact the source org admin to add your Dev Hub org ID to Setup > Org Shape. Then try again."], ["SH-0002", "Can\u2019t create scratch org. No org shape exists for the specified sourceOrg. Create an org shape and try again."], ["SH-0003", "Can\u2019t create scratch org from org shape. The org shape version is outdated. Recreate the org shape and try again."], ["C-1007", "The username provided to the org:create command is already in use. Run 'force:org:list --clean' to remove stale org authentications or create the org with a different username."], ["C-1015", "We encountered a problem while registering your My Domain value with the DNS provider. Please try again."], ["C-1016", "We encountered a problem while attempting to configure and approve the Connected App for your org. Verify the Connected App configuration with your Salesforce admin."], ["C-1017", "Provide a valid namespace prefix. This value must begin with a letter. It can\u2019t include consecutive underscores, end in an underscore, be more than 15 characters long, or be a restricted or reserved namespace. Only alphanumeric characters and underscores are allowed."], ["C-1020", "We couldn't find a template with the ID specified in the scratch org definition. If you\u2019re sure the ID is correct, contact Salesforce Support."], ["C-1027", "The template specified in the Scratch Definition isn\u2019t supported. Specify a generic edition (such as Developer or Enterprise), or specify a template ID."], ["C-9999", "A fatal signup error occurred. Please try again. If you still see this error, contact Salesforce Support for assistance"]]));
|
|
18
18
|
// getMessage will throw when the code isn't found
|
|
19
19
|
// and we don't know whether a given code takes arguments or not
|
|
20
20
|
const optionalErrorCodeMessage = (errorCode, args) => {
|
|
@@ -22,7 +22,7 @@ const org_1 = require("./org");
|
|
|
22
22
|
const scratchOrgErrorCodes_1 = require("./scratchOrgErrorCodes");
|
|
23
23
|
const scratchOrgLifecycleEvents_1 = require("./scratchOrgLifecycleEvents");
|
|
24
24
|
const messages = new messages_1.Messages('@salesforce/core', 'scratchOrgInfoApi', new Map([["SignupFieldsMissingError", "Required fields are missing for org creation: [%s]"], ["SignupDuplicateSettingsSpecifiedError", "You cannot use 'settings' and `'orgPreferences' in your scratch definition file, please specify one or the other."], ["DeprecatedPrefFormat", "We've deprecated OrgPreferences. Update the scratch org definition file to replace OrgPreferences with their corresponding settings."], ["SourceStatusResetFailureError", "Successfully created org with ID: %s and name: %s. Unfortunately, source tracking isn\u2019t working as expected. If you run force:source:status, the results may be incorrect. Try again by creating another scratch org."], ["hubOrgIsNotDevHub", "Make sure that the org with username %s and ID %s is enabled as a Dev Hub. To enable it, open the org in your browser, navigate to the Dev Hub page in Setup, and click Enable.\nIf you still see this error after enabling the Dev Hub feature, then re-authenticate to the org."]]));
|
|
25
|
-
const errorCodes = new messages_1.Messages('@salesforce/core', 'scratchOrgErrorCodes', new Map([["SignupFailedError", "The request to create a scratch org failed with error code: %s."], ["SignupFailedUnknownError", "An unknown server error occurred. Please try again. If you still see this error, contact Salesforce support for assistance. Include the information from 'sfdx force:data:record:get -s ScratchOrgInfo -i %s -u %s'."], ["SignupFailedActionError", "See https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_scratch_orgs_error_codes.htm for information on error code %s."], ["SignupUnexpectedError", "The request to create a scratch org returned an unexpected status"], ["StillInProgressError", "The scratch org is not ready yet (Status = %s)."], ["action.StillInProgress", "Wait for a few minutes, and then try the
|
|
25
|
+
const errorCodes = new messages_1.Messages('@salesforce/core', 'scratchOrgErrorCodes', new Map([["SignupFailedError", "The request to create a scratch org failed with error code: %s."], ["SignupFailedUnknownError", "An unknown server error occurred. Please try again. If you still see this error, contact Salesforce support for assistance. Include the information from 'sfdx force:data:record:get -s ScratchOrgInfo -i %s -u %s'."], ["SignupFailedActionError", "See https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_scratch_orgs_error_codes.htm for information on error code %s."], ["SignupUnexpectedError", "The request to create a scratch org returned an unexpected status"], ["StillInProgressError", "The scratch org is not ready yet (Status = %s)."], ["action.StillInProgress", "Wait for a few minutes, and then try the command again"], ["NoScratchOrgInfoError", "No ScratchOrgInfo object found in the Dev Hub you specified. Check that the ID and the Dev Hub are correct."], ["ScratchOrgDeletedError", "That scratch org has been deleted, so you can't connect to it anymore."], ["INVALID_ID_FIELD", "Provide a valid template ID, in the format 0TTxxxxxxxxxxxx."], ["T-0002", "We couldn\u2019t find a template or snapshot with the ID or name specified in the scratch org definition. If you\u2019re sure the ID is correct, contact Salesforce Support."], ["T-0003", "The template specified in the scratch org definition is unapproved. Contact Salesforce Support to request template approval."], ["T-0004", "The Trialforce Source Organization (TSO) for the template doesn\u2019t exist or has expired."], ["S-1006", "Provide a valid email address in your scratch org definition or your %s file."], ["S-2006", "Provide a valid country code in your scratch org definition or your %s file."], ["S-1017", "Specify a namespace that\u2019s used by a release org associated with your Dev Hub org."], ["S-1018", "Provide a valid My Domain value. This value can\u2019t include double hyphens, end in a hyphen, include restricted words, or be more than 40 characters long."], ["S-1019", "The My Domain value you chose is already in use."], ["S-1026", "Provide a valid namespace value. This value must begin with a letter. It can\u2019t include consecutive underscores, end in an underscore, be more than 15 characters long, or be a restricted or reserved namespace. Only alphanumeric characters and underscores are allowed."], ["S-9999", "A fatal signup error occurred. Please try again. If you still see this error, contact Salesforce Support for assistance."], ["SH-0001", "Can\u2019t create scratch org. Contact the source org admin to add your Dev Hub org ID to Setup > Org Shape. Then try again."], ["SH-0002", "Can\u2019t create scratch org. No org shape exists for the specified sourceOrg. Create an org shape and try again."], ["SH-0003", "Can\u2019t create scratch org from org shape. The org shape version is outdated. Recreate the org shape and try again."], ["C-1007", "The username provided to the org:create command is already in use. Run 'force:org:list --clean' to remove stale org authentications or create the org with a different username."], ["C-1015", "We encountered a problem while registering your My Domain value with the DNS provider. Please try again."], ["C-1016", "We encountered a problem while attempting to configure and approve the Connected App for your org. Verify the Connected App configuration with your Salesforce admin."], ["C-1017", "Provide a valid namespace prefix. This value must begin with a letter. It can\u2019t include consecutive underscores, end in an underscore, be more than 15 characters long, or be a restricted or reserved namespace. Only alphanumeric characters and underscores are allowed."], ["C-1020", "We couldn't find a template with the ID specified in the scratch org definition. If you\u2019re sure the ID is correct, contact Salesforce Support."], ["C-1027", "The template specified in the Scratch Definition isn\u2019t supported. Specify a generic edition (such as Developer or Enterprise), or specify a template ID."], ["C-9999", "A fatal signup error occurred. Please try again. If you still see this error, contact Salesforce Support for assistance"]]));
|
|
26
26
|
/**
|
|
27
27
|
* Returns the url to be used to authorize into the new scratch org
|
|
28
28
|
*
|
package/messages/envVars.md
CHANGED
|
@@ -301,3 +301,13 @@ Boolean indicating that the installer is running
|
|
|
301
301
|
# sfEnv
|
|
302
302
|
|
|
303
303
|
Describes if sf is in "demo" mode
|
|
304
|
+
|
|
305
|
+
# deprecatedEnv
|
|
306
|
+
|
|
307
|
+
Deprecated environment variable: %s. Please use %s instead.
|
|
308
|
+
|
|
309
|
+
# deprecatedEnvDisagreement
|
|
310
|
+
|
|
311
|
+
Deprecated environment variable: %s. Please use %s instead.
|
|
312
|
+
|
|
313
|
+
Your environment has both variables populated, and with different values. The value from %s will be used.
|
|
@@ -20,7 +20,7 @@ The scratch org is not ready yet (Status = %s).
|
|
|
20
20
|
|
|
21
21
|
# action.StillInProgress
|
|
22
22
|
|
|
23
|
-
Wait for a few minutes, and then try the
|
|
23
|
+
Wait for a few minutes, and then try the command again
|
|
24
24
|
|
|
25
25
|
# NoScratchOrgInfoError
|
|
26
26
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/core",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.35.0-qa.1",
|
|
4
4
|
"description": "Core libraries to interact with SFDX projects, orgs, and APIs.",
|
|
5
5
|
"main": "lib/exported",
|
|
6
6
|
"types": "lib/exported.d.ts",
|
|
@@ -19,7 +19,6 @@
|
|
|
19
19
|
"prepack": "sf-prepack",
|
|
20
20
|
"prepare": "sf-install",
|
|
21
21
|
"test": "wireit",
|
|
22
|
-
"test:compile": "wireit",
|
|
23
22
|
"test:only": "wireit"
|
|
24
23
|
},
|
|
25
24
|
"keywords": [
|
|
@@ -40,7 +39,6 @@
|
|
|
40
39
|
"@salesforce/kit": "^1.9.2",
|
|
41
40
|
"@salesforce/schemas": "^1.5.1",
|
|
42
41
|
"@salesforce/ts-types": "^1.7.2",
|
|
43
|
-
"@types/graceful-fs": "^4.1.6",
|
|
44
42
|
"@types/semver": "^7.3.13",
|
|
45
43
|
"ajv": "^8.12.0",
|
|
46
44
|
"archiver": "^5.3.0",
|
|
@@ -48,32 +46,29 @@
|
|
|
48
46
|
"debug": "^3.2.7",
|
|
49
47
|
"faye": "^1.4.0",
|
|
50
48
|
"form-data": "^4.0.0",
|
|
51
|
-
"graceful-fs": "^4.2.11",
|
|
52
49
|
"js2xmlparser": "^4.0.1",
|
|
53
|
-
"jsforce": "^2.0.0-beta.
|
|
50
|
+
"jsforce": "^2.0.0-beta.21",
|
|
54
51
|
"jsonwebtoken": "9.0.0",
|
|
55
52
|
"ts-retry-promise": "^0.7.0"
|
|
56
53
|
},
|
|
57
54
|
"devDependencies": {
|
|
58
|
-
"@salesforce/dev-config": "^3.0
|
|
59
|
-
"@salesforce/dev-scripts": "^4.
|
|
55
|
+
"@salesforce/dev-config": "^3.1.0",
|
|
56
|
+
"@salesforce/dev-scripts": "^4.3.0",
|
|
60
57
|
"@salesforce/prettier-config": "^0.0.2",
|
|
61
58
|
"@salesforce/ts-sinon": "^1.4.6",
|
|
62
59
|
"@types/archiver": "^5.3.2",
|
|
63
60
|
"@types/chai-string": "^1.4.2",
|
|
64
61
|
"@types/debug": "0.0.31",
|
|
65
|
-
"@types/jsen": "0.0.21",
|
|
66
62
|
"@types/jsonwebtoken": "9.0.1",
|
|
67
|
-
"@types/lodash": "^4.14.
|
|
68
|
-
"@types/shelljs": "0.8.
|
|
69
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
70
|
-
"@typescript-eslint/parser": "^5.
|
|
63
|
+
"@types/lodash": "^4.14.194",
|
|
64
|
+
"@types/shelljs": "0.8.12",
|
|
65
|
+
"@typescript-eslint/eslint-plugin": "^5.58.0",
|
|
66
|
+
"@typescript-eslint/parser": "^5.57.1",
|
|
71
67
|
"chai": "^4.3.7",
|
|
72
68
|
"chai-string": "^1.5.0",
|
|
73
|
-
"
|
|
74
|
-
"eslint": "^8.
|
|
75
|
-
"eslint-config-
|
|
76
|
-
"eslint-config-salesforce": "^1.1.1",
|
|
69
|
+
"eslint": "^8.38.0",
|
|
70
|
+
"eslint-config-prettier": "^8.8.0",
|
|
71
|
+
"eslint-config-salesforce": "^1.2.0",
|
|
77
72
|
"eslint-config-salesforce-license": "^0.2.0",
|
|
78
73
|
"eslint-config-salesforce-typescript": "^1.1.1",
|
|
79
74
|
"eslint-plugin-header": "^3.1.1",
|
|
@@ -83,7 +78,7 @@
|
|
|
83
78
|
"lodash": "^4.17.21",
|
|
84
79
|
"mocha": "^9.1.3",
|
|
85
80
|
"nyc": "^15.1.0",
|
|
86
|
-
"prettier": "^2.8.
|
|
81
|
+
"prettier": "^2.8.7",
|
|
87
82
|
"pretty-quick": "^3.1.3",
|
|
88
83
|
"shelljs": "0.8.5",
|
|
89
84
|
"sinon": "^14.0.2",
|
|
@@ -121,15 +116,24 @@
|
|
|
121
116
|
"clean": "if-file-deleted"
|
|
122
117
|
},
|
|
123
118
|
"format": {
|
|
124
|
-
"command": "prettier --write \"+(src|test|schemas)/**/*.+(ts|js|json)|command-snapshot.json\""
|
|
119
|
+
"command": "prettier --write \"+(src|test|schemas)/**/*.+(ts|js|json)|command-snapshot.json\"",
|
|
120
|
+
"files": [
|
|
121
|
+
"src/**/*.ts",
|
|
122
|
+
"test/**/*.ts",
|
|
123
|
+
"schemas/**/*.json",
|
|
124
|
+
"command-snapshot.json",
|
|
125
|
+
".prettier*"
|
|
126
|
+
],
|
|
127
|
+
"output": []
|
|
125
128
|
},
|
|
126
129
|
"lint": {
|
|
127
|
-
"command": "eslint --color --cache --cache-location .eslintcache",
|
|
130
|
+
"command": "eslint src test --color --cache --cache-location .eslintcache",
|
|
128
131
|
"files": [
|
|
129
132
|
"src/**/*.ts",
|
|
130
133
|
"test/**/*.ts",
|
|
131
|
-
"
|
|
132
|
-
"
|
|
134
|
+
"messages/**",
|
|
135
|
+
"**/.eslint*",
|
|
136
|
+
"**/tsconfig.json"
|
|
133
137
|
],
|
|
134
138
|
"output": []
|
|
135
139
|
},
|
|
@@ -137,18 +141,22 @@
|
|
|
137
141
|
"command": "tsc -p \"./test\" --pretty",
|
|
138
142
|
"files": [
|
|
139
143
|
"test/**/*.ts",
|
|
140
|
-
"tsconfig.json"
|
|
141
|
-
"test/tsconfig.json"
|
|
144
|
+
"**/tsconfig.json"
|
|
142
145
|
],
|
|
143
146
|
"output": []
|
|
144
147
|
},
|
|
145
148
|
"test:only": {
|
|
146
149
|
"command": "nyc mocha \"test/**/*Test.ts\"",
|
|
150
|
+
"env": {
|
|
151
|
+
"FORCE_COLOR": "2"
|
|
152
|
+
},
|
|
147
153
|
"files": [
|
|
148
154
|
"test/**/*.ts",
|
|
149
155
|
"src/**/*.ts",
|
|
150
|
-
"tsconfig.json",
|
|
151
|
-
"
|
|
156
|
+
"**/tsconfig.json",
|
|
157
|
+
".mocha*",
|
|
158
|
+
"!*.nut.ts",
|
|
159
|
+
".nycrc"
|
|
152
160
|
],
|
|
153
161
|
"output": []
|
|
154
162
|
},
|