@salesforce/core 8.18.0 → 8.18.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 +1 -1
- package/lib/config/configAggregator.d.ts +7 -3
- package/lib/config/configAggregator.js +40 -29
- package/lib/org/orgConfigProperties.js +1 -1
- package/lib/sfProject.js +1 -1
- package/lib/testSetup.js +1 -1
- package/lib/util/internal.js +3 -3
- package/messages/config.md +1 -1
- package/package.json +1 -1
package/lib/config/config.js
CHANGED
|
@@ -44,7 +44,7 @@ const lifecycleEvents_1 = require("../lifecycleEvents");
|
|
|
44
44
|
const configFile_1 = require("./configFile");
|
|
45
45
|
const lwwMap_1 = require("./lwwMap");
|
|
46
46
|
;
|
|
47
|
-
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", "
|
|
47
|
+
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", "%s 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."], ["org-capitalize-record-types", "Whether record types are capitalized on scratch org creation."], ["invalidId", "The given id %s is not a valid 15 or 18 character Salesforce ID."]]));
|
|
48
48
|
const SFDX_CONFIG_FILE_NAME = 'sfdx-config.json';
|
|
49
49
|
const CONFIG_FILE_NAME = 'config.json';
|
|
50
50
|
var SfConfigProperties;
|
|
@@ -55,7 +55,7 @@ export type ConfigInfo = {
|
|
|
55
55
|
*/
|
|
56
56
|
export declare class ConfigAggregator extends AsyncOptionalCreatable<ConfigAggregator.Options> {
|
|
57
57
|
protected static encrypted: boolean;
|
|
58
|
-
protected static
|
|
58
|
+
protected static instances: Map<string, ConfigAggregator>;
|
|
59
59
|
private static readonly mutex;
|
|
60
60
|
private allowedProperties;
|
|
61
61
|
private readonly localConfig?;
|
|
@@ -68,20 +68,22 @@ export declare class ConfigAggregator extends AsyncOptionalCreatable<ConfigAggre
|
|
|
68
68
|
*/
|
|
69
69
|
constructor(options?: ConfigAggregator.Options);
|
|
70
70
|
private get config();
|
|
71
|
+
static create<T extends ConfigAggregator>(this: new (options?: ConfigAggregator.Options) => T, options?: ConfigAggregator.Options): Promise<T>;
|
|
71
72
|
static create<P extends ConfigAggregator.Options, T extends AsyncOptionalCreatable<P>>(this: new (options?: P) => T, options?: P): Promise<T>;
|
|
72
73
|
/**
|
|
73
74
|
* Clear the cache to force reading from disk.
|
|
75
|
+
* If no projectPath is provided, all instances will be cleared.
|
|
74
76
|
*
|
|
75
77
|
* *NOTE: Only call this method if you must and you know what you are doing.*
|
|
76
78
|
*/
|
|
77
|
-
static clearInstance(): Promise<void>;
|
|
79
|
+
static clearInstance(projectPath?: string): Promise<void>;
|
|
78
80
|
/**
|
|
79
81
|
* Get the info for a given key. If the ConfigAggregator was not asynchronously created OR
|
|
80
82
|
* the {@link ConfigAggregator.reload} was not called, the config value may be encrypted.
|
|
81
83
|
*
|
|
82
84
|
* @param key The config key.
|
|
83
85
|
*/
|
|
84
|
-
static getValue(key: string): ConfigInfo;
|
|
86
|
+
static getValue(key: string, projectPath?: string): ConfigInfo;
|
|
85
87
|
/**
|
|
86
88
|
* Get the static ConfigAggregator instance. If one doesn't exist, one will be created with
|
|
87
89
|
* the **encrypted** config values. Encrypted config values need to be resolved
|
|
@@ -221,5 +223,7 @@ export declare namespace ConfigAggregator {
|
|
|
221
223
|
}
|
|
222
224
|
type Options = {
|
|
223
225
|
customConfigMeta?: ConfigPropertyMeta[];
|
|
226
|
+
/** an absolute path to the project root */
|
|
227
|
+
projectPath?: string;
|
|
224
228
|
};
|
|
225
229
|
}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.ConfigAggregator = void 0;
|
|
10
|
+
const node_path_1 = require("node:path");
|
|
10
11
|
const kit_1 = require("@salesforce/kit");
|
|
11
12
|
const ts_types_1 = require("@salesforce/ts-types");
|
|
12
13
|
const messages_1 = require("../messages");
|
|
@@ -15,7 +16,7 @@ const mutex_1 = require("../util/mutex");
|
|
|
15
16
|
const envVars_1 = require("./envVars");
|
|
16
17
|
const config_1 = require("./config");
|
|
17
18
|
;
|
|
18
|
-
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", "
|
|
19
|
+
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", "%s 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."], ["org-capitalize-record-types", "Whether record types are capitalized on scratch org creation."], ["invalidId", "The given id %s is not a valid 15 or 18 character Salesforce ID."]]));
|
|
19
20
|
/**
|
|
20
21
|
* Aggregate global and local project config files, as well as environment variables for
|
|
21
22
|
* `config.json`. The resolution happens in the following bottom-up order:
|
|
@@ -33,7 +34,7 @@ const messages = new messages_1.Messages('@salesforce/core', 'config', new Map([
|
|
|
33
34
|
*/
|
|
34
35
|
class ConfigAggregator extends kit_1.AsyncOptionalCreatable {
|
|
35
36
|
static encrypted = true;
|
|
36
|
-
static
|
|
37
|
+
static instances = new Map();
|
|
37
38
|
static mutex = new mutex_1.Mutex();
|
|
38
39
|
// Initialized in loadProperties
|
|
39
40
|
allowedProperties;
|
|
@@ -50,7 +51,10 @@ class ConfigAggregator extends kit_1.AsyncOptionalCreatable {
|
|
|
50
51
|
// Don't throw an project error with the aggregator, since it should resolve to global if
|
|
51
52
|
// there is no project.
|
|
52
53
|
try {
|
|
53
|
-
this.localConfig = new config_1.Config(
|
|
54
|
+
this.localConfig = new config_1.Config({
|
|
55
|
+
...config_1.Config.getDefaultOptions(false),
|
|
56
|
+
...(options?.projectPath ? { rootFolder: options.projectPath } : {}),
|
|
57
|
+
});
|
|
54
58
|
}
|
|
55
59
|
catch (err) {
|
|
56
60
|
if (err.name !== 'InvalidProjectWorkspaceError') {
|
|
@@ -63,15 +67,16 @@ class ConfigAggregator extends kit_1.AsyncOptionalCreatable {
|
|
|
63
67
|
get config() {
|
|
64
68
|
return this.resolveProperties(this.globalConfig.getContents(), this.localConfig?.getContents());
|
|
65
69
|
}
|
|
66
|
-
// Use typing from AsyncOptionalCreatable to support extending ConfigAggregator.
|
|
67
|
-
// We really don't want ConfigAggregator extended but typescript doesn't support a final.
|
|
68
70
|
static async create(options) {
|
|
69
71
|
return ConfigAggregator.mutex.lock(async () => {
|
|
70
|
-
|
|
71
|
-
if (!
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
const projectPath = options?.projectPath ? (0, node_path_1.resolve)(options.projectPath) : process.cwd();
|
|
73
|
+
if (!ConfigAggregator.instances.has(projectPath)) {
|
|
74
|
+
const agg = new this(options);
|
|
75
|
+
ConfigAggregator.instances.set(projectPath, agg);
|
|
76
|
+
await agg.init();
|
|
74
77
|
}
|
|
78
|
+
// we just either created the instance or got it from the cache
|
|
79
|
+
const config = ConfigAggregator.instances.get(projectPath);
|
|
75
80
|
if (ConfigAggregator.encrypted) {
|
|
76
81
|
await config.loadProperties();
|
|
77
82
|
}
|
|
@@ -79,17 +84,24 @@ class ConfigAggregator extends kit_1.AsyncOptionalCreatable {
|
|
|
79
84
|
config_1.Config.addAllowedProperties(options.customConfigMeta);
|
|
80
85
|
}
|
|
81
86
|
// console.log(ConfigAggregator.instance);
|
|
82
|
-
return
|
|
87
|
+
return config;
|
|
83
88
|
});
|
|
84
89
|
}
|
|
85
90
|
/**
|
|
86
91
|
* Clear the cache to force reading from disk.
|
|
92
|
+
* If no projectPath is provided, all instances will be cleared.
|
|
87
93
|
*
|
|
88
94
|
* *NOTE: Only call this method if you must and you know what you are doing.*
|
|
89
95
|
*/
|
|
90
|
-
static async clearInstance() {
|
|
96
|
+
static async clearInstance(projectPath) {
|
|
91
97
|
return ConfigAggregator.mutex.lock(() => {
|
|
92
|
-
|
|
98
|
+
if (projectPath) {
|
|
99
|
+
const normalizedPath = (0, node_path_1.resolve)(projectPath);
|
|
100
|
+
ConfigAggregator.instances.delete(normalizedPath);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
ConfigAggregator.instances.clear();
|
|
104
|
+
}
|
|
93
105
|
ConfigAggregator.encrypted = true; // Reset encryption flag as well
|
|
94
106
|
});
|
|
95
107
|
}
|
|
@@ -99,22 +111,22 @@ class ConfigAggregator extends kit_1.AsyncOptionalCreatable {
|
|
|
99
111
|
*
|
|
100
112
|
* @param key The config key.
|
|
101
113
|
*/
|
|
102
|
-
static getValue(key) {
|
|
103
|
-
return this.getInstance().getInfo(key);
|
|
114
|
+
static getValue(key, projectPath) {
|
|
115
|
+
return this.getInstance(projectPath ?? process.cwd()).getInfo(key);
|
|
104
116
|
}
|
|
105
117
|
/**
|
|
106
118
|
* Get the static ConfigAggregator instance. If one doesn't exist, one will be created with
|
|
107
119
|
* the **encrypted** config values. Encrypted config values need to be resolved
|
|
108
120
|
* asynchronously by calling {@link ConfigAggregator.reload}
|
|
109
121
|
*/
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
ConfigAggregator.instance
|
|
115
|
-
|
|
122
|
+
static getInstance(projectPath = process.cwd()) {
|
|
123
|
+
const normalizedPath = (0, node_path_1.resolve)(projectPath);
|
|
124
|
+
if (!ConfigAggregator.instances.has(normalizedPath)) {
|
|
125
|
+
const instance = new ConfigAggregator({ projectPath: normalizedPath });
|
|
126
|
+
ConfigAggregator.instances.set(normalizedPath, instance);
|
|
127
|
+
instance.loadPropertiesSync();
|
|
116
128
|
}
|
|
117
|
-
return ConfigAggregator.
|
|
129
|
+
return ConfigAggregator.instances.get(normalizedPath);
|
|
118
130
|
}
|
|
119
131
|
/**
|
|
120
132
|
* Initialize this instances async dependencies.
|
|
@@ -358,14 +370,13 @@ class ConfigAggregator extends kit_1.AsyncOptionalCreatable {
|
|
|
358
370
|
}
|
|
359
371
|
// Global config must be read first so it is on the left hand of the
|
|
360
372
|
// object assign and is overwritten by the local config.
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
return configs.filter(ts_types_1.isJsonMap).reduce((acc, el) => (0, kit_1.merge)(acc, el), json);
|
|
373
|
+
return [
|
|
374
|
+
globalConfig,
|
|
375
|
+
...(localConfig ? [localConfig] : []), // We might not be in a project workspace
|
|
376
|
+
this.envVars,
|
|
377
|
+
]
|
|
378
|
+
.filter(ts_types_1.isJsonMap)
|
|
379
|
+
.reduce((acc, el) => (0, kit_1.merge)(acc, el), {});
|
|
369
380
|
}
|
|
370
381
|
}
|
|
371
382
|
exports.ConfigAggregator = ConfigAggregator;
|
|
@@ -13,7 +13,7 @@ const messages_1 = require("../messages");
|
|
|
13
13
|
const sfdcUrl_1 = require("../util/sfdcUrl");
|
|
14
14
|
const sfdc_1 = require("../util/sfdc");
|
|
15
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", "
|
|
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", "%s 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."], ["org-capitalize-record-types", "Whether record types are capitalized on scratch org creation."], ["invalidId", "The given id %s is not a valid 15 or 18 character Salesforce ID."]]));
|
|
17
17
|
var OrgConfigProperties;
|
|
18
18
|
(function (OrgConfigProperties) {
|
|
19
19
|
/**
|
package/lib/sfProject.js
CHANGED
|
@@ -43,7 +43,7 @@ const sfError_1 = require("./sfError");
|
|
|
43
43
|
const messages_1 = require("./messages");
|
|
44
44
|
const findUppercaseKeys_1 = require("./util/findUppercaseKeys");
|
|
45
45
|
;
|
|
46
|
-
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", "
|
|
46
|
+
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", "%s 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."], ["org-capitalize-record-types", "Whether record types are capitalized on scratch org creation."], ["invalidId", "The given id %s is not a valid 15 or 18 character Salesforce ID."]]));
|
|
47
47
|
/**
|
|
48
48
|
* The sfdx-project.json config object. This file determines if a folder is a valid sfdx project.
|
|
49
49
|
*
|
package/lib/testSetup.js
CHANGED
|
@@ -537,7 +537,7 @@ const restoreContext = (testContext) => {
|
|
|
537
537
|
sfProject_1.SfProject.clearInstances();
|
|
538
538
|
// Allow each test to have their own config aggregator
|
|
539
539
|
// @ts-ignore clear for testing.
|
|
540
|
-
|
|
540
|
+
configAggregator_1.ConfigAggregator.instances.clear();
|
|
541
541
|
};
|
|
542
542
|
exports.restoreContext = restoreContext;
|
|
543
543
|
/**
|
package/lib/util/internal.js
CHANGED
|
@@ -36,7 +36,7 @@ const fs = __importStar(require("node:fs"));
|
|
|
36
36
|
const node_path_1 = require("node:path");
|
|
37
37
|
const messages_1 = require("../messages");
|
|
38
38
|
;
|
|
39
|
-
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", "
|
|
39
|
+
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", "%s 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."], ["org-capitalize-record-types", "Whether record types are capitalized on scratch org creation."], ["invalidId", "The given id %s is not a valid 15 or 18 character Salesforce ID."]]));
|
|
40
40
|
/**
|
|
41
41
|
* The name of the project config file.
|
|
42
42
|
*
|
|
@@ -59,7 +59,7 @@ exports.SFDX_PROJECT_JSON = 'sfdx-project.json';
|
|
|
59
59
|
async function resolveProjectPath(dir = process.cwd()) {
|
|
60
60
|
const projectPath = await exports.traverse.forFile(dir, exports.SFDX_PROJECT_JSON);
|
|
61
61
|
if (!projectPath) {
|
|
62
|
-
throw messages.createError('invalidProjectWorkspace');
|
|
62
|
+
throw messages.createError('invalidProjectWorkspace', [dir]);
|
|
63
63
|
}
|
|
64
64
|
return projectPath;
|
|
65
65
|
}
|
|
@@ -78,7 +78,7 @@ async function resolveProjectPath(dir = process.cwd()) {
|
|
|
78
78
|
function resolveProjectPathSync(dir = process.cwd()) {
|
|
79
79
|
const projectPath = exports.traverse.forFileSync(dir, exports.SFDX_PROJECT_JSON);
|
|
80
80
|
if (!projectPath) {
|
|
81
|
-
throw messages.createError('invalidProjectWorkspace');
|
|
81
|
+
throw messages.createError('invalidProjectWorkspace', [dir]);
|
|
82
82
|
}
|
|
83
83
|
return projectPath;
|
|
84
84
|
}
|
package/messages/config.md
CHANGED