@salesforce/b2c-cli 2.4.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.
Files changed (43) hide show
  1. package/content/guidance/b2c-cli/b2c-config/SKILL.md +23 -4
  2. package/content/guidance/b2c-cli/b2c-ecdn/SKILL.md +2 -0
  3. package/content/guidance/b2c-cli/b2c-job/SKILL.md +9 -3
  4. package/content/guidance/b2c-cli/b2c-job/references/RUN-AND-MONITOR.md +35 -6
  5. package/content/guidance/b2c-cli/b2c-scapi-schemas/SKILL.md +5 -1
  6. package/content/guidance/b2c-ops/b2c-edge-traffic-triage/SKILL.md +69 -0
  7. package/content/guidance/b2c-ops/b2c-job-health/SKILL.md +11 -6
  8. package/content/guidance/b2c-ops/b2c-production-triage/SKILL.md +1 -0
  9. package/content/guidance/index.json +35 -15
  10. package/dist/commands/job/run.js +1 -1
  11. package/dist/commands/job/run.js.map +1 -1
  12. package/dist/commands/scapi/schemas/get.d.ts +8 -0
  13. package/dist/commands/scapi/schemas/get.js +51 -19
  14. package/dist/commands/scapi/schemas/get.js.map +1 -1
  15. package/dist/commands/scapi/schemas/list.d.ts +5 -0
  16. package/dist/commands/scapi/schemas/list.js +28 -18
  17. package/dist/commands/scapi/schemas/list.js.map +1 -1
  18. package/dist/commands/setup/get.d.ts +36 -0
  19. package/dist/commands/setup/get.js +67 -0
  20. package/dist/commands/setup/get.js.map +1 -0
  21. package/dist/commands/setup/inspect.js +7 -11
  22. package/dist/commands/setup/inspect.js.map +1 -1
  23. package/dist/commands/setup/instance/create.d.ts +8 -0
  24. package/dist/commands/setup/instance/create.js +22 -6
  25. package/dist/commands/setup/instance/create.js.map +1 -1
  26. package/dist/commands/setup/instance/list.js +3 -4
  27. package/dist/commands/setup/instance/list.js.map +1 -1
  28. package/dist/commands/setup/instance/remove.js +5 -5
  29. package/dist/commands/setup/instance/remove.js.map +1 -1
  30. package/dist/commands/setup/instance/set-active.d.ts +5 -0
  31. package/dist/commands/setup/instance/set-active.js +20 -5
  32. package/dist/commands/setup/instance/set-active.js.map +1 -1
  33. package/dist/commands/setup/set.d.ts +37 -0
  34. package/dist/commands/setup/set.js +87 -0
  35. package/dist/commands/setup/set.js.map +1 -0
  36. package/dist/commands/setup/unset.d.ts +37 -0
  37. package/dist/commands/setup/unset.js +55 -0
  38. package/dist/commands/setup/unset.js.map +1 -0
  39. package/dist/utils/setup/config-field-command.d.ts +25 -0
  40. package/dist/utils/setup/config-field-command.js +41 -0
  41. package/dist/utils/setup/config-field-command.js.map +1 -0
  42. package/oclif.manifest.json +15366 -14873
  43. package/package.json +2 -2
@@ -6,7 +6,7 @@
6
6
  import { Args, ux } from '@oclif/core';
7
7
  import { search } from '@inquirer/prompts';
8
8
  import { BaseCommand } from '@salesforce/b2c-tooling-sdk/cli';
9
- import { DwJsonSource } from '@salesforce/b2c-tooling-sdk/config';
9
+ import { createInstanceManager, resolveConfig } from '@salesforce/b2c-tooling-sdk/config';
10
10
  import { withDocs } from '../../../i18n/index.js';
