@salesforce/b2c-tooling-sdk 2.2.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/guides/enrichment.json +1081 -0
- package/data/guides/index.json +1571 -36
- package/data/schemas/dw.schema.json +576 -0
- package/data/tooling/index.json +27 -9
- package/dist/esm/auth/client-credentials.d.ts +43 -0
- package/dist/esm/auth/client-credentials.js +55 -0
- package/dist/esm/auth/client-credentials.js.map +1 -1
- package/dist/esm/auth/index.d.ts +2 -1
- package/dist/esm/auth/index.js +1 -1
- package/dist/esm/auth/index.js.map +1 -1
- package/dist/esm/auth/oauth.d.ts +3 -0
- package/dist/esm/auth/oauth.js +3 -3
- package/dist/esm/auth/oauth.js.map +1 -1
- package/dist/esm/auth/resolve.d.ts +2 -0
- package/dist/esm/auth/resolve.js +3 -2
- package/dist/esm/auth/resolve.js.map +1 -1
- package/dist/esm/auth/types.d.ts +5 -0
- package/dist/esm/auth/types.js +0 -5
- package/dist/esm/auth/types.js.map +1 -1
- package/dist/esm/cli/base-command.d.ts +20 -1
- package/dist/esm/cli/base-command.js +57 -8
- package/dist/esm/cli/base-command.js.map +1 -1
- package/dist/esm/cli/command-search.d.ts +85 -0
- package/dist/esm/cli/command-search.js +147 -0
- package/dist/esm/cli/command-search.js.map +1 -0
- package/dist/esm/cli/config.d.ts +10 -1
- package/dist/esm/cli/config.js +17 -9
- package/dist/esm/cli/config.js.map +1 -1
- package/dist/esm/cli/index.d.ts +2 -0
- package/dist/esm/cli/index.js +2 -0
- package/dist/esm/cli/index.js.map +1 -1
- package/dist/esm/cli/instance-command.d.ts +2 -0
- package/dist/esm/cli/mrt-command.d.ts +4 -2
- package/dist/esm/cli/mrt-command.js +4 -4
- package/dist/esm/cli/mrt-command.js.map +1 -1
- package/dist/esm/cli/oauth-command.d.ts +2 -0
- package/dist/esm/cli/oauth-command.js +8 -0
- package/dist/esm/cli/oauth-command.js.map +1 -1
- package/dist/esm/cli/ods-command.d.ts +2 -0
- package/dist/esm/cli/webdav-command.d.ts +2 -0
- package/dist/esm/clients/custom-apis.d.ts +36 -2
- package/dist/esm/clients/custom-apis.js +57 -4
- package/dist/esm/clients/custom-apis.js.map +1 -1
- package/dist/esm/clients/index.d.ts +1 -1
- package/dist/esm/clients/index.js +1 -1
- package/dist/esm/clients/index.js.map +1 -1
- package/dist/esm/clients/slas-shopper.generated.d.ts +2 -1
- package/dist/esm/config/dw-json-schema.d.ts +14 -0
- package/dist/esm/config/dw-json-schema.js +265 -0
- package/dist/esm/config/dw-json-schema.js.map +1 -0
- package/dist/esm/config/dw-json.d.ts +3 -0
- package/dist/esm/config/dw-json.js.map +1 -1
- package/dist/esm/config/index.d.ts +6 -2
- package/dist/esm/config/index.js +4 -2
- package/dist/esm/config/index.js.map +1 -1
- package/dist/esm/config/mapping.d.ts +5 -0
- package/dist/esm/config/mapping.js +21 -1
- package/dist/esm/config/mapping.js.map +1 -1
- package/dist/esm/config/project-environment.d.ts +62 -0
- package/dist/esm/config/project-environment.js +113 -0
- package/dist/esm/config/project-environment.js.map +1 -1
- package/dist/esm/config/resolved-config.js +1 -0
- package/dist/esm/config/resolved-config.js.map +1 -1
- package/dist/esm/config/resolver.js +52 -8
- package/dist/esm/config/resolver.js.map +1 -1
- package/dist/esm/config/sources/dw-json-source.js +25 -3
- package/dist/esm/config/sources/dw-json-source.js.map +1 -1
- package/dist/esm/config/sources/env-source.d.ts +42 -8
- package/dist/esm/config/sources/env-source.js +86 -50
- package/dist/esm/config/sources/env-source.js.map +1 -1
- package/dist/esm/config/sources/index.d.ts +1 -1
- package/dist/esm/config/sources/index.js +1 -1
- package/dist/esm/config/sources/index.js.map +1 -1
- package/dist/esm/config/types.d.ts +10 -3
- package/dist/esm/docs/search.js +4 -1
- package/dist/esm/docs/search.js.map +1 -1
- package/dist/esm/docs/types.d.ts +5 -1
- package/dist/esm/guidance/bundle.d.ts +33 -0
- package/dist/esm/guidance/bundle.js +268 -0
- package/dist/esm/guidance/bundle.js.map +1 -0
- package/dist/esm/guidance/catalog.d.ts +8 -1
- package/dist/esm/guidance/catalog.js +48 -6
- package/dist/esm/guidance/catalog.js.map +1 -1
- package/dist/esm/guidance/index.d.ts +1 -0
- package/dist/esm/guidance/index.js +1 -0
- package/dist/esm/guidance/index.js.map +1 -1
- package/dist/esm/guidance/types.d.ts +17 -1
- package/dist/esm/guidance/types.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/instance/index.js +1 -0
- package/dist/esm/instance/index.js.map +1 -1
- package/dist/esm/openshell/apply.d.ts +90 -0
- package/dist/esm/openshell/apply.js +225 -0
- package/dist/esm/openshell/apply.js.map +1 -0
- package/dist/esm/openshell/index.d.ts +30 -0
- package/dist/esm/openshell/index.js +34 -0
- package/dist/esm/openshell/index.js.map +1 -0
- package/dist/esm/openshell/setup.d.ts +94 -0
- package/dist/esm/openshell/setup.js +307 -0
- package/dist/esm/openshell/setup.js.map +1 -0
- package/dist/esm/scapi/auth-primitives.js +1 -0
- package/dist/esm/scapi/auth-primitives.js.map +1 -1
- package/dist/esm/scapi/authentication.d.ts +19 -0
- package/dist/esm/scapi/authentication.js +65 -6
- package/dist/esm/scapi/authentication.js.map +1 -1
- package/dist/esm/scapi/catalog.d.ts +5 -0
- package/dist/esm/scapi/catalog.js.map +1 -1
- package/dist/esm/scapi/index.d.ts +8 -3
- package/dist/esm/scapi/index.js +5 -2
- package/dist/esm/scapi/index.js.map +1 -1
- package/dist/esm/scapi/live.d.ts +52 -0
- package/dist/esm/scapi/live.js +142 -0
- package/dist/esm/scapi/live.js.map +1 -0
- package/dist/esm/scapi/local.d.ts +9 -0
- package/dist/esm/scapi/local.js +91 -0
- package/dist/esm/scapi/local.js.map +1 -0
- package/dist/esm/scapi/request.d.ts +6 -0
- package/dist/esm/scapi/request.js +84 -61
- package/dist/esm/scapi/request.js.map +1 -1
- package/dist/esm/scapi/shopper.d.ts +31 -0
- package/dist/esm/scapi/shopper.js +79 -0
- package/dist/esm/scapi/shopper.js.map +1 -0
- package/dist/esm/scapi/worker-source.js +2 -2
- package/dist/esm/slas/index.d.ts +1 -1
- package/dist/esm/slas/index.js +1 -1
- package/dist/esm/slas/index.js.map +1 -1
- package/dist/esm/slas/token.d.ts +10 -0
- package/dist/esm/slas/token.js +27 -0
- package/dist/esm/slas/token.js.map +1 -1
- package/dist/esm/telemetry/telemetry.d.ts +1 -0
- package/dist/esm/telemetry/telemetry.js +18 -1
- package/dist/esm/telemetry/telemetry.js.map +1 -1
- package/dist/esm/telemetry/types.d.ts +9 -0
- package/dist/esm/test-utils/config-isolation.js +12 -13
- package/dist/esm/test-utils/config-isolation.js.map +1 -1
- package/dist/esm/ux/agent-context.d.ts +69 -0
- package/dist/esm/ux/agent-context.js +133 -0
- package/dist/esm/ux/agent-context.js.map +1 -0
- package/dist/esm/ux/confirm.d.ts +27 -0
- package/dist/esm/ux/confirm.js +32 -0
- package/dist/esm/ux/confirm.js.map +1 -1
- package/dist/esm/ux/index.d.ts +2 -1
- package/dist/esm/ux/index.js +2 -1
- package/dist/esm/ux/index.js.map +1 -1
- package/package.json +8 -1
- package/specs/slas-shopper-v1.yaml +2 -1
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
import { existsSync, readFileSync } from 'node:fs';
|
|
7
7
|
import path from 'node:path';
|
|
8
8
|
import { parseEnv } from 'node:util';
|
|
9
|
+
/** Environment variable that selects the env file (`SFCC_DOTENV_FILE=` selects none). */
|
|
10
|
+
export const ENV_FILE_ENV_VAR = 'SFCC_DOTENV_FILE';
|
|
9
11
|
/** Read all variables from a project's `.env` file without mutating `process.env`. */
|
|
10
12
|
export function readProjectEnvironment(projectDirectory) {
|
|
11
13
|
if (!projectDirectory)
|
|
@@ -19,4 +21,115 @@ export function readProjectEnvironment(projectDirectory) {
|
|
|
19
21
|
export function mergeProjectEnvironment(projectEnvironment, ambientEnvironment = process.env) {
|
|
20
22
|
return { ...projectEnvironment, ...ambientEnvironment };
|
|
21
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Resolves which env file applies.
|
|
26
|
+
*
|
|
27
|
+
* An explicit file replaces the default `.env` (it is not layered on top of it).
|
|
28
|
+
*
|
|
29
|
+
* @returns Absolute path of the env file, or undefined when none applies
|
|
30
|
+
* @throws Error if an explicitly selected file does not exist
|
|
31
|
+
*/
|
|
32
|
+
export function resolveEnvFilePath(options = {}) {
|
|
33
|
+
if (options.envFile === '')
|
|
34
|
+
return undefined;
|
|
35
|
+
if (options.envFile !== undefined) {
|
|
36
|
+
const explicitPath = path.resolve(options.envFile);
|
|
37
|
+
if (!existsSync(explicitPath)) {
|
|
38
|
+
throw new Error(`Env file not found: ${explicitPath}`);
|
|
39
|
+
}
|
|
40
|
+
return explicitPath;
|
|
41
|
+
}
|
|
42
|
+
const defaultPath = path.resolve(options.projectDirectory ?? process.cwd(), '.env');
|
|
43
|
+
return existsSync(defaultPath) ? defaultPath : undefined;
|
|
44
|
+
}
|
|
45
|
+
/** Reads variables from an env file without mutating `process.env`. */
|
|
46
|
+
export function readEnvFile(filePath) {
|
|
47
|
+
return parseEnv(readFileSync(filePath, 'utf8'));
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Loads env file variables into an environment object without overriding
|
|
51
|
+
* values that are already set (shell variables win).
|
|
52
|
+
*
|
|
53
|
+
* `SFCC_DOTENV_FILE` is ignored inside env files (no chaining). A relative
|
|
54
|
+
* `SFCC_CONFIG` resolves from the env file's directory.
|
|
55
|
+
*
|
|
56
|
+
* @returns Names of the variables that were applied
|
|
57
|
+
*/
|
|
58
|
+
export function applyEnvFile(filePath, env = process.env) {
|
|
59
|
+
const values = readEnvFile(filePath);
|
|
60
|
+
const applied = [];
|
|
61
|
+
for (const [key, rawValue] of Object.entries(values)) {
|
|
62
|
+
if (key === ENV_FILE_ENV_VAR || rawValue === undefined || env[key] !== undefined)
|
|
63
|
+
continue;
|
|
64
|
+
let value = rawValue;
|
|
65
|
+
if (key === 'SFCC_CONFIG' && value !== '' && !path.isAbsolute(value)) {
|
|
66
|
+
value = path.resolve(path.dirname(filePath), value);
|
|
67
|
+
}
|
|
68
|
+
env[key] = value;
|
|
69
|
+
applied.push(key);
|
|
70
|
+
}
|
|
71
|
+
return applied;
|
|
72
|
+
}
|
|
73
|
+
const PRELOADED_ENV_FILE = Symbol.for('@salesforce/b2c-tooling-sdk/preloaded-env-file');
|
|
74
|
+
/**
|
|
75
|
+
* Selects the env file for a command line and applies it without overriding
|
|
76
|
+
* variables that are already set.
|
|
77
|
+
*
|
|
78
|
+
* `--dotenv-file` / `SFCC_DOTENV_FILE` select the file; otherwise
|
|
79
|
+
* `<--project-directory>/.env` or `./.env` applies.
|
|
80
|
+
*
|
|
81
|
+
* @throws Error if an explicitly selected file does not exist
|
|
82
|
+
*/
|
|
83
|
+
export function loadEnvFileForArgv(argv, env = process.env) {
|
|
84
|
+
const envFile = readRawFlag(argv, ['--dotenv-file']) ?? env[ENV_FILE_ENV_VAR];
|
|
85
|
+
const projectDirectory = readRawFlag(argv, ['--project-directory', '--working-directory']) ??
|
|
86
|
+
(env.SFCC_PROJECT_DIRECTORY || env.SFCC_WORKING_DIRECTORY || undefined);
|
|
87
|
+
const filePath = resolveEnvFilePath({ envFile, projectDirectory });
|
|
88
|
+
if (!filePath)
|
|
89
|
+
return undefined;
|
|
90
|
+
return { path: filePath, keys: applyEnvFile(filePath, env) };
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Applies the env file from an executable's entry point, before oclif starts,
|
|
94
|
+
* so hooks and plugins see its values. Errors are left for the command to
|
|
95
|
+
* report when it loads the env file again.
|
|
96
|
+
*/
|
|
97
|
+
export function preloadEnvFile(argv = process.argv.slice(2)) {
|
|
98
|
+
try {
|
|
99
|
+
const loaded = loadEnvFileForArgv(argv);
|
|
100
|
+
if (loaded)
|
|
101
|
+
globalThis[PRELOADED_ENV_FILE] = loaded;
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
// Reported by the command.
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/** Returns (and forgets) the env file applied by {@link preloadEnvFile}. */
|
|
108
|
+
export function takePreloadedEnvFile() {
|
|
109
|
+
const store = globalThis;
|
|
110
|
+
const loaded = store[PRELOADED_ENV_FILE];
|
|
111
|
+
delete store[PRELOADED_ENV_FILE];
|
|
112
|
+
return loaded;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Reads a string flag value from raw argv (`--flag value` or `--flag=value`)
|
|
116
|
+
* before oclif parses it. Stops at `--`.
|
|
117
|
+
*/
|
|
118
|
+
export function readRawFlag(argv, names) {
|
|
119
|
+
let value;
|
|
120
|
+
for (let i = 0; i < argv.length; i++) {
|
|
121
|
+
const arg = argv[i];
|
|
122
|
+
if (arg === '--')
|
|
123
|
+
break;
|
|
124
|
+
for (const name of names) {
|
|
125
|
+
if (arg === name && i + 1 < argv.length) {
|
|
126
|
+
value = argv[i + 1];
|
|
127
|
+
}
|
|
128
|
+
else if (arg.startsWith(`${name}=`)) {
|
|
129
|
+
value = arg.slice(name.length + 1);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return value;
|
|
134
|
+
}
|
|
22
135
|
//# sourceMappingURL=project-environment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-environment.js","sourceRoot":"","sources":["../../../src/config/project-environment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AACjD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,QAAQ,EAAC,MAAM,WAAW,CAAC;AAEnC,sFAAsF;AACtF,MAAM,UAAU,sBAAsB,CAAC,gBAAyB;IAC9D,IAAI,CAAC,gBAAgB;QAAE,OAAO,SAAS,CAAC;IAExC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;QAAE,OAAO,SAAS,CAAC;IAEnD,OAAO,QAAQ,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,uBAAuB,CACrC,kBAAuD,EACvD,qBAAyD,OAAO,CAAC,GAAG;IAEpE,OAAO,EAAC,GAAG,kBAAkB,EAAE,GAAG,kBAAkB,EAAC,CAAC;AACxD,CAAC"}
|
|
1
|
+
{"version":3,"file":"project-environment.js","sourceRoot":"","sources":["../../../src/config/project-environment.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,6 +55,7 @@ export class ResolvedConfigImpl {
|
|
|
55
55
|
clientSecret: this.values.clientSecret,
|
|
56
56
|
scopes: mergedScopes.length > 0 ? mergedScopes : undefined,
|
|
57
57
|
accountManagerHost: this.values.accountManagerHost,
|
|
58
|
+
clientAuthMethod: this.values.clientAuthMethod,
|
|
58
59
|
redirectUri: options?.redirectUri,
|
|
59
60
|
openBrowser: options?.openBrowser,
|
|
60
61
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolved-config.js","sourceRoot":"","sources":["../../../src/config/resolved-config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resolved-config.js","sourceRoot":"","sources":["../../../src/config/resolved-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { normalizeTenantId } from '../clients/custom-apis.js';
|
|
1
|
+
import { normalizeTenantId, sandboxHostnameFromTenantId, tenantIdFromSandboxHostname } from '../clients/custom-apis.js';
|
|
2
2
|
import { getLogger } from '../logging/logger.js';
|
|
3
|
-
import { mergeConfigsWithProtection, getPopulatedFields, createInstanceFromConfig, normalizeOriginUrl, } from './mapping.js';
|
|
3
|
+
import { mergeConfigsWithProtection, getPopulatedFields, createInstanceFromConfig, normalizeOriginUrl, isSameHostname, } from './mapping.js';
|
|
4
4
|
import { DwJsonSource, MobifySource, PackageJsonSource } from './sources/index.js';
|
|
5
5
|
import { ResolvedConfigImpl } from './resolved-config.js';
|
|
6
6
|
import { globalConfigSourceRegistry } from './config-source-registry.js';
|
|
@@ -134,6 +134,8 @@ export class ConfigResolver {
|
|
|
134
134
|
const sourceWarnings = [];
|
|
135
135
|
const baseConfig = {};
|
|
136
136
|
const hostnameProtection = options.hostnameProtection !== false;
|
|
137
|
+
// Name of the source that set baseConfig.hostname (for mismatch messages)
|
|
138
|
+
let hostnameSourceName;
|
|
137
139
|
// Create enriched options that will be updated with accumulated config values.
|
|
138
140
|
// This allows later sources (like plugins) to use values discovered by earlier sources (like dw.json).
|
|
139
141
|
// CLI-provided options always take precedence over accumulated values.
|
|
@@ -180,19 +182,24 @@ export class ConfigResolver {
|
|
|
180
182
|
}
|
|
181
183
|
if (fields.length > 0) {
|
|
182
184
|
// Early hostname mismatch detection: if this source provides a hostname
|
|
183
|
-
// that conflicts with the override
|
|
184
|
-
//
|
|
185
|
+
// that conflicts with the override or with a higher-priority source,
|
|
186
|
+
// skip this source entirely. Its values belong to a different instance.
|
|
187
|
+
// This also prevents instance-bound sources from blocking fields in later
|
|
185
188
|
// non-instance-bound sources (e.g., password-store providing shortCode).
|
|
189
|
+
const establishedHostname = overrides.hostname ?? baseConfig.hostname;
|
|
186
190
|
if (hostnameProtection &&
|
|
187
|
-
|
|
191
|
+
establishedHostname &&
|
|
188
192
|
sourceConfig.hostname &&
|
|
189
|
-
sourceConfig.hostname
|
|
193
|
+
!isSameHostname(sourceConfig.hostname, establishedHostname)) {
|
|
190
194
|
sourceWarnings.push({
|
|
191
195
|
code: 'HOSTNAME_MISMATCH',
|
|
192
|
-
message:
|
|
196
|
+
message: overrides.hostname
|
|
197
|
+
? `Server override "${overrides.hostname}" differs from config file "${sourceConfig.hostname}". Config file values ignored.`
|
|
198
|
+
: `Hostname "${establishedHostname}" from ${hostnameSourceName} differs from ${source.name} hostname "${sourceConfig.hostname}". ${source.name} values ignored.`,
|
|
193
199
|
details: {
|
|
194
|
-
providedHostname:
|
|
200
|
+
providedHostname: establishedHostname,
|
|
195
201
|
configHostname: sourceConfig.hostname,
|
|
202
|
+
source: source.name,
|
|
196
203
|
},
|
|
197
204
|
});
|
|
198
205
|
sourceInfos.push({
|
|
@@ -233,6 +240,8 @@ export class ConfigResolver {
|
|
|
233
240
|
continue;
|
|
234
241
|
}
|
|
235
242
|
baseConfig[key] = value;
|
|
243
|
+
if (fieldKey === 'hostname')
|
|
244
|
+
hostnameSourceName = source.name;
|
|
236
245
|
}
|
|
237
246
|
sourceInfos.push({
|
|
238
247
|
name: source.name,
|
|
@@ -280,6 +289,41 @@ export class ConfigResolver {
|
|
|
280
289
|
if (config.tenantId) {
|
|
281
290
|
config.tenantId = normalizeTenantId(config.tenantId);
|
|
282
291
|
}
|
|
292
|
+
// Sandbox tenant IDs determine the hostname, so a configuration with only a
|
|
293
|
+
// tenant (for example a Storefront Next organization ID) still reaches the
|
|
294
|
+
// instance. Other tenants are ambiguous and never derive a hostname.
|
|
295
|
+
if (!config.hostname && config.tenantId) {
|
|
296
|
+
const sandboxHostname = sandboxHostnameFromTenantId(config.tenantId);
|
|
297
|
+
if (sandboxHostname) {
|
|
298
|
+
config.hostname = sandboxHostname;
|
|
299
|
+
sourceInfos.push({
|
|
300
|
+
name: 'SandboxTenantId',
|
|
301
|
+
location: `derived from tenant ID ${config.tenantId}`,
|
|
302
|
+
fields: ['hostname'],
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
// Sandbox hostnames encode the tenant ID. Fill it in when nothing configured
|
|
307
|
+
// it, and flag a configured tenant that contradicts the sandbox hostname.
|
|
308
|
+
// Other hostnames are ambiguous, so they never derive or warn.
|
|
309
|
+
const sandboxTenantId = config.hostname ? tenantIdFromSandboxHostname(config.hostname) : undefined;
|
|
310
|
+
if (sandboxTenantId) {
|
|
311
|
+
if (!config.tenantId) {
|
|
312
|
+
config.tenantId = sandboxTenantId;
|
|
313
|
+
sourceInfos.push({
|
|
314
|
+
name: 'SandboxHostname',
|
|
315
|
+
location: `derived from hostname ${config.hostname}`,
|
|
316
|
+
fields: ['tenantId'],
|
|
317
|
+
});
|
|
318
|
+
}
|
|
319
|
+
else if (config.tenantId.toLowerCase() !== sandboxTenantId) {
|
|
320
|
+
sourceWarnings.push({
|
|
321
|
+
code: 'TENANT_MISMATCH',
|
|
322
|
+
message: `Tenant ID "${config.tenantId}" does not match sandbox hostname "${config.hostname}" (tenant "${sandboxTenantId}").`,
|
|
323
|
+
details: { tenantId: config.tenantId, hostname: config.hostname, hostnameTenantId: sandboxTenantId },
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
}
|
|
283
327
|
// Combine source warnings with merge warnings
|
|
284
328
|
const warnings = [...sourceWarnings, ...mergeWarnings];
|
|
285
329
|
return { config, warnings, sources: sourceInfos };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/config/resolver.ts"],"names":[],"mappings":"AAcA,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/config/resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,8 +13,14 @@ import path from 'node:path';
|
|
|
13
13
|
import { loadDwJson, loadFullDwJson, addInstance, removeInstance, saveDwJson, setActiveInstance } from '../dw-json.js';
|
|
14
14
|
import { getPopulatedFields, mapDwJsonToNormalizedConfig, mapNormalizedConfigToDwJson } from '../mapping.js';
|
|
15
15
|
import { getLogger } from '../../logging/logger.js';
|
|
16
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* Select the explicit, project-local, or global-default dw.json path.
|
|
18
|
+
*
|
|
19
|
+
* @throws Error if an empty config path selected no dw.json
|
|
20
|
+
*/
|
|
17
21
|
function selectConfigPath(options) {
|
|
22
|
+
if (options.configPath === '')
|
|
23
|
+
throw new Error('No dw.json is selected (empty config path).');
|
|
18
24
|
if (options.configPath)
|
|
19
25
|
return options.configPath;
|
|
20
26
|
const projectConfigPath = path.join(options.projectDirectory ?? options.workingDirectory ?? process.cwd(), 'dw.json');
|
|
@@ -22,10 +28,22 @@ function selectConfigPath(options) {
|
|
|
22
28
|
return projectConfigPath;
|
|
23
29
|
return options.defaultConfigPath;
|
|
24
30
|
}
|
|
25
|
-
/**
|
|
31
|
+
/**
|
|
32
|
+
* Select the ordered files that contribute instances to the effective catalog.
|
|
33
|
+
*
|
|
34
|
+
* An explicit config path is exact: it is the only file used, without the
|
|
35
|
+
* global default. An empty config path selects no dw.json at all. A discovered
|
|
36
|
+
* project dw.json is still supplemented by the global default.
|
|
37
|
+
*/
|
|
26
38
|
function selectConfigPaths(options) {
|
|
39
|
+
if (options.configPath === '')
|
|
40
|
+
return [];
|
|
41
|
+
if (options.configPath !== undefined) {
|
|
42
|
+
const explicitPath = path.resolve(options.configPath);
|
|
43
|
+
return existsSync(explicitPath) ? [explicitPath] : [];
|
|
44
|
+
}
|
|
27
45
|
const paths = [];
|
|
28
|
-
const primaryPath = path.resolve(
|
|
46
|
+
const primaryPath = path.resolve(path.join(options.projectDirectory ?? options.workingDirectory ?? process.cwd(), 'dw.json'));
|
|
29
47
|
if (existsSync(primaryPath))
|
|
30
48
|
paths.push(primaryPath);
|
|
31
49
|
const defaultConfigPath = options.defaultConfigPath ? path.resolve(options.defaultConfigPath) : undefined;
|
|
@@ -129,6 +147,10 @@ export class DwJsonSource {
|
|
|
129
147
|
*/
|
|
130
148
|
async load(options) {
|
|
131
149
|
const logger = getLogger();
|
|
150
|
+
// Reported as a SOURCE_ERROR warning; an explicit path never falls back to another file.
|
|
151
|
+
if (options.configPath && !existsSync(path.resolve(options.configPath))) {
|
|
152
|
+
throw new Error(`Config file not found: ${path.resolve(options.configPath)}`);
|
|
153
|
+
}
|
|
132
154
|
const configPaths = selectConfigPaths(options);
|
|
133
155
|
let result;
|
|
134
156
|
if (options.instance) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dw-json-source.js","sourceRoot":"","sources":["../../../../src/config/sources/dw-json-source.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;GAIG;AACH,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AACnC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,iBAAiB,EAAC,MAAM,eAAe,CAAC;AACrH,OAAO,EAAC,kBAAkB,EAAE,2BAA2B,EAAE,2BAA2B,EAAC,MAAM,eAAe,CAAC;AAS3G,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAElD
|
|
1
|
+
{"version":3,"file":"dw-json-source.js","sourceRoot":"","sources":["../../../../src/config/sources/dw-json-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import type { ConfigSource, ConfigLoadResult, NormalizedConfig, ResolveConfigOptions } from '../types.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Storefront Next variables accepted as fallbacks for equivalent toolkit settings.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* @internal
|
|
5
|
+
* These are read by {@link StorefrontNextEnvSource}, which sits below dw.json:
|
|
6
|
+
* they only fill settings that the selected instance and toolkit variables leave unset.
|
|
9
7
|
*/
|
|
10
|
-
export declare
|
|
8
|
+
export declare const STOREFRONT_NEXT_ENV_VAR_MAP: Record<string, keyof NormalizedConfig>;
|
|
9
|
+
/** Options for environment-backed config sources. */
|
|
10
|
+
export interface EnvSourceOptions {
|
|
11
|
+
/** Source name for diagnostics (default: `EnvSource`) */
|
|
12
|
+
name?: string;
|
|
13
|
+
/** Location reported for diagnostics (default: `environment variables`) */
|
|
14
|
+
location?: string;
|
|
15
|
+
}
|
|
11
16
|
/**
|
|
12
17
|
* Configuration source that reads CLI configuration environment variables.
|
|
13
18
|
*
|
|
@@ -18,6 +23,9 @@ export declare function getStorefrontNextEnvironmentConfig(env?: Record<string,
|
|
|
18
23
|
* via oclif flag `env:` mappings; this source is for consumers like
|
|
19
24
|
* the VS Code extension that call `resolveConfig()` directly.
|
|
20
25
|
*
|
|
26
|
+
* Storefront Next variables are not read here; add a
|
|
27
|
+
* {@link StorefrontNextEnvSource} for those.
|
|
28
|
+
*
|
|
21
29
|
* @example
|
|
22
30
|
* ```typescript
|
|
23
31
|
* import { resolveConfig, EnvSource } from '@salesforce/b2c-tooling-sdk/config';
|
|
@@ -30,12 +38,38 @@ export declare function getStorefrontNextEnvironmentConfig(env?: Record<string,
|
|
|
30
38
|
* @internal
|
|
31
39
|
*/
|
|
32
40
|
export declare class EnvSource implements ConfigSource {
|
|
33
|
-
readonly name
|
|
41
|
+
readonly name: string;
|
|
34
42
|
readonly priority = -10;
|
|
35
43
|
private readonly env;
|
|
44
|
+
private readonly location;
|
|
45
|
+
/**
|
|
46
|
+
* @param env - Environment object to read from. Defaults to `process.env`.
|
|
47
|
+
* @param options - Diagnostic name and location
|
|
48
|
+
*/
|
|
49
|
+
constructor(env?: Record<string, string | undefined>, options?: EnvSourceOptions);
|
|
50
|
+
load(_options: ResolveConfigOptions): ConfigLoadResult | undefined;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Configuration source for Storefront Next environment variables
|
|
54
|
+
* (`PUBLIC__app__commerce__api__*`, `COMMERCE_API_SLAS_SECRET`, `PUBLIC__app__defaultSiteId`).
|
|
55
|
+
*
|
|
56
|
+
* Priority 1 (just below dw.json at 0): these values are borrowed from the
|
|
57
|
+
* storefront app, so they only fill settings that flags, toolkit variables and
|
|
58
|
+
* the selected dw.json instance leave unset. Credential pairs are still merged
|
|
59
|
+
* as a group, so a Storefront Next SLAS secret is never paired with a
|
|
60
|
+
* different source's SLAS client ID.
|
|
61
|
+
*
|
|
62
|
+
* @internal
|
|
63
|
+
*/
|
|
64
|
+
export declare class StorefrontNextEnvSource implements ConfigSource {
|
|
65
|
+
readonly name: string;
|
|
66
|
+
readonly priority = 1;
|
|
67
|
+
private readonly env;
|
|
68
|
+
private readonly location;
|
|
36
69
|
/**
|
|
37
70
|
* @param env - Environment object to read from. Defaults to `process.env`.
|
|
71
|
+
* @param options - Diagnostic name and location
|
|
38
72
|
*/
|
|
39
|
-
constructor(env?: Record<string, string | undefined
|
|
73
|
+
constructor(env?: Record<string, string | undefined>, options?: EnvSourceOptions);
|
|
40
74
|
load(_options: ResolveConfigOptions): ConfigLoadResult | undefined;
|
|
41
75
|
}
|