@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
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Command } from "@oclif/core";
|
|
2
|
-
export default class ExtensionInvoke extends Command {
|
|
3
|
-
static description: string;
|
|
4
|
-
static examples: string[];
|
|
5
|
-
static flags: {
|
|
6
|
-
entry: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
-
out: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
-
action: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
-
sku: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
-
quantity: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
-
config: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
-
};
|
|
13
|
-
run(): Promise<void>;
|
|
14
|
-
}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { readFile } from "node:fs/promises";
|
|
2
|
-
import { Command, Flags } from "@oclif/core";
|
|
3
|
-
import { buildBundle, defaultEntry, defaultOutfile } from "../../../lib/tooling/build.js";
|
|
4
|
-
import { loadBundleSource } from "../../../lib/tooling/loadBundle.js";
|
|
5
|
-
/** A sample commercetools cart callback payload. */
|
|
6
|
-
function sampleCartInput(action, sku, quantity) {
|
|
7
|
-
// A minimal sample callback for local testing. The real payload is the SDK's
|
|
8
|
-
// ExtensionInput (resource: a full Cart Reference); we send just the fields a
|
|
9
|
-
// cart handler reads, cast to the SDK type.
|
|
10
|
-
return {
|
|
11
|
-
action,
|
|
12
|
-
resource: {
|
|
13
|
-
typeId: "cart",
|
|
14
|
-
id: "sample-cart",
|
|
15
|
-
obj: {
|
|
16
|
-
id: "sample-cart",
|
|
17
|
-
lineItems: [{ id: "sample-line-item", quantity, variant: { sku } }],
|
|
18
|
-
},
|
|
19
|
-
},
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
function describeResult(result) {
|
|
23
|
-
if (result && typeof result === "object") {
|
|
24
|
-
if (Array.isArray(result.errors) && result.errors.length > 0) {
|
|
25
|
-
return `BLOCK — ${result.errors.map((e) => `${e.code}: ${e.message}`).join("; ")}`;
|
|
26
|
-
}
|
|
27
|
-
if (Array.isArray(result.actions) && result.actions.length > 0) {
|
|
28
|
-
return `MODIFY — ${JSON.stringify(result.actions)}`;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return "APPROVE";
|
|
32
|
-
}
|
|
33
|
-
export default class ExtensionInvoke extends Command {
|
|
34
|
-
static description = "Fire a sample commercetools cart callback at the bundle's API-Extension handlers";
|
|
35
|
-
static examples = [
|
|
36
|
-
"<%= config.bin %> integration-layer extension invoke",
|
|
37
|
-
"<%= config.bin %> integration-layer extension invoke --action Update --sku BLOCKED-SKU",
|
|
38
|
-
"<%= config.bin %> integration-layer extension invoke --quantity 25 --config MAX_LINE_QUANTITY=10",
|
|
39
|
-
"<%= config.bin %> integration-layer extension invoke --config MAX_QTY=5 --config REGION=eu",
|
|
40
|
-
];
|
|
41
|
-
static flags = {
|
|
42
|
-
entry: Flags.string({ description: "extension entry source file", default: defaultEntry() }),
|
|
43
|
-
out: Flags.string({ description: "bundle output file", default: defaultOutfile() }),
|
|
44
|
-
action: Flags.string({
|
|
45
|
-
description: "the trigger action",
|
|
46
|
-
options: ["Create", "Update"],
|
|
47
|
-
default: "Create",
|
|
48
|
-
}),
|
|
49
|
-
sku: Flags.string({
|
|
50
|
-
description: "SKU on the sample cart's line item",
|
|
51
|
-
default: "BLOCKED-SKU",
|
|
52
|
-
}),
|
|
53
|
-
quantity: Flags.integer({
|
|
54
|
-
description: "quantity on the sample cart's line item",
|
|
55
|
-
default: 1,
|
|
56
|
-
}),
|
|
57
|
-
config: Flags.string({
|
|
58
|
-
description: "a ctx.config entry as KEY=VALUE (repeatable)",
|
|
59
|
-
multiple: true,
|
|
60
|
-
delimiter: ",",
|
|
61
|
-
}),
|
|
62
|
-
};
|
|
63
|
-
async run() {
|
|
64
|
-
const { flags } = await this.parse(ExtensionInvoke);
|
|
65
|
-
const config = {};
|
|
66
|
-
for (const pair of flags.config ?? []) {
|
|
67
|
-
const eq = pair.indexOf("=");
|
|
68
|
-
if (eq > 0)
|
|
69
|
-
config[pair.slice(0, eq)] = pair.slice(eq + 1);
|
|
70
|
-
}
|
|
71
|
-
const { outfile } = await buildBundle(flags.entry, flags.out);
|
|
72
|
-
const mod = loadBundleSource(await readFile(outfile, "utf8"));
|
|
73
|
-
const handlers = Array.isArray(mod.apiExtensions)
|
|
74
|
-
? mod.apiExtensions
|
|
75
|
-
: [];
|
|
76
|
-
if (handlers.length === 0) {
|
|
77
|
-
this.error("this bundle declares no `apiExtensions`.");
|
|
78
|
-
}
|
|
79
|
-
const action = flags.action;
|
|
80
|
-
const input = sampleCartInput(action, flags.sku, flags.quantity);
|
|
81
|
-
const ctx = { now: () => Date.now(), config };
|
|
82
|
-
this.log(`Invoking ${handlers.length} handler(s) with a ${input.action} on cart ` +
|
|
83
|
-
`(line item SKU '${flags.sku}' x${flags.quantity})`);
|
|
84
|
-
for (const h of handlers) {
|
|
85
|
-
if (h.resourceTypeId !== input.resource.typeId || !h.actions.includes(action)) {
|
|
86
|
-
this.log(` · ${h.key}: skipped (does not trigger on cart/${action})`);
|
|
87
|
-
continue;
|
|
88
|
-
}
|
|
89
|
-
const result = await h.handler(input, ctx);
|
|
90
|
-
this.log(` → ${h.key}: ${describeResult(result)}`);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
//# sourceMappingURL=invoke.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"invoke.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/extension/invoke.ts"],"names":[],"mappings":"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"}
|