@salesforce/b2c-tooling-sdk 2.3.0 → 2.5.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 +291 -0
- package/data/guides/index.json +426 -37
- package/data/schemas/dw.schema.json +590 -0
- package/data/tooling/index.json +18 -9
- package/dist/esm/cli/base-command.d.ts +20 -1
- package/dist/esm/cli/base-command.js +61 -11
- package/dist/esm/cli/base-command.js.map +1 -1
- package/dist/esm/cli/cartridge-command.js +2 -1
- package/dist/esm/cli/cartridge-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 +18 -9
- package/dist/esm/cli/config.js.map +1 -1
- package/dist/esm/cli/hooks.d.ts +13 -0
- package/dist/esm/cli/hooks.js +11 -0
- package/dist/esm/cli/hooks.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 +1 -0
- package/dist/esm/cli/instance-command.js +2 -1
- package/dist/esm/cli/instance-command.js.map +1 -1
- package/dist/esm/cli/mrt-command.d.ts +3 -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 +1 -0
- package/dist/esm/cli/ods-command.d.ts +1 -0
- package/dist/esm/cli/webdav-command.d.ts +1 -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/scapi-backend-utils.d.ts +15 -0
- package/dist/esm/clients/scapi-backend-utils.js +28 -1
- package/dist/esm/clients/scapi-backend-utils.js.map +1 -1
- package/dist/esm/clients/scapi-fallback-backend.js +2 -2
- package/dist/esm/clients/scapi-fallback-backend.js.map +1 -1
- package/dist/esm/clients/scapi-schemas.generated.d.ts +2 -2
- package/dist/esm/compat/dispatcher.js +2 -2
- package/dist/esm/compat/dispatcher.js.map +1 -1
- package/dist/esm/config/config-origins.d.ts +19 -0
- package/dist/esm/config/config-origins.js +11 -0
- package/dist/esm/config/config-origins.js.map +1 -0
- package/dist/esm/config/config-write.d.ts +86 -0
- package/dist/esm/config/config-write.js +296 -0
- package/dist/esm/config/config-write.js.map +1 -0
- package/dist/esm/config/dw-json-schema.d.ts +14 -0
- package/dist/esm/config/dw-json-schema.js +269 -0
- package/dist/esm/config/dw-json-schema.js.map +1 -0
- package/dist/esm/config/dw-json.d.ts +2 -0
- package/dist/esm/config/dw-json.js +10 -6
- package/dist/esm/config/dw-json.js.map +1 -1
- package/dist/esm/config/index.d.ts +13 -4
- package/dist/esm/config/index.js +8 -3
- package/dist/esm/config/index.js.map +1 -1
- package/dist/esm/config/instance-manager.d.ts +64 -28
- package/dist/esm/config/instance-manager.js +145 -63
- package/dist/esm/config/instance-manager.js.map +1 -1
- package/dist/esm/config/mapping.d.ts +5 -0
- package/dist/esm/config/mapping.js +20 -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/resolver.d.ts +22 -0
- package/dist/esm/config/resolver.js +106 -37
- package/dist/esm/config/resolver.js.map +1 -1
- package/dist/esm/config/sources/dw-json-source.d.ts +9 -1
- package/dist/esm/config/sources/dw-json-source.js +59 -23
- package/dist/esm/config/sources/dw-json-source.js.map +1 -1
- package/dist/esm/config/sources/env-source.d.ts +70 -9
- package/dist/esm/config/sources/env-source.js +205 -47
- 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 +53 -3
- package/dist/esm/docs/search.js +3 -1
- package/dist/esm/docs/search.js.map +1 -1
- package/dist/esm/docs/types.d.ts +3 -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/operations/jobs/run-system-job.js +2 -2
- package/dist/esm/operations/jobs/run-system-job.js.map +1 -1
- package/dist/esm/plugins/discovery.js +2 -1
- package/dist/esm/plugins/discovery.js.map +1 -1
- package/dist/esm/scapi/catalog.d.ts +5 -2
- package/dist/esm/scapi/catalog.js.map +1 -1
- package/dist/esm/scapi/index.d.ts +6 -2
- package/dist/esm/scapi/index.js +4 -2
- package/dist/esm/scapi/index.js.map +1 -1
- package/dist/esm/scapi/live.d.ts +14 -3
- package/dist/esm/scapi/live.js +33 -5
- package/dist/esm/scapi/live.js.map +1 -1
- package/dist/esm/scapi/local.d.ts +26 -0
- package/dist/esm/scapi/local.js +143 -0
- package/dist/esm/scapi/local.js.map +1 -0
- package/dist/esm/scapi/request.d.ts +2 -2
- package/dist/esm/scapi/request.js +4 -2
- package/dist/esm/scapi/request.js.map +1 -1
- package/dist/esm/scapi/runtime.d.ts +5 -0
- package/dist/esm/scapi/runtime.js.map +1 -1
- package/dist/esm/scapi/schema-source.d.ts +90 -0
- package/dist/esm/scapi/schema-source.js +146 -0
- package/dist/esm/scapi/schema-source.js.map +1 -0
- package/dist/esm/scapi/worker-source.js +31 -7
- package/dist/esm/scapi/worker-source.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 +21 -15
- 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/node_modules/@salesforce/b2c-api-schemas/manifest.json +83 -42
- package/node_modules/@salesforce/b2c-api-schemas/package.json +1 -1
- package/node_modules/@salesforce/b2c-api-schemas/scapi/cdn/zones/v1.json +6798 -238
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/orders/v1.json +2296 -205
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-baskets/v1.json +5571 -666
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-baskets/v2.json +6062 -371
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-orders/v1.json +3426 -360
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-payments/v1.json +351 -99
- package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/cors/v1.json +172 -12
- package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/preferences/v1.json +1497 -111
- package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/shopper-configurations/v1.json +202 -36
- package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/timeouts/v1.json +79 -10
- package/node_modules/@salesforce/b2c-api-schemas/scapi/custom-object/custom-objects/v1.json +785 -49
- package/node_modules/@salesforce/b2c-api-schemas/scapi/custom-object/shopper-custom-objects/v1.json +191 -40
- package/node_modules/@salesforce/b2c-api-schemas/scapi/customer/customers/v1.json +1483 -107
- package/node_modules/@salesforce/b2c-api-schemas/scapi/customer/shopper-customers/v1.json +4854 -787
- package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/custom-apis/v1.json +119 -15
- package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/object-definitions/v1.json +1699 -80
- package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/scapi-schemas/v1.json +252 -18
- package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/scripts/v1.json +329 -23
- package/node_modules/@salesforce/b2c-api-schemas/scapi/experience/experiences/v1.json +4208 -234
- package/node_modules/@salesforce/b2c-api-schemas/scapi/experience/shopper-experience/v1.json +1591 -247
- package/node_modules/@salesforce/b2c-api-schemas/scapi/intelligence/analytics/v1.json +396 -8
- package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/availability/v1.json +1242 -69
- package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/impex/v1.json +2354 -248
- package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/reservation/v1.json +1550 -45
- package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/segmentation/v1.json +6615 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/merchant/roles/v1.json +1520 -59
- package/node_modules/@salesforce/b2c-api-schemas/scapi/merchant/users/v1.json +397 -17
- package/node_modules/@salesforce/b2c-api-schemas/scapi/observability/metrics/v1.json +1241 -27
- package/node_modules/@salesforce/b2c-api-schemas/scapi/operation/jobs/v1.json +1069 -68
- package/node_modules/@salesforce/b2c-api-schemas/scapi/operation/replications/v1.json +410 -23
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/assignments/v1.json +502 -102
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/campaigns/v1.json +1112 -94
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/coupons/v1.json +820 -93
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/gift-certificates/v1.json +845 -92
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/promotions/v1.json +2716 -674
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/shopper-gift-certificates/v1.json +130 -47
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/shopper-promotions/v1.json +233 -63
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/source-code-groups/v1.json +630 -70
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/catalogs/v1.json +2886 -348
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/inventory-lists/v1.json +520 -19
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/price-books/v1.json +3115 -293
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/products/v1.json +3313 -138
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-availability/v1.json +266 -52
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-delivery-estimates/v1.json +256 -48
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-products/v1.json +1744 -306
- package/node_modules/@salesforce/b2c-api-schemas/scapi/search/shopper-search/v1.json +1661 -120
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/auth/v1.json +2174 -118
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/auth-admin/v1.json +1373 -24
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/consents/v1.json +531 -20
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-agents/v1.json +154 -6
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-consents/v1.json +596 -79
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-context/v1.json +456 -42
- package/node_modules/@salesforce/b2c-api-schemas/scapi/site/seo/v1.json +101 -23
- package/node_modules/@salesforce/b2c-api-schemas/scapi/site/shopper-seo/v1.json +184 -41
- package/node_modules/@salesforce/b2c-api-schemas/scapi/site/sites/v1.json +995 -47
- package/node_modules/@salesforce/b2c-api-schemas/scapi/store/shopper-stores/v1.json +370 -67
- package/node_modules/@salesforce/b2c-api-schemas/scapi/store/store-redirect-mappings/v1.json +319 -11
- package/node_modules/@salesforce/b2c-api-schemas/scapi/store/stores/v1.json +1109 -64
- package/node_modules/@salesforce/b2c-api-schemas/scapi/storefront/deployments/v1.json +1442 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/storefront/environments/v1.json +4293 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/storefront/storefronts/v1.json +1371 -0
- package/package.json +5 -2
- package/specs/scapi-schemas-v1.yaml +4 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ConfigSource, ConfigLoadResult, ResolveConfigOptions, InstanceInfo, CreateInstanceOptions } from '../types.js';
|
|
1
|
+
import type { ConfigSource, ConfigLoadResult, ResolveConfigOptions, InstanceInfo, CreateInstanceOptions, ConfigUpdateResult, NormalizedConfig } from '../types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Configuration source that loads from dw.json files.
|
|
4
4
|
*
|
|
@@ -18,6 +18,14 @@ export declare class DwJsonSource implements ConfigSource {
|
|
|
18
18
|
* @returns The loaded configuration and file location, or undefined if dw.json is not found
|
|
19
19
|
*/
|
|
20
20
|
load(options: ResolveConfigOptions): Promise<ConfigLoadResult | undefined>;
|
|
21
|
+
/**
|
|
22
|
+
* Update fields of the entry {@link load} selects for the same options.
|
|
23
|
+
*
|
|
24
|
+
* @throws Error if no entry is selected or a field has no dw.json key
|
|
25
|
+
*/
|
|
26
|
+
updateConfig(patch: Partial<NormalizedConfig>, options: ResolveConfigOptions): Promise<ConfigUpdateResult>;
|
|
27
|
+
/** Select the named, active, or root entry across the catalog files, in order. */
|
|
28
|
+
private selectEntry;
|
|
21
29
|
/**
|
|
22
30
|
* List all instances from dw.json.
|
|
23
31
|
*/
|
|
@@ -10,11 +10,18 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { existsSync } from 'node:fs';
|
|
12
12
|
import path from 'node:path';
|
|
13
|
-
import { loadDwJson, loadFullDwJson, addInstance, removeInstance, saveDwJson, setActiveInstance } from '../dw-json.js';
|
|
14
|
-
import {
|
|
13
|
+
import { loadDwJson, loadFullDwJson, addInstance, removeInstance, saveDwJson, setActiveInstance, updateInstanceConfig, } from '../dw-json.js';
|
|
14
|
+
import { listConfigKeys } from '../config-write.js';
|
|
15
|
+
import { getPopulatedFields, kebabToCamelCase, mapDwJsonToNormalizedConfig, mapNormalizedConfigToDwJson, } from '../mapping.js';
|
|
15
16
|
import { getLogger } from '../../logging/logger.js';
|
|
16
|
-
/**
|
|
17
|
+
/**
|
|
18
|
+
* Select the explicit, project-local, or global-default dw.json path.
|
|
19
|
+
*
|
|
20
|
+
* @throws Error if an empty config path selected no dw.json
|
|
21
|
+
*/
|
|
17
22
|
function selectConfigPath(options) {
|
|
23
|
+
if (options.configPath === '')
|
|
24
|
+
throw new Error('No dw.json is selected (empty config path).');
|
|
18
25
|
if (options.configPath)
|
|
19
26
|
return options.configPath;
|
|
20
27
|
const projectConfigPath = path.join(options.projectDirectory ?? options.workingDirectory ?? process.cwd(), 'dw.json');
|
|
@@ -22,10 +29,22 @@ function selectConfigPath(options) {
|
|
|
22
29
|
return projectConfigPath;
|
|
23
30
|
return options.defaultConfigPath;
|
|
24
31
|
}
|
|
25
|
-
/**
|
|
32
|
+
/**
|
|
33
|
+
* Select the ordered files that contribute instances to the effective catalog.
|
|
34
|
+
*
|
|
35
|
+
* An explicit config path is exact: it is the only file used, without the
|
|
36
|
+
* global default. An empty config path selects no dw.json at all. A discovered
|
|
37
|
+
* project dw.json is still supplemented by the global default.
|
|
38
|
+
*/
|
|
26
39
|
function selectConfigPaths(options) {
|
|
40
|
+
if (options.configPath === '')
|
|
41
|
+
return [];
|
|
42
|
+
if (options.configPath !== undefined) {
|
|
43
|
+
const explicitPath = path.resolve(options.configPath);
|
|
44
|
+
return existsSync(explicitPath) ? [explicitPath] : [];
|
|
45
|
+
}
|
|
27
46
|
const paths = [];
|
|
28
|
-
const primaryPath = path.resolve(
|
|
47
|
+
const primaryPath = path.resolve(path.join(options.projectDirectory ?? options.workingDirectory ?? process.cwd(), 'dw.json'));
|
|
29
48
|
if (existsSync(primaryPath))
|
|
30
49
|
paths.push(primaryPath);
|
|
31
50
|
const defaultConfigPath = options.defaultConfigPath ? path.resolve(options.defaultConfigPath) : undefined;
|
|
@@ -129,25 +148,12 @@ export class DwJsonSource {
|
|
|
129
148
|
*/
|
|
130
149
|
async load(options) {
|
|
131
150
|
const logger = getLogger();
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
for (const configPath of configPaths) {
|
|
136
|
-
result = await loadDwJson({ instance: options.instance, path: configPath });
|
|
137
|
-
if (result)
|
|
138
|
-
break;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
else {
|
|
142
|
-
for (const configPath of configPaths) {
|
|
143
|
-
result = await loadActiveConfig(configPath);
|
|
144
|
-
if (!result) {
|
|
145
|
-
result = await loadDefaultConfig(configPath);
|
|
146
|
-
}
|
|
147
|
-
if (result)
|
|
148
|
-
break;
|
|
149
|
-
}
|
|
151
|
+
// Reported as a SOURCE_ERROR warning; an explicit path never falls back to another file.
|
|
152
|
+
if (options.configPath && !existsSync(path.resolve(options.configPath))) {
|
|
153
|
+
throw new Error(`Config file not found: ${path.resolve(options.configPath)}`);
|
|
150
154
|
}
|
|
155
|
+
const configPaths = selectConfigPaths(options);
|
|
156
|
+
const result = await this.selectEntry(configPaths, options);
|
|
151
157
|
const instanceCatalog = createInstanceCatalog(configPaths, result?.path, options);
|
|
152
158
|
if (!result) {
|
|
153
159
|
if (instanceCatalog.length > 0) {
|
|
@@ -162,6 +168,36 @@ export class DwJsonSource {
|
|
|
162
168
|
logger.trace({ location: result.path, scope, fields }, '[DwJsonSource] Loaded config');
|
|
163
169
|
return { config, location: result.path, scope, instanceCatalog };
|
|
164
170
|
}
|
|
171
|
+
/**
|
|
172
|
+
* Update fields of the entry {@link load} selects for the same options.
|
|
173
|
+
*
|
|
174
|
+
* @throws Error if no entry is selected or a field has no dw.json key
|
|
175
|
+
*/
|
|
176
|
+
async updateConfig(patch, options) {
|
|
177
|
+
const selected = await this.selectEntry(selectConfigPaths(options), options);
|
|
178
|
+
if (!selected)
|
|
179
|
+
throw new Error('No dw.json entry is selected to update.');
|
|
180
|
+
const dwPatch = {};
|
|
181
|
+
for (const [field, value] of Object.entries(patch)) {
|
|
182
|
+
const key = listConfigKeys().find((entry) => entry.field === field);
|
|
183
|
+
if (!key)
|
|
184
|
+
throw new Error(`${field} can't be stored in dw.json.`);
|
|
185
|
+
dwPatch[kebabToCamelCase(key.key)] = value;
|
|
186
|
+
}
|
|
187
|
+
const result = await updateInstanceConfig(dwPatch, { path: selected.path, instance: selected.config.name });
|
|
188
|
+
return { location: result.path, instance: result.name };
|
|
189
|
+
}
|
|
190
|
+
/** Select the named, active, or root entry across the catalog files, in order. */
|
|
191
|
+
async selectEntry(configPaths, options) {
|
|
192
|
+
for (const configPath of configPaths) {
|
|
193
|
+
const result = options.instance
|
|
194
|
+
? await loadDwJson({ instance: options.instance, path: configPath })
|
|
195
|
+
: ((await loadActiveConfig(configPath)) ?? (await loadDefaultConfig(configPath)));
|
|
196
|
+
if (result)
|
|
197
|
+
return result;
|
|
198
|
+
}
|
|
199
|
+
return undefined;
|
|
200
|
+
}
|
|
165
201
|
/**
|
|
166
202
|
* List all instances from dw.json.
|
|
167
203
|
*/
|
|
@@ -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,
|
|
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
|
-
import type { ConfigSource, ConfigLoadResult, NormalizedConfig, ResolveConfigOptions } from '../types.js';
|
|
1
|
+
import type { ConfigSource, ConfigLoadResult, ConfigUpdateResult, 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,65 @@ 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
|
+
* The project `.env` file, as a writable configuration source.
|
|
54
|
+
*
|
|
55
|
+
* Reads like {@link EnvSource}. Writes edit the file in place: the
|
|
56
|
+
* highest-precedence variable already present for a field is replaced,
|
|
57
|
+
* otherwise the field's canonical (highest-precedence) variable is appended. Removing a field
|
|
58
|
+
* deletes every variable that maps to it.
|
|
59
|
+
*
|
|
60
|
+
* @internal
|
|
61
|
+
*/
|
|
62
|
+
export declare class DotenvFileSource extends EnvSource {
|
|
63
|
+
private readonly filePath;
|
|
64
|
+
/**
|
|
65
|
+
* @param filePath - The .env file
|
|
66
|
+
* @param env - Values applied from the file (defaults to the file's contents)
|
|
67
|
+
*/
|
|
68
|
+
constructor(filePath: string, env?: Record<string, string | undefined>);
|
|
69
|
+
updateConfig(patch: Partial<NormalizedConfig>, _options: ResolveConfigOptions): ConfigUpdateResult;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Configuration source for Storefront Next environment variables
|
|
73
|
+
* (`PUBLIC__app__commerce__api__*`, `COMMERCE_API_SLAS_SECRET`, `PUBLIC__app__defaultSiteId`).
|
|
74
|
+
*
|
|
75
|
+
* Priority 1 (just below dw.json at 0): these values are borrowed from the
|
|
76
|
+
* storefront app, so they only fill settings that flags, toolkit variables and
|
|
77
|
+
* the selected dw.json instance leave unset. Credential pairs are still merged
|
|
78
|
+
* as a group, so a Storefront Next SLAS secret is never paired with a
|
|
79
|
+
* different source's SLAS client ID.
|
|
80
|
+
*
|
|
81
|
+
* @internal
|
|
82
|
+
*/
|
|
83
|
+
export declare class StorefrontNextEnvSource implements ConfigSource {
|
|
84
|
+
readonly name: string;
|
|
85
|
+
readonly priority = 1;
|
|
86
|
+
/**
|
|
87
|
+
* Present when every value came from one .env file: writes there use toolkit
|
|
88
|
+
* (`SFCC_*`) variables. Settings the Storefront Next variables hold are
|
|
89
|
+
* refused, since those belong to the storefront app.
|
|
90
|
+
*/
|
|
91
|
+
readonly updateConfig?: (patch: Partial<NormalizedConfig>, options: ResolveConfigOptions) => ConfigUpdateResult;
|
|
92
|
+
private readonly env;
|
|
93
|
+
private readonly location;
|
|
36
94
|
/**
|
|
37
95
|
* @param env - Environment object to read from. Defaults to `process.env`.
|
|
96
|
+
* @param options - Diagnostic name and location; `envFile` makes the source writable
|
|
38
97
|
*/
|
|
39
|
-
constructor(env?: Record<string, string | undefined
|
|
98
|
+
constructor(env?: Record<string, string | undefined>, options?: EnvSourceOptions & {
|
|
99
|
+
envFile?: string;
|
|
100
|
+
});
|
|
40
101
|
load(_options: ResolveConfigOptions): ConfigLoadResult | undefined;
|
|
41
102
|
}
|
|
@@ -1,8 +1,28 @@
|
|
|
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
|
+
* Environment variable configuration source.
|
|
8
|
+
*
|
|
9
|
+
* Maps CLI configuration environment variables to NormalizedConfig fields.
|
|
10
|
+
* Not included in default sources — opt-in only via `sourcesBefore`.
|
|
11
|
+
*
|
|
12
|
+
* @internal This module is internal to the SDK. Use ConfigResolver instead.
|
|
13
|
+
*/
|
|
14
|
+
import { readFileSync, writeFileSync } from 'node:fs';
|
|
15
|
+
import { parseEnv } from 'node:util';
|
|
1
16
|
import { CLIENT_AUTH_METHODS } from '../../auth/client-credentials.js';
|
|
2
17
|
import { getPopulatedFields } from '../mapping.js';
|
|
3
18
|
import { getLogger } from '../../logging/logger.js';
|
|
4
|
-
/**
|
|
5
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Storefront Next variables accepted as fallbacks for equivalent toolkit settings.
|
|
21
|
+
*
|
|
22
|
+
* These are read by {@link StorefrontNextEnvSource}, which sits below dw.json:
|
|
23
|
+
* they only fill settings that the selected instance and toolkit variables leave unset.
|
|
24
|
+
*/
|
|
25
|
+
export const STOREFRONT_NEXT_ENV_VAR_MAP = {
|
|
6
26
|
PUBLIC__app__commerce__api__clientId: 'slasClientId',
|
|
7
27
|
PUBLIC__app__commerce__api__organizationId: 'tenantId',
|
|
8
28
|
PUBLIC__app__commerce__api__shortCode: 'shortCode',
|
|
@@ -13,8 +33,6 @@ const STOREFRONT_NEXT_ENV_VAR_MAP = {
|
|
|
13
33
|
* Mapping of CLI environment variable names and aliases to NormalizedConfig fields.
|
|
14
34
|
*/
|
|
15
35
|
const ENV_VAR_MAP = {
|
|
16
|
-
// Storefront Next aliases — listed first so toolkit-specific names win
|
|
17
|
-
...STOREFRONT_NEXT_ENV_VAR_MAP,
|
|
18
36
|
// sfcc-ci legacy aliases — listed first so canonical names below take precedence
|
|
19
37
|
SFCC_OAUTH_CLIENT_ID: 'clientId',
|
|
20
38
|
SFCC_OAUTH_CLIENT_SECRET: 'clientSecret',
|
|
@@ -42,6 +60,7 @@ const ENV_VAR_MAP = {
|
|
|
42
60
|
SFCC_LIBRARIES: 'libraries',
|
|
43
61
|
SFCC_ASSET_QUERY: 'assetQuery',
|
|
44
62
|
SFCC_DOCS_CATEGORIES: 'docsCategories',
|
|
63
|
+
SFCC_SCAPI_SCHEMAS: 'scapiSchemas',
|
|
45
64
|
SFCC_AUTH_METHODS: 'authMethods',
|
|
46
65
|
SFCC_ACCOUNT_MANAGER_HOST: 'accountManagerHost',
|
|
47
66
|
SFCC_CLIENT_AUTH_METHOD: 'clientAuthMethod',
|
|
@@ -65,24 +84,6 @@ const ENV_VAR_MAP = {
|
|
|
65
84
|
SFCC_MRT_BACKEND: 'mrtBackend',
|
|
66
85
|
MRT_BACKEND: 'mrtBackend',
|
|
67
86
|
};
|
|
68
|
-
/**
|
|
69
|
-
* Reads only the Storefront Next compatibility variables.
|
|
70
|
-
*
|
|
71
|
-
* Used by the CLI as a lower-priority fallback after oclif has resolved explicit
|
|
72
|
-
* flags and the toolkit's canonical environment variables.
|
|
73
|
-
*
|
|
74
|
-
* @internal
|
|
75
|
-
*/
|
|
76
|
-
export function getStorefrontNextEnvironmentConfig(env = process.env) {
|
|
77
|
-
const config = {};
|
|
78
|
-
for (const [envVar, configField] of Object.entries(STOREFRONT_NEXT_ENV_VAR_MAP)) {
|
|
79
|
-
const value = env[envVar];
|
|
80
|
-
if (value !== undefined && value !== '') {
|
|
81
|
-
config[configField] = value;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
return config;
|
|
85
|
-
}
|
|
86
87
|
/** Fields that should be parsed as comma-separated arrays. */
|
|
87
88
|
const ARRAY_FIELDS = new Set([
|
|
88
89
|
'scopes',
|
|
@@ -91,6 +92,7 @@ const ARRAY_FIELDS = new Set([
|
|
|
91
92
|
'importSetExclude',
|
|
92
93
|
'catalogs',
|
|
93
94
|
'docsCategories',
|
|
95
|
+
'scapiSchemas',
|
|
94
96
|
'libraries',
|
|
95
97
|
'assetQuery',
|
|
96
98
|
]);
|
|
@@ -106,6 +108,36 @@ const ENUM_FIELDS = {
|
|
|
106
108
|
clientAuthMethod: CLIENT_AUTH_METHODS,
|
|
107
109
|
mrtBackend: ['auto', 'legacy', 'scapi'],
|
|
108
110
|
};
|
|
111
|
+
/**
|
|
112
|
+
* Maps environment variables to config fields, applying enum, boolean and array parsing.
|
|
113
|
+
*/
|
|
114
|
+
function readEnvironmentConfig(env, map, sourceName) {
|
|
115
|
+
const logger = getLogger();
|
|
116
|
+
const config = {};
|
|
117
|
+
for (const [envVar, configField] of Object.entries(map)) {
|
|
118
|
+
const value = env[envVar];
|
|
119
|
+
if (value === undefined || value === '')
|
|
120
|
+
continue;
|
|
121
|
+
const allowed = ENUM_FIELDS[configField];
|
|
122
|
+
if (allowed && !allowed.includes(value)) {
|
|
123
|
+
logger.warn(`[${sourceName}] Ignoring ${envVar}: "${value}" is not one of ${allowed.join(', ')}`);
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
if (BOOLEAN_FIELDS.has(configField)) {
|
|
127
|
+
config[configField] = value === 'true' || value === '1';
|
|
128
|
+
}
|
|
129
|
+
else if (ARRAY_FIELDS.has(configField)) {
|
|
130
|
+
config[configField] = value
|
|
131
|
+
.split(',')
|
|
132
|
+
.map((s) => s.trim())
|
|
133
|
+
.filter(Boolean);
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
config[configField] = value;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return config;
|
|
140
|
+
}
|
|
109
141
|
/**
|
|
110
142
|
* Configuration source that reads CLI configuration environment variables.
|
|
111
143
|
*
|
|
@@ -116,6 +148,9 @@ const ENUM_FIELDS = {
|
|
|
116
148
|
* via oclif flag `env:` mappings; this source is for consumers like
|
|
117
149
|
* the VS Code extension that call `resolveConfig()` directly.
|
|
118
150
|
*
|
|
151
|
+
* Storefront Next variables are not read here; add a
|
|
152
|
+
* {@link StorefrontNextEnvSource} for those.
|
|
153
|
+
*
|
|
119
154
|
* @example
|
|
120
155
|
* ```typescript
|
|
121
156
|
* import { resolveConfig, EnvSource } from '@salesforce/b2c-tooling-sdk/config';
|
|
@@ -128,47 +163,170 @@ const ENUM_FIELDS = {
|
|
|
128
163
|
* @internal
|
|
129
164
|
*/
|
|
130
165
|
export class EnvSource {
|
|
131
|
-
name
|
|
166
|
+
name;
|
|
132
167
|
priority = -10;
|
|
133
168
|
env;
|
|
169
|
+
location;
|
|
134
170
|
/**
|
|
135
171
|
* @param env - Environment object to read from. Defaults to `process.env`.
|
|
172
|
+
* @param options - Diagnostic name and location
|
|
136
173
|
*/
|
|
137
|
-
constructor(env) {
|
|
174
|
+
constructor(env, options = {}) {
|
|
138
175
|
this.env = env ?? process.env;
|
|
176
|
+
this.name = options.name ?? 'EnvSource';
|
|
177
|
+
this.location = options.location ?? 'environment variables';
|
|
139
178
|
}
|
|
140
179
|
load(_options) {
|
|
141
180
|
const logger = getLogger();
|
|
142
|
-
const config =
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
181
|
+
const config = readEnvironmentConfig(this.env, ENV_VAR_MAP, this.name);
|
|
182
|
+
const fields = getPopulatedFields(config);
|
|
183
|
+
if (fields.length === 0) {
|
|
184
|
+
logger.trace(`[${this.name}] No supported B2C environment variables found`);
|
|
185
|
+
return undefined;
|
|
186
|
+
}
|
|
187
|
+
logger.trace({ fields }, `[${this.name}] Loaded config from environment variables`);
|
|
188
|
+
return { config, location: this.location };
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
const ENV_LINE = /^(\s*(?:export\s+)?)([A-Za-z_][A-Za-z0-9_]*)\s*=(.*)$/;
|
|
192
|
+
/** Format a config value in the comma-separated form {@link EnvSource} reads. */
|
|
193
|
+
function formatEnvValue(field, value) {
|
|
194
|
+
let text;
|
|
195
|
+
if (typeof value === 'string') {
|
|
196
|
+
text = value;
|
|
197
|
+
}
|
|
198
|
+
else if (typeof value === 'boolean' || typeof value === 'number') {
|
|
199
|
+
text = String(value);
|
|
200
|
+
}
|
|
201
|
+
else if (Array.isArray(value) && value.every((item) => typeof item === 'string' && !item.includes(','))) {
|
|
202
|
+
text = value.join(',');
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
throw new Error(`${field} can't be represented as an environment variable; set it in dw.json instead.`);
|
|
206
|
+
}
|
|
207
|
+
if (/^[^\s#'"`\\]*$/.test(text))
|
|
208
|
+
return text;
|
|
209
|
+
if (!text.includes("'") && !text.includes('\n'))
|
|
210
|
+
return `'${text}'`;
|
|
211
|
+
throw new Error(`${field} contains characters that can't be written safely to a .env file.`);
|
|
212
|
+
}
|
|
213
|
+
/** Line indices of assignments to `names`, refusing multi-line values that can't be edited safely. */
|
|
214
|
+
function findAssignments(lines, names) {
|
|
215
|
+
const found = [];
|
|
216
|
+
for (const [index, line] of lines.entries()) {
|
|
217
|
+
const match = ENV_LINE.exec(line);
|
|
218
|
+
if (!match || !names.includes(match[2]))
|
|
219
|
+
continue;
|
|
220
|
+
const value = match[3].trim();
|
|
221
|
+
const quote = value[0];
|
|
222
|
+
if ((quote === '"' || quote === "'" || quote === '`') && value.indexOf(quote, 1) === -1) {
|
|
223
|
+
throw new Error(`${match[2]} spans multiple lines in the .env file; edit it by hand.`);
|
|
224
|
+
}
|
|
225
|
+
found.push({ index, name: match[2], prefix: match[1] });
|
|
226
|
+
}
|
|
227
|
+
return found;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* The project `.env` file, as a writable configuration source.
|
|
231
|
+
*
|
|
232
|
+
* Reads like {@link EnvSource}. Writes edit the file in place: the
|
|
233
|
+
* highest-precedence variable already present for a field is replaced,
|
|
234
|
+
* otherwise the field's canonical (highest-precedence) variable is appended. Removing a field
|
|
235
|
+
* deletes every variable that maps to it.
|
|
236
|
+
*
|
|
237
|
+
* @internal
|
|
238
|
+
*/
|
|
239
|
+
export class DotenvFileSource extends EnvSource {
|
|
240
|
+
filePath;
|
|
241
|
+
/**
|
|
242
|
+
* @param filePath - The .env file
|
|
243
|
+
* @param env - Values applied from the file (defaults to the file's contents)
|
|
244
|
+
*/
|
|
245
|
+
constructor(filePath, env) {
|
|
246
|
+
super(env ?? parseEnv(readFileSync(filePath, 'utf8')), { name: 'DotenvFile', location: filePath });
|
|
247
|
+
this.filePath = filePath;
|
|
248
|
+
}
|
|
249
|
+
updateConfig(patch, _options) {
|
|
250
|
+
let lines = readFileSync(this.filePath, 'utf8').split('\n');
|
|
251
|
+
for (const [field, value] of Object.entries(patch)) {
|
|
252
|
+
// ENV_VAR_MAP lists aliases from lowest to highest precedence.
|
|
253
|
+
const names = Object.entries(ENV_VAR_MAP)
|
|
254
|
+
.filter(([, mapped]) => mapped === field)
|
|
255
|
+
.map(([name]) => name);
|
|
256
|
+
if (names.length === 0)
|
|
257
|
+
throw new Error(`${field} has no environment variable form; set it in dw.json instead.`);
|
|
258
|
+
const assignments = findAssignments(lines, names);
|
|
259
|
+
if (value === undefined) {
|
|
260
|
+
const removed = new Set(assignments.map((assignment) => assignment.index));
|
|
261
|
+
lines = lines.filter((_line, index) => !removed.has(index));
|
|
150
262
|
continue;
|
|
151
263
|
}
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
config[configField] = value
|
|
157
|
-
.split(',')
|
|
158
|
-
.map((s) => s.trim())
|
|
159
|
-
.filter(Boolean);
|
|
264
|
+
const text = formatEnvValue(field, value);
|
|
265
|
+
const current = assignments.sort((a, b) => names.indexOf(b.name) - names.indexOf(a.name))[0];
|
|
266
|
+
if (current) {
|
|
267
|
+
lines[current.index] = `${current.prefix}${current.name}=${text}`;
|
|
160
268
|
}
|
|
161
269
|
else {
|
|
162
|
-
|
|
270
|
+
const name = names.at(-1);
|
|
271
|
+
if (lines.at(-1) === '')
|
|
272
|
+
lines.splice(-1, 0, `${name}=${text}`);
|
|
273
|
+
else
|
|
274
|
+
lines.push(`${name}=${text}`, '');
|
|
163
275
|
}
|
|
164
276
|
}
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
277
|
+
writeFileSync(this.filePath, lines.join('\n'), 'utf8');
|
|
278
|
+
return { location: this.filePath };
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Configuration source for Storefront Next environment variables
|
|
283
|
+
* (`PUBLIC__app__commerce__api__*`, `COMMERCE_API_SLAS_SECRET`, `PUBLIC__app__defaultSiteId`).
|
|
284
|
+
*
|
|
285
|
+
* Priority 1 (just below dw.json at 0): these values are borrowed from the
|
|
286
|
+
* storefront app, so they only fill settings that flags, toolkit variables and
|
|
287
|
+
* the selected dw.json instance leave unset. Credential pairs are still merged
|
|
288
|
+
* as a group, so a Storefront Next SLAS secret is never paired with a
|
|
289
|
+
* different source's SLAS client ID.
|
|
290
|
+
*
|
|
291
|
+
* @internal
|
|
292
|
+
*/
|
|
293
|
+
export class StorefrontNextEnvSource {
|
|
294
|
+
name;
|
|
295
|
+
priority = 1;
|
|
296
|
+
/**
|
|
297
|
+
* Present when every value came from one .env file: writes there use toolkit
|
|
298
|
+
* (`SFCC_*`) variables. Settings the Storefront Next variables hold are
|
|
299
|
+
* refused, since those belong to the storefront app.
|
|
300
|
+
*/
|
|
301
|
+
updateConfig;
|
|
302
|
+
env;
|
|
303
|
+
location;
|
|
304
|
+
/**
|
|
305
|
+
* @param env - Environment object to read from. Defaults to `process.env`.
|
|
306
|
+
* @param options - Diagnostic name and location; `envFile` makes the source writable
|
|
307
|
+
*/
|
|
308
|
+
constructor(env, options = {}) {
|
|
309
|
+
this.env = env ?? process.env;
|
|
310
|
+
this.name = options.name ?? 'StorefrontNextEnvSource';
|
|
311
|
+
this.location = options.location ?? 'environment variables';
|
|
312
|
+
const { envFile } = options;
|
|
313
|
+
if (envFile) {
|
|
314
|
+
this.updateConfig = (patch, updateOptions) => {
|
|
315
|
+
for (const field of Object.keys(patch)) {
|
|
316
|
+
const variable = Object.keys(STOREFRONT_NEXT_ENV_VAR_MAP).find((name) => STOREFRONT_NEXT_ENV_VAR_MAP[name] === field);
|
|
317
|
+
if (variable) {
|
|
318
|
+
throw new Error(`${field} is a Storefront Next setting (${variable} in ${envFile}) that the storefront app also reads. Change it there.`);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
return new DotenvFileSource(envFile).updateConfig(patch, updateOptions);
|
|
322
|
+
};
|
|
169
323
|
}
|
|
170
|
-
|
|
171
|
-
|
|
324
|
+
}
|
|
325
|
+
load(_options) {
|
|
326
|
+
const config = readEnvironmentConfig(this.env, STOREFRONT_NEXT_ENV_VAR_MAP, this.name);
|
|
327
|
+
if (getPopulatedFields(config).length === 0)
|
|
328
|
+
return undefined;
|
|
329
|
+
return { config, location: this.location };
|
|
172
330
|
}
|
|
173
331
|
}
|
|
174
332
|
//# sourceMappingURL=env-source.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-source.js","sourceRoot":"","sources":["../../../../src/config/sources/env-source.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"env-source.js","sourceRoot":"","sources":["../../../../src/config/sources/env-source.ts"],"names":[],"mappings":"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"}
|