11
11
  /**
12
12
  * Set a B2C Commerce instance as the default (active) instance.
@@ -24,9 +24,9 @@ export default class SetupInstanceSetActive extends BaseCommand {
24
24
  ...BaseCommand.baseFlags,
25
25
  };
26
26
  async run() {
27
- const source = new DwJsonSource();
27
+ const manager = createInstanceManager();
28
28
  const configOptions = this.getBaseConfigOptions();
29
- const instances = await source.listInstances(configOptions);
29
+ const instances = await manager.listAllInstances(configOptions);
30
30
  let name = this.args.name;
31
31
  if (!name) {
32
32
  if (instances.length === 0) {
@@ -57,17 +57,18 @@ export default class SetupInstanceSetActive extends BaseCommand {
57
57
  // Check if already active
58
58
  if (instance.active) {
59
59
  // Re-apply the selection so any active marker in the other catalog file is cleared.
60
- await source.setActiveInstance(name, configOptions);
60
+ await manager.setActiveInstance(name, configOptions, instance.source);
61
61
  if (!this.jsonEnabled()) {
62
62
  ux.stdout(`Instance "${name}" is already the active instance.`);
63
63
  }
64
+ await this.warnIfNotDefault(name, instance.source);
64
65
  return {
65
66
  name,
66
67
  active: true,
67
68
  };
68
69
  }
69
70
  // Set as active
70
- await source.setActiveInstance(name, configOptions);
71
+ await manager.setActiveInstance(name, configOptions, instance.source);
71
72
  const result = {
72
73
  name,
73
74
  active: true,
@@ -75,7 +76,21 @@ export default class SetupInstanceSetActive extends BaseCommand {
75
76
  if (!this.jsonEnabled()) {
76
77
  ux.stdout(`Instance "${name}" is now the active instance.`);
77
78
  }
79
+ await this.warnIfNotDefault(name, instance.source);
78
80
  return result;
79
81
  }
82
+ /**
83
+ * Each source keeps its own active instance, so a higher-priority source's
84
+ * active instance can still be the default after this one is activated.
85
+ */
86
+ async warnIfNotDefault(name, source) {
87
+ const { instance: _instance, ...options } = this.getBaseConfigOptions();
88
+ const resolved = await resolveConfig({}, options);
89
+ const winner = resolved.values.instanceName;
90
+ if (!winner || winner === name)
91
+ return;
92
+ const winnerSource = resolved.sources.find((s) => s.fields.includes('instanceName'))?.name;
93
+ this.warn(`"${name}" is active in ${source ?? 'its source'}, but "${winner}"${winnerSource ? ` from ${winnerSource}` : ''} is still the default because that source takes precedence. Deactivate or remove "${winner}" there, or pass --instance ${name}.`);
94
+ }
80
95
  }
81
96
  //# sourceMappingURL=set-active.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"set-active.js","sourceRoot":"","sources":["../../../../src/commands/setup/instance/set-active.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"set-active.js","sourceRoot":"","sources":["../../../../src/commands/setup/instance/set-active.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { ConfigFieldCommand } from '../../utils/setup/config-field-command.js';
