@salesforce/b2c-cli 1.4.0 → 1.6.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 (37) hide show
  1. package/dist/commands/cap/install.d.ts +49 -0
  2. package/dist/commands/cap/install.js +138 -0
  3. package/dist/commands/cap/install.js.map +1 -0
  4. package/dist/commands/cap/list.d.ts +47 -0
  5. package/dist/commands/cap/list.js +172 -0
  6. package/dist/commands/cap/list.js.map +1 -0
  7. package/dist/commands/cap/package.d.ts +17 -0
  8. package/dist/commands/cap/package.js +55 -0
  9. package/dist/commands/cap/package.js.map +1 -0
  10. package/dist/commands/cap/pull.d.ts +48 -0
  11. package/dist/commands/cap/pull.js +121 -0
  12. package/dist/commands/cap/pull.js.map +1 -0
  13. package/dist/commands/cap/tasks.d.ts +56 -0
  14. package/dist/commands/cap/tasks.js +90 -0
  15. package/dist/commands/cap/tasks.js.map +1 -0
  16. package/dist/commands/cap/uninstall.d.ts +47 -0
  17. package/dist/commands/cap/uninstall.js +123 -0
  18. package/dist/commands/cap/uninstall.js.map +1 -0
  19. package/dist/commands/cap/validate.d.ts +11 -0
  20. package/dist/commands/cap/validate.js +49 -0
  21. package/dist/commands/cap/validate.js.map +1 -0
  22. package/dist/commands/code/deploy.js +19 -1
  23. package/dist/commands/code/deploy.js.map +1 -1
  24. package/dist/commands/code/download.d.ts +50 -0
  25. package/dist/commands/code/download.js +163 -0
  26. package/dist/commands/code/download.js.map +1 -0
  27. package/dist/commands/setup/skills.js +20 -2
  28. package/dist/commands/setup/skills.js.map +1 -1
  29. package/dist/i18n/locales/de.d.ts +6 -0
  30. package/dist/i18n/locales/de.js +6 -0
  31. package/dist/i18n/locales/de.js.map +1 -1
  32. package/dist/i18n/locales/en.d.ts +19 -0
  33. package/dist/i18n/locales/en.js +19 -0
  34. package/dist/i18n/locales/en.js.map +1 -1
  35. package/dist/i18n/locales/index.d.ts +25 -0
  36. package/oclif.manifest.json +11210 -8819
  37. package/package.json +3 -2
