@salesforce/b2c-tooling-sdk 2.3.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.
Files changed (99) hide show
  1. package/data/guides/enrichment.json +291 -0
  2. package/data/guides/index.json +426 -37
  3. package/data/schemas/dw.schema.json +576 -0
  4. package/data/tooling/index.json +14 -5
  5. package/dist/esm/cli/base-command.d.ts +20 -1
  6. package/dist/esm/cli/base-command.js +57 -8
  7. package/dist/esm/cli/base-command.js.map +1 -1
  8. package/dist/esm/cli/command-search.d.ts +85 -0
  9. package/dist/esm/cli/command-search.js +147 -0
  10. package/dist/esm/cli/command-search.js.map +1 -0
  11. package/dist/esm/cli/config.d.ts +10 -1
  12. package/dist/esm/cli/config.js +16 -9
  13. package/dist/esm/cli/config.js.map +1 -1
  14. package/dist/esm/cli/index.d.ts +2 -0
  15. package/dist/esm/cli/index.js +2 -0
  16. package/dist/esm/cli/index.js.map +1 -1
  17. package/dist/esm/cli/instance-command.d.ts +1 -0
  18. package/dist/esm/cli/mrt-command.d.ts +3 -2
  19. package/dist/esm/cli/mrt-command.js +4 -4
  20. package/dist/esm/cli/mrt-command.js.map +1 -1
  21. package/dist/esm/cli/oauth-command.d.ts +1 -0
  22. package/dist/esm/cli/ods-command.d.ts +1 -0
  23. package/dist/esm/cli/webdav-command.d.ts +1 -0
  24. package/dist/esm/clients/custom-apis.d.ts +36 -2
  25. package/dist/esm/clients/custom-apis.js +57 -4
  26. package/dist/esm/clients/custom-apis.js.map +1 -1
  27. package/dist/esm/clients/index.d.ts +1 -1
  28. package/dist/esm/clients/index.js +1 -1
  29. package/dist/esm/clients/index.js.map +1 -1
  30. package/dist/esm/config/dw-json-schema.d.ts +14 -0
  31. package/dist/esm/config/dw-json-schema.js +265 -0
  32. package/dist/esm/config/dw-json-schema.js.map +1 -0
  33. package/dist/esm/config/index.d.ts +6 -2
  34. package/dist/esm/config/index.js +4 -2
  35. package/dist/esm/config/index.js.map +1 -1
  36. package/dist/esm/config/mapping.d.ts +5 -0
  37. package/dist/esm/config/mapping.js +14 -1
  38. package/dist/esm/config/mapping.js.map +1 -1
  39. package/dist/esm/config/project-environment.d.ts +62 -0
  40. package/dist/esm/config/project-environment.js +113 -0
  41. package/dist/esm/config/project-environment.js.map +1 -1
  42. package/dist/esm/config/resolver.js +52 -8
  43. package/dist/esm/config/resolver.js.map +1 -1
  44. package/dist/esm/config/sources/dw-json-source.js +25 -3
  45. package/dist/esm/config/sources/dw-json-source.js.map +1 -1
  46. package/dist/esm/config/sources/env-source.d.ts +42 -8
  47. package/dist/esm/config/sources/env-source.js +83 -50
  48. package/dist/esm/config/sources/env-source.js.map +1 -1
  49. package/dist/esm/config/sources/index.d.ts +1 -1
  50. package/dist/esm/config/sources/index.js +1 -1
  51. package/dist/esm/config/sources/index.js.map +1 -1
  52. package/dist/esm/config/types.d.ts +7 -3
  53. package/dist/esm/docs/search.js +3 -1
  54. package/dist/esm/docs/search.js.map +1 -1
  55. package/dist/esm/docs/types.d.ts +3 -1
  56. package/dist/esm/guidance/bundle.d.ts +33 -0
  57. package/dist/esm/guidance/bundle.js +268 -0
  58. package/dist/esm/guidance/bundle.js.map +1 -0
  59. package/dist/esm/guidance/catalog.d.ts +8 -1
  60. package/dist/esm/guidance/catalog.js +48 -6
  61. package/dist/esm/guidance/catalog.js.map +1 -1
  62. package/dist/esm/guidance/index.d.ts +1 -0
  63. package/dist/esm/guidance/index.js +1 -0
  64. package/dist/esm/guidance/index.js.map +1 -1
  65. package/dist/esm/guidance/types.d.ts +17 -1
  66. package/dist/esm/guidance/types.js.map +1 -1
  67. package/dist/esm/index.d.ts +1 -1
  68. package/dist/esm/index.js +1 -1
  69. package/dist/esm/index.js.map +1 -1
  70. package/dist/esm/scapi/catalog.d.ts +5 -2
  71. package/dist/esm/scapi/catalog.js.map +1 -1
  72. package/dist/esm/scapi/index.d.ts +2 -1
  73. package/dist/esm/scapi/index.js +2 -1
  74. package/dist/esm/scapi/index.js.map +1 -1
  75. package/dist/esm/scapi/live.d.ts +2 -2
  76. package/dist/esm/scapi/live.js +3 -3
  77. package/dist/esm/scapi/live.js.map +1 -1
  78. package/dist/esm/scapi/local.d.ts +9 -0
  79. package/dist/esm/scapi/local.js +91 -0
  80. package/dist/esm/scapi/local.js.map +1 -0
  81. package/dist/esm/scapi/request.js +2 -1
  82. package/dist/esm/scapi/request.js.map +1 -1
  83. package/dist/esm/scapi/worker-source.js +1 -1
  84. package/dist/esm/telemetry/telemetry.d.ts +1 -0
  85. package/dist/esm/telemetry/telemetry.js +18 -1
  86. package/dist/esm/telemetry/telemetry.js.map +1 -1
  87. package/dist/esm/telemetry/types.d.ts +9 -0
  88. package/dist/esm/test-utils/config-isolation.js +12 -13
  89. package/dist/esm/test-utils/config-isolation.js.map +1 -1
  90. package/dist/esm/ux/agent-context.d.ts +69 -0
  91. package/dist/esm/ux/agent-context.js +133 -0
  92. package/dist/esm/ux/agent-context.js.map +1 -0
  93. package/dist/esm/ux/confirm.d.ts +27 -0
  94. package/dist/esm/ux/confirm.js +32 -0
  95. package/dist/esm/ux/confirm.js.map +1 -1
  96. package/dist/esm/ux/index.d.ts +2 -1
  97. package/dist/esm/ux/index.js +2 -1
  98. package/dist/esm/ux/index.js.map +1 -1
  99. package/package.json +4 -1