2
+ interface SetupSetResponse {
3
+ key: string;
4
+ field: string;
5
+ value: unknown;
6
+ source: string;
7
+ location: string;
8
+ instance?: string;
9
+ }
10
+ /**
11
+ * Set a configuration value in the source that supplies it.
12
+ */
13
+ export default class SetupSet extends ConfigFieldCommand<typeof SetupSet> {
14
+ static args: {
15
+ key: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
16
+ value: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
17
+ };
18
+ static description: string;
19
+ static enableJsonFlag: boolean;
20
+ static examples: string[];
21
+ static flags: {
22
+ 'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
+ debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
24
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
25
+ jsonl: import("@oclif/core/interfaces").BooleanFlag<boolean>;
26
+ lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
27
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
28
+ instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
29
+ 'dotenv-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
30
+ 'project-directory': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
31
+ 'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
32
+ 'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
33
+ 'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
34
+ };
35
+ run(): Promise<SetupSetResponse>;
36
+ }
37
+ export {};
@@ -0,0 +1,87 @@
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
+ import { isDeepStrictEqual } from 'node:util';
7
+ import { Args } from '@oclif/core';
8
+ import { isSensitiveConfigField, locateConfigField, parseConfigValue, resolveConfigKey, writeConfigField, } from '@salesforce/b2c-tooling-sdk/config';
9
+ import { BaseCommand } from '@salesforce/b2c-tooling-sdk/cli';
10
+ import { t, withDocs } from '../../i18n/index.js';
11
+ import { ConfigFieldCommand, formatConfigValue } from '../../utils/setup/config-field-command.js';
12
+ /**
13
+ * Set a configuration value in the source that supplies it.
14
+ */
15
+ export default class SetupSet extends ConfigFieldCommand {
16
+ static args = {
17
+ key: Args.string({
18
+ description: 'Configuration key (dw.json name, e.g. code-version), or key=value',
19
+ required: true,
20
+ }),
21
+ value: Args.string({ description: 'Value; JSON for non-string keys (true, ["a","b"], {...})' }),
22
+ };
23
+ static description = withDocs(t('commands.setup.set.description', 'Set a configuration value in the dw.json entry or .env file that supplies it'), '/cli/setup.html#b2c-setup-set');
24
+ static enableJsonFlag = true;
25
+ static examples = [
26
+ '<%= config.bin %> <%= command.id %> code-version version2',
27
+ '<%= config.bin %> <%= command.id %> scapi-schemas=./scapi-schemas',
28
+ '<%= config.bin %> <%= command.id %> cartridges \'["app_custom","app_storefront_base"]\'',
29
+ '<%= config.bin %> <%= command.id %> safety \'{"level":"NO_DELETE"}\' --instance production',
30
+ ];
31
+ static flags = {
32
+ ...BaseCommand.baseFlags,
33
+ };
34
+ async run() {
35
+ let input = this.args.key;
36
+ let raw = this.args.value;
37
+ if (raw === undefined) {
38
+ const separator = input.indexOf('=');
39
+ if (separator === -1) {
40
+ this.error(t('commands.setup.set.missingValue', 'Provide a value: setup set <key> <value> or <key>=<value>.'));
41
+ }
42
+ raw = input.slice(separator + 1);
43
+ input = input.slice(0, separator);
44
+ }
45
+ if (raw === '') {
46
+ this.error(t('commands.setup.set.emptyValue', 'Empty value for {{key}}. To remove it, run: b2c setup unset {{key}}', {
47
+ key: input,
48
+ }));
49
+ }
50
+ let result;
51
+ let key;
52
+ let value;
53
+ try {
54
+ key = resolveConfigKey(input);
55
+ value = parseConfigValue(key, raw);
56
+ result = await writeConfigField(this.resolvedConfig, key.field, value);
57
+ }
58
+ catch (error) {
59
+ this.failWith(error);
60
+ }
61
+ const response = {
62
+ key: key.key,
63
+ field: key.field,
64
+ value: isSensitiveConfigField(key.field) ? formatConfigValue(key.field, value, false) : value,
65
+ ...result,
66
+ };
67
+ // Confirm the write took effect; a source that can't be re-read is reported, not hidden.
68
+ const reloaded = await this.loadConfiguration();
69
+ const effective = isDeepStrictEqual(reloaded.values[key.field], value);
70
+ if (!effective) {
71
+ const { supplier } = locateConfigField(reloaded, key.field);
72
+ this.warn(t('commands.setup.set.notEffective', '{{key}} was written, but the resolved value comes from {{source}}.', {
73
+ key: key.key,
74
+ source: supplier?.name ?? 'another source',
75
+ }));
76
+ }
77
+ if (this.jsonEnabled())
78
+ return response;
79
+ this.log(t('commands.setup.set.done', 'Set {{key}} = {{value}} in {{location}}', {
80
+ key: key.key,
81
+ value: formatConfigValue(key.field, value, false),
82
+ location: result.instance ? `${result.location} (instance ${result.instance})` : result.location,
83
+ }));
84
+ return response;
85
+ }
86
+ }
87
+ //# sourceMappingURL=set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../src/commands/setup/set.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { ConfigFieldCommand } from '../../utils/setup/config-field-command.js';
2
+ interface SetupUnsetResponse {
3
+ key: string;
4
+ field: string;
5
+ source: string;
6
+ location: string;
7
+ instance?: string;
8
+ /** Source supplying the field after removal, if any */
9
+ fallback?: string;
10
+ }
11
+ /**
12
+ * Remove a configuration value from the source that supplies it.
13
+ */
14
+ export default class SetupUnset extends ConfigFieldCommand<typeof SetupUnset> {
15
+ static args: {
16
+ key: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
17
+ };
18
+ static description: string;
19
+ static enableJsonFlag: boolean;
20
+ static examples: string[];
21
+ static flags: {
22
+ 'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
+ debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
24
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
25
+ jsonl: import("@oclif/core/interfaces").BooleanFlag<boolean>;
26
+ lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
27
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
28
+ instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
29
+ 'dotenv-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
30
+ 'project-directory': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
31
+ 'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
32
+ 'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
33
+ 'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
34
+ };
35
+ run(): Promise<SetupUnsetResponse>;
36
+ }
37
+ export {};
@@ -0,0 +1,55 @@
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
+ import { Args } from '@oclif/core';
7
+ import { locateConfigField, removeConfigField, resolveConfigKey } from '@salesforce/b2c-tooling-sdk/config';
8
+ import { BaseCommand } from '@salesforce/b2c-tooling-sdk/cli';
9
+ import { t, withDocs } from '../../i18n/index.js';
10
+ import { ConfigFieldCommand } from '../../utils/setup/config-field-command.js';
11
+ /**
12
+ * Remove a configuration value from the source that supplies it.
13
+ */
14
+ export default class SetupUnset extends ConfigFieldCommand {
15
+ static args = {
16
+ key: Args.string({ description: 'Configuration key (dw.json name, e.g. code-version)', required: true }),
17
+ };
18
+ static description = withDocs(t('commands.setup.unset.description', 'Remove a configuration value from the dw.json entry or .env file that supplies it'), '/cli/setup.html#b2c-setup-unset');
19
+ static enableJsonFlag = true;
20
+ static examples = [
21
+ '<%= config.bin %> <%= command.id %> scapi-schemas',
22
+ '<%= config.bin %> <%= command.id %> code-version --instance staging',
23
+ ];
24
+ static flags = {
25
+ ...BaseCommand.baseFlags,
26
+ };
27
+ async run() {
28
+ let key;
29
+ let result;
30
+ try {
31
+ key = resolveConfigKey(this.args.key);
32
+ result = await removeConfigField(this.resolvedConfig, key.field);
33
+ }
34
+ catch (error) {
35
+ this.failWith(error);
36
+ }
37
+ const reloaded = await this.loadConfiguration();
38
+ const fallback = reloaded.values[key.field] === undefined ? undefined : locateConfigField(reloaded, key.field).supplier;
39
+ const response = { key: key.key, field: key.field, ...result, fallback: fallback?.name };
40
+ if (this.jsonEnabled())
41
+ return response;
42
+ this.log(t('commands.setup.unset.done', 'Removed {{key}} from {{location}}', {
43
+ key: key.key,
44
+ location: result.instance ? `${result.location} (instance ${result.instance})` : result.location,
45
+ }));
46
+ if (fallback) {
47
+ this.log(t('commands.setup.unset.fallback', '{{key}} is still set by {{source}}.', {
48
+ key: key.key,
49
+ source: fallback.location ? `${fallback.name} (${fallback.location})` : fallback.name,
50
+ }));
51
+ }
52
+ return response;
53
+ }
54
+ }
55
+ //# sourceMappingURL=unset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unset.js","sourceRoot":"","sources":["../../../src/commands/setup/unset.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAC,MAAM,oCAAoC,CAAC;AAC1G,OAAO,EAAC,WAAW,EAAC,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAC,CAAC,EAAE,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAC,kBAAkB,EAAC,MAAM,2CAA2C,CAAC;AAY7E;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,kBAAqC;IAC3E,MAAM,CAAC,IAAI,GAAG;QACZ,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,qDAAqD,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;KACvG,CAAC;IAEF,MAAM,CAAC,WAAW,GAAG,QAAQ,CAC3B,CAAC,CACC,kCAAkC,EAClC,mFAAmF,CACpF,EACD,iCAAiC,CAClC,CAAC;IAEF,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IAE7B,MAAM,CAAC,QAAQ,GAAG;QAChB,mDAAmD;QACnD,qEAAqE;KACtE,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,WAAW,CAAC,SAAS;KACzB,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,IAAI,GAAG,CAAC;QACR,IAAI,MAAM,CAAC;QACX,IAAI,CAAC;YACH,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtC,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAChD,MAAM,QAAQ,GACZ,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;QACzG,MAAM,QAAQ,GAAuB,EAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;QAC3G,IAAI,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO,QAAQ,CAAC;QAExC,IAAI,CAAC,GAAG,CACN,CAAC,CAAC,2BAA2B,EAAE,mCAAmC,EAAE;YAClE,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,cAAc,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ;SACjG,CAAC,CACH,CAAC;QACF,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CACN,CAAC,CAAC,+BAA+B,EAAE,qCAAqC,EAAE;gBACxE,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI;aACtF,CAAC,CACH,CAAC;QACJ,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { Command } from '@oclif/core';
2
+ import { BaseCommand } from '@salesforce/b2c-tooling-sdk/cli';
3
+ import { type ConfigSource, type ResolvedB2CConfig } from '@salesforce/b2c-tooling-sdk/config';
4
+ /**
5
+ * Sources for SFCC_* variables, split so that values from the shell and from
6
+ * the .env file are reported (and written) separately.
7
+ *
8
+ * The .env file is re-read rather than taken from `process.env`, so edits made
9
+ * during this command are visible to a reload. Shell variables still win.
10
+ */
11
+ export declare function createEnvironmentSources(envFile?: {
12
+ keys: string[];
13
+ path: string;
14
+ }): ConfigSource[];
15
+ /** Format a value for display, masking sensitive fields unless `unmask`. */
16
+ export declare function formatConfigValue(field: string, value: unknown, unmask: boolean): string;
17
+ /**
18
+ * Base for `setup get/set/unset`: resolves configuration with the shell
19
+ * environment and .env file as sources, like `setup inspect`.
20
+ */
21
+ export declare abstract class ConfigFieldCommand<T extends typeof Command> extends BaseCommand<T> {
22
+ /** Report config errors without a stack trace. */
23
+ protected failWith(error: unknown): never;
24
+ protected loadConfiguration(): Promise<ResolvedB2CConfig>;
25
+ }
@@ -0,0 +1,41 @@
1
+ import { BaseCommand, loadConfig } from '@salesforce/b2c-tooling-sdk/cli';
2
+ import { ConfigWriteError, DotenvFileSource, EnvSource, isSensitiveConfigField, maskConfigValue, readEnvFile, } from '@salesforce/b2c-tooling-sdk/config';
3
+ /**
4
+ * Sources for SFCC_* variables, split so that values from the shell and from
5
+ * the .env file are reported (and written) separately.
6
+ *
7
+ * The .env file is re-read rather than taken from `process.env`, so edits made
8
+ * during this command are visible to a reload. Shell variables still win.
9
+ */
10
+ export function createEnvironmentSources(envFile) {
11
+ const fileKeys = new Set(envFile?.keys ?? []);
12
+ const shellEnvironment = Object.fromEntries(Object.entries(process.env).filter(([key]) => !fileKeys.has(key)));
13
+ const sources = [new EnvSource(shellEnvironment)];
14
+ if (envFile) {
15
+ const fileEnvironment = Object.fromEntries(Object.entries(readEnvFile(envFile.path)).filter(([key]) => shellEnvironment[key] === undefined));
16
+ sources.push(new DotenvFileSource(envFile.path, fileEnvironment));
17
+ }
18
+ return sources;
19
+ }
20
+ /** Format a value for display, masking sensitive fields unless `unmask`. */
21
+ export function formatConfigValue(field, value, unmask) {
22
+ if (typeof value === 'string')
23
+ return !unmask && isSensitiveConfigField(field) ? maskConfigValue(value) : value;
24
+ return JSON.stringify(value);
25
+ }
26
+ /**
27
+ * Base for `setup get/set/unset`: resolves configuration with the shell
28
+ * environment and .env file as sources, like `setup inspect`.
29
+ */
30
+ export class ConfigFieldCommand extends BaseCommand {
31
+ /** Report config errors without a stack trace. */
32
+ failWith(error) {
33
+ if (error instanceof ConfigWriteError)
34
+ this.error(error.message, { code: error.code });
35
+ this.error(error instanceof Error ? error.message : String(error));
36
+ }
37
+ async loadConfiguration() {
38
+ return loadConfig({}, this.getBaseConfigOptions(), { before: createEnvironmentSources(this.envFile) });
39
+ }
40
+ }
41
+ //# sourceMappingURL=config-field-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-field-command.js","sourceRoot":"","sources":["../../../src/utils/setup/config-field-command.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,WAAW,EAAE,UAAU,EAAC,MAAM,iCAAiC,CAAC;AACxE,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,sBAAsB,EACtB,eAAe,EACf,WAAW,GAGZ,MAAM,oCAAoC,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAwC;IAC/E,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IAC9C,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/G,MAAM,OAAO,GAAmB,CAAC,IAAI,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAClE,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW,CACxC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CACjG,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,KAAc,EAAE,MAAe;IAC9E,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,CAAC,MAAM,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAChH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,OAAgB,kBAA6C,SAAQ,WAAc;IACvF,kDAAkD;IACxC,QAAQ,CAAC,KAAc;QAC/B,IAAI,KAAK,YAAY,gBAAgB;YAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAC,CAAC,CAAC;QACrF,IAAI,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACrE,CAAC;IAEkB,KAAK,CAAC,iBAAiB;QACxC,OAAO,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,oBAAoB,EAAE,EAAE,EAAC,MAAM,EAAE,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAC,CAAC,CAAC;IACvG,CAAC;CACF"}