@salesforce/b2c-cli 0.0.0-nightly.20260119053920
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/README.md +222 -0
- package/bin/dev.cmd +3 -0
- package/bin/dev.js +17 -0
- package/bin/run.cmd +3 -0
- package/bin/run.js +17 -0
- package/dist/commands/_test/index.d.ts +6 -0
- package/dist/commands/_test/index.js +39 -0
- package/dist/commands/_test/index.js.map +1 -0
- package/dist/commands/auth/token.d.ts +16 -0
- package/dist/commands/auth/token.js +35 -0
- package/dist/commands/auth/token.js.map +1 -0
- package/dist/commands/code/activate.d.ts +33 -0
- package/dist/commands/code/activate.js +83 -0
- package/dist/commands/code/activate.js.map +1 -0
- package/dist/commands/code/delete.d.ts +33 -0
- package/dist/commands/code/delete.js +67 -0
- package/dist/commands/code/delete.js.map +1 -0
- package/dist/commands/code/deploy.d.ts +38 -0
- package/dist/commands/code/deploy.js +141 -0
- package/dist/commands/code/deploy.js.map +1 -0
- package/dist/commands/code/list.d.ts +8 -0
- package/dist/commands/code/list.js +64 -0
- package/dist/commands/code/list.js.map +1 -0
- package/dist/commands/code/watch.d.ts +34 -0
- package/dist/commands/code/watch.js +70 -0
- package/dist/commands/code/watch.js.map +1 -0
- package/dist/commands/docs/download.d.ts +35 -0
- package/dist/commands/docs/download.js +58 -0
- package/dist/commands/docs/download.js.map +1 -0
- package/dist/commands/docs/read.d.ts +29 -0
- package/dist/commands/docs/read.js +70 -0
- package/dist/commands/docs/read.js.map +1 -0
- package/dist/commands/docs/schema.d.ts +32 -0
- package/dist/commands/docs/schema.js +68 -0
- package/dist/commands/docs/schema.js.map +1 -0
- package/dist/commands/docs/search.d.ts +33 -0
- package/dist/commands/docs/search.js +102 -0
- package/dist/commands/docs/search.js.map +1 -0
- package/dist/commands/job/export.d.ts +50 -0
- package/dist/commands/job/export.js +270 -0
- package/dist/commands/job/export.js.map +1 -0
- package/dist/commands/job/import.d.ts +38 -0
- package/dist/commands/job/import.js +143 -0
- package/dist/commands/job/import.js.map +1 -0
- package/dist/commands/job/run.d.ts +45 -0
- package/dist/commands/job/run.js +205 -0
- package/dist/commands/job/run.js.map +1 -0
- package/dist/commands/job/search.d.ts +37 -0
- package/dist/commands/job/search.js +102 -0
- package/dist/commands/job/search.js.map +1 -0
- package/dist/commands/job/wait.d.ts +38 -0
- package/dist/commands/job/wait.js +85 -0
- package/dist/commands/job/wait.js.map +1 -0
- package/dist/commands/mrt/env/create.d.ts +41 -0
- package/dist/commands/mrt/env/create.js +226 -0
- package/dist/commands/mrt/env/create.js.map +1 -0
- package/dist/commands/mrt/env/delete.d.ts +34 -0
- package/dist/commands/mrt/env/delete.js +94 -0
- package/dist/commands/mrt/env/delete.js.map +1 -0
- package/dist/commands/mrt/env/var/delete.d.ts +34 -0
- package/dist/commands/mrt/env/var/delete.js +53 -0
- package/dist/commands/mrt/env/var/delete.js.map +1 -0
- package/dist/commands/mrt/env/var/list.d.ts +28 -0
- package/dist/commands/mrt/env/var/list.js +71 -0
- package/dist/commands/mrt/env/var/list.js.map +1 -0
- package/dist/commands/mrt/env/var/set.d.ts +35 -0
- package/dist/commands/mrt/env/var/set.js +84 -0
- package/dist/commands/mrt/env/var/set.js.map +1 -0
- package/dist/commands/mrt/push.d.ts +37 -0
- package/dist/commands/mrt/push.js +122 -0
- package/dist/commands/mrt/push.js.map +1 -0
- package/dist/commands/ods/create.d.ts +42 -0
- package/dist/commands/ods/create.js +255 -0
- package/dist/commands/ods/create.js.map +1 -0
- package/dist/commands/ods/delete.d.ts +15 -0
- package/dist/commands/ods/delete.js +86 -0
- package/dist/commands/ods/delete.js.map +1 -0
- package/dist/commands/ods/get.d.ts +17 -0
- package/dist/commands/ods/get.js +99 -0
- package/dist/commands/ods/get.js.map +1 -0
- package/dist/commands/ods/info.d.ts +27 -0
- package/dist/commands/ods/info.js +109 -0
- package/dist/commands/ods/info.js.map +1 -0
- package/dist/commands/ods/list.d.ts +31 -0
- package/dist/commands/ods/list.js +166 -0
- package/dist/commands/ods/list.js.map +1 -0
- package/dist/commands/ods/restart.d.ts +16 -0
- package/dist/commands/ods/restart.js +51 -0
- package/dist/commands/ods/restart.js.map +1 -0
- package/dist/commands/ods/start.d.ts +16 -0
- package/dist/commands/ods/start.js +51 -0
- package/dist/commands/ods/start.js.map +1 -0
- package/dist/commands/ods/stop.d.ts +16 -0
- package/dist/commands/ods/stop.js +51 -0
- package/dist/commands/ods/stop.js.map +1 -0
- package/dist/commands/scapi/custom/status.d.ts +81 -0
- package/dist/commands/scapi/custom/status.js +321 -0
- package/dist/commands/scapi/custom/status.js.map +1 -0
- package/dist/commands/scapi/schemas/get.d.ts +86 -0
- package/dist/commands/scapi/schemas/get.js +317 -0
- package/dist/commands/scapi/schemas/get.js.map +1 -0
- package/dist/commands/scapi/schemas/list.d.ts +48 -0
- package/dist/commands/scapi/schemas/list.js +148 -0
- package/dist/commands/scapi/schemas/list.js.map +1 -0
- package/dist/commands/sites/list.d.ts +10 -0
- package/dist/commands/sites/list.js +56 -0
- package/dist/commands/sites/list.js.map +1 -0
- package/dist/commands/slas/client/create.d.ts +38 -0
- package/dist/commands/slas/client/create.js +168 -0
- package/dist/commands/slas/client/create.js.map +1 -0
- package/dist/commands/slas/client/delete.d.ts +34 -0
- package/dist/commands/slas/client/delete.js +54 -0
- package/dist/commands/slas/client/delete.js.map +1 -0
- package/dist/commands/slas/client/get.d.ts +29 -0
- package/dist/commands/slas/client/get.js +51 -0
- package/dist/commands/slas/client/get.js.map +1 -0
- package/dist/commands/slas/client/list.d.ts +30 -0
- package/dist/commands/slas/client/list.js +64 -0
- package/dist/commands/slas/client/list.js.map +1 -0
- package/dist/commands/slas/client/open.d.ts +25 -0
- package/dist/commands/slas/client/open.js +56 -0
- package/dist/commands/slas/client/open.js.map +1 -0
- package/dist/commands/slas/client/update.d.ts +60 -0
- package/dist/commands/slas/client/update.js +183 -0
- package/dist/commands/slas/client/update.js.map +1 -0
- package/dist/commands/webdav/get.d.ts +41 -0
- package/dist/commands/webdav/get.js +61 -0
- package/dist/commands/webdav/get.js.map +1 -0
- package/dist/commands/webdav/ls.d.ts +17 -0
- package/dist/commands/webdav/ls.js +101 -0
- package/dist/commands/webdav/ls.js.map +1 -0
- package/dist/commands/webdav/mkdir.d.ts +19 -0
- package/dist/commands/webdav/mkdir.js +48 -0
- package/dist/commands/webdav/mkdir.js.map +1 -0
- package/dist/commands/webdav/put.d.ts +23 -0
- package/dist/commands/webdav/put.js +107 -0
- package/dist/commands/webdav/put.js.map +1 -0
- package/dist/commands/webdav/rm.d.ts +40 -0
- package/dist/commands/webdav/rm.js +67 -0
- package/dist/commands/webdav/rm.js.map +1 -0
- package/dist/commands/webdav/unzip.d.ts +15 -0
- package/dist/commands/webdav/unzip.js +48 -0
- package/dist/commands/webdav/unzip.js.map +1 -0
- package/dist/commands/webdav/zip.d.ts +15 -0
- package/dist/commands/webdav/zip.js +47 -0
- package/dist/commands/webdav/zip.js.map +1 -0
- package/dist/i18n/index.d.ts +29 -0
- package/dist/i18n/index.js +43 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/locales/de.d.ts +51 -0
- package/dist/i18n/locales/de.js +57 -0
- package/dist/i18n/locales/de.js.map +1 -0
- package/dist/i18n/locales/en.d.ts +118 -0
- package/dist/i18n/locales/en.js +124 -0
- package/dist/i18n/locales/en.js.map +1 -0
- package/dist/i18n/locales/index.d.ts +177 -0
- package/dist/i18n/locales/index.js +26 -0
- package/dist/i18n/locales/index.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/scapi/schemas.d.ts +40 -0
- package/dist/utils/scapi/schemas.js +49 -0
- package/dist/utils/scapi/schemas.js.map +1 -0
- package/dist/utils/slas/client.d.ts +65 -0
- package/dist/utils/slas/client.js +146 -0
- package/dist/utils/slas/client.js.map +1 -0
- package/oclif.manifest.json +10942 -0
- package/package.json +154 -0
|
@@ -0,0 +1,71 @@
|
|
|
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 { MrtCommand, createTable } from '@salesforce/b2c-tooling-sdk/cli';
|
|
7
|
+
import { listEnvVars, } from '@salesforce/b2c-tooling-sdk/operations/mrt';
|
|
8
|
+
import { t } from '../../../../i18n/index.js';
|
|
9
|
+
const COLUMNS = {
|
|
10
|
+
name: {
|
|
11
|
+
header: 'Name',
|
|
12
|
+
get: (v) => v.name,
|
|
13
|
+
},
|
|
14
|
+
value: {
|
|
15
|
+
header: 'Value',
|
|
16
|
+
get: (v) => v.value,
|
|
17
|
+
},
|
|
18
|
+
status: {
|
|
19
|
+
header: 'Status',
|
|
20
|
+
get: (v) => v.publishingStatusDescription,
|
|
21
|
+
},
|
|
22
|
+
updated: {
|
|
23
|
+
header: 'Updated',
|
|
24
|
+
get: (v) => (v.updatedAt ? new Date(v.updatedAt).toLocaleString() : '-'),
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
const DEFAULT_COLUMNS = ['name', 'value', 'status', 'updated'];
|
|
28
|
+
/**
|
|
29
|
+
* List environment variables on an MRT project environment.
|
|
30
|
+
*/
|
|
31
|
+
export default class MrtEnvVarList extends MrtCommand {
|
|
32
|
+
static description = t('commands.mrt.env.var.list.description', 'List environment variables on a Managed Runtime environment');
|
|
33
|
+
static enableJsonFlag = true;
|
|
34
|
+
static examples = [
|
|
35
|
+
'<%= config.bin %> <%= command.id %> --project acme-storefront --environment production',
|
|
36
|
+
'<%= config.bin %> <%= command.id %> -p my-project -e staging',
|
|
37
|
+
'<%= config.bin %> <%= command.id %> -p my-project -e production --json',
|
|
38
|
+
];
|
|
39
|
+
static flags = {
|
|
40
|
+
...MrtCommand.baseFlags,
|
|
41
|
+
};
|
|
42
|
+
async run() {
|
|
43
|
+
this.requireMrtCredentials();
|
|
44
|
+
const { mrtProject: project, mrtEnvironment: environment } = this.resolvedConfig.values;
|
|
45
|
+
if (!project) {
|
|
46
|
+
this.error('MRT project is required. Provide --project flag, set SFCC_MRT_PROJECT, or set mrtProject in dw.json.');
|
|
47
|
+
}
|
|
48
|
+
if (!environment) {
|
|
49
|
+
this.error('MRT environment is required. Provide --environment flag, set SFCC_MRT_ENVIRONMENT, or set mrtEnvironment in dw.json.');
|
|
50
|
+
}
|
|
51
|
+
this.log(t('commands.mrt.env.var.list.fetching', 'Listing env vars for {{project}}/{{environment}}...', {
|
|
52
|
+
project,
|
|
53
|
+
environment,
|
|
54
|
+
}));
|
|
55
|
+
const result = await listEnvVars({
|
|
56
|
+
projectSlug: project,
|
|
57
|
+
environment,
|
|
58
|
+
origin: this.resolvedConfig.values.mrtOrigin,
|
|
59
|
+
}, this.getMrtAuth());
|
|
60
|
+
if (!this.jsonEnabled()) {
|
|
61
|
+
if (result.variables.length === 0) {
|
|
62
|
+
this.log(t('commands.mrt.env.var.list.empty', 'No environment variables found.'));
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
createTable(COLUMNS).render(result.variables, DEFAULT_COLUMNS);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return result;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../src/commands/mrt/env/var/list.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,UAAU,EAAE,WAAW,EAAiB,MAAM,iCAAiC,CAAC;AACxF,OAAO,EACL,WAAW,GAGZ,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAC,CAAC,EAAC,MAAM,2BAA2B,CAAC;AAE5C,MAAM,OAAO,GAAmD;IAC9D,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI;KACnB;IACD,KAAK,EAAE;QACL,MAAM,EAAE,OAAO;QACf,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK;KACpB;IACD,MAAM,EAAE;QACN,MAAM,EAAE,QAAQ;QAChB,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,2BAA2B;KAC1C;IACD,OAAO,EAAE;QACP,MAAM,EAAE,SAAS;QACjB,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;KACzE;CACF,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,UAAgC;IACzE,MAAM,CAAC,WAAW,GAAG,CAAC,CACpB,uCAAuC,EACvC,6DAA6D,CAC9D,CAAC;IAEF,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IAE7B,MAAM,CAAC,QAAQ,GAAG;QAChB,wFAAwF;QACxF,8DAA8D;QAC9D,wEAAwE;KACzE,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,UAAU,CAAC,SAAS;KACxB,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,MAAM,EAAC,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;QAEtF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CACR,sGAAsG,CACvG,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CACR,sHAAsH,CACvH,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,GAAG,CACN,CAAC,CAAC,oCAAoC,EAAE,qDAAqD,EAAE;YAC7F,OAAO;YACP,WAAW;SACZ,CAAC,CACH,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B;YACE,WAAW,EAAE,OAAO;YACpB,WAAW;YACX,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS;SAC7C,EACD,IAAI,CAAC,UAAU,EAAE,CAClB,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,iCAAiC,EAAE,iCAAiC,CAAC,CAAC,CAAC;YACpF,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { MrtCommand } from '@salesforce/b2c-tooling-sdk/cli';
|
|
2
|
+
/**
|
|
3
|
+
* Set environment variables on an MRT project environment.
|
|
4
|
+
*/
|
|
5
|
+
export default class MrtEnvVarSet extends MrtCommand<typeof MrtEnvVarSet> {
|
|
6
|
+
static args: {
|
|
7
|
+
variables: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
8
|
+
};
|
|
9
|
+
static description: string;
|
|
10
|
+
static enableJsonFlag: boolean;
|
|
11
|
+
static examples: string[];
|
|
12
|
+
static flags: {
|
|
13
|
+
'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
environment: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
'cloud-origin': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
'credentials-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
|
+
debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
20
|
+
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
21
|
+
lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
|
+
config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
23
|
+
instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
24
|
+
'working-directory': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
25
|
+
'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
26
|
+
'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
27
|
+
'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
28
|
+
};
|
|
29
|
+
static strict: boolean;
|
|
30
|
+
run(): Promise<{
|
|
31
|
+
variables: Record<string, string>;
|
|
32
|
+
project: string;
|
|
33
|
+
environment: string;
|
|
34
|
+
}>;
|
|
35
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
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 { MrtCommand } from '@salesforce/b2c-tooling-sdk/cli';
|
|
8
|
+
import { setEnvVars } from '@salesforce/b2c-tooling-sdk/operations/mrt';
|
|
9
|
+
import { t } from '../../../../i18n/index.js';
|
|
10
|
+
/**
|
|
11
|
+
* Set environment variables on an MRT project environment.
|
|
12
|
+
*/
|
|
13
|
+
export default class MrtEnvVarSet extends MrtCommand {
|
|
14
|
+
static args = {
|
|
15
|
+
variables: Args.string({
|
|
16
|
+
description: 'Environment variables in KEY=value format',
|
|
17
|
+
required: true,
|
|
18
|
+
}),
|
|
19
|
+
};
|
|
20
|
+
static description = t('commands.mrt.env.var.set.description', 'Set environment variables on a Managed Runtime environment');
|
|
21
|
+
static enableJsonFlag = true;
|
|
22
|
+
static examples = [
|
|
23
|
+
'<%= config.bin %> <%= command.id %> MY_VAR=value --project acme-storefront --environment production',
|
|
24
|
+
'<%= config.bin %> <%= command.id %> API_KEY=secret DEBUG=true -p my-project -e staging',
|
|
25
|
+
'<%= config.bin %> <%= command.id %> "MESSAGE=hello world" -p my-project -e production',
|
|
26
|
+
];
|
|
27
|
+
static flags = {
|
|
28
|
+
...MrtCommand.baseFlags,
|
|
29
|
+
};
|
|
30
|
+
// Allow multiple arguments
|
|
31
|
+
static strict = false;
|
|
32
|
+
async run() {
|
|
33
|
+
this.requireMrtCredentials();
|
|
34
|
+
const { argv } = await this.parse(MrtEnvVarSet);
|
|
35
|
+
const { mrtProject: project, mrtEnvironment: environment } = this.resolvedConfig.values;
|
|
36
|
+
if (!project) {
|
|
37
|
+
this.error('MRT project is required. Provide --project flag, set SFCC_MRT_PROJECT, or set mrtProject in dw.json.');
|
|
38
|
+
}
|
|
39
|
+
if (!environment) {
|
|
40
|
+
this.error('MRT environment is required. Provide --environment flag, set SFCC_MRT_ENVIRONMENT, or set mrtEnvironment in dw.json.');
|
|
41
|
+
}
|
|
42
|
+
// Parse KEY=value arguments
|
|
43
|
+
const variables = {};
|
|
44
|
+
const keys = [];
|
|
45
|
+
for (const arg of argv) {
|
|
46
|
+
const eqIndex = arg.indexOf('=');
|
|
47
|
+
if (eqIndex === -1) {
|
|
48
|
+
this.error(t('commands.mrt.env.var.set.invalidFormat', 'Invalid format: {{arg}}. Use KEY=value format.', { arg }));
|
|
49
|
+
}
|
|
50
|
+
const key = arg.slice(0, eqIndex);
|
|
51
|
+
const value = arg.slice(eqIndex + 1);
|
|
52
|
+
if (!key) {
|
|
53
|
+
this.error(t('commands.mrt.env.var.set.emptyKey', 'Empty key in: {{arg}}', { arg }));
|
|
54
|
+
}
|
|
55
|
+
variables[key] = value;
|
|
56
|
+
keys.push(key);
|
|
57
|
+
}
|
|
58
|
+
if (keys.length === 0) {
|
|
59
|
+
this.error(t('commands.mrt.env.var.set.noVariables', 'No environment variables provided. Use KEY=value format.'));
|
|
60
|
+
}
|
|
61
|
+
await setEnvVars({
|
|
62
|
+
projectSlug: project,
|
|
63
|
+
environment,
|
|
64
|
+
variables,
|
|
65
|
+
origin: this.resolvedConfig.values.mrtOrigin,
|
|
66
|
+
}, this.getMrtAuth());
|
|
67
|
+
if (keys.length === 1) {
|
|
68
|
+
this.log(t('commands.mrt.env.var.set.successSingle', 'Set {{key}} on {{project}}/{{environment}}', {
|
|
69
|
+
key: keys[0],
|
|
70
|
+
project,
|
|
71
|
+
environment,
|
|
72
|
+
}));
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
this.log(t('commands.mrt.env.var.set.successMultiple', 'Set {{count}} variables on {{project}}/{{environment}}', {
|
|
76
|
+
count: keys.length,
|
|
77
|
+
project,
|
|
78
|
+
environment,
|
|
79
|
+
}));
|
|
80
|
+
}
|
|
81
|
+
return { variables, project, environment };
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=set.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../../src/commands/mrt/env/var/set.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { MrtCommand } from '@salesforce/b2c-tooling-sdk/cli';
|
|
2
|
+
import { type PushResult } from '@salesforce/b2c-tooling-sdk/operations/mrt';
|
|
3
|
+
/**
|
|
4
|
+
* Push a bundle to Managed Runtime.
|
|
5
|
+
*
|
|
6
|
+
* Creates a bundle from the build directory and uploads it to the specified
|
|
7
|
+
* MRT project. Optionally deploys the bundle to a target environment.
|
|
8
|
+
*/
|
|
9
|
+
export default class MrtPush extends MrtCommand<typeof MrtPush> {
|
|
10
|
+
static description: string;
|
|
11
|
+
static enableJsonFlag: boolean;
|
|
12
|
+
static examples: string[];
|
|
13
|
+
static flags: {
|
|
14
|
+
message: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
'build-dir': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
'ssr-only': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
'ssr-shared': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
'node-version': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
|
+
'ssr-param': import("@oclif/core/interfaces").OptionFlag<string[], import("@oclif/core/interfaces").CustomOptions>;
|
|
20
|
+
'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
21
|
+
project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
|
+
environment: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
23
|
+
'cloud-origin': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
24
|
+
'credentials-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
25
|
+
'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
26
|
+
debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
27
|
+
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
28
|
+
lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
29
|
+
config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
30
|
+
instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
31
|
+
'working-directory': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
32
|
+
'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
33
|
+
'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
34
|
+
'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
35
|
+
};
|
|
36
|
+
run(): Promise<PushResult>;
|
|
37
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
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 { Flags } from '@oclif/core';
|
|
7
|
+
import { MrtCommand } from '@salesforce/b2c-tooling-sdk/cli';
|
|
8
|
+
import { pushBundle, DEFAULT_SSR_PARAMETERS } from '@salesforce/b2c-tooling-sdk/operations/mrt';
|
|
9
|
+
import { t } from '../../i18n/index.js';
|
|
10
|
+
/**
|
|
11
|
+
* Parses SSR parameter flags into a key-value object.
|
|
12
|
+
* Accepts format: key=value
|
|
13
|
+
*/
|
|
14
|
+
function parseSsrParams(params) {
|
|
15
|
+
const result = {};
|
|
16
|
+
for (const param of params) {
|
|
17
|
+
const eqIndex = param.indexOf('=');
|
|
18
|
+
if (eqIndex === -1) {
|
|
19
|
+
throw new Error(`Invalid SSR parameter format: "${param}". Expected key=value format.`);
|
|
20
|
+
}
|
|
21
|
+
const key = param.slice(0, eqIndex);
|
|
22
|
+
const value = param.slice(eqIndex + 1);
|
|
23
|
+
result[key] = value;
|
|
24
|
+
}
|
|
25
|
+
return result;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Push a bundle to Managed Runtime.
|
|
29
|
+
*
|
|
30
|
+
* Creates a bundle from the build directory and uploads it to the specified
|
|
31
|
+
* MRT project. Optionally deploys the bundle to a target environment.
|
|
32
|
+
*/
|
|
33
|
+
export default class MrtPush extends MrtCommand {
|
|
34
|
+
static description = t('commands.mrt.push.description', 'Push a bundle to Managed Runtime');
|
|
35
|
+
static enableJsonFlag = true;
|
|
36
|
+
static examples = [
|
|
37
|
+
'<%= config.bin %> <%= command.id %> --project my-storefront',
|
|
38
|
+
'<%= config.bin %> <%= command.id %> --project my-storefront --environment staging',
|
|
39
|
+
'<%= config.bin %> <%= command.id %> --project my-storefront --environment production --message "Release v1.0.0"',
|
|
40
|
+
'<%= config.bin %> <%= command.id %> --project my-storefront --build-dir ./dist',
|
|
41
|
+
'<%= config.bin %> <%= command.id %> --project my-storefront --node-version 20.x',
|
|
42
|
+
'<%= config.bin %> <%= command.id %> --project my-storefront --ssr-param SSRProxyPath=/api',
|
|
43
|
+
];
|
|
44
|
+
static flags = {
|
|
45
|
+
...MrtCommand.baseFlags,
|
|
46
|
+
message: Flags.string({
|
|
47
|
+
char: 'm',
|
|
48
|
+
description: 'Bundle message/description',
|
|
49
|
+
}),
|
|
50
|
+
'build-dir': Flags.string({
|
|
51
|
+
char: 'b',
|
|
52
|
+
description: 'Path to the build directory',
|
|
53
|
+
default: 'build',
|
|
54
|
+
}),
|
|
55
|
+
'ssr-only': Flags.string({
|
|
56
|
+
description: 'Glob patterns for server-only files (comma-separated)',
|
|
57
|
+
default: 'ssr.js,ssr.mjs,server/**/*',
|
|
58
|
+
}),
|
|
59
|
+
'ssr-shared': Flags.string({
|
|
60
|
+
description: 'Glob patterns for shared files (comma-separated)',
|
|
61
|
+
default: 'static/**/*,client/**/*',
|
|
62
|
+
}),
|
|
63
|
+
'node-version': Flags.string({
|
|
64
|
+
char: 'n',
|
|
65
|
+
description: `Node.js version for SSR runtime (default: ${DEFAULT_SSR_PARAMETERS.SSRFunctionNodeVersion})`,
|
|
66
|
+
}),
|
|
67
|
+
'ssr-param': Flags.string({
|
|
68
|
+
description: 'SSR parameter in key=value format (can be specified multiple times)',
|
|
69
|
+
multiple: true,
|
|
70
|
+
default: [],
|
|
71
|
+
}),
|
|
72
|
+
};
|
|
73
|
+
async run() {
|
|
74
|
+
this.requireMrtCredentials();
|
|
75
|
+
const { mrtProject: project, mrtEnvironment: target } = this.resolvedConfig.values;
|
|
76
|
+
const { message } = this.flags;
|
|
77
|
+
if (!project) {
|
|
78
|
+
this.error('MRT project is required. Provide --project flag, set SFCC_MRT_PROJECT, or set mrtProject in dw.json.');
|
|
79
|
+
}
|
|
80
|
+
const buildDir = this.flags['build-dir'];
|
|
81
|
+
const ssrOnly = this.flags['ssr-only'].split(',').map((s) => s.trim());
|
|
82
|
+
const ssrShared = this.flags['ssr-shared'].split(',').map((s) => s.trim());
|
|
83
|
+
// Build SSR parameters from flags
|
|
84
|
+
const ssrParameters = parseSsrParams(this.flags['ssr-param']);
|
|
85
|
+
// --node-version is a convenience flag for SSRFunctionNodeVersion
|
|
86
|
+
if (this.flags['node-version']) {
|
|
87
|
+
ssrParameters.SSRFunctionNodeVersion = this.flags['node-version'];
|
|
88
|
+
}
|
|
89
|
+
this.log(t('commands.mrt.push.pushing', 'Pushing bundle to {{project}}...', { project }));
|
|
90
|
+
if (target) {
|
|
91
|
+
this.log(t('commands.mrt.push.willDeploy', 'Bundle will be deployed to {{environment}}', { environment: target }));
|
|
92
|
+
}
|
|
93
|
+
try {
|
|
94
|
+
const result = await pushBundle({
|
|
95
|
+
projectSlug: project,
|
|
96
|
+
target,
|
|
97
|
+
message,
|
|
98
|
+
buildDirectory: buildDir,
|
|
99
|
+
ssrOnly,
|
|
100
|
+
ssrShared,
|
|
101
|
+
ssrParameters,
|
|
102
|
+
origin: this.resolvedConfig.values.mrtOrigin,
|
|
103
|
+
}, this.getMrtAuth());
|
|
104
|
+
// Consolidated success output
|
|
105
|
+
const deployedMsg = result.deployed && result.target ? ` and deployed to ${result.target}` : '';
|
|
106
|
+
this.log(t('commands.mrt.push.success', 'Bundle #{{bundleId}} pushed to {{project}}{{deployed}} ({{message}})', {
|
|
107
|
+
bundleId: String(result.bundleId),
|
|
108
|
+
project: result.projectSlug,
|
|
109
|
+
deployed: deployedMsg,
|
|
110
|
+
message: result.message,
|
|
111
|
+
}));
|
|
112
|
+
return result;
|
|
113
|
+
}
|
|
114
|
+
catch (error) {
|
|
115
|
+
if (error instanceof Error) {
|
|
116
|
+
this.error(t('commands.mrt.push.failed', 'Push failed: {{message}}', { message: error.message }));
|
|
117
|
+
}
|
|
118
|
+
throw error;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=push.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/commands/mrt/push.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { OdsCommand } from '@salesforce/b2c-tooling-sdk/cli';
|
|
2
|
+
import type { OdsComponents } from '@salesforce/b2c-tooling-sdk';
|
|
3
|
+
type SandboxModel = OdsComponents['schemas']['SandboxModel'];
|
|
4
|
+
/**
|
|
5
|
+
* Command to create a new on-demand sandbox.
|
|
6
|
+
*/
|
|
7
|
+
export default class OdsCreate extends OdsCommand<typeof OdsCreate> {
|
|
8
|
+
static description: string;
|
|
9
|
+
static enableJsonFlag: boolean;
|
|
10
|
+
static examples: string[];
|
|
11
|
+
static flags: {
|
|
12
|
+
realm: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
ttl: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
'auto-scheduled': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
16
|
+
wait: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
17
|
+
'poll-interval': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
timeout: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
|
+
'set-permissions': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
20
|
+
};
|
|
21
|
+
run(): Promise<SandboxModel>;
|
|
22
|
+
/**
|
|
23
|
+
* Builds the sandbox settings object with OCAPI and WebDAV permissions.
|
|
24
|
+
* @param setPermissions - Whether to set permissions for the client ID
|
|
25
|
+
* @returns Settings object or undefined if permissions should not be set
|
|
26
|
+
*/
|
|
27
|
+
private buildSettings;
|
|
28
|
+
private printSandboxSummary;
|
|
29
|
+
/**
|
|
30
|
+
* Sleep for a given number of milliseconds.
|
|
31
|
+
*/
|
|
32
|
+
private sleep;
|
|
33
|
+
/**
|
|
34
|
+
* Polls for sandbox status until it reaches a terminal state.
|
|
35
|
+
* @param sandboxId - The sandbox ID to poll
|
|
36
|
+
* @param pollIntervalSeconds - Interval between polls in seconds
|
|
37
|
+
* @param timeoutSeconds - Maximum time to wait (0 for no timeout)
|
|
38
|
+
* @returns The final sandbox state
|
|
39
|
+
*/
|
|
40
|
+
private waitForSandbox;
|
|
41
|
+
}
|
|
42
|
+
export {};
|