@@ -0,0 +1,265 @@
1
+ /*
2
+ * Copyright (c) 2025, Salesforce, Inc.
3
+ * SPDX-License-Identifier: Apache-2
4
+ * For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ /**
7
+ * JSON Schema for `dw.json` configuration files.
8
+ *
9
+ * This module is the single source of truth for the published schema at
10
+ * `data/schemas/dw.schema.json` (regenerate with `pnpm run generate:dw-json-schema`).
11
+ * Editors use it for validation, completion, and hover docs; the VS Code
12
+ * extension registers it for every `dw.json`.
13
+ *
14
+ * `dw.json` accepts both kebab-case (canonical) and camelCase spellings, plus a
15
+ * few legacy aliases (see {@link CONFIG_KEY_ALIASES}). The schema lists every
16
+ * accepted spelling so editors do not flag valid files. Unknown keys are allowed
17
+ * because other tools share `dw.json`.
18
+ *
19
+ * @module config/dw-json-schema
20
+ */
21
+ import { CLIENT_AUTH_METHODS } from '../auth/client-credentials.js';
22
+ import { CONFIG_KEY_ALIASES, kebabToCamelCase } from './mapping.js';
23
+ /** Public URL of the published schema (usable as `"$schema"` in dw.json). */
24
+ export const DW_JSON_SCHEMA_URL = 'https://salesforcecommercecloud.github.io/b2c-developer-tooling/schemas/dw.schema.json';
25
+ const DOCS_URL = 'https://salesforcecommercecloud.github.io/b2c-developer-tooling/guide/configuration.html';
26
+ const stringArray = { type: 'array', items: { type: 'string' } };
27
+ const AUTH_METHODS = ['client-credentials', 'jwt', 'user', 'implicit', 'basic', 'api-key'];
28
+ /**
29
+ * Canonical instance-level fields keyed by kebab-case name (the on-disk spelling).
30
+ * Descriptions mirror the Settings Reference in the configuration guide.
31
+ */
32
+ export const DW_JSON_FIELDS = {
33
+ // Instance and site
34
+ name: { type: 'string', description: 'Connection name for instance selection (`--instance` / `SFCC_INSTANCE`).' },
35
+ active: { type: 'boolean', description: 'Use this entry as the default instance.' },
36
+ hostname: {
37
+ type: 'string',
38
+ description: 'Instance hostname, without a URL path (e.g. `abcd-001.dx.commercecloud.salesforce.com`). Env: `SFCC_SERVER`.',
39
+ },
40
+ 'webdav-hostname': { type: 'string', description: 'Separate WebDAV hostname. Env: `SFCC_WEBDAV_SERVER`.' },
41
+ 'code-version': {
42
+ type: 'string',
43
+ description: 'Default code version for operations that accept one. Env: `SFCC_CODE_VERSION`.',
44
+ },
45
+ 'short-code': { type: 'string', description: 'SCAPI short code. Env: `SFCC_SHORTCODE`.' },
46
+ 'tenant-id': {
47
+ type: 'string',
48
+ description: 'Tenant or organization ID, such as `abcd_001` or `f_ecom_abcd_001`. Env: `SFCC_TENANT_ID`.',
49
+ },
50
+ 'site-id': {
51
+ type: 'string',
52
+ description: 'Default site/channel ID for supported site and shopper operations. Env: `SFCC_SITE_ID`.',
53
+ },
54
+ 'api-backend': {
55
+ type: 'string',
56
+ enum: ['auto', 'scapi', 'ocapi'],
57
+ description: 'API backend for operations supporting both SCAPI and OCAPI. `auto` (default) prefers SCAPI with OCAPI fallback. Env: `SFCC_API_BACKEND`.',
58
+ },
59
+ // Administrative authentication
60
+ 'client-id': { type: 'string', description: 'Account Manager API client ID. Env: `SFCC_CLIENT_ID`.' },
61
+ 'client-secret': { type: 'string', description: 'Account Manager client secret. Env: `SFCC_CLIENT_SECRET`.' },
62
+ 'oauth-scopes': {
63
+ ...stringArray,
64
+ description: 'Requested OAuth scopes. Scope grants must be configured on the API client. Env: `SFCC_OAUTH_SCOPES` (comma-separated).',
65
+ },
66
+ 'jwt-cert-path': {
67
+ type: 'string',
68
+ description: 'PEM certificate path for JWT authentication. Env: `SFCC_JWT_CERT`; flag: `--jwt-cert`.',
69
+ },
70
+ 'jwt-key-path': { type: 'string', description: 'PEM private key path for JWT authentication. Env: `SFCC_JWT_KEY`.' },
71
+ 'jwt-passphrase': {
72
+ type: 'string',
73
+ description: 'Passphrase for an encrypted JWT private key. Env: `SFCC_JWT_PASSPHRASE`.',
74
+ },
75
+ 'auth-methods': {
76
+ type: 'array',
77
+ items: { type: 'string', enum: AUTH_METHODS },
78
+ uniqueItems: true,
79
+ description: 'Ordered list of allowed authentication methods. Do not combine with `user-auth`. Env: `SFCC_AUTH_METHODS` (comma-separated).',
80
+ },
81
+ 'user-auth': {
82
+ type: 'boolean',
83
+ description: 'Shorthand for `"auth-methods": ["user"]` (browser login). Do not combine with `auth-methods`.',
84
+ },
85
+ 'account-manager-host': {
86
+ type: 'string',
87
+ description: 'Account Manager hostname override. Env: `SFCC_ACCOUNT_MANAGER_HOST`.',
88
+ },
89
+ 'client-auth-method': {
90
+ type: 'string',
91
+ enum: [...CLIENT_AUTH_METHODS],
92
+ description: 'How client credentials are sent to Account Manager (default `basic`). Env: `SFCC_CLIENT_AUTH_METHOD`; flag: `--client-auth-method`.',
93
+ },
94
+ // Shopper authentication
95
+ 'slas-client-id': {
96
+ type: 'string',
97
+ description: 'Shopper Login and API Access Service (SLAS) client ID. Env: `SFCC_SLAS_CLIENT_ID`.',
98
+ },
99
+ 'slas-client-secret': {
100
+ type: 'string',
101
+ description: 'Secret for a private SLAS client; omit for public clients. Env: `SFCC_SLAS_CLIENT_SECRET`.',
102
+ },
103
+ // WebDAV and certificates
104
+ username: {
105
+ type: 'string',
106
+ description: 'Business Manager username (typically an email address) for WebDAV. Env: `SFCC_USERNAME`.',
107
+ },
108
+ password: { type: 'string', description: 'WebDAV access key for `username`. Env: `SFCC_PASSWORD`.' },
109
+ certificate: {
110
+ type: 'string',
111
+ description: 'Path to a PKCS12 (`.p12` / `.pfx`) client certificate for mTLS. Env: `SFCC_CERTIFICATE`.',
112
+ },
113
+ 'certificate-passphrase': {
114
+ type: 'string',
115
+ description: 'Client certificate passphrase. Env: `SFCC_CERTIFICATE_PASSPHRASE`.',
116
+ },
117
+ 'self-signed': {
118
+ type: 'boolean',
119
+ description: 'Disable server certificate verification (default `false`). Not required just because you use mTLS. Env: `SFCC_SELFSIGNED`.',
120
+ },
121
+ // Code, content, and documentation
122
+ cartridges: {
123
+ oneOf: [stringArray, { type: 'string' }],
124
+ description: 'Cartridge names for deploy/watch filtering and IDE discovery. Array, or a colon/comma-separated string. Env: `SFCC_CARTRIDGES`.',
125
+ },
126
+ 'auto-upload': { type: 'boolean', description: 'Automatically upload code changes from the VS Code extension.' },
127
+ 'content-library': { type: 'string', description: 'Default library for content list/export.' },
128
+ catalogs: { ...stringArray, description: 'Catalog IDs for WebDAV browsing. Env: `SFCC_CATALOGS`.' },
129
+ libraries: {
130
+ type: 'array',
131
+ items: {
132
+ oneOf: [
133
+ { type: 'string' },
134
+ {
135
+ type: 'object',
136
+ required: ['id'],
137
+ properties: {
138
+ id: { type: 'string', description: 'Library ID.' },
139
+ siteLibrary: { type: 'boolean', description: 'Whether this is a site-private library.' },
140
+ },
141
+ },
142
+ ],
143
+ },
144
+ description: 'Content library IDs, as strings or `{"id": "RefArch", "siteLibrary": true}` entries. Env: `SFCC_LIBRARIES`.',
145
+ },
146
+ 'asset-query': {
147
+ ...stringArray,
148
+ description: 'JSON dot-paths for finding static asset URLs in content (default `["image.path"]`). Env: `SFCC_ASSET_QUERY`.',
149
+ },
150
+ 'import-set-exclude': {
151
+ ...stringArray,
152
+ description: 'Project-relative directories to exclude recursively from import-set discovery. Env: `SFCC_IMPORT_SET_EXCLUDE`.',
153
+ },
154
+ 'docs-categories': {
155
+ ...stringArray,
156
+ description: 'Documentation category allowlist for supported searches. Env: `SFCC_DOCS_CATEGORIES`.',
157
+ },
158
+ // Sandboxes and analytics
159
+ realm: { type: 'string', description: 'Default realm for sandbox operations.' },
160
+ 'sandbox-api-host': {
161
+ type: 'string',
162
+ description: 'On-Demand Sandbox API hostname override. Env: `SFCC_SANDBOX_API_HOST`.',
163
+ },
164
+ 'cip-host': { type: 'string', description: 'CIP analytics host override. Env: `SFCC_CIP_HOST`.' },
165
+ safety: {
166
+ type: 'object',
167
+ description: 'Per-instance safety restrictions and confirmation rules. See the Safety Mode guide.',
168
+ additionalProperties: false,
169
+ properties: {
170
+ level: {
171
+ type: 'string',
172
+ enum: ['NONE', 'NO_DELETE', 'NO_UPDATE', 'READ_ONLY'],
173
+ description: 'Baseline restriction level. Env: `SFCC_SAFETY_LEVEL`.',
174
+ },
175
+ confirm: {
176
+ type: 'boolean',
177
+ description: 'Require interactive confirmation for blocked operations instead of refusing them.',
178
+ },
179
+ rules: {
180
+ type: 'array',
181
+ description: 'Ordered rules; the first match wins.',
182
+ items: {
183
+ type: 'object',
184
+ required: ['action'],
185
+ additionalProperties: false,
186
+ properties: {
187
+ method: { type: 'string', description: 'HTTP method pattern (e.g. `POST`, `DELETE`).' },
188
+ path: { type: 'string', description: 'URL path glob (e.g. `/jobs/*/executions`).' },
189
+ job: { type: 'string', description: 'Job ID glob.' },
190
+ command: { type: 'string', description: 'CLI command ID glob (e.g. `sandbox:*`, `ecdn:cache:purge`).' },
191
+ action: { type: 'string', enum: ['allow', 'block', 'confirm'], description: 'Action when the rule matches.' },
192
+ },
193
+ },
194
+ },
195
+ },
196
+ },
197
+ // Managed Runtime
198
+ 'mrt-api-key': { type: 'string', description: 'Managed Runtime API key. Env: `MRT_API_KEY`.' },
199
+ 'mrt-project': {
200
+ type: 'string',
201
+ description: 'Managed Runtime project slug (storefront ID for SCAPI MRT operations). Env: `MRT_PROJECT`.',
202
+ },
203
+ 'mrt-environment': { type: 'string', description: 'Managed Runtime target environment. Env: `MRT_ENVIRONMENT`.' },
204
+ 'mrt-origin': { type: 'string', description: 'Managed Runtime API origin override. Env: `MRT_CLOUD_ORIGIN`.' },
205
+ 'mrt-backend': {
206
+ type: 'string',
207
+ enum: ['auto', 'legacy', 'scapi'],
208
+ description: 'Managed Runtime backend for supported operations (default `auto`). Env: `MRT_BACKEND`.',
209
+ },
210
+ };
211
+ /** Legacy and alternate spellings, excluding simple camelCase forms. */
212
+ function aliasesFor(camelKey) {
213
+ return Object.entries(CONFIG_KEY_ALIASES)
214
+ .filter(([, canonical]) => canonical === camelKey)
215
+ .map(([alias]) => alias);
216
+ }
217
+ /**
218
+ * Builds the `dw.json` JSON Schema from {@link DW_JSON_FIELDS}, adding the
219
+ * camelCase spelling and legacy aliases for every field.
220
+ */
221
+ export function buildDwJsonSchema() {
222
+ const instanceProperties = {};
223
+ for (const [kebab, schema] of Object.entries(DW_JSON_FIELDS)) {
224
+ instanceProperties[kebab] = schema;
225
+ const camel = kebabToCamelCase(kebab);
226
+ const alternates = [camel, ...aliasesFor(camel)].filter((k) => k !== kebab);
227
+ for (const alternate of alternates) {
228
+ instanceProperties[alternate] ??= {
229
+ ...schema,
230
+ description: `Alternate spelling of \`${kebab}\`. ${String(schema.description ?? '')}`.trim(),
231
+ };
232
+ }
233
+ }
234
+ const instanceSchema = {
235
+ type: 'object',
236
+ properties: instanceProperties,
237
+ additionalProperties: true,
238
+ not: {
239
+ anyOf: [
240
+ { required: ['user-auth', 'auth-methods'] },
241
+ { required: ['userAuth', 'authMethods'] },
242
+ { required: ['user-auth', 'authMethods'] },
243
+ { required: ['userAuth', 'auth-methods'] },
244
+ ],
245
+ },
246
+ };
247
+ return {
248
+ $schema: 'http://json-schema.org/draft-07/schema#',
249
+ $id: DW_JSON_SCHEMA_URL,
250
+ title: 'B2C Commerce dw.json',
251
+ description: `Connection and project configuration for B2C Commerce tooling. See ${DOCS_URL}`,
252
+ definitions: { instance: instanceSchema },
253
+ allOf: [{ $ref: '#/definitions/instance' }],
254
+ type: 'object',
255
+ properties: {
256
+ $schema: { type: 'string', description: 'JSON Schema reference for editor support.' },
257
+ configs: {
258
+ type: 'array',
259
+ description: 'Named instance entries. Select one with `--instance` / `SFCC_INSTANCE`, or mark one `active`.',
260
+ items: { $ref: '#/definitions/instance' },
261
+ },
262
+ },
263
+ };
264
+ }
265
+ //# sourceMappingURL=dw-json-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dw-json-schema.js","sourceRoot":"","sources":["../../../src/config/dw-json-schema.ts"],"names":[],"mappings":"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"}
@@ -92,6 +92,8 @@
92
92
  export { resolveConfig, ConfigResolver, createConfigResolver } from './resolver.js';
