@commercetools/cli-topic-integration-layer 0.8.0 → 0.9.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/extension/invoke-api-extension.d.ts +13 -4
- package/dist/commands/integration-layer/extension/invoke-api-extension.js +81 -36
- package/dist/commands/integration-layer/extension/invoke-api-extension.js.map +1 -1
- package/dist/commands/integration-layer/extension/serve-api-extension.d.ts +35 -0
- package/dist/commands/integration-layer/extension/serve-api-extension.js +379 -0
- package/dist/commands/integration-layer/extension/serve-api-extension.js.map +1 -0
- package/dist/commands/integration-layer/extension/serve.js +6 -0
- package/dist/commands/integration-layer/extension/serve.js.map +1 -1
- package/dist/lib/apiExtensionServer.d.ts +22 -0
- package/dist/lib/apiExtensionServer.js +97 -0
- package/dist/lib/apiExtensionServer.js.map +1 -0
- package/dist/lib/ctExtensions.d.ts +102 -0
- package/dist/lib/ctExtensions.js +162 -0
- package/dist/lib/ctExtensions.js.map +1 -0
- package/dist/lib/ilClient.d.ts +28 -0
- package/dist/lib/ilClient.js +37 -0
- package/dist/lib/ilClient.js.map +1 -1
- package/dist/lib/tooling/apiExtensionDispatch.d.ts +32 -0
- package/dist/lib/tooling/apiExtensionDispatch.js +71 -0
- package/dist/lib/tooling/apiExtensionDispatch.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,379 @@
|
|
|
1
|
+
// Local end-to-end debugging for commercetools API Extensions.
|
|
2
|
+
//
|
|
3
|
+
// `invoke-api-extension` fires a SYNTHETIC payload at a bundle's `apiExtensions`
|
|
4
|
+
// handlers offline. This command closes the loop the other way: it serves those
|
|
5
|
+
// handlers over HTTP and registers a commercetools API Extension that points at them,
|
|
6
|
+
// so a REAL cart/order write in the project calls the code on your machine — with a
|
|
7
|
+
// debugger attached, breakpoints, and hot-reload. It is the API-Extension analogue of
|
|
8
|
+
// `serve` (which does the same for the GraphQL subgraph).
|
|
9
|
+
//
|
|
10
|
+
// WHY A SEPARATE COMMAND (not a `serve --api-extensions` flag): unlike `serve` — a
|
|
11
|
+
// safe, login-free, purely LOCAL dev server — this command logs in and MUTATES the
|
|
12
|
+
// commercetools project (it registers, reconciles, and deletes API Extensions). Keeping
|
|
13
|
+
// it a distinct command makes that side effect an explicit, deliberate act: running
|
|
14
|
+
// `serve` can never register a callback in commercetools by accident.
|
|
15
|
+
//
|
|
16
|
+
// commercetools is in the cloud, so it must reach a PUBLIC https URL: run your own
|
|
17
|
+
// tunnel (e.g. `ngrok http 4000`, `cloudflared`) and pass its address as
|
|
18
|
+
// `--public-url`.
|
|
19
|
+
//
|
|
20
|
+
// MONOREPO: in a repo of `extensions/*` packages, `--all` serves + registers the ONE
|
|
21
|
+
// combined bundle a project deploys — every package's `apiExtensions` concatenated (the
|
|
22
|
+
// same shape as `serve --all` / `push --all`). Without it, the single `--entry` bundle.
|
|
23
|
+
//
|
|
24
|
+
// SAFETY MODEL (deliberately strict — these callbacks make commercetools call YOUR
|
|
25
|
+
// laptop before persisting a write):
|
|
26
|
+
// - It REFUSES to run if the project already has an API Extension that triggers on the
|
|
27
|
+
// SAME resource + action this bundle would register — a collision it must never
|
|
28
|
+
// disturb (and one commercetools rejects anyway). Unrelated Extensions are left
|
|
29
|
+
// untouched. Prefer a dedicated dev/sandbox project regardless.
|
|
30
|
+
// - Everything it creates is keyed under `il-localdev-` and DELETED on exit.
|
|
31
|
+
// - `--cleanup` sweeps leftovers from a previous run that crashed before cleanup.
|
|
32
|
+
import { createServer } from "node:http";
|
|
33
|
+
import { readFile } from "node:fs/promises";
|
|
34
|
+
import process from "node:process";
|
|
35
|
+
import { Flags } from "@oclif/core";
|
|
36
|
+
import { context as esbuildContext } from "esbuild";
|
|
37
|
+
import { buildBundle, defaultEntry, defaultOutfile, HOST_PROVIDED_EXTERNALS, } from "../../../lib/tooling/build.js";
|
|
38
|
+
import { loadBundleSource } from "../../../lib/tooling/loadBundle.js";
|
|
39
|
+
import { discoverExtensions, entrySegmentFor, } from "../../../lib/tooling/extensions.js";
|
|
40
|
+
import { extractApiExtensions } from "../../../lib/tooling/apiExtensionDispatch.js";
|
|
41
|
+
import { createApiExtensionHandler } from "../../../lib/apiExtensionServer.js";
|
|
42
|
+
import { createExtension, ctApiBaseUrl, deleteExtension, draftFor, findTriggerCollisions, isManagedKey, listExtensions, managedKey, MANAGED_KEY_PREFIX, planReconcile, triggerSignature, } from "../../../lib/ctExtensions.js";
|
|
43
|
+
import { extensionConfigFromEnv, extensionConfigFromPairs } from "../../../lib/extensionConfig.js";
|
|
44
|
+
import { IntegrationLayerCommand } from "../../../lib/base.js";
|
|
45
|
+
export default class ExtensionServeApiExtension extends IntegrationLayerCommand {
|
|
46
|
+
static description = "Serve a bundle's API-Extension handlers locally and register a commercetools API Extension at them, so real writes hit your machine for end-to-end debugging";
|
|
47
|
+
static examples = [
|
|
48
|
+
"<%= config.bin %> integration-layer extension serve-api-extension --public-url https://abc123.ngrok.app",
|
|
49
|
+
"<%= config.bin %> integration-layer extension serve-api-extension --public-url https://abc123.ngrok.app --port 4000 --config MAX_LINE_QUANTITY=10",
|
|
50
|
+
"<%= config.bin %> integration-layer extension serve-api-extension --all --public-url https://abc123.ngrok.app",
|
|
51
|
+
"<%= config.bin %> integration-layer extension serve-api-extension --cleanup",
|
|
52
|
+
];
|
|
53
|
+
static flags = {
|
|
54
|
+
"public-url": Flags.string({
|
|
55
|
+
description: "the PUBLIC https base URL of a tunnel to this machine (e.g. from `ngrok http <port>`); commercetools calls `<public-url>/api-extensions`",
|
|
56
|
+
}),
|
|
57
|
+
port: Flags.integer({ char: "p", description: "local port to listen on", default: 4000 }),
|
|
58
|
+
entry: Flags.string({
|
|
59
|
+
description: "extension entry source file (with --all: the per-package source segment applied under each ./extensions/*)",
|
|
60
|
+
default: defaultEntry(),
|
|
61
|
+
}),
|
|
62
|
+
out: Flags.string({ description: "bundle output file", default: defaultOutfile() }),
|
|
63
|
+
all: Flags.boolean({
|
|
64
|
+
description: "serve + register the ONE combined bundle merged from every extension under ./extensions/* (the deployed shape)",
|
|
65
|
+
default: false,
|
|
66
|
+
}),
|
|
67
|
+
"extensions-dir": Flags.string({
|
|
68
|
+
description: "directory holding the extension packages (used with --all)",
|
|
69
|
+
default: "extensions",
|
|
70
|
+
}),
|
|
71
|
+
config: Flags.string({
|
|
72
|
+
description: "a ctx.config entry as KEY=VALUE (repeatable); overrides EXTENSION_CONFIG_* from the environment / .env",
|
|
73
|
+
multiple: true,
|
|
74
|
+
delimiter: ",",
|
|
75
|
+
}),
|
|
76
|
+
cleanup: Flags.boolean({
|
|
77
|
+
description: "remove any leftover `il-localdev-*` API Extensions from a previous run and exit (does not serve)",
|
|
78
|
+
default: false,
|
|
79
|
+
}),
|
|
80
|
+
};
|
|
81
|
+
async run() {
|
|
82
|
+
const { flags } = await this.parse(ExtensionServeApiExtension);
|
|
83
|
+
const principal = this.requirePrincipal();
|
|
84
|
+
const projectKey = flags["project-key"] ?? principal.getProjectKey();
|
|
85
|
+
if (!projectKey) {
|
|
86
|
+
this.error("no project key — log in with `commercetools auth login --project-key <key>` or pass --project-key");
|
|
87
|
+
}
|
|
88
|
+
const apiBaseUrl = ctApiBaseUrl(principal.getRegion());
|
|
89
|
+
const authFetch = this.authFetch;
|
|
90
|
+
if (flags.cleanup) {
|
|
91
|
+
await this.cleanupLeftovers(apiBaseUrl, projectKey, authFetch);
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const publicUrl = flags["public-url"]?.replace(/\/+$/, "");
|
|
95
|
+
if (!publicUrl) {
|
|
96
|
+
this.error("--public-url is required: start a tunnel to this machine (e.g. `ngrok http " +
|
|
97
|
+
`${flags.port}\`) and pass its https address`);
|
|
98
|
+
}
|
|
99
|
+
let parsedPublic;
|
|
100
|
+
try {
|
|
101
|
+
parsedPublic = new URL(publicUrl);
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
this.error(`--public-url is not a valid URL: ${publicUrl}`);
|
|
105
|
+
}
|
|
106
|
+
if (parsedPublic.protocol !== "https:") {
|
|
107
|
+
this.warn(`--public-url is not https (${parsedPublic.protocol}) — commercetools requires a reachable HTTPS destination in most projects`);
|
|
108
|
+
}
|
|
109
|
+
const callbackUrl = `${publicUrl}/api-extensions`;
|
|
110
|
+
// ctx.config from EXTENSION_CONFIG_* / .env, with explicit --config winning (there
|
|
111
|
+
// is no Commerce Integration Layer to read the project's stored config from).
|
|
112
|
+
const config = {
|
|
113
|
+
...extensionConfigFromEnv(),
|
|
114
|
+
...extensionConfigFromPairs(flags.config ?? []),
|
|
115
|
+
};
|
|
116
|
+
const makeCtx = () => ({ now: () => Date.now(), config });
|
|
117
|
+
// Initial build so we can validate the bundle declares handlers, learn the
|
|
118
|
+
// resource/action triggers it wants, and register them BEFORE opening a port. One
|
|
119
|
+
// entry, or — with --all — every extensions/* package built and concatenated into the
|
|
120
|
+
// one combined bundle a project deploys. `modules` holds each package's handlers by
|
|
121
|
+
// name so a hot-reload can recompute the combined set cheaply.
|
|
122
|
+
const root = process.cwd();
|
|
123
|
+
const modules = new Map();
|
|
124
|
+
let extensions = [];
|
|
125
|
+
if (flags.all) {
|
|
126
|
+
const entrySegment = entrySegmentFor(root, flags.entry);
|
|
127
|
+
extensions = await discoverExtensions(root, flags["extensions-dir"], entrySegment);
|
|
128
|
+
if (extensions.length === 0) {
|
|
129
|
+
this.error(`no extensions found under ./${flags["extensions-dir"]}/*/${entrySegment} — run --all from the monorepo root`);
|
|
130
|
+
}
|
|
131
|
+
for (const ext of extensions) {
|
|
132
|
+
await buildBundle(ext.entry, ext.outfile);
|
|
133
|
+
modules.set(ext.name, extractApiExtensions(loadBundleSource(await readFile(ext.outfile, "utf8"))));
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
modules.set(flags.entry, await this.buildOnce(flags.entry, flags.out));
|
|
138
|
+
}
|
|
139
|
+
let current;
|
|
140
|
+
try {
|
|
141
|
+
current = this.combineApiExtensions(modules);
|
|
142
|
+
}
|
|
143
|
+
catch (err) {
|
|
144
|
+
this.error(err.message);
|
|
145
|
+
}
|
|
146
|
+
if (current.length === 0) {
|
|
147
|
+
this.error(flags.all
|
|
148
|
+
? `no extension under ./${flags["extensions-dir"]}/* declares \`apiExtensions\` — nothing to serve`
|
|
149
|
+
: "this bundle declares no `apiExtensions` — nothing to serve (author them with `defineApiExtension`)");
|
|
150
|
+
}
|
|
151
|
+
// Refuse ONLY on a real collision: an existing Extension that triggers on the same
|
|
152
|
+
// resource + action this bundle would register (commercetools allows one Extension
|
|
153
|
+
// per resource/action, and we must never disturb a real one). Unrelated Extensions
|
|
154
|
+
// are fine and left untouched. See the SAFETY MODEL note.
|
|
155
|
+
const collisions = findTriggerCollisions(await listExtensions(apiBaseUrl, projectKey, authFetch), current);
|
|
156
|
+
if (collisions.length > 0) {
|
|
157
|
+
const detail = collisions
|
|
158
|
+
.map((c) => `'${c.key ?? c.id}' on ${c.resourceTypeId}/${c.actions.join(",")}`)
|
|
159
|
+
.join("; ");
|
|
160
|
+
const hint = collisions.some((c) => isManagedKey(c.key))
|
|
161
|
+
? " Some are leftovers from a previous run (`il-localdev-*`) — clear them with `--cleanup`."
|
|
162
|
+
: "";
|
|
163
|
+
this.error(`project '${projectKey}' already has an API Extension that triggers on a resource/action ` +
|
|
164
|
+
`this bundle would register: ${detail}. Refusing to register so it can never disturb that ` +
|
|
165
|
+
`Extension (commercetools also rejects overlapping triggers).${hint}`);
|
|
166
|
+
}
|
|
167
|
+
// Start listening BEFORE registering, so the destination is live the instant
|
|
168
|
+
// commercetools learns about it.
|
|
169
|
+
const registered = [];
|
|
170
|
+
const server = createServer(createApiExtensionHandler({
|
|
171
|
+
makeCtx,
|
|
172
|
+
handlers: () => current,
|
|
173
|
+
onDispatch: (summary) => this.log(`→ ${summary}`),
|
|
174
|
+
onError: (err) => this.warn(`handler threw: ${err.message}`),
|
|
175
|
+
}));
|
|
176
|
+
await new Promise((resolve, reject) => {
|
|
177
|
+
server.once("error", reject);
|
|
178
|
+
server.listen(flags.port, resolve);
|
|
179
|
+
}).catch((err) => this.error(`could not listen on port ${flags.port}: ${err.message}`));
|
|
180
|
+
await this.reconcile(apiBaseUrl, projectKey, authFetch, callbackUrl, registered, current);
|
|
181
|
+
// Hot-reload: rebuild on every source edit, swap the live handlers, and reconcile
|
|
182
|
+
// the registered Extensions if the trigger shapes changed (a handler-body edit
|
|
183
|
+
// needs no commercetools round trip). --all watches every package and re-concatenates.
|
|
184
|
+
const applyReload = async (label) => {
|
|
185
|
+
let next;
|
|
186
|
+
try {
|
|
187
|
+
next = this.combineApiExtensions(modules);
|
|
188
|
+
}
|
|
189
|
+
catch (err) {
|
|
190
|
+
this.warn(`${err.message} — keeping the previous handlers`);
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
if (next.length === 0) {
|
|
194
|
+
this.warn("reloaded extensions declare no `apiExtensions` — keeping the previous handlers");
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
current = next;
|
|
198
|
+
try {
|
|
199
|
+
await this.reconcile(apiBaseUrl, projectKey, authFetch, callbackUrl, registered, current);
|
|
200
|
+
}
|
|
201
|
+
catch (err) {
|
|
202
|
+
this.warn(`could not update registered Extensions: ${err.message}`);
|
|
203
|
+
}
|
|
204
|
+
this.log(`✓ reloaded ${label}`);
|
|
205
|
+
};
|
|
206
|
+
const watchers = [];
|
|
207
|
+
if (flags.all) {
|
|
208
|
+
for (const ext of extensions) {
|
|
209
|
+
watchers.push(await this.watchEntry(ext.entry, ext.outfile, async (mod) => {
|
|
210
|
+
modules.set(ext.name, extractApiExtensions(mod));
|
|
211
|
+
await applyReload(ext.name);
|
|
212
|
+
}));
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
watchers.push(await this.watchEntry(flags.entry, flags.out, async (mod) => {
|
|
217
|
+
modules.set(flags.entry, extractApiExtensions(mod));
|
|
218
|
+
await applyReload(flags.entry);
|
|
219
|
+
}));
|
|
220
|
+
}
|
|
221
|
+
this.log([
|
|
222
|
+
`\n🔌 API-Extension debug server for '${projectKey}' live:`,
|
|
223
|
+
` local http://localhost:${flags.port}/api-extensions`,
|
|
224
|
+
` public ${callbackUrl}`,
|
|
225
|
+
` handlers ${current.map((h) => `${h.key} (${h.resourceTypeId}/${h.actions.join(",")})`).join(", ")}`,
|
|
226
|
+
flags.all
|
|
227
|
+
? ` watching ${extensions.length} extension(s): ${extensions.map((e) => e.name).join(", ")} — edit and save to hot-reload`
|
|
228
|
+
: ` watching ${flags.entry} — edit and save to hot-reload`,
|
|
229
|
+
" do a matching cart/order write in the project; Ctrl-C to deregister and exit\n",
|
|
230
|
+
].join("\n"));
|
|
231
|
+
let shuttingDown = false;
|
|
232
|
+
const shutdown = async () => {
|
|
233
|
+
if (shuttingDown)
|
|
234
|
+
return;
|
|
235
|
+
shuttingDown = true;
|
|
236
|
+
this.log("\nDeregistering API Extensions and shutting down …");
|
|
237
|
+
await this.cleanupLeftovers(apiBaseUrl, projectKey, authFetch).catch((err) => this.warn(`could not remove every registered Extension (${err.message}) — run \`--cleanup\` to finish`));
|
|
238
|
+
await Promise.all(watchers.map((w) => w.dispose().catch(() => { })));
|
|
239
|
+
server.close(() => process.exit(0));
|
|
240
|
+
};
|
|
241
|
+
process.on("SIGINT", () => void shutdown());
|
|
242
|
+
process.on("SIGTERM", () => void shutdown());
|
|
243
|
+
// Keep the process alive; the server + esbuild watcher run until a signal.
|
|
244
|
+
await new Promise(() => { });
|
|
245
|
+
}
|
|
246
|
+
/** Apply {@link planReconcile}: delete superseded/removed Extensions, create new ones. */
|
|
247
|
+
async reconcile(apiBaseUrl, projectKey, authFetch, callbackUrl, registered, desired) {
|
|
248
|
+
const plan = planReconcile(registered, desired);
|
|
249
|
+
for (const reg of plan.toDelete) {
|
|
250
|
+
await deleteExtension(apiBaseUrl, projectKey, authFetch, reg.id, reg.version);
|
|
251
|
+
const idx = registered.findIndex((r) => r.authorKey === reg.authorKey && r.id === reg.id);
|
|
252
|
+
if (idx >= 0)
|
|
253
|
+
registered.splice(idx, 1);
|
|
254
|
+
this.log(` − deregistered '${managedKey(reg.authorKey)}'`);
|
|
255
|
+
}
|
|
256
|
+
for (const decl of plan.toCreate) {
|
|
257
|
+
const created = await createExtension(apiBaseUrl, projectKey, authFetch, draftFor(decl, callbackUrl));
|
|
258
|
+
const entry = {
|
|
259
|
+
authorKey: decl.key,
|
|
260
|
+
id: created.id,
|
|
261
|
+
version: created.version,
|
|
262
|
+
signature: triggerSignature(decl),
|
|
263
|
+
};
|
|
264
|
+
const idx = registered.findIndex((r) => r.authorKey === decl.key);
|
|
265
|
+
if (idx >= 0)
|
|
266
|
+
registered[idx] = entry;
|
|
267
|
+
else
|
|
268
|
+
registered.push(entry);
|
|
269
|
+
this.log(` + registered '${created.key ?? managedKey(decl.key)}' → ${callbackUrl} (${decl.resourceTypeId}/${decl.actions.join(",")})`);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
/** Delete every `il-localdev-*` Extension currently on the project (best-effort). */
|
|
273
|
+
async cleanupLeftovers(apiBaseUrl, projectKey, authFetch) {
|
|
274
|
+
const managed = (await listExtensions(apiBaseUrl, projectKey, authFetch)).filter((e) => isManagedKey(e.key));
|
|
275
|
+
if (managed.length === 0) {
|
|
276
|
+
this.log(`No \`${MANAGED_KEY_PREFIX}*\` API Extensions to remove on '${projectKey}'.`);
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
for (const e of managed) {
|
|
280
|
+
try {
|
|
281
|
+
await deleteExtension(apiBaseUrl, projectKey, authFetch, e.id, e.version);
|
|
282
|
+
this.log(` − removed '${e.key}'`);
|
|
283
|
+
}
|
|
284
|
+
catch (err) {
|
|
285
|
+
this.warn(`could not remove '${e.key}': ${err.message}`);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* Concatenate every package's `apiExtensions` into the one set a project deploys (the
|
|
291
|
+
* same flatMap `buildCombinedBundle` does), rejecting a key declared by two different
|
|
292
|
+
* extensions: a project ships one bundle, so each API-Extension key — and thus its
|
|
293
|
+
* `il-localdev-` registration — must be unique across packages.
|
|
294
|
+
*/
|
|
295
|
+
combineApiExtensions(modules) {
|
|
296
|
+
const combined = [];
|
|
297
|
+
const owner = new Map();
|
|
298
|
+
for (const [name, defs] of modules) {
|
|
299
|
+
for (const def of defs) {
|
|
300
|
+
const prev = owner.get(def.key);
|
|
301
|
+
if (prev !== undefined && prev !== name) {
|
|
302
|
+
throw new Error(`extensions '${prev}' and '${name}' both declare an API Extension keyed '${def.key}' — each API-Extension key must be unique across extensions`);
|
|
303
|
+
}
|
|
304
|
+
owner.set(def.key, name);
|
|
305
|
+
combined.push(def);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
return combined;
|
|
309
|
+
}
|
|
310
|
+
/** One-shot build + load; returns the bundle's declared handlers. */
|
|
311
|
+
async buildOnce(entry, outfile) {
|
|
312
|
+
await buildBundle(entry, outfile);
|
|
313
|
+
return extractApiExtensions(loadBundleSource(await readFile(outfile, "utf8")));
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* esbuild-watch `entry`; on every successful (re)build load the bundle and hand the
|
|
317
|
+
* raw module to `onReload`. Resolves once the first build completes. Mirrors the
|
|
318
|
+
* `serve` command's watcher, with the same bundle options as `buildBundle`.
|
|
319
|
+
*/
|
|
320
|
+
async watchEntry(entry, outfile, onReload) {
|
|
321
|
+
const warn = (m) => {
|
|
322
|
+
this.warn(m);
|
|
323
|
+
};
|
|
324
|
+
let firstBuildDone;
|
|
325
|
+
const firstBuild = new Promise((resolve) => {
|
|
326
|
+
firstBuildDone = resolve;
|
|
327
|
+
});
|
|
328
|
+
let isFirstBuild = true;
|
|
329
|
+
const ctx = await esbuildContext({
|
|
330
|
+
entryPoints: [entry],
|
|
331
|
+
outfile,
|
|
332
|
+
bundle: true,
|
|
333
|
+
format: "cjs",
|
|
334
|
+
platform: "neutral",
|
|
335
|
+
target: "node22",
|
|
336
|
+
conditions: ["worker"],
|
|
337
|
+
mainFields: ["module", "main"],
|
|
338
|
+
external: HOST_PROVIDED_EXTERNALS,
|
|
339
|
+
logLevel: "silent",
|
|
340
|
+
plugins: [
|
|
341
|
+
{
|
|
342
|
+
name: "il-serve-api-extension-reload",
|
|
343
|
+
setup(build) {
|
|
344
|
+
build.onEnd(async (result) => {
|
|
345
|
+
try {
|
|
346
|
+
if (result.errors.length > 0) {
|
|
347
|
+
warn("✗ build failed — fix the error and save again");
|
|
348
|
+
for (const e of result.errors)
|
|
349
|
+
warn(` ${e.text}`);
|
|
350
|
+
return;
|
|
351
|
+
}
|
|
352
|
+
// Skip the very first build's reload: the caller already loaded the
|
|
353
|
+
// one-shot build and reconciled from it, so re-running would be a no-op.
|
|
354
|
+
if (isFirstBuild)
|
|
355
|
+
return;
|
|
356
|
+
try {
|
|
357
|
+
await onReload(loadBundleSource(await readFile(outfile, "utf8")));
|
|
358
|
+
}
|
|
359
|
+
catch (err) {
|
|
360
|
+
warn(`✗ reload failed: ${err.message}`);
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
finally {
|
|
364
|
+
if (isFirstBuild) {
|
|
365
|
+
isFirstBuild = false;
|
|
366
|
+
firstBuildDone();
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
});
|
|
370
|
+
},
|
|
371
|
+
},
|
|
372
|
+
],
|
|
373
|
+
});
|
|
374
|
+
await ctx.watch();
|
|
375
|
+
await firstBuild;
|
|
376
|
+
return ctx;
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
//# sourceMappingURL=serve-api-extension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serve-api-extension.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/extension/serve-api-extension.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,12 @@
|
|
|
12
12
|
// local extension + the deployed Commerce Integration Layer.
|
|
13
13
|
// --compose/--gateway reach the Commerce Integration Layer, so they need the auth flags/env
|
|
14
14
|
// (ilFlags); --gateway also mints an anonymous session for its calls.
|
|
15
|
+
//
|
|
16
|
+
// This serves only the bundle's GraphQL subgraph. The bundle's API-Extension handlers
|
|
17
|
+
// are served by the sibling `serve-api-extension` command, kept separate ON PURPOSE:
|
|
18
|
+
// that command logs in and registers a callback in commercetools, so isolating it keeps
|
|
19
|
+
// `serve` a safe, login-free local server that can never register anything in
|
|
20
|
+
// commercetools by accident.
|
|
15
21
|
import { createServer } from "node:http";
|
|
16
22
|
import { readFile } from "node:fs/promises";
|
|
17
23
|
import process from "node:process";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/extension/serve.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/extension/serve.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
2
|
+
import type { ApiExtensionDefinition, ExtensionContext } from "./tooling/apiExtension.js";
|
|
3
|
+
/** Cap the callback body so a malformed/oversized POST can't exhaust memory. */
|
|
4
|
+
export declare const MAX_BODY_BYTES = 1048576;
|
|
5
|
+
/** Read a request body as a string, rejecting once it exceeds `maxBytes`. */
|
|
6
|
+
export declare function readBody(req: IncomingMessage, maxBytes?: number): Promise<string>;
|
|
7
|
+
export interface ApiExtensionHandlerOptions {
|
|
8
|
+
/** The per-call capability context (fresh per request, so config edits are picked up). */
|
|
9
|
+
makeCtx: () => ExtensionContext;
|
|
10
|
+
/** The current handlers (a getter, so a hot-reload swap is seen without rewiring). */
|
|
11
|
+
handlers: () => ApiExtensionDefinition[];
|
|
12
|
+
/** Optional: called with a one-line summary of each dispatched callback (for logging). */
|
|
13
|
+
onDispatch?: (summary: string) => void;
|
|
14
|
+
/** Optional: called when a handler throws (the request still 500s). */
|
|
15
|
+
onError?: (err: Error) => void;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Build the `(req, res)` listener for the local callback server. Exported (rather than
|
|
19
|
+
* inlined in the command) so tests can exercise the response mapping against a real
|
|
20
|
+
* HTTP server.
|
|
21
|
+
*/
|
|
22
|
+
export declare function createApiExtensionHandler(options: ApiExtensionHandlerOptions): (req: IncomingMessage, res: ServerResponse) => void;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
// The HTTP surface `serve-api-extension` exposes to commercetools: a single
|
|
2
|
+
// `POST /api-extensions` callback (plus a `GET /health` for tunnel checks). Kept
|
|
3
|
+
// separate from the oclif command so it can be unit-tested by driving a real server
|
|
4
|
+
// with a stub set of handlers — no login, no tunnel, no commercetools.
|
|
5
|
+
//
|
|
6
|
+
// The parsed callback is handed to the shared dispatcher, whose result is written back
|
|
7
|
+
// in the commercetools response contract (empty 200 approve / 200 `{ actions }` /
|
|
8
|
+
// 400 `{ errors }`, or 500 when a handler throws).
|
|
9
|
+
import { Buffer } from "node:buffer";
|
|
10
|
+
import { dispatchApiExtension } from "./tooling/apiExtensionDispatch.js";
|
|
11
|
+
/** Cap the callback body so a malformed/oversized POST can't exhaust memory. */
|
|
12
|
+
export const MAX_BODY_BYTES = 1_048_576; // 1 MiB — well above any real ExtensionInput.
|
|
13
|
+
/** Read a request body as a string, rejecting once it exceeds `maxBytes`. */
|
|
14
|
+
export function readBody(req, maxBytes = MAX_BODY_BYTES) {
|
|
15
|
+
return new Promise((resolve, reject) => {
|
|
16
|
+
const chunks = [];
|
|
17
|
+
let size = 0;
|
|
18
|
+
req.on("data", (chunk) => {
|
|
19
|
+
size += chunk.length;
|
|
20
|
+
if (size > maxBytes) {
|
|
21
|
+
reject(new Error("request body too large"));
|
|
22
|
+
req.destroy();
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
chunks.push(chunk);
|
|
26
|
+
});
|
|
27
|
+
req.on("end", () => resolve(Buffer.concat(chunks).toString("utf8")));
|
|
28
|
+
req.on("error", reject);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
function sendJson(res, status, body) {
|
|
32
|
+
res.statusCode = status;
|
|
33
|
+
res.setHeader("content-type", "application/json; charset=utf-8");
|
|
34
|
+
res.end(JSON.stringify(body));
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Build the `(req, res)` listener for the local callback server. Exported (rather than
|
|
38
|
+
* inlined in the command) so tests can exercise the response mapping against a real
|
|
39
|
+
* HTTP server.
|
|
40
|
+
*/
|
|
41
|
+
export function createApiExtensionHandler(options) {
|
|
42
|
+
const { makeCtx, handlers, onDispatch, onError } = options;
|
|
43
|
+
return (req, res) => {
|
|
44
|
+
void handle(req, res);
|
|
45
|
+
};
|
|
46
|
+
async function handle(req, res) {
|
|
47
|
+
const path = (req.url ?? "").split("?")[0];
|
|
48
|
+
if (req.method === "GET" && path === "/health") {
|
|
49
|
+
res.statusCode = 200;
|
|
50
|
+
res.end("ok");
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
if (req.method !== "POST" || path !== "/api-extensions") {
|
|
54
|
+
sendJson(res, 404, { errors: [{ code: "General", message: "not found" }] });
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
let input;
|
|
58
|
+
try {
|
|
59
|
+
input = JSON.parse(await readBody(req));
|
|
60
|
+
}
|
|
61
|
+
catch (err) {
|
|
62
|
+
sendJson(res, 400, {
|
|
63
|
+
errors: [{ code: "InvalidInput", message: `invalid callback body: ${err.message}` }],
|
|
64
|
+
});
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
if (!input || typeof input.action !== "string" || typeof input.resource?.typeId !== "string") {
|
|
68
|
+
sendJson(res, 400, {
|
|
69
|
+
errors: [{ code: "InvalidInput", message: "body is not a commercetools ExtensionInput" }],
|
|
70
|
+
});
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
try {
|
|
74
|
+
const result = await dispatchApiExtension(handlers(), makeCtx(),
|
|
75
|
+
// Validated above; hand to the shared dispatcher as the SDK input.
|
|
76
|
+
input);
|
|
77
|
+
const summary = result.status === 400
|
|
78
|
+
? "BLOCK"
|
|
79
|
+
: result.body && "actions" in result.body
|
|
80
|
+
? `MODIFY (${result.body.actions.length})`
|
|
81
|
+
: "APPROVE";
|
|
82
|
+
onDispatch?.(`${String(input.action)} ${String(input.resource.typeId)}: ${summary}`);
|
|
83
|
+
if (result.body)
|
|
84
|
+
sendJson(res, result.status, result.body);
|
|
85
|
+
else {
|
|
86
|
+
res.statusCode = result.status;
|
|
87
|
+
res.end();
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
catch (err) {
|
|
91
|
+
// A handler threw — fail the write loudly (500), mirroring the deployed sandbox.
|
|
92
|
+
onError?.(err);
|
|
93
|
+
sendJson(res, 500, { errors: [{ code: "General", message: err.message }] });
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=apiExtensionServer.js.map
|