@salesforce/b2c-cli 1.0.0 → 1.0.1

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.
@@ -1,4 +1,4 @@
1
- import { uploadCartridges, deleteCartridges, getActiveCodeVersion, reloadCodeVersion, type DeployResult } from '@salesforce/b2c-tooling-sdk/operations/code';
1
+ import { uploadCartridges, deleteCartridges, getActiveCodeVersion, activateCodeVersion, reloadCodeVersion, type DeployResult } from '@salesforce/b2c-tooling-sdk/operations/code';
2
2
  import { CartridgeCommand } from '@salesforce/b2c-tooling-sdk/cli';
3
3
  export default class CodeDeploy extends CartridgeCommand<typeof CodeDeploy> {
4
4
  static hiddenAliases: string[];
@@ -9,6 +9,7 @@ export default class CodeDeploy extends CartridgeCommand<typeof CodeDeploy> {
9
9
  static enableJsonFlag: boolean;
10
10
  static examples: string[];
11
11
  static flags: {
12
+ activate: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
13
  reload: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
14
  delete: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
15
  cartridge: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
@@ -46,6 +47,7 @@ export default class CodeDeploy extends CartridgeCommand<typeof CodeDeploy> {
46
47
  uploadCartridges: typeof uploadCartridges;
47
48
  deleteCartridges: typeof deleteCartridges;
48
49
  getActiveCodeVersion: typeof getActiveCodeVersion;
50
+ activateCodeVersion: typeof activateCodeVersion;
49
51
  reloadCodeVersion: typeof reloadCodeVersion;
50
52
  };
51
53
  run(): Promise<DeployResult>;
@@ -4,7 +4,7 @@
4
4
  * For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
5
5
  */
6
6
  import { Flags } from '@oclif/core';
7
- import { uploadCartridges, deleteCartridges, getActiveCodeVersion, reloadCodeVersion, } from '@salesforce/b2c-tooling-sdk/operations/code';
7
+ import { uploadCartridges, deleteCartridges, getActiveCodeVersion, activateCodeVersion, reloadCodeVersion, } from '@salesforce/b2c-tooling-sdk/operations/code';
8
8
  import { CartridgeCommand } from '@salesforce/b2c-tooling-sdk/cli';
9
9
  import { t, withDocs } from '../../i18n/index.js';
10
10
  export default class CodeDeploy extends CartridgeCommand {
@@ -18,18 +18,26 @@ export default class CodeDeploy extends CartridgeCommand {
18
18
  '<%= config.bin %> <%= command.id %>',
19
19
  '<%= config.bin %> <%= command.id %> ./my-cartridges',
20
20
  '<%= config.bin %> <%= command.id %> --server my-sandbox.demandware.net --code-version v1',
21
+ '<%= config.bin %> <%= command.id %> --activate',
22
+ '<%= config.bin %> <%= command.id %> --delete --activate',
21
23
  '<%= config.bin %> <%= command.id %> --reload',
22
- '<%= config.bin %> <%= command.id %> --delete --reload',
23
24
  '<%= config.bin %> <%= command.id %> -c app_storefront_base -c plugin_applepay',
24
25
  '<%= config.bin %> <%= command.id %> -x test_cartridge',
25
26
  ];
26
27
  static flags = {
27
28
  ...CartridgeCommand.baseFlags,
28
29
  ...CartridgeCommand.cartridgeFlags,
30
+ activate: Flags.boolean({
31
+ char: 'a',
32
+ description: 'Activate code version after deploy',
33
+ default: false,
34
+ exclusive: ['reload'],
35
+ }),
29
36
  reload: Flags.boolean({
30
37
  char: 'r',
31
- description: 'Reload (re-activate) code version after deploy',
38
+ description: 'Reload (toggle activation to force reload) code version after deploy',
32
39
  default: false,
40
+ exclusive: ['activate'],
33
41
  }),
34
42
  delete: Flags.boolean({
35
43
  description: 'Delete existing cartridges before upload',
@@ -40,19 +48,20 @@ export default class CodeDeploy extends CartridgeCommand {
40
48
  uploadCartridges,
41
49
  deleteCartridges,
42
50
  getActiveCodeVersion,
51
+ activateCodeVersion,
43
52
  reloadCodeVersion,
44
53
  };
45
54
  async run() {
46
55
  this.requireWebDavCredentials();
47
56
  const hostname = this.resolvedConfig.values.hostname;
48
57
  let version = this.resolvedConfig.values.codeVersion;
49
- // OAuth is only required if:
58
+ // OAuth is required if:
50
59
  // 1. No code version specified (need to auto-discover via OCAPI)
51
- // 2. --reload flag is set (need to call OCAPI to reload)
52
- const needsOAuth = !version || this.flags.reload;
60
+ // 2. --activate or --reload flag is set (need to call OCAPI)
61
+ const needsOAuth = !version || this.flags.activate || this.flags.reload;
53
62
  if (needsOAuth && !this.hasOAuthCredentials()) {
54
63
  const reason = version
55
- ? t('commands.code.deploy.oauthRequiredForReload', 'The --reload flag requires OAuth credentials to reload the code version via OCAPI.')
64
+ ? t('commands.code.deploy.oauthRequiredForActivate', 'The --activate/--reload flag requires OAuth credentials to manage the code version via OCAPI.')
56
65
  : t('commands.code.deploy.oauthRequiredForDiscovery', 'No code version specified. OAuth credentials are required to auto-discover the active code version.');
57
66
  this.error(t('commands.code.deploy.oauthRequired', '{{reason}}\n\nProvide --code-version to use basic auth only, or configure OAuth credentials.\nSee: https://salesforcecommercecloud.github.io/b2c-developer-tooling/guide/configuration.html', { reason }));
58
67
  }
@@ -72,6 +81,7 @@ export default class CodeDeploy extends CartridgeCommand {
72
81
  cartridgePath: this.cartridgePath,
73
82
  hostname,
74
83
  codeVersion: version,
84
+ activate: this.flags.activate,
75
85
  reload: this.flags.reload,
76
86
  delete: this.flags.delete,
77
87
  ...this.cartridgeOptions,
@@ -85,6 +95,7 @@ export default class CodeDeploy extends CartridgeCommand {
85
95
  return {
86
96
  cartridges: [],
87
97
  codeVersion: version,
98
+ activated: false,
88
99
  reloaded: false,
89
100
  };
90
101
  }
@@ -110,28 +121,38 @@ export default class CodeDeploy extends CartridgeCommand {
110
121
  }
111
122
  // Upload cartridges
112
123
  await this.operations.uploadCartridges(this.instance, cartridges);
113
- // Optionally reload code version
124
+ // Optionally activate or reload code version
125
+ let activated = false;
114
126
  let reloaded = false;
115
- if (this.flags.reload) {
116
- try {
127
+ try {
128
+ if (this.flags.activate) {
129
+ await this.operations.activateCodeVersion(this.instance, version);
130
+ activated = true;
131
+ }
132
+ else if (this.flags.reload) {
117
133
  await this.operations.reloadCodeVersion(this.instance, version);
134
+ activated = true;
118
135
  reloaded = true;
119
136
  }
120
- catch (error) {
121
- this.logger?.debug(`Could not reload code version: ${error instanceof Error ? error.message : error}`);
122
- }
137
+ }
138
+ catch (error) {
139
+ const clientId = this.resolvedConfig.values.clientId ?? 'unknown';
140
+ this.error(t('commands.code.deploy.activateFailed', 'Failed to activate code version "{{version}}": {{message}}\n\nEnsure your OCAPI client ({{clientId}}) is configured with Data API permissions.\nSee: https://salesforcecommercecloud.github.io/b2c-developer-tooling/guide/authentication.html#ocapi-configuration', { version, message: error instanceof Error ? error.message : String(error), clientId }));
123
141
  }
124
142
  const result = {
125
143
  cartridges,
126
144
  codeVersion: version,
145
+ activated,
127
146
  reloaded,
128
147
  };
129
148
  this.log(t('commands.code.deploy.summary', 'Deployed {{count}} cartridge(s) to version "{{codeVersion}}" successfully!', {
130
149
  count: result.cartridges.length,
131
150
  codeVersion: result.codeVersion,
132
151
  }));
133
- if (result.reloaded) {
134
- this.log(t('commands.code.deploy.reloaded', 'Code version reloaded'));
152
+ if (result.activated) {
153
+ this.log(result.reloaded
154
+ ? t('commands.code.deploy.reloaded', 'Code version reloaded')
155
+ : t('commands.code.deploy.activated', 'Code version activated'));
135
156
  }
136
157
  // Run afterOperation hooks with success
137
158
  await this.runAfterHooks(context, {
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/commands/code/deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/commands/code/deploy.ts"],"names":[],"mappings":"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"}