93
93
  export type { MaybePromise, NormalizedConfig, LibraryEntry, ConfigSource, ConfigLoadResult, ConfigSourceInfo, ConfigCatalogFile, ConfigResolutionResult, ConfigWarning, ConfigWarningCode, ResolveConfigOptions, ResolvedB2CConfig, CreateOAuthOptions, CreateB2CInstanceOptions, InstanceInfo, CreateInstanceOptions, } from './types.js';
94
94
  export { createInstanceFromConfig, normalizeConfigKeys, resolveLibraryEntries } from './mapping.js';
95
+ export { buildDwJsonSchema, DW_JSON_FIELDS, DW_JSON_SCHEMA_URL } from './dw-json-schema.js';
96
+ export type { JsonSchema } from './dw-json-schema.js';
95
97
  export { loadDwJson, loadFullDwJson, findDwJson, saveDwJson, addInstance, removeInstance, setActiveInstance, updateInstanceConfig, } from './dw-json.js';
96
98
  export type { DwJsonConfig, DwJsonMultiConfig, LoadDwJsonOptions, LoadDwJsonResult, AddInstanceOptions, RemoveInstanceOptions, SetActiveInstanceOptions, UpdateInstanceConfigOptions, } from './dw-json.js';
97
99
  export { InstanceManager, createInstanceManager } from './instance-manager.js';
