@salesforce/core 3.7.3 → 3.7.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +223 -0
- package/LICENSE.txt +1 -1
- package/lib/config/config.js +15 -15
- package/lib/config/configAggregator.js +4 -4
- package/lib/config/configFile.js +9 -9
- package/lib/config/configStore.js +14 -13
- package/lib/config/envVars.d.ts +20 -5
- package/lib/config/envVars.js +75 -10
- package/lib/config/keychainConfig.js +1 -1
- package/lib/crypto/crypto.js +6 -6
- package/lib/crypto/keyChainImpl.js +6 -6
- package/lib/crypto/secureBuffer.js +1 -1
- package/lib/deviceOauthService.js +5 -4
- package/lib/exported.d.ts +4 -2
- package/lib/exported.js +5 -1
- package/lib/globalInfo/globalInfoConfig.js +1 -1
- package/lib/globalInfo/sfdxDataHandler.js +11 -11
- package/lib/lifecycleEvents.js +2 -2
- package/lib/logger.js +12 -13
- package/lib/messages.js +10 -9
- package/lib/org/authInfo.js +45 -43
- package/lib/org/connection.d.ts +6 -1
- package/lib/org/connection.js +22 -8
- package/lib/org/org.d.ts +12 -2
- package/lib/org/org.js +62 -56
- package/lib/org/orgConfigProperties.js +1 -1
- package/lib/org/permissionSetAssignment.js +3 -3
- package/lib/org/scratchOrgCreate.d.ts +43 -0
- package/lib/org/scratchOrgCreate.js +142 -0
- package/lib/org/scratchOrgErrorCodes.d.ts +4 -0
- package/lib/org/scratchOrgErrorCodes.js +62 -0
- package/lib/org/scratchOrgFeatureDeprecation.d.ts +26 -0
- package/lib/org/scratchOrgFeatureDeprecation.js +110 -0
- package/lib/org/scratchOrgInfoApi.d.ts +94 -0
- package/lib/org/scratchOrgInfoApi.js +350 -0
- package/lib/org/scratchOrgInfoGenerator.d.ts +63 -0
- package/lib/org/scratchOrgInfoGenerator.js +223 -0
- package/lib/org/scratchOrgSettingsGenerator.d.ts +56 -0
- package/lib/org/scratchOrgSettingsGenerator.js +210 -0
- package/lib/org/user.js +24 -23
- package/lib/schema/printer.js +18 -18
- package/lib/schema/validator.js +8 -8
- package/lib/sfdxError.js +2 -2
- package/lib/sfdxProject.js +15 -13
- package/lib/status/myDomainResolver.js +3 -3
- package/lib/status/pollingClient.d.ts +2 -2
- package/lib/status/pollingClient.js +10 -4
- package/lib/status/streamingClient.d.ts +1 -1
- package/lib/status/streamingClient.js +6 -6
- package/lib/testSetup.js +21 -21
- package/lib/util/cache.js +3 -3
- package/lib/util/fs.js +12 -12
- package/lib/util/jsonXmlTools.d.ts +14 -0
- package/lib/util/jsonXmlTools.js +41 -0
- package/lib/util/mapKeys.d.ts +14 -0
- package/lib/util/mapKeys.js +48 -0
- package/lib/util/sfdc.js +3 -3
- package/lib/util/sfdcUrl.js +3 -3
- package/lib/util/zipWriter.d.ts +14 -0
- package/lib/util/zipWriter.js +68 -0
- package/lib/webOAuthServer.js +8 -8
- package/messages/envVars.md +53 -13
- package/messages/org.md +4 -0
- package/messages/scratchOrgCreate.md +27 -0
- package/messages/scratchOrgErrorCodes.md +99 -0
- package/messages/scratchOrgFeatureDeprecation.md +11 -0
- package/messages/scratchOrgInfoApi.md +11 -0
- package/messages/scratchOrgInfoGenerator.md +19 -0
- package/messages/user.md +4 -0
- package/package.json +33 -30
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { JsonMap } from '@salesforce/ts-types';
|
|
2
|
+
import { IOptions } from 'js2xmlparser/lib/options';
|
|
3
|
+
export interface JSONasXML {
|
|
4
|
+
json: JsonMap;
|
|
5
|
+
type: string;
|
|
6
|
+
options?: IOptions;
|
|
7
|
+
}
|
|
8
|
+
export interface WriteJSONasXMLInputs extends JSONasXML {
|
|
9
|
+
path: string;
|
|
10
|
+
}
|
|
11
|
+
export declare const standardOptions: IOptions;
|
|
12
|
+
export declare const writeJSONasXML: ({ path, json, type, options, }: WriteJSONasXMLInputs) => Promise<void>;
|
|
13
|
+
export declare const JsonAsXml: ({ json, type, options }: JSONasXML) => string;
|
|
14
|
+
export declare const fixExistingDollarSign: (existing: WriteJSONasXMLInputs['json']) => Record<string, unknown>;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2021, salesforce.com, inc.
|
|
4
|
+
* All rights reserved.
|
|
5
|
+
* Licensed under the BSD 3-Clause license.
|
|
6
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.fixExistingDollarSign = exports.JsonAsXml = exports.writeJSONasXML = exports.standardOptions = void 0;
|
|
10
|
+
const fs_1 = require("fs");
|
|
11
|
+
const jsToXml = require("js2xmlparser");
|
|
12
|
+
exports.standardOptions = {
|
|
13
|
+
declaration: {
|
|
14
|
+
include: true,
|
|
15
|
+
encoding: 'UTF-8',
|
|
16
|
+
version: '1.0',
|
|
17
|
+
},
|
|
18
|
+
format: {
|
|
19
|
+
doubleQuotes: true,
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
const writeJSONasXML = async ({ path, json, type, options = exports.standardOptions, }) => {
|
|
23
|
+
const xml = jsToXml.parse(type, (0, exports.fixExistingDollarSign)(json), options);
|
|
24
|
+
return await fs_1.promises.writeFile(path, xml);
|
|
25
|
+
};
|
|
26
|
+
exports.writeJSONasXML = writeJSONasXML;
|
|
27
|
+
const JsonAsXml = ({ json, type, options = exports.standardOptions }) => {
|
|
28
|
+
return jsToXml.parse(type, (0, exports.fixExistingDollarSign)(json), options);
|
|
29
|
+
};
|
|
30
|
+
exports.JsonAsXml = JsonAsXml;
|
|
31
|
+
const fixExistingDollarSign = (existing) => {
|
|
32
|
+
const existingCopy = { ...existing };
|
|
33
|
+
if (existingCopy.$) {
|
|
34
|
+
const temp = existingCopy.$;
|
|
35
|
+
delete existingCopy.$;
|
|
36
|
+
existingCopy['@'] = temp;
|
|
37
|
+
}
|
|
38
|
+
return existingCopy;
|
|
39
|
+
};
|
|
40
|
+
exports.fixExistingDollarSign = fixExistingDollarSign;
|
|
41
|
+
//# sourceMappingURL=jsonXmlTools.js.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Use mapKeys to convert object keys to another format using the specified conversion function.
|
|
3
|
+
*
|
|
4
|
+
* E.g., to deep convert all object keys to camelCase: mapKeys(myObj, _.camelCase, true)
|
|
5
|
+
* to shallow convert object keys to lower case: mapKeys(myObj, _.toLower)
|
|
6
|
+
*
|
|
7
|
+
* NOTE: This mutates the object passed in for conversion.
|
|
8
|
+
*
|
|
9
|
+
* @param target - {Object} The object to convert the keys
|
|
10
|
+
* @param converter - {Function} The function that converts the object key
|
|
11
|
+
* @param deep - {boolean} Whether to do a deep object key conversion
|
|
12
|
+
* @return {Object} - the object with the converted keys
|
|
13
|
+
*/
|
|
14
|
+
export default function mapKeys(obj: any, converter: (key: string) => string, deep?: boolean): Record<string, unknown>;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2021, salesforce.com, inc.
|
|
4
|
+
* All rights reserved.
|
|
5
|
+
* Licensed under the BSD 3-Clause license.
|
|
6
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
const ts_types_1 = require("@salesforce/ts-types");
|
|
10
|
+
/**
|
|
11
|
+
* Use mapKeys to convert object keys to another format using the specified conversion function.
|
|
12
|
+
*
|
|
13
|
+
* E.g., to deep convert all object keys to camelCase: mapKeys(myObj, _.camelCase, true)
|
|
14
|
+
* to shallow convert object keys to lower case: mapKeys(myObj, _.toLower)
|
|
15
|
+
*
|
|
16
|
+
* NOTE: This mutates the object passed in for conversion.
|
|
17
|
+
*
|
|
18
|
+
* @param target - {Object} The object to convert the keys
|
|
19
|
+
* @param converter - {Function} The function that converts the object key
|
|
20
|
+
* @param deep - {boolean} Whether to do a deep object key conversion
|
|
21
|
+
* @return {Object} - the object with the converted keys
|
|
22
|
+
*/
|
|
23
|
+
function mapKeys(
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
|
|
25
|
+
obj, converter, deep) {
|
|
26
|
+
const target = Object.assign({}, obj);
|
|
27
|
+
return Object.fromEntries(Object.entries(target).map(([key, value]) => {
|
|
28
|
+
const k = converter.call(null, key);
|
|
29
|
+
if (deep) {
|
|
30
|
+
let v = value;
|
|
31
|
+
if (Array.isArray(value)) {
|
|
32
|
+
v = value.map((v1) => {
|
|
33
|
+
if ((0, ts_types_1.isPlainObject)(v1)) {
|
|
34
|
+
return mapKeys(v1, converter, deep);
|
|
35
|
+
}
|
|
36
|
+
return v1;
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
else if ((0, ts_types_1.isPlainObject)(value)) {
|
|
40
|
+
v = mapKeys(value, converter, deep);
|
|
41
|
+
}
|
|
42
|
+
return [k, v];
|
|
43
|
+
}
|
|
44
|
+
return [k, value];
|
|
45
|
+
}));
|
|
46
|
+
}
|
|
47
|
+
exports.default = mapKeys;
|
|
48
|
+
//# sourceMappingURL=mapKeys.js.map
|
package/lib/util/sfdc.js
CHANGED
|
@@ -63,15 +63,15 @@ exports.sfdc = {
|
|
|
63
63
|
*/
|
|
64
64
|
findUpperCaseKeys: (data, sectionBlocklist = []) => {
|
|
65
65
|
let key;
|
|
66
|
-
kit_1.findKey(data, (val, k) => {
|
|
66
|
+
(0, kit_1.findKey)(data, (val, k) => {
|
|
67
67
|
if (k.substr(0, 1) === k.substr(0, 1).toUpperCase()) {
|
|
68
68
|
key = k;
|
|
69
69
|
}
|
|
70
|
-
else if (ts_types_1.isJsonMap(val)) {
|
|
70
|
+
else if ((0, ts_types_1.isJsonMap)(val)) {
|
|
71
71
|
if (sectionBlocklist.includes(k)) {
|
|
72
72
|
return key;
|
|
73
73
|
}
|
|
74
|
-
key = exports.sfdc.findUpperCaseKeys(ts_types_1.asJsonMap(val));
|
|
74
|
+
key = exports.sfdc.findUpperCaseKeys((0, ts_types_1.asJsonMap)(val));
|
|
75
75
|
}
|
|
76
76
|
return key;
|
|
77
77
|
});
|
package/lib/util/sfdcUrl.js
CHANGED
|
@@ -111,7 +111,7 @@ class SfdcUrl extends url_1.URL {
|
|
|
111
111
|
return this.origin.replace('.my.salesforce.mil', '.lightning.crmforce.mil');
|
|
112
112
|
}
|
|
113
113
|
// all non-mil domains
|
|
114
|
-
return `https://${ts_types_1.ensureArray(/https?:\/\/([^.]*)/.exec(this.origin))
|
|
114
|
+
return `https://${(0, ts_types_1.ensureArray)(/https?:\/\/([^.]*)/.exec(this.origin))
|
|
115
115
|
.slice(1, 2)
|
|
116
116
|
.pop()}.lightning.force.com`;
|
|
117
117
|
}
|
|
@@ -124,7 +124,7 @@ class SfdcUrl extends url_1.URL {
|
|
|
124
124
|
* @throws {@link SfdxError} If can't resolve DNS.
|
|
125
125
|
*/
|
|
126
126
|
async checkLightningDomain() {
|
|
127
|
-
const quantity = ts_types_1.ensureNumber(new kit_1.Env().getNumber('SFDX_DOMAIN_RETRY', 240));
|
|
127
|
+
const quantity = (0, ts_types_1.ensureNumber)(new kit_1.Env().getNumber('SFDX_DOMAIN_RETRY', 240));
|
|
128
128
|
const timeout = new kit_1.Duration(quantity, kit_1.Duration.Unit.SECONDS);
|
|
129
129
|
if (this.isInternalUrl() || timeout.seconds === 0) {
|
|
130
130
|
return true;
|
|
@@ -145,7 +145,7 @@ class SfdcUrl extends url_1.URL {
|
|
|
145
145
|
* @throws {@link SfdxError} If can't resolve DNS.
|
|
146
146
|
*/
|
|
147
147
|
async lookup() {
|
|
148
|
-
const quantity = ts_types_1.ensureNumber(new kit_1.Env().getNumber('SFDX_DOMAIN_RETRY', 240));
|
|
148
|
+
const quantity = (0, ts_types_1.ensureNumber)(new kit_1.Env().getNumber('SFDX_DOMAIN_RETRY', 240));
|
|
149
149
|
const timeout = new kit_1.Duration(quantity, kit_1.Duration.Unit.SECONDS);
|
|
150
150
|
const resolver = await myDomainResolver_1.MyDomainResolver.create({
|
|
151
151
|
url: new url_1.URL(this.origin),
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { pipeline as cbPipeline, Readable, Writable } from 'stream';
|
|
3
|
+
export declare const pipeline: typeof cbPipeline.__promisify__;
|
|
4
|
+
export declare class ZipWriter extends Writable {
|
|
5
|
+
private rootDestination?;
|
|
6
|
+
private zip;
|
|
7
|
+
private buffers;
|
|
8
|
+
constructor(rootDestination?: string | undefined);
|
|
9
|
+
addToZip(contents: string | Readable | Buffer, path: string): void;
|
|
10
|
+
finalize(): Promise<void>;
|
|
11
|
+
private getOutputStream;
|
|
12
|
+
private getInputBuffer;
|
|
13
|
+
get buffer(): Buffer;
|
|
14
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2021, salesforce.com, inc.
|
|
4
|
+
* All rights reserved.
|
|
5
|
+
* Licensed under the BSD 3-Clause license.
|
|
6
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.ZipWriter = exports.pipeline = void 0;
|
|
10
|
+
const fs_1 = require("fs");
|
|
11
|
+
const stream_1 = require("stream");
|
|
12
|
+
const util_1 = require("util");
|
|
13
|
+
const archiver_1 = require("archiver");
|
|
14
|
+
exports.pipeline = (0, util_1.promisify)(stream_1.pipeline);
|
|
15
|
+
class ZipWriter extends stream_1.Writable {
|
|
16
|
+
constructor(rootDestination) {
|
|
17
|
+
super({ objectMode: true });
|
|
18
|
+
this.rootDestination = rootDestination;
|
|
19
|
+
// compression-/speed+ (0)<---(3)---------->(9) compression+/speed-
|
|
20
|
+
// 3 appears to be a decent balance of compression and speed. It felt like
|
|
21
|
+
// higher values = diminishing returns on compression and made conversion slower
|
|
22
|
+
this.zip = (0, archiver_1.create)('zip', { zlib: { level: 3 } });
|
|
23
|
+
this.buffers = [];
|
|
24
|
+
void (0, exports.pipeline)(this.zip, this.getOutputStream());
|
|
25
|
+
}
|
|
26
|
+
addToZip(contents, path) {
|
|
27
|
+
this.zip.append(contents, { name: path });
|
|
28
|
+
}
|
|
29
|
+
async finalize() {
|
|
30
|
+
await this.zip.finalize();
|
|
31
|
+
await this.getInputBuffer();
|
|
32
|
+
}
|
|
33
|
+
getOutputStream() {
|
|
34
|
+
if (this.rootDestination) {
|
|
35
|
+
return (0, fs_1.createWriteStream)(this.rootDestination);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
const bufferWritable = new stream_1.Writable();
|
|
39
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
40
|
+
bufferWritable._write = (chunk, encoding, cb) => {
|
|
41
|
+
this.buffers.push(chunk);
|
|
42
|
+
cb();
|
|
43
|
+
};
|
|
44
|
+
return bufferWritable;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
async getInputBuffer() {
|
|
48
|
+
if (this.rootDestination) {
|
|
49
|
+
const inputStream = (0, fs_1.createReadStream)(this.rootDestination);
|
|
50
|
+
return new Promise((resolve, reject) => {
|
|
51
|
+
inputStream.on('data', (chunk) => {
|
|
52
|
+
this.buffers.push(chunk);
|
|
53
|
+
});
|
|
54
|
+
inputStream.once('end', () => {
|
|
55
|
+
return resolve();
|
|
56
|
+
});
|
|
57
|
+
inputStream.once('error', (error) => {
|
|
58
|
+
return reject(error);
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
get buffer() {
|
|
64
|
+
return Buffer.concat(this.buffers);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.ZipWriter = ZipWriter;
|
|
68
|
+
//# sourceMappingURL=zipWriter.js.map
|
package/lib/webOAuthServer.js
CHANGED
|
@@ -144,13 +144,13 @@ class WebOAuthServer extends kit_1.AsyncCreatable {
|
|
|
144
144
|
async executeOauthRequest() {
|
|
145
145
|
return new Promise((resolve, reject) => {
|
|
146
146
|
this.logger.debug('Starting web auth flow');
|
|
147
|
-
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
147
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises, @typescript-eslint/no-explicit-any
|
|
148
148
|
this.webServer.server.on('request', async (request, response) => {
|
|
149
|
-
const url = url_1.parse(request.url);
|
|
149
|
+
const url = (0, url_1.parse)(request.url);
|
|
150
150
|
this.logger.debug(`processing request for uri: ${url.pathname}`);
|
|
151
151
|
if (request.method === 'GET') {
|
|
152
152
|
if (url.pathname && url.pathname.startsWith('/OauthRedirect')) {
|
|
153
|
-
request.query = querystring_1.parse(url.query);
|
|
153
|
+
request.query = (0, querystring_1.parse)(url.query);
|
|
154
154
|
if (request.query.error) {
|
|
155
155
|
const err = new sfdxError_1.SfdxError(request.query.error_description || request.query.error, request.query.error);
|
|
156
156
|
this.webServer.reportError(err, response);
|
|
@@ -158,7 +158,7 @@ class WebOAuthServer extends kit_1.AsyncCreatable {
|
|
|
158
158
|
}
|
|
159
159
|
this.logger.debug(`request.query.state: ${request.query.state}`);
|
|
160
160
|
try {
|
|
161
|
-
this.oauthConfig.authCode = ts_types_1.asString(this.parseAuthCodeFromRequest(response, request));
|
|
161
|
+
this.oauthConfig.authCode = (0, ts_types_1.asString)(this.parseAuthCodeFromRequest(response, request));
|
|
162
162
|
resolve(response);
|
|
163
163
|
}
|
|
164
164
|
catch (err) {
|
|
@@ -194,9 +194,9 @@ class WebOAuthServer extends kit_1.AsyncCreatable {
|
|
|
194
194
|
this.webServer.sendError(400, `${error.message}\n`, response);
|
|
195
195
|
this.closeRequest(request);
|
|
196
196
|
this.logger.warn('urlStateMismatchAttempt detected.');
|
|
197
|
-
if (!ts_types_1.get(this.webServer.server, 'urlStateMismatchAttempt')) {
|
|
197
|
+
if (!(0, ts_types_1.get)(this.webServer.server, 'urlStateMismatchAttempt')) {
|
|
198
198
|
this.logger.error(error.message);
|
|
199
|
-
kit_1.set(this.webServer.server, 'urlStateMismatchAttempt', true);
|
|
199
|
+
(0, kit_1.set)(this.webServer.server, 'urlStateMismatchAttempt', true);
|
|
200
200
|
}
|
|
201
201
|
}
|
|
202
202
|
else {
|
|
@@ -233,7 +233,7 @@ class WebOAuthServer extends kit_1.AsyncCreatable {
|
|
|
233
233
|
*/
|
|
234
234
|
validateState(request) {
|
|
235
235
|
const state = request.query.state;
|
|
236
|
-
const query = url_1.parse(this.authUrl, true).query;
|
|
236
|
+
const query = (0, url_1.parse)(this.authUrl, true).query;
|
|
237
237
|
return !!(state && state === query.state);
|
|
238
238
|
}
|
|
239
239
|
}
|
|
@@ -372,7 +372,7 @@ class WebServer extends kit_1.AsyncCreatable {
|
|
|
372
372
|
*/
|
|
373
373
|
getSocketTimeout() {
|
|
374
374
|
const env = new kit_1.Env();
|
|
375
|
-
const socketTimeout = kit_1.toNumber(env.getNumber('SFDX_HTTP_SOCKET_TIMEOUT'));
|
|
375
|
+
const socketTimeout = (0, kit_1.toNumber)(env.getNumber('SFDX_HTTP_SOCKET_TIMEOUT'));
|
|
376
376
|
return Number.isInteger(socketTimeout) && socketTimeout > 0
|
|
377
377
|
? socketTimeout
|
|
378
378
|
: WebServer.DEFAULT_CLIENT_SOCKET_TIMEOUT;
|
package/messages/envVars.md
CHANGED
|
@@ -12,15 +12,15 @@ Speed of the spinner in milliseconds. Default is 60.
|
|
|
12
12
|
|
|
13
13
|
# httpProxy
|
|
14
14
|
|
|
15
|
-
HTTP URL and port of the proxy server when using Salesforce CLI behind a corporate firewall or web proxy.
|
|
15
|
+
HTTP URL and port of the proxy server when using Salesforce CLI behind a corporate firewall or web proxy.
|
|
16
16
|
|
|
17
17
|
# httpsProxy
|
|
18
18
|
|
|
19
|
-
HTTPS URL and port of the proxy server when using Salesforce CLI behind a corporate firewall or web proxy.
|
|
19
|
+
HTTPS URL and port of the proxy server when using Salesforce CLI behind a corporate firewall or web proxy.
|
|
20
20
|
|
|
21
21
|
# nodeExtraCaCerts
|
|
22
22
|
|
|
23
|
-
Fully qualified path to your self-signed certificate. Will be installed after you run "sfdx update".
|
|
23
|
+
Fully qualified path to your self-signed certificate. Will be installed after you run "sfdx update".
|
|
24
24
|
|
|
25
25
|
# nodeTlsRejectUnauthorized
|
|
26
26
|
|
|
@@ -36,7 +36,7 @@ The API version for a specific project or all projects. Default value is the API
|
|
|
36
36
|
|
|
37
37
|
# sfdxAudienceUrl
|
|
38
38
|
|
|
39
|
-
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’re logging into.
|
|
39
|
+
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’re logging into.
|
|
40
40
|
|
|
41
41
|
# sfdxCodeCoverageRequirement
|
|
42
42
|
|
|
@@ -44,7 +44,7 @@ Code coverage percentages that are displayed in green when you run force:apex:te
|
|
|
44
44
|
|
|
45
45
|
# sfdxContentType
|
|
46
46
|
|
|
47
|
-
Set to JSON so that all CLI commands output results in JSON format.
|
|
47
|
+
Set to JSON so that all CLI commands output results in JSON format.
|
|
48
48
|
|
|
49
49
|
# sfdxDefaultdevhubusername
|
|
50
50
|
|
|
@@ -56,11 +56,11 @@ Username or alias of your default org. Overrides the defaultusername configurati
|
|
|
56
56
|
|
|
57
57
|
# sfdxDisableAutoupdate
|
|
58
58
|
|
|
59
|
-
Set to true to disable the auto-update feature of Salesforce CLI. Default value is false.
|
|
59
|
+
Set to true to disable the auto-update feature of Salesforce CLI. Default value is false.
|
|
60
60
|
|
|
61
61
|
# sfdxAutoupdateDisable
|
|
62
62
|
|
|
63
|
-
Set to true to disable the auto-update feature of Salesforce CLI. Default value is false.
|
|
63
|
+
Set to true to disable the auto-update feature of Salesforce CLI. Default value is false.
|
|
64
64
|
|
|
65
65
|
# sfdxDisableSourceMemberPolling
|
|
66
66
|
|
|
@@ -80,7 +80,7 @@ Time, in seconds, that Salesforce CLI waits for the Lightning Experience custom
|
|
|
80
80
|
|
|
81
81
|
# sfdxImprovedCodeCoverage
|
|
82
82
|
|
|
83
|
-
Set to true to scope Apex test results to the classes entered during a test run when running force:apex:test:\*.
|
|
83
|
+
Set to true to scope Apex test results to the classes entered during a test run when running force:apex:test:\*.
|
|
84
84
|
|
|
85
85
|
# sfdxInstanceUrl
|
|
86
86
|
|
|
@@ -134,6 +134,26 @@ Number of seconds you want the force:source:push command to keep polling the Sou
|
|
|
134
134
|
|
|
135
135
|
Set to false to disable the progress bar when running force:mdapi:deploy, force:source:deploy, or force:source:push.
|
|
136
136
|
|
|
137
|
+
# sfdxLazyLoadModules
|
|
138
|
+
|
|
139
|
+
Set to true to enable lazy loading of sfdx modules
|
|
140
|
+
|
|
141
|
+
# sfdxS3Host
|
|
142
|
+
|
|
143
|
+
URL to S3 host
|
|
144
|
+
|
|
145
|
+
# sfdxUpdateInstructions
|
|
146
|
+
|
|
147
|
+
Text that describes how to update sfdx
|
|
148
|
+
|
|
149
|
+
# sfdxInstaller
|
|
150
|
+
|
|
151
|
+
Boolean indicating that the installer is running
|
|
152
|
+
|
|
153
|
+
# sfdxEnv
|
|
154
|
+
|
|
155
|
+
Describes if sfdx is in "demo" mode
|
|
156
|
+
|
|
137
157
|
# sfTargetOrg
|
|
138
158
|
|
|
139
159
|
Username or alias of your default org. Overrides the target-org configuration variable.
|
|
@@ -152,7 +172,7 @@ API version for a specific project or all projects. Default value is the API ver
|
|
|
152
172
|
|
|
153
173
|
# sfAudienceUrl
|
|
154
174
|
|
|
155
|
-
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’re logging into.
|
|
175
|
+
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’re logging into.
|
|
156
176
|
|
|
157
177
|
# sfCodeCoverageRequirement
|
|
158
178
|
|
|
@@ -160,15 +180,15 @@ Code coverage percentages that are displayed in green when you run the Apex test
|
|
|
160
180
|
|
|
161
181
|
# sfContentType
|
|
162
182
|
|
|
163
|
-
Set to JSON so that all CLI commands output results in JSON format.
|
|
183
|
+
Set to JSON so that all CLI commands output results in JSON format.
|
|
164
184
|
|
|
165
185
|
# sfDisableAutoupdate
|
|
166
186
|
|
|
167
|
-
Set to true to disable the auto-update feature of Salesforce CLI. Default value is false.
|
|
187
|
+
Set to true to disable the auto-update feature of Salesforce CLI. Default value is false.
|
|
168
188
|
|
|
169
189
|
# sfAutoupdateDisable
|
|
170
190
|
|
|
171
|
-
Set to true to disable the auto-update feature of Salesforce CLI. Default value is false.
|
|
191
|
+
Set to true to disable the auto-update feature of Salesforce CLI. Default value is false.
|
|
172
192
|
|
|
173
193
|
# sfDisableSourceMemberPolling
|
|
174
194
|
|
|
@@ -188,7 +208,7 @@ Time, in seconds, that Salesforce CLI waits for the Lightning Experience custom
|
|
|
188
208
|
|
|
189
209
|
# sfImprovedCodeCoverage
|
|
190
210
|
|
|
191
|
-
Set to true to scope Apex test results to the classes entered during a test run when running the Apex test commands.
|
|
211
|
+
Set to true to scope Apex test results to the classes entered during a test run when running the Apex test commands.
|
|
192
212
|
|
|
193
213
|
# sfInstanceUrl
|
|
194
214
|
|
|
@@ -237,3 +257,23 @@ Number of seconds you want the source push command to keep polling the SourceMem
|
|
|
237
257
|
# sfUseProgressBar
|
|
238
258
|
|
|
239
259
|
Set to false to disable the progress bar when running the metadata deploy command.
|
|
260
|
+
|
|
261
|
+
# sfLazyLoadModules
|
|
262
|
+
|
|
263
|
+
Set to true to enable lazy loading of sf modules
|
|
264
|
+
|
|
265
|
+
# sfS3Host
|
|
266
|
+
|
|
267
|
+
URL to S3 host
|
|
268
|
+
|
|
269
|
+
# sfUpdateInstructions
|
|
270
|
+
|
|
271
|
+
Text that describes how to update sf
|
|
272
|
+
|
|
273
|
+
# sfInstaller
|
|
274
|
+
|
|
275
|
+
Boolean indicating that the installer is running
|
|
276
|
+
|
|
277
|
+
# sfEnv
|
|
278
|
+
|
|
279
|
+
Describes if sf is in "demo" mode
|
package/messages/org.md
CHANGED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# UnsupportedSnapshotOrgCreateOptionsError
|
|
2
|
+
|
|
3
|
+
Org snapshots don’t support one or more options you specified: %s.
|
|
4
|
+
|
|
5
|
+
# SourceStatusResetFailureError
|
|
6
|
+
|
|
7
|
+
Successfully created org with ID: %s and name: %s. Unfortunately, source tracking isn’t working as expected. If you run force:source:status, the results may be incorrect. Try again by creating another scratch org.
|
|
8
|
+
|
|
9
|
+
# DurationDaysValidationMinError
|
|
10
|
+
|
|
11
|
+
Expected 'durationDays' greater than or equal to %s but received %s.
|
|
12
|
+
|
|
13
|
+
# DurationDaysValidationMaxError
|
|
14
|
+
|
|
15
|
+
Expected 'durationDays' less than or equal to %s but received %s.
|
|
16
|
+
|
|
17
|
+
# DurationDaysNotIntError
|
|
18
|
+
|
|
19
|
+
Expected 'durationDays' to be an integer number.
|
|
20
|
+
|
|
21
|
+
# RetryNotIntError
|
|
22
|
+
|
|
23
|
+
Expected 'retry' to be an integer number.
|
|
24
|
+
|
|
25
|
+
# WaitValidationMaxError
|
|
26
|
+
|
|
27
|
+
Expected 'wait' greater than or equal to %s but received %s.
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# SignupFailedError
|
|
2
|
+
|
|
3
|
+
The request to create a scratch org failed with error code: %s.
|
|
4
|
+
|
|
5
|
+
# SignupFailedUnknownError
|
|
6
|
+
|
|
7
|
+
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'.
|
|
8
|
+
|
|
9
|
+
# SignupFailedActionError
|
|
10
|
+
|
|
11
|
+
See https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_objects_signuprequest.htm for information on error code %s.
|
|
12
|
+
|
|
13
|
+
# SignupUnexpectedError
|
|
14
|
+
|
|
15
|
+
The request to create a scratch org returned an unexpected status
|
|
16
|
+
|
|
17
|
+
# INVALID_ID_FIELD
|
|
18
|
+
|
|
19
|
+
Provide a valid template ID, in the format 0TTxxxxxxxxxxxx.
|
|
20
|
+
|
|
21
|
+
# T-0002
|
|
22
|
+
|
|
23
|
+
We couldn’t find a template or snapshot with the ID or name specified in the scratch org definition. If you’re sure the ID is correct, contact Salesforce Support.
|
|
24
|
+
|
|
25
|
+
# T-0003
|
|
26
|
+
|
|
27
|
+
The template specified in the scratch org definition is unapproved. Contact Salesforce Support to request template approval.
|
|
28
|
+
|
|
29
|
+
# T-0004
|
|
30
|
+
|
|
31
|
+
The Trialforce Source Organization (TSO) for the template doesn’t exist or has expired.
|
|
32
|
+
|
|
33
|
+
# S-1006
|
|
34
|
+
|
|
35
|
+
Provide a valid email address in your scratch org definition or your %s file.
|
|
36
|
+
|
|
37
|
+
# S-2006
|
|
38
|
+
|
|
39
|
+
Provide a valid country code in your scratch org definition or your %s file.
|
|
40
|
+
|
|
41
|
+
# S-1017
|
|
42
|
+
|
|
43
|
+
Specify a namespace that’s used by a release org associated with your Dev Hub org.
|
|
44
|
+
|
|
45
|
+
# S-1018
|
|
46
|
+
|
|
47
|
+
Provide a valid My Domain value. This value can’t include double hyphens, end in a hyphen, include restricted words, or be more than 40 characters long.
|
|
48
|
+
|
|
49
|
+
# S-1019
|
|
50
|
+
|
|
51
|
+
The My Domain value you chose is already in use.
|
|
52
|
+
|
|
53
|
+
# S-1026
|
|
54
|
+
|
|
55
|
+
Provide a valid namespace value. This value must begin with a letter. It can’t 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.
|
|
56
|
+
|
|
57
|
+
# S-9999
|
|
58
|
+
|
|
59
|
+
A fatal signup error occurred. Please try again. If you still see this error, contact Salesforce Support for assistance.
|
|
60
|
+
|
|
61
|
+
# SH-0001
|
|
62
|
+
|
|
63
|
+
Can’t create scratch org. Contact the source org admin to add your Dev Hub org ID to Setup > Org Shape. Then try again.
|
|
64
|
+
|
|
65
|
+
# SH-0002
|
|
66
|
+
|
|
67
|
+
Can’t create scratch org. No org shape exists for the specified sourceOrg. Create an org shape and try again.
|
|
68
|
+
|
|
69
|
+
# SH-0003
|
|
70
|
+
|
|
71
|
+
Can’t create scratch org from org shape. The org shape version is outdated. Recreate the org shape and try again.
|
|
72
|
+
|
|
73
|
+
# C-1007
|
|
74
|
+
|
|
75
|
+
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.
|
|
76
|
+
|
|
77
|
+
# C-1015
|
|
78
|
+
|
|
79
|
+
We encountered a problem while registering your My Domain value with the DNS provider. Please try again.
|
|
80
|
+
|
|
81
|
+
# C-1016
|
|
82
|
+
|
|
83
|
+
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.
|
|
84
|
+
|
|
85
|
+
# C-1017
|
|
86
|
+
|
|
87
|
+
Provide a valid namespace prefix. This value must begin with a letter. It can’t 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.
|
|
88
|
+
|
|
89
|
+
# C-1020
|
|
90
|
+
|
|
91
|
+
We couldn't find a template with the ID specified in the scratch org definition. If you’re sure the ID is correct, contact Salesforce Support.
|
|
92
|
+
|
|
93
|
+
# C-1027
|
|
94
|
+
|
|
95
|
+
The template specified in the Scratch Definition isn’t supported. Specify a generic edition (such as Developer or Enterprise), or specify a template ID.
|
|
96
|
+
|
|
97
|
+
# C-9999
|
|
98
|
+
|
|
99
|
+
A fatal signup error occurred. Please try again. If you still see this error, contact Salesforce Support for assistance
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# quantifiedFeatureWithoutQuantityWarning
|
|
2
|
+
|
|
3
|
+
The feature %s will be deprecated in a future release. It's been replaced by %s:<value>, which requires you to specify a quantity.
|
|
4
|
+
|
|
5
|
+
# mappedFeatureWarning
|
|
6
|
+
|
|
7
|
+
The feature %s has been deprecated. It has been replaced with %s in this scratch org create request.
|
|
8
|
+
|
|
9
|
+
# deprecatedFeatureWarning
|
|
10
|
+
|
|
11
|
+
The feature %s has been deprecated. It has been removed from the list of requested features.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# SignupFieldsMissingError
|
|
2
|
+
|
|
3
|
+
Required fields are missing for org creation: [%s]
|
|
4
|
+
|
|
5
|
+
# SignupDuplicateSettingsSpecifiedError
|
|
6
|
+
|
|
7
|
+
You cannot use 'settings' and `'orgPreferences' in your scratch definition file, please specify one or the other.
|
|
8
|
+
|
|
9
|
+
# DeprecatedPrefFormat
|
|
10
|
+
|
|
11
|
+
We've deprecated OrgPreferences. Update the scratch org definition file to replace OrgPreferences with their corresponding settings.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Package2AncestorsIdsKeyNotSupportedError
|
|
2
|
+
|
|
3
|
+
The package2AncestorIds key is no longer supported in a scratch org definition. Ancestors defined in sfdx-project.json will be included in the scratch org.",
|
|
4
|
+
|
|
5
|
+
# InvalidAncestorVersionFormatError
|
|
6
|
+
|
|
7
|
+
The ancestor versionNumber must be in the format major.minor.patch but the value found is %s",
|
|
8
|
+
|
|
9
|
+
# NoMatchingAncestorError
|
|
10
|
+
|
|
11
|
+
The ancestorId for ancestorVersion %s can't be found. Package ID %s.",
|
|
12
|
+
|
|
13
|
+
# AncestorNotReleasedError
|
|
14
|
+
|
|
15
|
+
The ancestor package version [%s] specified in the sfdx-project.json file may exist hasn’t been promoted and released. Release the ancestor package version before specifying it as the ancestor in a new package or patch version.",
|
|
16
|
+
|
|
17
|
+
# AncestorIdVersionMismatchError
|
|
18
|
+
|
|
19
|
+
The ancestorVersion in sfdx-project.json is not the version expected for the ancestorId you supplied. ancestorVersion %s. ancestorID %s."
|
package/messages/user.md
CHANGED
|
@@ -29,3 +29,7 @@ Invalid complexity value. Specify a value between 0 and 5, inclusive.
|
|
|
29
29
|
# lengthOutOfBound
|
|
30
30
|
|
|
31
31
|
Invalid length value. Specify a value between 8 and 1000, inclusive.
|
|
32
|
+
|
|
33
|
+
# problemsDescribingTheUserObject
|
|
34
|
+
|
|
35
|
+
Problems occurred while attempting to describe the user object.
|