@@ -0,0 +1,121 @@
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 path from 'node:path';
7
+ import { Args, Flags } from '@oclif/core';
8
+ import { JobCommand } from '@salesforce/b2c-tooling-sdk/cli';
9
+ import { listInstalledApps, pullCommerceApps, } from '@salesforce/b2c-tooling-sdk/operations/cap';
10
+ import { t, withDocs } from '../../i18n/index.js';
11
+ export default class CapPull extends JobCommand {
12
+ static description = withDocs(t('commands.cap.pull.description', 'Pull installed Commerce Apps from a B2C Commerce instance'), '/cli/cap.html#b2c-cap-pull');
13
+ static args = {
14
+ appName: Args.string({
15
+ description: 'Commerce App feature name to pull (e.g. avalara-tax). If omitted, pulls all registry apps.',
16
+ required: false,
17
+ }),
18
+ };
19
+ static enableJsonFlag = true;
20
+ static examples = [
21
+ '<%= config.bin %> <%= command.id %>',
22
+ '<%= config.bin %> <%= command.id %> avalara-tax',
23
+ '<%= config.bin %> <%= command.id %> --site-id RefArch',
24
+ '<%= config.bin %> <%= command.id %> --output ./my-apps',
25
+ ];
26
+ static flags = {
27
+ ...JobCommand.baseFlags,
28
+ 'site-id': Flags.string({
29
+ char: 's',
30
+ description: 'Site ID to query for installed apps. If omitted, queries all sites.',
31
+ aliases: ['site'],
32
+ }),
33
+ output: Flags.string({
34
+ char: 'o',
35
+ description: 'Output directory (default: ./commerce-apps)',
36
+ default: 'commerce-apps',
37
+ }),
38
+ timeout: Flags.integer({
39
+ char: 't',
40
+ description: 'Timeout in seconds (default: no timeout)',
41
+ }),
42
+ };
43
+ operations = {
44
+ listInstalledApps,
45
+ pullCommerceApps,
46
+ };
47
+ async run() {
48
+ this.requireOAuthCredentials();
49
+ this.requireWebDavCredentials();
50
+ const { appName } = this.args;
51
+ const { 'site-id': siteId, output, timeout } = this.flags;
52
+ const hostname = this.resolvedConfig.values.hostname;
53
+ this.log(t('commands.cap.pull.fetching', 'Fetching installed apps from {{hostname}}...', { hostname }));
54
+ const listResult = await this.operations.listInstalledApps(this.instance, {
55
+ sites: siteId ? [siteId] : undefined,
56
+ waitOptions: {
57
+ timeoutSeconds: timeout || undefined,
58
+ onPoll: (info) => {
59
+ if (!this.jsonEnabled()) {
60
+ this.log(t('commands.cap.pull.progress', ' Status: {{status}} ({{elapsed}}s elapsed)', {
61
+ status: info.status,
62
+ elapsed: Math.floor(info.elapsedSeconds).toString(),
63
+ }));
64
+ }
65
+ },
66
+ },
67
+ });
68
+ // Deduplicate features by name (same app installed on multiple sites shares the same version)
69
+ const uniqueFeatures = new Map();
70
+ for (const f of listResult.features) {
71
+ if (!uniqueFeatures.has(f.featureName)) {
72
+ uniqueFeatures.set(f.featureName, f);
73
+ }
74
+ }
75
+ let toPull;
76
+ if (appName) {
77
+ const feature = uniqueFeatures.get(appName);
78
+ if (!feature) {
79
+ this.error(t('commands.cap.pull.notFound', 'Commerce App "{{appName}}" not found on {{hostname}}', {
80
+ appName,
81
+ hostname,
82
+ }));
83
+ }
84
+ toPull = [feature];
85
+ }
86
+ else {
87
+ toPull = [...uniqueFeatures.values()].filter((f) => f.featureSource === 'AppRegistry');
88
+ }
89
+ if (toPull.length === 0) {
90
+ this.log(t('commands.cap.pull.noApps', 'No registry-sourced apps found.'));
91
+ return { pulled: [], failed: [] };
92
+ }
93
+ this.log(t('commands.cap.pull.pulling', 'Pulling {{count}} app(s)...', {
94
+ count: toPull.length,
95
+ }));
96
+ const result = await this.operations.pullCommerceApps(this.instance, toPull, {
97
+ outputDir: output,
98
+ });
99
+ if (!this.jsonEnabled()) {
100
+ const bold = '';
101
+ const dim = '';
102
+ const cyan = '';
103
+ const yellow = '';
104
+ const red = '';
105
+ const reset = '';
106
+ for (const app of result.pulled) {
107
+ const relativePath = path.relative(process.cwd(), app.extractedPath);
108
+ const sourceNote = app.source === 'github' ? ` ${yellow}(from GitHub)${reset}` : '';
109
+ process.stdout.write(`\n ${bold}${app.featureName}${reset} v${app.version}${sourceNote}\n`);
110
+ process.stdout.write(` ${dim}domain: ${app.domain}${reset}\n`);
111
+ process.stdout.write(` ${cyan}→ ./${relativePath}${reset}\n`);
112
+ }
113
+ for (const fail of result.failed) {
114
+ process.stdout.write(`\n ${red}${fail.featureName}: ${fail.error}${reset}\n`);
115
+ }
116
+ process.stdout.write('\n');
117
+ }
118
+ return result;
119
+ }
120
+ }
121
+ //# sourceMappingURL=pull.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../src/commands/cap/pull.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { JobCommand } from '@salesforce/b2c-tooling-sdk/cli';
2
+ import { listInstalledApps, type CommerceFeatureState } from '@salesforce/b2c-tooling-sdk/operations/cap';
3
+ interface ConfigTask {
4
+ name: string;
5
+ description: string;
6
+ link: string;
7
+ taskNumber: string;
8
+ }
9
+ export default class CapTasks extends JobCommand<typeof CapTasks> {
10
+ static args: {
11
+ appName: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
12
+ };
13
+ static description: string;
14
+ static enableJsonFlag: boolean;
15
+ static examples: string[];
16
+ static flags: {
17
+ 'site-id': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
18
+ timeout: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
+ server: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
+ 'webdav-server': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
21
+ 'code-version': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
22
+ username: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
+ password: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
24
+ certificate: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
25
+ passphrase: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
26
+ selfsigned: import("@oclif/core/interfaces").BooleanFlag<boolean>;
27
+ verify: import("@oclif/core/interfaces").BooleanFlag<boolean>;
28
+ 'client-id': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
29
+ 'client-secret': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
30
+ 'auth-scope': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
31
+ 'short-code': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
32
+ 'tenant-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
33
+ 'auth-methods': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
34
+ 'user-auth': import("@oclif/core/interfaces").BooleanFlag<boolean>;
35
+ 'account-manager-host': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
36
+ 'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
37
+ debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
38
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
39
+ jsonl: import("@oclif/core/interfaces").BooleanFlag<boolean>;
40
+ lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
41
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
42
+ instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
43
+ 'project-directory': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
44
+ 'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
45
+ 'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
46
+ 'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
47
+ };
48
+ protected operations: {
49
+ listInstalledApps: typeof listInstalledApps;
50
+ };
51
+ run(): Promise<{
52
+ feature: CommerceFeatureState;
53
+ tasks: ConfigTask[];
54
+ }>;
55
+ }
56
+ export {};
@@ -0,0 +1,90 @@
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, Flags } from '@oclif/core';
7
+ import { JobCommand } from '@salesforce/b2c-tooling-sdk/cli';
8
+ import { listInstalledApps } from '@salesforce/b2c-tooling-sdk/operations/cap';
9
+ import { t, withDocs } from '../../i18n/index.js';
10
+ export default class CapTasks extends JobCommand {
11
+ static args = {
12
+ appName: Args.string({
13
+ description: 'Commerce App feature name (e.g. avalara-tax)',
14
+ required: true,
15
+ }),
16
+ };
17
+ static description = withDocs(t('commands.cap.tasks.description', 'List configuration tasks for an installed Commerce App'), '/cli/cap.html#b2c-cap-tasks');
18
+ static enableJsonFlag = true;
19
+ static examples = [
20
+ '<%= config.bin %> <%= command.id %> avalara-tax --site-id RefArch',
21
+ '<%= config.bin %> <%= command.id %> avalara-tax --site-id RefArch --json',
22
+ ];
23
+ static flags = {
24
+ ...JobCommand.baseFlags,
25
+ 'site-id': Flags.string({
26
+ char: 's',
27
+ description: 'Site ID to query',
28
+ required: true,
29
+ aliases: ['site'],
30
+ }),
31
+ timeout: Flags.integer({
32
+ char: 't',
33
+ description: 'Timeout in seconds (default: no timeout)',
34
+ }),
35
+ };
36
+ operations = {
37
+ listInstalledApps,
38
+ };
39
+ async run() {
40
+ this.requireOAuthCredentials();
41
+ this.requireWebDavCredentials();
42
+ const { appName: name } = this.args;
43
+ const { 'site-id': siteId, timeout } = this.flags;
44
+ const hostname = this.resolvedConfig.values.hostname;
45
+ this.log(t('commands.cap.tasks.fetching', 'Fetching configuration tasks for {{name}} on {{hostname}}...', {
46
+ name,
47
+ hostname,
48
+ }));
49
+ const result = await this.operations.listInstalledApps(this.instance, {
50
+ sites: [siteId],
51
+ waitOptions: {
52
+ timeoutSeconds: timeout || undefined,
53
+ onPoll: (info) => {
54
+ if (!this.jsonEnabled()) {
55
+ this.log(t('commands.cap.tasks.progress', ' Status: {{status}} ({{elapsed}}s elapsed)', {
56
+ status: info.status,
57
+ elapsed: Math.floor(info.elapsedSeconds).toString(),
58
+ }));
59
+ }
60
+ },
61
+ },
62
+ });
63
+ const feature = result.features.find((f) => f.featureName === name);
64
+ if (!feature) {
65
+ this.error(t('commands.cap.tasks.notFound', 'Commerce App "{{name}}" not found on site {{siteId}}', { name, siteId }));
66
+ }
67
+ const tasks = (feature.configTasks ?? []);
68
+ if (tasks.length === 0) {
69
+ this.log(t('commands.cap.tasks.noTasks', 'No configuration tasks found.'));
70
+ return { feature, tasks };
71
+ }
72
+ this.log(t('commands.cap.tasks.found', 'Configuration tasks for {{name}} ({{status}}):', {
73
+ name: feature.featureName,
74
+ status: feature.configStatus,
75
+ }));
76
+ if (!this.jsonEnabled()) {
77
+ const bold = '';
78
+ const dim = '';
79
+ const cyan = '';
80
+ const reset = '';
81
+ for (const task of tasks) {
82
+ process.stdout.write(`\n ${bold}${task.taskNumber}. ${task.name}${reset}\n`);
83
+ process.stdout.write(` ${dim}${task.description}${reset}\n`);
84
+ process.stdout.write(` ${cyan}→ https://${hostname}${task.link}${reset}\n`);
85
+ }
86
+ }
87
+ return { feature, tasks };
88
+ }
89
+ }
90
+ //# sourceMappingURL=tasks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../src/commands/cap/tasks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import { JobCommand } from '@salesforce/b2c-tooling-sdk/cli';
2
+ import { commerceAppUninstall, listInstalledApps, type CommerceAppUninstallResult } from '@salesforce/b2c-tooling-sdk/operations/cap';
3
+ export default class CapUninstall extends JobCommand<typeof CapUninstall> {
4
+ static args: {
5
+ appName: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
7
+ static description: string;
8
+ static enableJsonFlag: boolean;
9
+ static examples: string[];
10
+ static flags: {
11
+ 'site-id': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
12
+ timeout: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ server: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ 'webdav-server': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ 'code-version': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ username: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ password: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
+ certificate: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
+ passphrase: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
+ selfsigned: import("@oclif/core/interfaces").BooleanFlag<boolean>;
21
+ verify: import("@oclif/core/interfaces").BooleanFlag<boolean>;
22
+ 'client-id': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
23
+ 'client-secret': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
24
+ 'auth-scope': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
25
+ 'short-code': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
26
+ 'tenant-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
27
+ 'auth-methods': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
28
+ 'user-auth': import("@oclif/core/interfaces").BooleanFlag<boolean>;
29
+ 'account-manager-host': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
30
+ 'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
31
+ debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
32
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
33
+ jsonl: import("@oclif/core/interfaces").BooleanFlag<boolean>;
34
+ lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
35
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
36
+ instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
37
+ 'project-directory': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
38
+ 'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
39
+ 'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
40
+ 'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
41
+ };
42
+ protected operations: {
43
+ commerceAppUninstall: typeof commerceAppUninstall;
44
+ listInstalledApps: typeof listInstalledApps;
45
+ };
46
+ run(): Promise<CommerceAppUninstallResult>;
47
+ }
@@ -0,0 +1,123 @@
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, Flags } from '@oclif/core';
7
+ import { JobCommand } from '@salesforce/b2c-tooling-sdk/cli';
8
+ import { commerceAppUninstall, listInstalledApps, JobExecutionError, } from '@salesforce/b2c-tooling-sdk/operations/cap';
9
+ import { t, withDocs } from '../../i18n/index.js';
10
+ export default class CapUninstall extends JobCommand {
11
+ static args = {
12
+ appName: Args.string({
13
+ description: 'App ID to uninstall (from commerce-app.json "id" field, e.g. "avalara-tax")',
14
+ required: true,
15
+ }),
16
+ };
17
+ static description = withDocs(t('commands.cap.uninstall.description', 'Uninstall a Commerce App from a B2C Commerce instance'), '/cli/cap.html#b2c-cap-uninstall');
18
+ static enableJsonFlag = true;
19
+ static examples = ['<%= config.bin %> <%= command.id %> avalara-tax --site-id RefArch'];
20
+ static flags = {
21
+ ...JobCommand.baseFlags,
22
+ 'site-id': Flags.string({
23
+ char: 's',
24
+ description: 'Site ID to uninstall the Commerce App from',
25
+ required: true,
26
+ aliases: ['site'],
27
+ }),
28
+ timeout: Flags.integer({
29
+ char: 't',
30
+ description: 'Timeout in seconds (default: no timeout)',
31
+ }),
32
+ };
33
+ operations = {
34
+ commerceAppUninstall,
35
+ listInstalledApps,
36
+ };
37
+ async run() {
38
+ this.requireOAuthCredentials();
39
+ this.requireWebDavCredentials();
40
+ const { appName } = this.args;
41
+ const { 'site-id': site, timeout } = this.flags;
42
+ const hostname = this.resolvedConfig.values.hostname;
43
+ this.log(t('commands.cap.uninstall.lookingUp', 'Looking up {{appName}} on {{hostname}} (site: {{site}})...', {
44
+ appName,
45
+ hostname,
46
+ site,
47
+ }));
48
+ const listResult = await this.operations.listInstalledApps(this.instance, {
49
+ sites: [site],
50
+ waitOptions: { timeoutSeconds: timeout || undefined },
51
+ });
52
+ const feature = listResult.features.find((f) => f.featureName === appName);
53
+ if (!feature) {
54
+ this.error(t('commands.cap.uninstall.notFound', 'Commerce App "{{appName}}" not found on site {{site}}', {
55
+ appName,
56
+ site,
57
+ }));
58
+ }
59
+ const domain = feature.featureDomain;
60
+ this.log(t('commands.cap.uninstall.uninstalling', 'Uninstalling {{appName}} from {{hostname}} (site: {{site}})...', {
61
+ appName,
62
+ hostname,
63
+ site,
64
+ }));
65
+ const context = this.createContext('cap:uninstall', { appName, domain, site, hostname });
66
+ const beforeResult = await this.runBeforeHooks(context);
67
+ if (beforeResult.skip) {
68
+ this.log(t('commands.cap.uninstall.skipped', 'Uninstall skipped: {{reason}}', {
69
+ reason: beforeResult.skipReason || 'skipped by plugin',
70
+ }));
71
+ return {
72
+ execution: { execution_status: 'finished', exit_status: { code: 'skipped' } },
73
+ appName,
74
+ };
75
+ }
76
+ try {
77
+ const result = await this.operations.commerceAppUninstall(this.instance, appName, domain, {
78
+ siteId: site,
79
+ waitOptions: {
80
+ timeoutSeconds: timeout || undefined,
81
+ onPoll: (info) => {
82
+ if (!this.jsonEnabled()) {
83
+ this.log(t('commands.cap.uninstall.progress', ' Status: {{status}} ({{elapsed}}s elapsed)', {
84
+ status: info.status,
85
+ elapsed: Math.floor(info.elapsedSeconds).toString(),
86
+ }));
87
+ }
88
+ },
89
+ },
90
+ });
91
+ const durationSec = result.execution.duration ? (result.execution.duration / 1000).toFixed(1) : 'N/A';
92
+ this.log(t('commands.cap.uninstall.completed', 'Uninstall completed: {{status}} (duration: {{duration}}s)', {
93
+ status: result.execution.exit_status?.code || result.execution.execution_status,
94
+ duration: durationSec,
95
+ }));
96
+ await this.runAfterHooks(context, {
97
+ success: true,
98
+ duration: Date.now() - context.startTime,
99
+ data: result,
100
+ });
101
+ return result;
102
+ }
103
+ catch (error) {
104
+ await this.runAfterHooks(context, {
105
+ success: false,
106
+ error: error instanceof Error ? error : new Error(String(error)),
107
+ duration: Date.now() - context.startTime,
108
+ data: error instanceof JobExecutionError ? error.execution : undefined,
109
+ });
110
+ if (error instanceof JobExecutionError) {
111
+ await this.showJobLog(error.execution);
112
+ this.error(t('commands.cap.uninstall.failed', 'Uninstall failed: {{status}}', {
113
+ status: error.execution.exit_status?.code || 'ERROR',
114
+ }));
115
+ }
116
+ if (error instanceof Error) {
117
+ this.error(t('commands.cap.uninstall.error', 'Uninstall error: {{message}}', { message: error.message }));
118
+ }
119
+ throw error;
120
+ }
121
+ }
122
+ }
123
+ //# sourceMappingURL=uninstall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../src/commands/cap/uninstall.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { BaseCommand } from '@salesforce/b2c-tooling-sdk/cli';
2
+ import { type CapValidationResult } from '@salesforce/b2c-tooling-sdk/operations/cap';
3
+ export default class CapValidate extends BaseCommand<typeof CapValidate> {
4
+ static args: {
5
+ path: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
7
+ static description: string;
8
+ static enableJsonFlag: boolean;
9
+ static examples: string[];
10
+ run(): Promise<CapValidationResult>;
11
+ }
@@ -0,0 +1,49 @@
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 { BaseCommand } from '@salesforce/b2c-tooling-sdk/cli';
8
+ import { validateCap } from '@salesforce/b2c-tooling-sdk/operations/cap';
9
+ import { t, withDocs } from '../../i18n/index.js';
10
+ export default class CapValidate extends BaseCommand {
11
+ static args = {
12
+ path: Args.string({
13
+ description: 'Path to a CAP directory or .zip file',
14
+ required: true,
15
+ }),
16
+ };
17
+ static description = withDocs(t('commands.cap.validate.description', 'Validate the structure and manifest of a Commerce App Package (CAP)'), '/cli/cap.html#b2c-cap-validate');
18
+ static enableJsonFlag = true;
19
+ static examples = [
20
+ '<%= config.bin %> <%= command.id %> ./commerce-avalara-tax-app-v0.2.5',
21
+ '<%= config.bin %> <%= command.id %> ./commerce-avalara-tax-app-v0.2.5.zip',
22
+ ];
23
+ async run() {
24
+ const { path } = this.args;
25
+ this.log(t('commands.cap.validate.validating', 'Validating CAP: {{path}}', { path }));
26
+ const result = await validateCap(path);
27
+ if (result.errors.length > 0) {
28
+ this.log(`\nErrors (${result.errors.length}):`);
29
+ for (const err of result.errors) {
30
+ this.log(` ✗ ${err}`);
31
+ }
32
+ }
33
+ if (result.warnings.length > 0) {
34
+ this.log(`\nWarnings (${result.warnings.length}):`);
35
+ for (const warn of result.warnings) {
36
+ this.log(` ⚠ ${warn}`);
37
+ }
38
+ }
39
+ if (result.valid) {
40
+ const appInfo = result.manifest ? ` (${result.manifest.name} v${result.manifest.version})` : '';
41
+ this.log(t('commands.cap.validate.valid', '\n✓ CAP is valid{{appInfo}}', { appInfo }));
42
+ }
43
+ else {
44
+ this.error(`CAP validation failed with ${result.errors.length} error(s)`, { exit: 1 });
45
+ }
46
+ return result;
47
+ }
48
+ }
49
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/commands/cap/validate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,WAAW,EAAC,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAC,WAAW,EAA2B,MAAM,4CAA4C,CAAC;AACjG,OAAO,EAAC,CAAC,EAAE,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAA+B;IACtE,MAAM,CAAC,IAAI,GAAG;QACZ,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,sCAAsC;YACnD,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEF,MAAM,CAAC,WAAW,GAAG,QAAQ,CAC3B,CAAC,CAAC,mCAAmC,EAAE,qEAAqE,CAAC,EAC7G,gCAAgC,CACjC,CAAC;IAEF,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IAE7B,MAAM,CAAC,QAAQ,GAAG;QAChB,uEAAuE;QACvE,2EAA2E;KAC5E,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,IAAI,EAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QAEzB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,kCAAkC,EAAE,0BAA0B,EAAE,EAAC,IAAI,EAAC,CAAC,CAAC,CAAC;QAEpF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QAEvC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;YAChD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;YACpD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACnC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAChG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,6BAA6B,EAAE,6BAA6B,EAAE,EAAC,OAAO,EAAC,CAAC,CAAC,CAAC;QACvF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,8BAA8B,MAAM,CAAC,MAAM,CAAC,MAAM,WAAW,EAAE,EAAC,IAAI,EAAE,CAAC,EAAC,CAAC,CAAC;QACvF,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC"}
@@ -127,7 +127,25 @@ export default class CodeDeploy extends CartridgeCommand {
127
127
  await this.operations.deleteCartridges(this.instance, cartridges);
128
128
  }
129
129
  // Upload cartridges
130
- await this.operations.uploadCartridges(this.instance, cartridges);
130
+ const uploadPhaseLabels = {
131
+ archiving: t('commands.code.deploy.archiving', 'Creating cartridge archive'),
132
+ uploading: t('commands.code.deploy.uploading', 'Uploading archive'),
133
+ unzipping: t('commands.code.deploy.unzipping', 'Unzipping on server'),
134
+ cleanup: t('commands.code.deploy.cleanup', 'Cleaning up'),
135
+ };
136
+ await this.operations.uploadCartridges(this.instance, cartridges, {
137
+ onProgress: (info) => {
138
+ if (this.jsonEnabled())
139
+ return;
140
+ const label = uploadPhaseLabels[info.phase];
141
+ if (info.elapsedSeconds === 0) {
142
+ this.log(` ${label}...`);
143
+ }
144
+ else {
145
+ this.log(` ${label}... (${info.elapsedSeconds}s elapsed)`);
146
+ }
147
+ },
148
+ });
131
149
  // Optionally activate or reload code version
132
150
  let activated = false;
133
151
  let reloaded = false;
@@ -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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"}