@@ -99,6 +101,8 @@ export { SENSITIVE_CONFIG_FIELDS, isSensitiveConfigField, maskConfigValue, redac
99
101
  export { ConfigSourceRegistry, globalConfigSourceRegistry } from './config-source-registry.js';
100
102
  export { B2C_SETTINGS_FILENAME, getB2CConfigDirectory, getB2CSettingsPath, readB2CSettings, writeB2CSettings, } from './settings.js';
101
103
  export type { B2CSettings, B2CSettingsPathOptions } from './settings.js';
102
- export { mergeProjectEnvironment, readProjectEnvironment } from './project-environment.js';
104
+ export { ENV_FILE_ENV_VAR, applyEnvFile, loadEnvFileForArgv, mergeProjectEnvironment, preloadEnvFile, readEnvFile, readProjectEnvironment, resolveEnvFilePath, takePreloadedEnvFile, } from './project-environment.js';
105
+ export type { EnvFileSelectionOptions, LoadedEnvFile } from './project-environment.js';
103
106
  export { DwJsonSource } from './sources/dw-json-source.js';
104
- export { EnvSource } from './sources/env-source.js';
107
+ export { EnvSource, StorefrontNextEnvSource, STOREFRONT_NEXT_ENV_VAR_MAP } from './sources/env-source.js';
108
+ export type { EnvSourceOptions } from './sources/env-source.js';
@@ -98,6 +98,8 @@
98
98
  export { resolveConfig, ConfigResolver, createConfigResolver } from './resolver.js';
99
99
  // Instance creation utility (public API for CLI commands)
100
100
  export { createInstanceFromConfig, normalizeConfigKeys, resolveLibraryEntries } from './mapping.js';
101
+ // dw.json JSON Schema (published as data/schemas/dw.schema.json)
102
+ export { buildDwJsonSchema, DW_JSON_FIELDS, DW_JSON_SCHEMA_URL } from './dw-json-schema.js';
101
103
  // Low-level dw.json API (still available for advanced use)
102
104
  export { loadDwJson, loadFullDwJson, findDwJson, saveDwJson, addInstance, removeInstance, setActiveInstance, updateInstanceConfig, } from './dw-json.js';
103
105
  // Instance management
@@ -109,8 +111,8 @@ export { ConfigSourceRegistry, globalConfigSourceRegistry } from './config-sourc
109
111
  // Shared user-level settings
110
112
  export { B2C_SETTINGS_FILENAME, getB2CConfigDirectory, getB2CSettingsPath, readB2CSettings, writeB2CSettings, } from './settings.js';
111
113
  // Project-scoped environment loading
112
- export { mergeProjectEnvironment, readProjectEnvironment } from './project-environment.js';
114
+ export { ENV_FILE_ENV_VAR, applyEnvFile, loadEnvFileForArgv, mergeProjectEnvironment, preloadEnvFile, readEnvFile, readProjectEnvironment, resolveEnvFilePath, takePreloadedEnvFile, } from './project-environment.js';
113
115
  // Config sources (for direct use)
114
116
  export { DwJsonSource } from './sources/dw-json-source.js';
115
- export { EnvSource } from './sources/env-source.js';
117
+ export { EnvSource, StorefrontNextEnvSource, STOREFRONT_NEXT_ENV_VAR_MAP } from './sources/env-source.js';
116
118
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0FG;AAEH,6BAA6B;AAC7B,OAAO,EAAC,aAAa,EAAE,cAAc,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAsBlF,0DAA0D;AAC1D,OAAO,EAAC,wBAAwB,EAAE,mBAAmB,EAAE,qBAAqB,EAAC,MAAM,cAAc,CAAC;AAElG,2DAA2D;AAC3D,OAAO,EACL,UAAU,EACV,cAAc,EACd,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAYtB,sBAAsB;AACtB,OAAO,EAAC,eAAe,EAAE,qBAAqB,EAAC,MAAM,uBAAuB,CAAC;AAE7E,qFAAqF;AACrF,OAAO,EAAC,uBAAuB,EAAE,sBAAsB,EAAE,eAAe,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAEpH,kEAAkE;AAClE,OAAO,EAAC,oBAAoB,EAAE,0BAA0B,EAAC,MAAM,6BAA6B,CAAC;AAE7F,6BAA6B;AAC7B,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAGvB,qCAAqC;AACrC,OAAO,EAAC,uBAAuB,EAAE,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAEzF,kCAAkC;AAClC,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0FG;AAEH,6BAA6B;AAC7B,OAAO,EAAC,aAAa,EAAE,cAAc,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAsBlF,0DAA0D;AAC1D,OAAO,EAAC,wBAAwB,EAAE,mBAAmB,EAAE,qBAAqB,EAAC,MAAM,cAAc,CAAC;AAElG,iEAAiE;AACjE,OAAO,EAAC,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAG1F,2DAA2D;AAC3D,OAAO,EACL,UAAU,EACV,cAAc,EACd,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAYtB,sBAAsB;AACtB,OAAO,EAAC,eAAe,EAAE,qBAAqB,EAAC,MAAM,uBAAuB,CAAC;AAE7E,qFAAqF;AACrF,OAAO,EAAC,uBAAuB,EAAE,sBAAsB,EAAE,eAAe,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAEpH,kEAAkE;AAClE,OAAO,EAAC,oBAAoB,EAAE,0BAA0B,EAAC,MAAM,6BAA6B,CAAC;AAE7F,6BAA6B;AAC7B,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAGvB,qCAAqC;AACrC,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,WAAW,EACX,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAGlC,kCAAkC;AAClC,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAC,SAAS,EAAE,uBAAuB,EAAE,2BAA2B,EAAC,MAAM,yBAAyB,CAAC"}
@@ -166,6 +166,11 @@ export interface MergeConfigResult {
166
166
  * // warnings = [{ code: 'HOSTNAME_MISMATCH', ... }]
167
167
  * ```
168
168
  */
169
+ /**
170
+ * Whether two hostnames name the same server, ignoring case, an `https://`
171
+ * scheme, the default port and a trailing slash.
172
+ */
173
+ export declare function isSameHostname(a: string, b: string): boolean;
169
174
  export declare function mergeConfigsWithProtection(overrides: Partial<NormalizedConfig>, base: NormalizedConfig, options?: MergeConfigOptions): MergeConfigResult;
170
175
  /**
171
176
  * Gets the list of fields that have values in a config.
@@ -385,13 +385,26 @@ export function mapNormalizedConfigToDwJson(config, name) {
385
385
  * // warnings = [{ code: 'HOSTNAME_MISMATCH', ... }]
386
386
  * ```
387
387
  */
388
+ /**
389
+ * Whether two hostnames name the same server, ignoring case, an `https://`
390
+ * scheme, the default port and a trailing slash.
391
+ */
392
+ export function isSameHostname(a, b) {
393
+ const normalize = (hostname) => hostname
394
+ .trim()
395
+ .toLowerCase()
396
+ .replace(/^https?:\/\//, '')
397
+ .replace(/\/+$/, '')
398
+ .replace(/:443$/, '');
399
+ return normalize(a) === normalize(b);
400
+ }
388
401
  export function mergeConfigsWithProtection(overrides, base, options = {}) {
389
402
  const warnings = [];
390
403
  const hostnameProtection = options.hostnameProtection !== false;
391
404
  const clientIdProtection = options.clientIdProtection !== false;
392
405
  // Check for hostname mismatch
393
406
  const hostnameExplicitlyProvided = Boolean(overrides.hostname);
394
- const hostnameMismatch = hostnameExplicitlyProvided && Boolean(base.hostname) && overrides.hostname !== base.hostname;
407
+ const hostnameMismatch = hostnameExplicitlyProvided && Boolean(base.hostname) && !isSameHostname(overrides.hostname, base.hostname);
395
408
  if (hostnameMismatch && hostnameProtection) {
396
409
  warnings.push({
397
410
  code: 'HOSTNAME_MISMATCH',
@@ -1 +1 @@
1
- {"version":3,"file":"mapping.js","sourceRoot":"","sources":["../../../src/config/mapping.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapping.js","sourceRoot":"","sources":["../../../src/config/mapping.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,66 @@
1
+ /** Environment variable that selects the env file (`SFCC_DOTENV_FILE=` selects none). */
2
+ export declare const ENV_FILE_ENV_VAR = "SFCC_DOTENV_FILE";
1
3
  /** Read all variables from a project's `.env` file without mutating `process.env`. */
2
4
  export declare function readProjectEnvironment(projectDirectory?: string): Record<string, string | undefined> | undefined;
3
5
  /** Merge project variables with an ambient environment, with ambient values taking precedence. */
4
6
  export declare function mergeProjectEnvironment(projectEnvironment?: Record<string, string | undefined>, ambientEnvironment?: Record<string, string | undefined>): Record<string, string | undefined>;
7
+ /** Options for selecting a project env file. */
8
+ export interface EnvFileSelectionOptions {
9
+ /**
10
+ * Explicit env file path. An empty string selects no env file; `undefined`
11
+ * selects `<projectDirectory>/.env` when it exists. Relative paths resolve
12
+ * from the current working directory.
13
+ */
14
+ envFile?: string;
15
+ /** Directory searched for the default `.env` (default: current working directory) */
16
+ projectDirectory?: string;
17
+ }
18
+ /**
19
+ * Resolves which env file applies.
20
+ *
21
+ * An explicit file replaces the default `.env` (it is not layered on top of it).
22
+ *
23
+ * @returns Absolute path of the env file, or undefined when none applies
24
+ * @throws Error if an explicitly selected file does not exist
25
+ */
26
+ export declare function resolveEnvFilePath(options?: EnvFileSelectionOptions): string | undefined;
27
+ /** Reads variables from an env file without mutating `process.env`. */
28
+ export declare function readEnvFile(filePath: string): Record<string, string | undefined>;
29
+ /**
30
+ * Loads env file variables into an environment object without overriding
31
+ * values that are already set (shell variables win).
32
+ *
33
+ * `SFCC_DOTENV_FILE` is ignored inside env files (no chaining). A relative
34
+ * `SFCC_CONFIG` resolves from the env file's directory.
35
+ *
36
+ * @returns Names of the variables that were applied
37
+ */
38
+ export declare function applyEnvFile(filePath: string, env?: Record<string, string | undefined>): string[];
39
+ /** An env file applied to the environment, with the variables it set. */
40
+ export interface LoadedEnvFile {
41
+ path: string;
42
+ keys: string[];
43
+ }
44
+ /**
45
+ * Selects the env file for a command line and applies it without overriding
46
+ * variables that are already set.
47
+ *
48
+ * `--dotenv-file` / `SFCC_DOTENV_FILE` select the file; otherwise
49
+ * `<--project-directory>/.env` or `./.env` applies.
50
+ *
51
+ * @throws Error if an explicitly selected file does not exist
52
+ */
53
+ export declare function loadEnvFileForArgv(argv: string[], env?: Record<string, string | undefined>): LoadedEnvFile | undefined;
54
+ /**
55
+ * Applies the env file from an executable's entry point, before oclif starts,
56
+ * so hooks and plugins see its values. Errors are left for the command to
57
+ * report when it loads the env file again.
58
+ */
59
+ export declare function preloadEnvFile(argv?: string[]): void;
60
+ /** Returns (and forgets) the env file applied by {@link preloadEnvFile}. */
61
+ export declare function takePreloadedEnvFile(): LoadedEnvFile | undefined;
62
+ /**
63
+ * Reads a string flag value from raw argv (`--flag value` or `--flag=value`)
64
+ * before oclif parses it. Stops at `--`.
65
+ */
66
+ export declare function readRawFlag(argv: string[], names: string[]): string | undefined;
@@ -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