@commercetools/cli-topic-integration-layer 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/commands/integration-layer/allowlist/add.js +3 -3
- package/dist/commands/integration-layer/allowlist/add.js.map +1 -1
- package/dist/commands/integration-layer/allowlist/list.js +2 -2
- package/dist/commands/integration-layer/allowlist/list.js.map +1 -1
- package/dist/commands/integration-layer/allowlist/remove.js +3 -3
- package/dist/commands/integration-layer/allowlist/remove.js.map +1 -1
- package/dist/commands/integration-layer/allowlist/set.js +3 -3
- package/dist/commands/integration-layer/allowlist/set.js.map +1 -1
- package/dist/commands/integration-layer/config/get.js +2 -2
- package/dist/commands/integration-layer/config/get.js.map +1 -1
- package/dist/commands/integration-layer/config/list.js +2 -2
- package/dist/commands/integration-layer/config/list.js.map +1 -1
- package/dist/commands/integration-layer/config/set.js +2 -2
- package/dist/commands/integration-layer/config/set.js.map +1 -1
- package/dist/commands/integration-layer/config/unset.js +2 -2
- package/dist/commands/integration-layer/config/unset.js.map +1 -1
- package/dist/commands/integration-layer/explore.js +5 -5
- package/dist/commands/integration-layer/explore.js.map +1 -1
- package/dist/commands/integration-layer/extension/build.js +4 -1
- package/dist/commands/integration-layer/extension/build.js.map +1 -1
- package/dist/commands/integration-layer/extension/create-api-extension-input.d.ts +12 -0
- package/dist/commands/integration-layer/extension/create-api-extension-input.js +49 -0
- package/dist/commands/integration-layer/extension/create-api-extension-input.js.map +1 -0
- package/dist/commands/integration-layer/extension/delete.js +2 -2
- package/dist/commands/integration-layer/extension/delete.js.map +1 -1
- package/dist/commands/integration-layer/extension/invoke-api-extension.d.ts +19 -0
- package/dist/commands/integration-layer/extension/invoke-api-extension.js +140 -0
- package/dist/commands/integration-layer/extension/invoke-api-extension.js.map +1 -0
- package/dist/commands/integration-layer/extension/push.js +8 -5
- package/dist/commands/integration-layer/extension/push.js.map +1 -1
- package/dist/commands/integration-layer/extension/serve.d.ts +29 -0
- package/dist/commands/integration-layer/extension/serve.js +81 -30
- package/dist/commands/integration-layer/extension/serve.js.map +1 -1
- package/dist/commands/integration-layer/extension/status.js +2 -2
- package/dist/commands/integration-layer/extension/status.js.map +1 -1
- package/dist/commands/integration-layer/extension/validate.js +6 -3
- package/dist/commands/integration-layer/extension/validate.js.map +1 -1
- package/dist/commands/integration-layer/schema/fetch.js +2 -2
- package/dist/commands/integration-layer/schema/fetch.js.map +1 -1
- package/dist/hooks/authentication.d.ts +3 -0
- package/dist/hooks/authentication.js +33 -0
- package/dist/hooks/authentication.js.map +1 -0
- package/dist/lib/auth.d.ts +5 -0
- package/dist/lib/auth.js +41 -0
- package/dist/lib/auth.js.map +1 -0
- package/dist/lib/awaitBundleState.d.ts +2 -2
- package/dist/lib/awaitBundleState.js +2 -2
- package/dist/lib/awaitBundleState.js.map +1 -1
- package/dist/lib/base.d.ts +12 -21
- package/dist/lib/base.js +27 -76
- package/dist/lib/base.js.map +1 -1
- package/dist/lib/extensionConfig.d.ts +17 -0
- package/dist/lib/extensionConfig.js +36 -0
- package/dist/lib/extensionConfig.js.map +1 -0
- package/dist/lib/ilClient.d.ts +16 -10
- package/dist/lib/ilClient.js +28 -31
- package/dist/lib/ilClient.js.map +1 -1
- package/dist/lib/loadLocalEnv.d.ts +49 -0
- package/dist/lib/loadLocalEnv.js +112 -0
- package/dist/lib/loadLocalEnv.js.map +1 -0
- package/dist/lib/tooling/compose.js +2 -2
- package/dist/lib/tooling/compose.js.map +1 -1
- package/dist/lib/tooling/extensionInputSampleObj.d.ts +8 -0
- package/dist/lib/tooling/extensionInputSampleObj.js +178 -0
- package/dist/lib/tooling/extensionInputSampleObj.js.map +1 -0
- package/dist/lib/tooling/extensions.d.ts +22 -5
- package/dist/lib/tooling/extensions.js +30 -8
- package/dist/lib/tooling/extensions.js.map +1 -1
- package/dist/lib/tooling/generateExtensionInputSample.d.ts +22 -0
- package/dist/lib/tooling/generateExtensionInputSample.js +36 -0
- package/dist/lib/tooling/generateExtensionInputSample.js.map +1 -0
- package/package.json +6 -3
- package/dist/commands/integration-layer/extension/invoke.d.ts +0 -14
- package/dist/commands/integration-layer/extension/invoke.js +0 -94
- package/dist/commands/integration-layer/extension/invoke.js.map +0 -1
package/README.md
CHANGED
|
@@ -30,7 +30,7 @@ commercetools integration-layer init [DIR] # scaffold an extens
|
|
|
30
30
|
|
|
31
31
|
commercetools integration-layer extension build # bundle src/extension.ts → dist [offline]
|
|
32
32
|
commercetools integration-layer extension serve # local dev server; allowlist-gated fetch when online + logged in
|
|
33
|
-
commercetools integration-layer extension invoke
|
|
33
|
+
commercetools integration-layer extension invoke-api-extension # fire an API-Extension callback (sample or --input) [offline]
|
|
34
34
|
|
|
35
35
|
commercetools integration-layer explore # local GraphQL explorer over your deployed edge
|
|
36
36
|
commercetools integration-layer schema fetch # the Project's core-subgraph SDL
|
|
@@ -19,8 +19,8 @@ export default class AllowlistAdd extends IntegrationLayerCommand {
|
|
|
19
19
|
async run() {
|
|
20
20
|
const { argv, flags } = await this.parse(AllowlistAdd);
|
|
21
21
|
const hosts = argv.map((h) => h.trim()).filter((h) => h !== "");
|
|
22
|
-
const { baseUrl, projectKey,
|
|
23
|
-
const { allow } = await getAllowlist(baseUrl, projectKey,
|
|
22
|
+
const { baseUrl, projectKey, authFetch } = await this.resolveIlContext(flags);
|
|
23
|
+
const { allow } = await getAllowlist(baseUrl, projectKey, authFetch);
|
|
24
24
|
// Existing entries are stored lowercased; compare case-insensitively so we don't
|
|
25
25
|
// re-send a host that's already there (the Commerce Integration Layer would de-dupe anyway).
|
|
26
26
|
const existing = new Set(allow.map((h) => h.toLowerCase()));
|
|
@@ -30,7 +30,7 @@ export default class AllowlistAdd extends IntegrationLayerCommand {
|
|
|
30
30
|
return;
|
|
31
31
|
}
|
|
32
32
|
// The Commerce Integration Layer validates + normalizes (lowercase, de-dupe) on write.
|
|
33
|
-
const { allow: result, version } = await putAllowlist(baseUrl, projectKey,
|
|
33
|
+
const { allow: result, version } = await putAllowlist(baseUrl, projectKey, authFetch, [
|
|
34
34
|
...allow,
|
|
35
35
|
...added,
|
|
36
36
|
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/allowlist/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,uBAAuB;IAC/D,MAAM,CAAU,WAAW,GACzB,wFAAwF,CAAC;IAE3F,MAAM,CAAU,QAAQ,GAAG;QACzB,kEAAkE;QAClE,kFAAkF;KACnF,CAAC;IAEF,mFAAmF;IACnF,qEAAqE;IACrE,MAAM,CAAU,MAAM,GAAG,KAAK,CAAC;IAE/B,MAAM,CAAU,IAAI,GAAG;QACrB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,0EAA0E;YACvF,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,KAAK,GAAI,IAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9E,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/allowlist/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,uBAAuB;IAC/D,MAAM,CAAU,WAAW,GACzB,wFAAwF,CAAC;IAE3F,MAAM,CAAU,QAAQ,GAAG;QACzB,kEAAkE;QAClE,kFAAkF;KACnF,CAAC;IAEF,mFAAmF;IACnF,qEAAqE;IACrE,MAAM,CAAU,MAAM,GAAG,KAAK,CAAC;IAE/B,MAAM,CAAU,IAAI,GAAG;QACrB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,0EAA0E;YACvF,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,KAAK,GAAI,IAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9E,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAE9E,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QACrE,iFAAiF;QACjF,6FAA6F;QAC7F,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAElE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,uDAAuD,UAAU,IAAI,CAAC,CAAC;YAChF,OAAO;QACT,CAAC;QAED,uFAAuF;QACvF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE;YACpF,GAAG,KAAK;YACR,GAAG,KAAK;SACT,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,UAAU,cAAc,OAAO,IAAI,CAAC,CAAC;QACvG,IAAI,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC"}
|
|
@@ -5,8 +5,8 @@ export default class AllowlistList extends IntegrationLayerCommand {
|
|
|
5
5
|
static examples = ["<%= config.bin %> integration-layer allowlist list"];
|
|
6
6
|
async run() {
|
|
7
7
|
const { flags } = await this.parse(AllowlistList);
|
|
8
|
-
const { baseUrl, projectKey,
|
|
9
|
-
const { allow, deny } = await getAllowlist(baseUrl, projectKey,
|
|
8
|
+
const { baseUrl, projectKey, authFetch } = await this.resolveIlContext(flags);
|
|
9
|
+
const { allow, deny } = await getAllowlist(baseUrl, projectKey, authFetch);
|
|
10
10
|
if (allow.length === 0) {
|
|
11
11
|
this.log(`No allowlisted hosts for '${projectKey}' — the extension's fetch can reach nothing.`);
|
|
12
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/allowlist/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,uBAAuB;IAChE,MAAM,CAAU,WAAW,GACzB,iGAAiG,CAAC;IAEpG,MAAM,CAAU,QAAQ,GAAG,CAAC,oDAAoD,CAAC,CAAC;IAElF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAClD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/allowlist/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,uBAAuB;IAChE,MAAM,CAAU,WAAW,GACzB,iGAAiG,CAAC;IAEpG,MAAM,CAAU,QAAQ,GAAG,CAAC,oDAAoD,CAAC,CAAC;IAElF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAClD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC9E,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAE3E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,6BAA6B,UAAU,8CAA8C,CAAC,CAAC;QAClG,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,sBAAsB,UAAU,IAAI,CAAC,CAAC;YAC/C,KAAK,MAAM,IAAI,IAAI,KAAK;gBAAE,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,6EAA6E;QAC7E,gEAAgE;QAChE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;YAClE,KAAK,MAAM,IAAI,IAAI,IAAI;gBAAE,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC"}
|
|
@@ -28,8 +28,8 @@ export default class AllowlistRemove extends IntegrationLayerCommand {
|
|
|
28
28
|
const { argv, flags } = await this.parse(AllowlistRemove);
|
|
29
29
|
// Stored entries are lowercased, so match case-insensitively.
|
|
30
30
|
const targets = new Set(argv.map((h) => h.trim().toLowerCase()).filter((h) => h !== ""));
|
|
31
|
-
const { baseUrl, projectKey,
|
|
32
|
-
const { allow } = await getAllowlist(baseUrl, projectKey,
|
|
31
|
+
const { baseUrl, projectKey, authFetch } = await this.resolveIlContext(flags);
|
|
32
|
+
const { allow } = await getAllowlist(baseUrl, projectKey, authFetch);
|
|
33
33
|
const remaining = allow.filter((h) => !targets.has(h.toLowerCase()));
|
|
34
34
|
if (remaining.length === allow.length) {
|
|
35
35
|
this.log(`Nothing to remove — no matching host in the allowlist for '${projectKey}'.`);
|
|
@@ -48,7 +48,7 @@ export default class AllowlistRemove extends IntegrationLayerCommand {
|
|
|
48
48
|
this.log("Aborted.");
|
|
49
49
|
return;
|
|
50
50
|
}
|
|
51
|
-
const { allow: result, version } = await putAllowlist(baseUrl, projectKey,
|
|
51
|
+
const { allow: result, version } = await putAllowlist(baseUrl, projectKey, authFetch, remaining);
|
|
52
52
|
this.log(`✓ removed ${[...targets].map((h) => `'${h}'`).join(", ")} from '${projectKey}' (version ${version}).`);
|
|
53
53
|
this.log(result.length > 0 ? `Allowed hosts: ${result.join(", ")}` : "Allowed hosts: (none)");
|
|
54
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/allowlist/remove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,uBAAuB;IAClE,MAAM,CAAU,WAAW,GACzB,oEAAoE,CAAC;IAEvE,MAAM,CAAU,QAAQ,GAAG;QACzB,qEAAqE;QACrE,qFAAqF;QACrF,6EAA6E;KAC9E,CAAC;IAEF,kFAAkF;IAClF,6CAA6C;IAC7C,MAAM,CAAU,MAAM,GAAG,KAAK,CAAC;IAE/B,MAAM,CAAU,KAAK,GAAG;QACtB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,WAAW,EAAE,uCAAuC;YACpD,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEF,MAAM,CAAU,IAAI,GAAG;QACrB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,2EAA2E;YACxF,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC1D,8DAA8D;QAC9D,MAAM,OAAO,GAAG,IAAI,GAAG,CACpB,IAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAC9E,CAAC;QACF,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/allowlist/remove.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,8 +29,8 @@ export default class AllowlistSet extends IntegrationLayerCommand {
|
|
|
29
29
|
if (hosts.length === 0) {
|
|
30
30
|
this.error("At least one host pattern is required. Use 'allowlist remove' to drop individual hosts.");
|
|
31
31
|
}
|
|
32
|
-
const { baseUrl, projectKey,
|
|
33
|
-
const { allow: current } = await getAllowlist(baseUrl, projectKey,
|
|
32
|
+
const { baseUrl, projectKey, authFetch } = await this.resolveIlContext(flags);
|
|
33
|
+
const { allow: current } = await getAllowlist(baseUrl, projectKey, authFetch);
|
|
34
34
|
const confirmed = await confirmAllowlistChange({
|
|
35
35
|
projectKey,
|
|
36
36
|
action: "set",
|
|
@@ -44,7 +44,7 @@ export default class AllowlistSet extends IntegrationLayerCommand {
|
|
|
44
44
|
this.log("Aborted.");
|
|
45
45
|
return;
|
|
46
46
|
}
|
|
47
|
-
const { allow, version } = await putAllowlist(baseUrl, projectKey,
|
|
47
|
+
const { allow, version } = await putAllowlist(baseUrl, projectKey, authFetch, hosts);
|
|
48
48
|
this.log(`✓ set the allowlist for '${projectKey}' (version ${version}).`);
|
|
49
49
|
this.log(`Allowed hosts: ${allow.join(", ")}`);
|
|
50
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/allowlist/set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,uBAAuB;IAC/D,MAAM,CAAU,WAAW,GACzB,0EAA0E,CAAC;IAE7E,MAAM,CAAU,QAAQ,GAAG;QACzB,kFAAkF;QAClF,0EAA0E;KAC3E,CAAC;IAEF,iFAAiF;IACjF,iDAAiD;IACjD,MAAM,CAAU,MAAM,GAAG,KAAK,CAAC;IAE/B,MAAM,CAAU,KAAK,GAAG;QACtB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,WAAW,EAAE,uCAAuC;YACpD,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEF,MAAM,CAAU,IAAI,GAAG;QACrB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,0EAA0E;YACvF,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,KAAK,GAAI,IAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CACR,yFAAyF,CAC1F,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/allowlist/set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,uBAAuB;IAC/D,MAAM,CAAU,WAAW,GACzB,0EAA0E,CAAC;IAE7E,MAAM,CAAU,QAAQ,GAAG;QACzB,kFAAkF;QAClF,0EAA0E;KAC3E,CAAC;IAEF,iFAAiF;IACjF,iDAAiD;IACjD,MAAM,CAAU,MAAM,GAAG,KAAK,CAAC;IAE/B,MAAM,CAAU,KAAK,GAAG;QACtB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,WAAW,EAAE,uCAAuC;YACpD,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEF,MAAM,CAAU,IAAI,GAAG;QACrB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,0EAA0E;YACvF,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,KAAK,GAAI,IAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CACR,yFAAyF,CAC1F,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAE9E,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAC9E,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC;YAC7C,UAAU;YACV,MAAM,EAAE,KAAK;YACb,OAAO;YACP,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAC7B,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;SACxC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACrF,IAAI,CAAC,GAAG,CAAC,4BAA4B,UAAU,cAAc,OAAO,IAAI,CAAC,CAAC;QAC1E,IAAI,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC"}
|
|
@@ -9,8 +9,8 @@ export default class ConfigGet extends IntegrationLayerCommand {
|
|
|
9
9
|
};
|
|
10
10
|
async run() {
|
|
11
11
|
const { args, flags } = await this.parse(ConfigGet);
|
|
12
|
-
const { baseUrl, projectKey,
|
|
13
|
-
const entries = await listConfig(baseUrl, projectKey,
|
|
12
|
+
const { baseUrl, projectKey, authFetch } = await this.resolveIlContext(flags);
|
|
13
|
+
const entries = await listConfig(baseUrl, projectKey, authFetch);
|
|
14
14
|
const entry = entries.find((e) => e.key === args.key);
|
|
15
15
|
if (!entry) {
|
|
16
16
|
this.error(`No config entry '${args.key}' for '${projectKey}'.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/config/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,uBAAuB;IAC5D,MAAM,CAAU,WAAW,GAAG,yDAAyD,CAAC;IAExF,MAAM,CAAU,QAAQ,GAAG,CAAC,+DAA+D,CAAC,CAAC;IAE7F,MAAM,CAAU,IAAI,GAAG;QACrB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KAC1E,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/config/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,uBAAuB;IAC5D,MAAM,CAAU,WAAW,GAAG,yDAAyD,CAAC;IAExF,MAAM,CAAU,QAAQ,GAAG,CAAC,+DAA+D,CAAC,CAAC;IAE7F,MAAM,CAAU,IAAI,GAAG;QACrB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KAC1E,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,GAAG,UAAU,UAAU,IAAI,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC;IACtC,CAAC"}
|
|
@@ -5,8 +5,8 @@ export default class ConfigList extends IntegrationLayerCommand {
|
|
|
5
5
|
static examples = ["<%= config.bin %> integration-layer config list"];
|
|
6
6
|
async run() {
|
|
7
7
|
const { flags } = await this.parse(ConfigList);
|
|
8
|
-
const { baseUrl, projectKey,
|
|
9
|
-
const entries = await listConfig(baseUrl, projectKey,
|
|
8
|
+
const { baseUrl, projectKey, authFetch } = await this.resolveIlContext(flags);
|
|
9
|
+
const entries = await listConfig(baseUrl, projectKey, authFetch);
|
|
10
10
|
if (entries.length === 0) {
|
|
11
11
|
this.log(`No extension config entries for '${projectKey}'.`);
|
|
12
12
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/config/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,uBAAuB;IAC7D,MAAM,CAAU,WAAW,GAAG,oEAAoE,CAAC;IAEnG,MAAM,CAAU,QAAQ,GAAG,CAAC,iDAAiD,CAAC,CAAC;IAE/E,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/config/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,uBAAuB;IAC7D,MAAM,CAAU,WAAW,GAAG,oEAAoE,CAAC;IAEnG,MAAM,CAAU,QAAQ,GAAG,CAAC,iDAAiD,CAAC,CAAC;IAE/E,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QACjE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,oCAAoC,UAAU,IAAI,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC;QAClC,CAAC;IACH,CAAC"}
|
|
@@ -19,8 +19,8 @@ export default class ConfigSet extends IntegrationLayerCommand {
|
|
|
19
19
|
};
|
|
20
20
|
async run() {
|
|
21
21
|
const { args, flags } = await this.parse(ConfigSet);
|
|
22
|
-
const { baseUrl, projectKey,
|
|
23
|
-
await patchConfig(baseUrl, projectKey,
|
|
22
|
+
const { baseUrl, projectKey, authFetch } = await this.resolveIlContext(flags);
|
|
23
|
+
await patchConfig(baseUrl, projectKey, authFetch, [
|
|
24
24
|
{ key: args.key, value: args.value, secret: flags.secret },
|
|
25
25
|
]);
|
|
26
26
|
this.log(`✓ set '${args.key}'${flags.secret ? " (secret)" : ""} for '${projectKey}'.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/config/set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,uBAAuB;IAC5D,MAAM,CAAU,WAAW,GAAG,4CAA4C,CAAC;IAE3E,MAAM,CAAU,QAAQ,GAAG;QACzB,sEAAsE;QACtE,gFAAgF;KACjF,CAAC;IAEF,MAAM,CAAU,IAAI,GAAG;QACrB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACzE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KAC1E,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;YACpB,WAAW,EAAE,2DAA2D;YACxE,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/config/set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,uBAAuB;IAC5D,MAAM,CAAU,WAAW,GAAG,4CAA4C,CAAC;IAE3E,MAAM,CAAU,QAAQ,GAAG;QACzB,sEAAsE;QACtE,gFAAgF;KACjF,CAAC;IAEF,MAAM,CAAU,IAAI,GAAG;QACrB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACzE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KAC1E,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;YACpB,WAAW,EAAE,2DAA2D;YACxE,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC9E,MAAM,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE;YAChD,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;SAC3D,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,UAAU,IAAI,CAAC,CAAC;IACzF,CAAC"}
|
|
@@ -9,9 +9,9 @@ export default class ConfigUnset extends IntegrationLayerCommand {
|
|
|
9
9
|
};
|
|
10
10
|
async run() {
|
|
11
11
|
const { args, flags } = await this.parse(ConfigUnset);
|
|
12
|
-
const { baseUrl, projectKey,
|
|
12
|
+
const { baseUrl, projectKey, authFetch } = await this.resolveIlContext(flags);
|
|
13
13
|
// A PATCH entry with `value: null` deletes that key (Commerce Integration Layer contract).
|
|
14
|
-
await patchConfig(baseUrl, projectKey,
|
|
14
|
+
await patchConfig(baseUrl, projectKey, authFetch, [{ key: args.key, value: null }]);
|
|
15
15
|
this.log(`✓ removed '${args.key}' from '${projectKey}'.`);
|
|
16
16
|
}
|
|
17
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unset.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/config/unset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,uBAAuB;IAC9D,MAAM,CAAU,WAAW,GAAG,kCAAkC,CAAC;IAEjE,MAAM,CAAU,QAAQ,GAAG,CAAC,iEAAiE,CAAC,CAAC;IAE/F,MAAM,CAAU,IAAI,GAAG;QACrB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KAC1E,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"unset.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/config/unset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,uBAAuB;IAC9D,MAAM,CAAU,WAAW,GAAG,kCAAkC,CAAC;IAEjE,MAAM,CAAU,QAAQ,GAAG,CAAC,iEAAiE,CAAC,CAAC;IAE/F,MAAM,CAAU,IAAI,GAAG;QACrB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KAC1E,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC9E,2FAA2F;QAC3F,MAAM,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,GAAG,WAAW,UAAU,IAAI,CAAC,CAAC;IAC5D,CAAC"}
|
|
@@ -84,7 +84,7 @@ export default class Explore extends IntegrationLayerCommand {
|
|
|
84
84
|
};
|
|
85
85
|
async run() {
|
|
86
86
|
const { flags } = await this.parse(Explore);
|
|
87
|
-
const { baseUrl, projectKey,
|
|
87
|
+
const { baseUrl, projectKey, authFetch } = await this.resolveIlContext(flags);
|
|
88
88
|
const principal = this.requirePrincipal();
|
|
89
89
|
// The three edges are distinct hosts in the deployed topology (extensions./
|
|
90
90
|
// graphql./auth.), so each is resolved from the login region and independently
|
|
@@ -99,7 +99,7 @@ export default class Explore extends IntegrationLayerCommand {
|
|
|
99
99
|
throw new Error("could not resolve the identity edge URL: pass --auth-url or set IL_AUTH_URL " +
|
|
100
100
|
"(e.g. https://auth.integration-layer.eu-central-1.aws.commercetools.com)");
|
|
101
101
|
}
|
|
102
|
-
const resolved = await this.resolveSchema(flags.deployed, baseUrl, projectKey,
|
|
102
|
+
const resolved = await this.resolveSchema(flags.deployed, baseUrl, projectKey, authFetch);
|
|
103
103
|
const grant = await this.resolveGrant(flags.as);
|
|
104
104
|
const session = await mintSession(authUrl, projectKey, grant, {
|
|
105
105
|
locale: flags.locale,
|
|
@@ -142,13 +142,13 @@ export default class Explore extends IntegrationLayerCommand {
|
|
|
142
142
|
});
|
|
143
143
|
}
|
|
144
144
|
/** The schema GraphiQL renders — deployed composed graph, or a local composition. */
|
|
145
|
-
async resolveSchema(deployed, baseUrl, projectKey,
|
|
145
|
+
async resolveSchema(deployed, baseUrl, projectKey, authFetch) {
|
|
146
146
|
if (deployed) {
|
|
147
147
|
this.log(`Fetching the deployed composed schema for '${projectKey}' …`);
|
|
148
148
|
// Already a public API schema — the Commerce Integration Layer reduces it before
|
|
149
149
|
// sending, so there is no supergraph to unpick here. (The LOCAL path below
|
|
150
150
|
// still composes, which is why this command keeps a composition dependency.)
|
|
151
|
-
const apiSdl = await fetchDeployedApiSchemaSdl(baseUrl, projectKey,
|
|
151
|
+
const apiSdl = await fetchDeployedApiSchemaSdl(baseUrl, projectKey, authFetch);
|
|
152
152
|
return {
|
|
153
153
|
schema: buildSchema(apiSdl),
|
|
154
154
|
sdl: apiSdl,
|
|
@@ -156,7 +156,7 @@ export default class Explore extends IntegrationLayerCommand {
|
|
|
156
156
|
};
|
|
157
157
|
}
|
|
158
158
|
this.log(`Fetching the core-subgraph SDL for '${projectKey}' …`);
|
|
159
|
-
const coreSdl = await fetchSubgraphSdl(baseUrl, projectKey,
|
|
159
|
+
const coreSdl = await fetchSubgraphSdl(baseUrl, projectKey, authFetch);
|
|
160
160
|
// An extension in the working directory is composed in, so your own fields show
|
|
161
161
|
// up before you have pushed anything. No extension here → core only.
|
|
162
162
|
const entry = defaultEntry();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explore.js","sourceRoot":"","sources":["../../../src/commands/integration-layer/explore.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"explore.js","sourceRoot":"","sources":["../../../src/commands/integration-layer/explore.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,10 @@ export default class ExtensionBuild extends Command {
|
|
|
9
9
|
"<%= config.bin %> integration-layer extension build --all",
|
|
10
10
|
];
|
|
11
11
|
static flags = {
|
|
12
|
-
entry: Flags.string({
|
|
12
|
+
entry: Flags.string({
|
|
13
|
+
description: "extension entry source file (with --all: the per-package source segment applied under each ./extensions/*)",
|
|
14
|
+
default: defaultEntry(),
|
|
15
|
+
}),
|
|
13
16
|
out: Flags.string({ description: "bundle output file", default: defaultOutfile() }),
|
|
14
17
|
all: Flags.boolean({
|
|
15
18
|
description: "merge every extension under ./extensions/* into ONE combined bundle (the single artifact a project deploys)",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/extension/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpE,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;IACjD,MAAM,CAAU,WAAW,GACzB,wEAAwE,CAAC;IAE3E,MAAM,CAAU,QAAQ,GAAG;QACzB,qDAAqD;QACrD,sGAAsG;QACtG,2DAA2D;KAC5D,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/extension/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpE,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;IACjD,MAAM,CAAU,WAAW,GACzB,wEAAwE,CAAC;IAE3E,MAAM,CAAU,QAAQ,GAAG;QACzB,qDAAqD;QACrD,sGAAsG;QACtG,2DAA2D;KAC5D,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAClB,WAAW,EACT,4GAA4G;YAC9G,OAAO,EAAE,YAAY,EAAE;SACxB,CAAC;QACF,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,CAAC;QACnF,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC;YACjB,WAAW,EACT,6GAA6G;YAC/G,OAAO,EAAE,KAAK;SACf,CAAC;QACF,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC;YAC7B,WAAW,EAAE,4DAA4D;YACzE,OAAO,EAAE,YAAY;SACtB,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACnD,IAAI,KAAK,CAAC;QACV,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,cAAc,CAAC;gBAC3B,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,aAAa,EAAE,KAAK,CAAC,gBAAgB,CAAC;gBACtC,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,GAAG,EAAE,KAAK,CAAC,GAAG;aACf,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,QAAQ,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Command } from "@oclif/core";
|
|
2
|
+
export default class ExtensionCreateApiExtensionInput extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
action: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
+
"resource-type": import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
id: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
out: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<void>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { writeFile } from "node:fs/promises";
|
|
2
|
+
import { Command, Flags } from "@oclif/core";
|
|
3
|
+
import { EXTENSION_RESOURCE_TYPE_IDS, generateExtensionInputSample, } from "../../../lib/tooling/generateExtensionInputSample.js";
|
|
4
|
+
export default class ExtensionCreateApiExtensionInput extends Command {
|
|
5
|
+
static description = "Write a realistic commercetools ExtensionInput JSON sample for a resource type and action";
|
|
6
|
+
static examples = [
|
|
7
|
+
"<%= config.bin %> integration-layer extension create-api-extension-input --resource-type cart --action Create",
|
|
8
|
+
"<%= config.bin %> integration-layer extension create-api-extension-input --resource-type order --action Update --out ./payloads/order-update.json",
|
|
9
|
+
];
|
|
10
|
+
static flags = {
|
|
11
|
+
action: Flags.string({
|
|
12
|
+
description: "the trigger action the sample ExtensionInput carries",
|
|
13
|
+
options: ["Create", "Update"],
|
|
14
|
+
default: "Create",
|
|
15
|
+
}),
|
|
16
|
+
"resource-type": Flags.string({
|
|
17
|
+
description: `commercetools resource type (${EXTENSION_RESOURCE_TYPE_IDS.join(", ")})`,
|
|
18
|
+
required: true,
|
|
19
|
+
}),
|
|
20
|
+
id: Flags.string({
|
|
21
|
+
description: "override the sample resource id (default: sample-<resource-type>-id)",
|
|
22
|
+
}),
|
|
23
|
+
out: Flags.string({
|
|
24
|
+
description: "write the JSON to this file (default: print to stdout)",
|
|
25
|
+
}),
|
|
26
|
+
};
|
|
27
|
+
async run() {
|
|
28
|
+
const { flags } = await this.parse(ExtensionCreateApiExtensionInput);
|
|
29
|
+
let sample;
|
|
30
|
+
try {
|
|
31
|
+
sample = generateExtensionInputSample({
|
|
32
|
+
action: flags.action,
|
|
33
|
+
resourceTypeId: flags["resource-type"],
|
|
34
|
+
id: flags.id,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
catch (err) {
|
|
38
|
+
this.error(err.message);
|
|
39
|
+
}
|
|
40
|
+
const json = `${JSON.stringify(sample, null, 2)}\n`;
|
|
41
|
+
if (flags.out) {
|
|
42
|
+
await writeFile(flags.out, json, "utf8");
|
|
43
|
+
this.log(`✓ wrote ${flags.out}`);
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
process.stdout.write(json);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=create-api-extension-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-api-extension-input.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/extension/create-api-extension-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,sDAAsD,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,gCAAiC,SAAQ,OAAO;IACnE,MAAM,CAAU,WAAW,GACzB,2FAA2F,CAAC;IAE9F,MAAM,CAAU,QAAQ,GAAG;QACzB,+GAA+G;QAC/G,mJAAmJ;KACpJ,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,WAAW,EAAE,sDAAsD;YACnE,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;YAC7B,OAAO,EAAE,QAAQ;SAClB,CAAC;QACF,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC;YAC5B,WAAW,EAAE,gCAAgC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YACtF,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC;YACf,WAAW,EAAE,sEAAsE;SACpF,CAAC;QACF,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,wDAAwD;SACtE,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAErE,IAAI,MAAM,CAAC;QACX,IAAI,CAAC;YACH,MAAM,GAAG,4BAA4B,CAAC;gBACpC,MAAM,EAAE,KAAK,CAAC,MAA6B;gBAC3C,cAAc,EAAE,KAAK,CAAC,eAAe,CAAC;gBACtC,EAAE,EAAE,KAAK,CAAC,EAAE;aACb,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;QACpD,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACzC,IAAI,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC"}
|
|
@@ -24,7 +24,7 @@ export default class ExtensionDelete extends IntegrationLayerCommand {
|
|
|
24
24
|
};
|
|
25
25
|
async run() {
|
|
26
26
|
const { flags } = await this.parse(ExtensionDelete);
|
|
27
|
-
const { baseUrl, projectKey,
|
|
27
|
+
const { baseUrl, projectKey, authFetch } = await this.resolveIlContext(flags);
|
|
28
28
|
if (!flags.yes) {
|
|
29
29
|
const confirmed = await confirm(`Remove the extension subgraph for '${projectKey}' from the published graph? (y/N)`);
|
|
30
30
|
if (!confirmed) {
|
|
@@ -32,7 +32,7 @@ export default class ExtensionDelete extends IntegrationLayerCommand {
|
|
|
32
32
|
return;
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
await deleteExtensionSubgraph(baseUrl, projectKey,
|
|
35
|
+
await deleteExtensionSubgraph(baseUrl, projectKey, authFetch);
|
|
36
36
|
this.log(`✓ removed the extension subgraph for '${projectKey}'.`);
|
|
37
37
|
}
|
|
38
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/extension/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,KAAK,UAAU,OAAO,CAAC,QAAgB;IACrC,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACxE,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,KAAK,CAAC;IAC5C,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,uBAAuB;IAClE,MAAM,CAAU,WAAW,GAAG,kEAAkE,CAAC;IAEjG,MAAM,CAAU,QAAQ,GAAG;QACzB,sDAAsD;QACtD,4DAA4D;KAC7D,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,8BAA8B,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;KAC/F,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACpD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/extension/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,KAAK,UAAU,OAAO,CAAC,QAAgB;IACrC,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACxE,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,KAAK,CAAC;IAC5C,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,uBAAuB;IAClE,MAAM,CAAU,WAAW,GAAG,kEAAkE,CAAC;IAEjG,MAAM,CAAU,QAAQ,GAAG;QACzB,sDAAsD;QACtD,4DAA4D;KAC7D,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,8BAA8B,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;KAC/F,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACpD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAE9E,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,MAAM,OAAO,CAC7B,sCAAsC,UAAU,mCAAmC,CACpF,CAAC;YACF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,uBAAuB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAC9D,IAAI,CAAC,GAAG,CAAC,yCAAyC,UAAU,IAAI,CAAC,CAAC;IACpE,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Command } from "@oclif/core";
|
|
2
|
+
export default class ExtensionInvokeApiExtension extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
"env-file": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
+
entry: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
out: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
all: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
"extensions-dir": import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
input: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
key: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
config: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
};
|
|
15
|
+
protected init(): Promise<void>;
|
|
16
|
+
/** Read and validate the `--input` ExtensionInput JSON file. */
|
|
17
|
+
private loadInput;
|
|
18
|
+
run(): Promise<void>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
import { Command, Flags } from "@oclif/core";
|
|
3
|
+
import { defaultEntry, defaultOutfile } from "../../../lib/tooling/build.js";
|
|
4
|
+
import { bundleForFlags } from "../../../lib/tooling/extensions.js";
|
|
5
|
+
import { loadBundleSource } from "../../../lib/tooling/loadBundle.js";
|
|
6
|
+
import { extensionConfigFromEnv, extensionConfigFromPairs } from "../../../lib/extensionConfig.js";
|
|
7
|
+
import { loadLocalEnv } from "../../../lib/loadLocalEnv.js";
|
|
8
|
+
function describeResult(result) {
|
|
9
|
+
if (result && typeof result === "object") {
|
|
10
|
+
if (Array.isArray(result.errors) && result.errors.length > 0) {
|
|
11
|
+
return `BLOCK — ${result.errors.map((e) => `${e.code}: ${e.message}`).join("; ")}`;
|
|
12
|
+
}
|
|
13
|
+
if (Array.isArray(result.actions) && result.actions.length > 0) {
|
|
14
|
+
return `MODIFY — ${JSON.stringify(result.actions)}`;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return "APPROVE";
|
|
18
|
+
}
|
|
19
|
+
export default class ExtensionInvokeApiExtension extends Command {
|
|
20
|
+
static description = "Fire a commercetools API-Extension callback from a supplied payload at the bundle's handlers";
|
|
21
|
+
static examples = [
|
|
22
|
+
"<%= config.bin %> integration-layer extension invoke-api-extension --input ./payloads/cart-create.json",
|
|
23
|
+
"<%= config.bin %> integration-layer extension invoke-api-extension --input ./payloads/order-create.json --key order-tagger",
|
|
24
|
+
"<%= config.bin %> integration-layer extension invoke-api-extension --all --input ./payload.json --config MAX_QTY=5",
|
|
25
|
+
];
|
|
26
|
+
static flags = {
|
|
27
|
+
"env-file": Flags.string({
|
|
28
|
+
description: "dotenv file to load before the command runs (default: .env in the cwd, if present); does not override variables already set in the environment",
|
|
29
|
+
}),
|
|
30
|
+
entry: Flags.string({
|
|
31
|
+
description: "extension entry source file (with --all: the per-package source segment applied under each ./extensions/*)",
|
|
32
|
+
default: defaultEntry(),
|
|
33
|
+
}),
|
|
34
|
+
out: Flags.string({ description: "bundle output file", default: defaultOutfile() }),
|
|
35
|
+
all: Flags.boolean({
|
|
36
|
+
description: "invoke the ONE combined bundle merged from every extension under ./extensions/* (the deployed shape)",
|
|
37
|
+
default: false,
|
|
38
|
+
}),
|
|
39
|
+
"extensions-dir": Flags.string({
|
|
40
|
+
description: "directory holding the extension packages (used with --all)",
|
|
41
|
+
default: "extensions",
|
|
42
|
+
}),
|
|
43
|
+
input: Flags.string({
|
|
44
|
+
description: "path to a JSON commercetools ExtensionInput ({ action, resource }) — the callback payload to fire",
|
|
45
|
+
required: true,
|
|
46
|
+
}),
|
|
47
|
+
key: Flags.string({
|
|
48
|
+
description: "only invoke handlers with this key (repeatable)",
|
|
49
|
+
multiple: true,
|
|
50
|
+
delimiter: ",",
|
|
51
|
+
}),
|
|
52
|
+
config: Flags.string({
|
|
53
|
+
description: "a ctx.config entry as KEY=VALUE (repeatable); overrides EXTENSION_CONFIG_* from the environment / .env",
|
|
54
|
+
multiple: true,
|
|
55
|
+
delimiter: ",",
|
|
56
|
+
}),
|
|
57
|
+
};
|
|
58
|
+
async init() {
|
|
59
|
+
// Load `.env` / `--env-file` into process.env before flags parse, so
|
|
60
|
+
// EXTENSION_CONFIG_* is visible below (an already-set shell variable still wins).
|
|
61
|
+
loadLocalEnv();
|
|
62
|
+
await super.init();
|
|
63
|
+
}
|
|
64
|
+
/** Read and validate the `--input` ExtensionInput JSON file. */
|
|
65
|
+
async loadInput(inputPath) {
|
|
66
|
+
let parsed;
|
|
67
|
+
try {
|
|
68
|
+
parsed = JSON.parse(await readFile(inputPath, "utf8"));
|
|
69
|
+
}
|
|
70
|
+
catch (err) {
|
|
71
|
+
this.error(`could not read --input '${inputPath}': ${err.message}`);
|
|
72
|
+
}
|
|
73
|
+
const obj = (parsed ?? {});
|
|
74
|
+
if (typeof obj !== "object" || obj === null) {
|
|
75
|
+
this.error(`--input '${inputPath}' must be a JSON object`);
|
|
76
|
+
}
|
|
77
|
+
const resource = obj.resource;
|
|
78
|
+
if (!resource || typeof resource !== "object" || typeof resource.typeId !== "string") {
|
|
79
|
+
this.error(`--input '${inputPath}' must be a commercetools ExtensionInput with a resource object whose typeId is a string`);
|
|
80
|
+
}
|
|
81
|
+
if (typeof obj.action !== "string") {
|
|
82
|
+
this.error(`--input '${inputPath}' must include a string action`);
|
|
83
|
+
}
|
|
84
|
+
return { action: obj.action, resource };
|
|
85
|
+
}
|
|
86
|
+
async run() {
|
|
87
|
+
const { flags } = await this.parse(ExtensionInvokeApiExtension);
|
|
88
|
+
// Environment / `.env` first; an explicit `--config` wins on the same key.
|
|
89
|
+
const config = {
|
|
90
|
+
...extensionConfigFromEnv(),
|
|
91
|
+
...extensionConfigFromPairs(flags.config ?? []),
|
|
92
|
+
};
|
|
93
|
+
let outfile;
|
|
94
|
+
try {
|
|
95
|
+
({ outfile } = await bundleForFlags({
|
|
96
|
+
all: flags.all,
|
|
97
|
+
extensionsDir: flags["extensions-dir"],
|
|
98
|
+
entry: flags.entry,
|
|
99
|
+
out: flags.out,
|
|
100
|
+
}));
|
|
101
|
+
}
|
|
102
|
+
catch (err) {
|
|
103
|
+
this.error(err.message);
|
|
104
|
+
}
|
|
105
|
+
const mod = loadBundleSource(await readFile(outfile, "utf8"));
|
|
106
|
+
const handlers = Array.isArray(mod.apiExtensions)
|
|
107
|
+
? mod.apiExtensions
|
|
108
|
+
: [];
|
|
109
|
+
if (handlers.length === 0) {
|
|
110
|
+
this.error("this bundle declares no `apiExtensions`.");
|
|
111
|
+
}
|
|
112
|
+
// --key narrows to named handlers. Warn on a key no handler owns, then fail if the
|
|
113
|
+
// filter leaves nothing to call — a named key that isn't there is a mistake worth surfacing.
|
|
114
|
+
const wanted = flags.key && flags.key.length > 0 ? new Set(flags.key) : undefined;
|
|
115
|
+
if (wanted) {
|
|
116
|
+
const known = new Set(handlers.map((h) => h.key));
|
|
117
|
+
for (const k of wanted)
|
|
118
|
+
if (!known.has(k))
|
|
119
|
+
this.warn(`no handler with key '${k}' in this bundle`);
|
|
120
|
+
}
|
|
121
|
+
const selected = wanted ? handlers.filter((h) => wanted.has(h.key)) : handlers;
|
|
122
|
+
if (selected.length === 0) {
|
|
123
|
+
this.error(`no handler matched --key ${[...(wanted ?? [])].join(", ")}`);
|
|
124
|
+
}
|
|
125
|
+
const input = await this.loadInput(flags.input);
|
|
126
|
+
const { action, resource } = input;
|
|
127
|
+
const resourceType = resource.typeId;
|
|
128
|
+
const ctx = { now: () => Date.now(), config };
|
|
129
|
+
this.log(`Invoking ${selected.length} handler(s) with a ${action} on ${resourceType}`);
|
|
130
|
+
for (const h of selected) {
|
|
131
|
+
if (h.resourceTypeId !== resourceType || !h.actions.includes(action)) {
|
|
132
|
+
this.log(` · ${h.key}: skipped (does not trigger on ${resourceType}/${action})`);
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
const result = await h.handler(input, ctx);
|
|
136
|
+
this.log(` → ${h.key}: ${describeResult(result)}`);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=invoke-api-extension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invoke-api-extension.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/extension/invoke-api-extension.ts"],"names":[],"mappings":"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"}
|