@commercetools/cli-topic-integration-layer 0.9.0 → 0.10.1

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.
@@ -134,6 +134,8 @@ export declare function listConfig(baseUrl: string, projectKey: string, authFetc
134
134
  * Upsert/delete config entries and return the resulting (redacted) list
135
135
  * (`PATCH …/extension/config`). An entry with `value: null` deletes that key. PATCH
136
136
  * (not PUT) so a single set/unset touches one key without clobbering the rest.
137
+ * The body is `{ entries }`, not a bare array — the route also accepts
138
+ * `maskExtensionGraphQLErrors`, which this client does not set.
137
139
  */
138
140
  export declare function patchConfig(baseUrl: string, projectKey: string, authFetch: AuthFetch, entries: Array<{
139
141
  key: string;
@@ -145,6 +145,24 @@ export async function putAllowlist(baseUrl, projectKey, authFetch, patterns) {
145
145
  }
146
146
  return JSON.parse(text);
147
147
  }
148
+ /**
149
+ * GET/PATCH `…/extension/config` return `{ entries, maskExtensionGraphQLErrors }`,
150
+ * not a bare array. The typed `maskExtensionGraphQLErrors` flag sits beside the
151
+ * free-form entries (the operator console owns it); this client only unwraps
152
+ * `entries` for the config commands. Fail loudly if the body isn't that object —
153
+ * treating it as an array is how `config list` died with `entries is not iterable`.
154
+ */
155
+ function unwrapConfigEntries(text, verb) {
156
+ const body = JSON.parse(text);
157
+ if (typeof body !== "object" || body === null || Array.isArray(body)) {
158
+ throw new Error(`${verb} extension/config returned an unexpected body (expected { entries, maskExtensionGraphQLErrors })`);
159
+ }
160
+ const entries = body.entries;
161
+ if (!Array.isArray(entries)) {
162
+ throw new Error(`${verb} extension/config returned an unexpected body (expected { entries, maskExtensionGraphQLErrors })`);
163
+ }
164
+ return entries;
165
+ }
148
166
  /** List the project's extension config entries, secret values redacted (`GET …/extension/config`). */
149
167
  export async function listConfig(baseUrl, projectKey, authFetch) {
150
168
  const url = `${apiRoot(baseUrl, projectKey)}/extension/config`;
@@ -153,25 +171,27 @@ export async function listConfig(baseUrl, projectKey, authFetch) {
153
171
  if (!res.ok) {
154
172
  throw new Error(`GET extension/config failed (${res.status}): ${text}`);
155
173
  }
156
- return JSON.parse(text);
174
+ return unwrapConfigEntries(text, "GET");
157
175
  }
158
176
  /**
159
177
  * Upsert/delete config entries and return the resulting (redacted) list
160
178
  * (`PATCH …/extension/config`). An entry with `value: null` deletes that key. PATCH
161
179
  * (not PUT) so a single set/unset touches one key without clobbering the rest.
180
+ * The body is `{ entries }`, not a bare array — the route also accepts
181
+ * `maskExtensionGraphQLErrors`, which this client does not set.
162
182
  */
163
183
  export async function patchConfig(baseUrl, projectKey, authFetch, entries) {
164
184
  const url = `${apiRoot(baseUrl, projectKey)}/extension/config`;
165
185
  const res = await authFetch(url, {
166
186
  method: "PATCH",
167
187
  headers: { "Content-Type": "application/json" },
168
- body: JSON.stringify(entries),
188
+ body: JSON.stringify({ entries }),
169
189
  });
170
190
  const text = await res.text();
171
191
  if (!res.ok) {
172
192
  throw new Error(`PATCH extension/config failed (${res.status}): ${text}`);
173
193
  }
174
- return JSON.parse(text);
194
+ return unwrapConfigEntries(text, "PATCH");
175
195
  }
176
196
  /**
177
197
  * Fire ONE commercetools API-Extension callback at the project's DEPLOYED extension
@@ -1 +1 @@
1
- {"version":3,"file":"ilClient.js","sourceRoot":"","sources":["../../src/lib/ilClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ilClient.js","sourceRoot":"","sources":["../../src/lib/ilClient.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,9 @@
1
- /** Peer modules the runtime owns — bundled never, resolved at load time. */
1
+ /**
2
+ * Peer modules the runtime owns — bundled never, resolved at load time. `graphql`
3
+ * (its single instance) plus the `http`/`https` modules the runtime maps to the
4
+ * gated fetch shim; the `node:`-prefixed aliases are included so either import
5
+ * spelling resolves.
6
+ */
2
7
  export declare const HOST_PROVIDED_EXTERNALS: string[];
3
8
  /** The extension source of the example the tool is invoked inside (cwd-relative). */
4
9
  export declare function defaultEntry(): string;
@@ -5,14 +5,31 @@
5
5
  // CommonJS so the runtime can evaluate it as a script and read `module.exports`.
6
6
  // `platform: "neutral"` keeps Node built-ins out (an import of one fails the build,
7
7
  // not at load time), and `conditions: ["worker"]` steers a bundled SDK to its
8
- // fetch-based build (the runtime provides a global `fetch`, not Node `http`/`https`).
9
- // `graphql` stays EXTERNAL — the runtime supplies its single instance; a second
10
- // inlined copy would break its `instanceof` checks.
8
+ // fetch-based build. `graphql` stays EXTERNAL — the runtime supplies its single
9
+ // instance; a second inlined copy would break its `instanceof` checks.
10
+ //
11
+ // `http`/`https` (and their `node:`-prefixed aliases) are the ONE class of Node
12
+ // built-in left external: the runtime resolves them to a gated shim (nodeHttpShim.ts)
13
+ // whose `request`/`get` route through the same allowlist-gated `fetch`, not a raw
14
+ // socket. Marking them external makes esbuild emit `require("https")` for the runtime
15
+ // to satisfy, rather than failing the build with "Could not resolve". Every OTHER
16
+ // Node built-in stays unresolvable (and `staticAnalysis.ts` rejects it at validate).
11
17
  import { build } from "esbuild";
12
18
  import { join, resolve } from "node:path";
13
19
  import process from "node:process";
14
- /** Peer modules the runtime owns — bundled never, resolved at load time. */
15
- export const HOST_PROVIDED_EXTERNALS = ["graphql"];
20
+ /**
21
+ * Peer modules the runtime owns — bundled never, resolved at load time. `graphql`
22
+ * (its single instance) plus the `http`/`https` modules the runtime maps to the
23
+ * gated fetch shim; the `node:`-prefixed aliases are included so either import
24
+ * spelling resolves.
25
+ */
26
+ export const HOST_PROVIDED_EXTERNALS = [
27
+ "graphql",
28
+ "http",
29
+ "https",
30
+ "node:http",
31
+ "node:https",
32
+ ];
16
33
  /** The extension source of the example the tool is invoked inside (cwd-relative). */
17
34
  export function defaultEntry() {
18
35
  return join(process.cwd(), "src", "extension.ts");
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/lib/tooling/build.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,EAAE;AACF,oEAAoE;AACpE,6DAA6D;AAC7D,iFAAiF;AACjF,oFAAoF;AACpF,8EAA8E;AAC9E,sFAAsF;AACtF,gFAAgF;AAChF,oDAAoD;AAEpD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,SAAS,CAAC,CAAC;AAEnD,qFAAqF;AACrF,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;AACpD,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,cAAc;IAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;AACrD,CAAC;AAaD,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,QAAgB,YAAY,EAAE,EAC9B,UAAkB,cAAc,EAAE;IAElC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC;QACzB,WAAW,EAAE,CAAC,KAAK,CAAC;QACpB,OAAO;QACP,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE,CAAC,QAAQ,CAAC;QACtB,gFAAgF;QAChF,kFAAkF;QAClF,kFAAkF;QAClF,2EAA2E;QAC3E,kFAAkF;QAClF,iFAAiF;QACjF,eAAe;QACf,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC9B,QAAQ,EAAE,uBAAuB;QACjC,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;SACpD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;SAClD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IACjD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/lib/tooling/build.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,EAAE;AACF,oEAAoE;AACpE,6DAA6D;AAC7D,iFAAiF;AACjF,oFAAoF;AACpF,8EAA8E;AAC9E,gFAAgF;AAChF,uEAAuE;AACvE,EAAE;AACF,gFAAgF;AAChF,sFAAsF;AACtF,kFAAkF;AAClF,sFAAsF;AACtF,kFAAkF;AAClF,qFAAqF;AAErF,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,SAAS;IACT,MAAM;IACN,OAAO;IACP,WAAW;IACX,YAAY;CACb,CAAC;AAEF,qFAAqF;AACrF,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;AACpD,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,cAAc;IAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;AACrD,CAAC;AAaD,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,QAAgB,YAAY,EAAE,EAC9B,UAAkB,cAAc,EAAE;IAElC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC;QACzB,WAAW,EAAE,CAAC,KAAK,CAAC;QACpB,OAAO;QACP,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE,CAAC,QAAQ,CAAC;QACtB,gFAAgF;QAChF,kFAAkF;QAClF,kFAAkF;QAClF,2EAA2E;QAC3E,kFAAkF;QAClF,iFAAiF;QACjF,eAAe;QACf,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC9B,QAAQ,EAAE,uBAAuB;QACjC,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;SACpD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;SAClD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IACjD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AAClC,CAAC"}
@@ -3,19 +3,29 @@
3
3
  //
4
4
  // The bundle is esbuild's single-file
5
5
  // CommonJS artifact, so we evaluate it with the CommonJS calling convention and a
6
- // `require` that resolves only `graphql` (a second copy would break `instanceof`).
7
- // It runs as an ordinary module — not a security boundary; the runtime enforces
8
- // that, and `staticAnalysis.ts` screens the source first.
6
+ // `require` that resolves `graphql` (a second copy would break `instanceof`) plus
7
+ // `http`/`https` — the latter to the gated shim (nodeHttpShim.ts), never Node's
8
+ // real modules, so a bundle that imports `https` behaves the same locally as in the
9
+ // deployed sandbox. It runs as an ordinary module — not a security boundary; the
10
+ // runtime enforces that, and `staticAnalysis.ts` screens the source first.
9
11
  import { GraphQLError } from "graphql";
12
+ import { createNodeHttpShims } from "./nodeHttpShim.js";
10
13
  /**
11
14
  * Evaluate an esbuild-CJS extension bundle and return its `module.exports`.
12
15
  * `require` resolves only `graphql`; any other module id throws.
13
16
  */
14
17
  export function loadBundleSource(source) {
15
18
  const moduleObject = { exports: {} };
19
+ // Late-bound fetch: when a resolver runs under the dev server it is the delegating
20
+ // gated fetch (sandboxFetch.ts); elsewhere (coherence check) resolvers don't run.
21
+ const httpShims = createNodeHttpShims((input, init) => globalThis.fetch(input, init));
16
22
  const requireShim = (id) => {
17
23
  if (id === "graphql")
18
24
  return { GraphQLError };
25
+ if (id === "https" || id === "node:https")
26
+ return httpShims.https;
27
+ if (id === "http" || id === "node:http")
28
+ return httpShims.http;
19
29
  throw new Error(`extension bundle may not require "${id}"`);
20
30
  };
21
31
  // The CommonJS wrapper: bind `module`/`exports`/`require` and run the source.
@@ -1 +1 @@
1
- {"version":3,"file":"loadBundle.js","sourceRoot":"","sources":["../../../src/lib/tooling/loadBundle.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,iEAAiE;AACjE,EAAE;AACF,sCAAsC;AACtC,kFAAkF;AAClF,mFAAmF;AACnF,gFAAgF;AAChF,0DAA0D;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAUvC;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,MAAM,YAAY,GAAiC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACnE,MAAM,WAAW,GAAG,CAAC,EAAU,EAAW,EAAE;QAC1C,IAAI,EAAE,KAAK,SAAS;YAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC,CAAC;IACF,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACtE,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC1D,OAAO,YAAY,CAAC,OAAO,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"loadBundle.js","sourceRoot":"","sources":["../../../src/lib/tooling/loadBundle.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,iEAAiE;AACjE,EAAE;AACF,sCAAsC;AACtC,kFAAkF;AAClF,kFAAkF;AAClF,gFAAgF;AAChF,oFAAoF;AACpF,iFAAiF;AACjF,2EAA2E;AAE3E,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAUxD;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,MAAM,YAAY,GAAiC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACnE,mFAAmF;IACnF,kFAAkF;IAClF,MAAM,SAAS,GAAG,mBAAmB,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IACtF,MAAM,WAAW,GAAG,CAAC,EAAU,EAAW,EAAE;QAC1C,IAAI,EAAE,KAAK,SAAS;YAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QAC9C,IAAI,EAAE,KAAK,OAAO,IAAI,EAAE,KAAK,YAAY;YAAE,OAAO,SAAS,CAAC,KAAK,CAAC;QAClE,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,WAAW;YAAE,OAAO,SAAS,CAAC,IAAI,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC,CAAC;IACF,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACtE,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC1D,OAAO,YAAY,CAAC,OAAO,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,73 @@
1
+ import { EventEmitter } from "node:events";
2
+ import { Readable } from "node:stream";
3
+ /** The one mediated network capability the shim routes every request through. */
4
+ type FetchImpl = typeof fetch;
5
+ /** The `{ http, https }` pair returned to the bundle's `require`. */
6
+ export interface NodeHttpShims {
7
+ http: NodeHttpModule;
8
+ https: NodeHttpModule;
9
+ }
10
+ interface NodeHttpModule {
11
+ request: (...args: unknown[]) => ClientRequestShim;
12
+ get: (...args: unknown[]) => ClientRequestShim;
13
+ /** An inert Agent: `new https.Agent()` works and its methods are no-ops, so SDK
14
+ * code that constructs one and later calls `.destroy()`/`.getName()` doesn't
15
+ * throw — but it carries no pooling or TLS config. Constructing one warns once. */
16
+ Agent: new (options?: unknown) => AgentShim;
17
+ globalAgent: AgentShim;
18
+ }
19
+ /**
20
+ * An inert stand-in for Node's `http.Agent`. Every member is a no-op or empty
21
+ * default so SDK code that pokes at an agent runs without throwing — there is no
22
+ * real connection pool behind it (each request is an independent gated fetch).
23
+ * Constructing one via the public `Agent` warns; `globalAgent` is built directly.
24
+ */
25
+ declare class AgentShim {
26
+ maxSockets: number;
27
+ maxFreeSockets: number;
28
+ sockets: Record<string, unknown>;
29
+ freeSockets: Record<string, unknown>;
30
+ requests: Record<string, unknown>;
31
+ options: Record<string, unknown>;
32
+ destroy(): void;
33
+ getName(): string;
34
+ addRequest(): void;
35
+ createConnection(): void;
36
+ createSocket(): void;
37
+ keepSocketAlive(): boolean;
38
+ reuseSocket(): void;
39
+ }
40
+ /**
41
+ * A `ClientRequest`-like writable. Body chunks are buffered by `write`; `end`
42
+ * dispatches ONE gated `fetch` and, once it resolves, emits `'response'` with the
43
+ * adapted readable (and invokes the request callback). A gate refusal or transport
44
+ * failure surfaces as an `'error'` event.
45
+ */
46
+ declare class ClientRequestShim extends EventEmitter {
47
+ private readonly target;
48
+ private readonly method;
49
+ private readonly fetchImpl;
50
+ private readonly chunks;
51
+ private readonly controller;
52
+ private headers;
53
+ private sent;
54
+ private destroyed;
55
+ private timeoutMs?;
56
+ constructor(target: string, method: string, headers: Record<string, string>, fetchImpl: FetchImpl, callback?: (res: Readable) => void);
57
+ setHeader(name: string, value: unknown): this;
58
+ getHeader(name: string): string | undefined;
59
+ removeHeader(name: string): void;
60
+ setTimeout(ms: number, callback?: () => void): this;
61
+ write(chunk: string | Uint8Array, encoding?: unknown, callback?: () => void): boolean;
62
+ end(chunk?: string | Uint8Array | (() => void), encoding?: unknown, callback?: () => void): this;
63
+ destroy(error?: Error): this;
64
+ abort(): void;
65
+ private send;
66
+ }
67
+ /**
68
+ * Build the `{ http, https }` module pair, each backed by the given gated `fetch`.
69
+ * `http` and `https` differ only in the default protocol applied when a request is
70
+ * described by an options object rather than a full URL.
71
+ */
72
+ export declare function createNodeHttpShims(fetchImpl: FetchImpl): NodeHttpShims;
73
+ export {};
@@ -0,0 +1,266 @@
1
+ // The local-dev twin of the connector's `http`/`https` sandbox shim
2
+ // (octolog-extensions-sandbox `bundle/sandbox/nodeHttpShim.ts`). `serve` resolves
3
+ // `require("http")`/`require("https")` in a bundle to this adapter instead of Node's
4
+ // real modules, so an extension author gets the same behaviour locally as in the
5
+ // deployed sandbox: `request`/`get` over the allowlist-gated `fetch` (sandboxFetch.ts),
6
+ // never a raw socket. It re-implements only the request/response event surface an
7
+ // extension realistically touches — `.write`/`.end`, `res.on('data'|'end')`,
8
+ // `statusCode`/`headers`/`setEncoding` — not the full Node module.
9
+ //
10
+ // The `fetch` it routes through is passed in late-bound (`(i, init) => globalThis.fetch(...)`)
11
+ // so that, when a resolver runs, it picks up the delegating gated fetch installed by
12
+ // `installDelegatingFetch`/`wrapResolverMap` (sandboxFetch.ts) rather than the raw one.
13
+ //
14
+ // An `Agent` (constructed, or passed as the `agent` request option) is accepted but
15
+ // INERT: its settings — keep-alive/pooling, custom CA/mTLS, `rejectUnauthorized`,
16
+ // proxy — are silently dropped because every request goes through the gated `fetch`.
17
+ // We warn once so a request that depends on such a setting has a breadcrumb.
18
+ import { EventEmitter } from "node:events";
19
+ import { Readable } from "node:stream";
20
+ // One warning per process the first time an (inert) Agent is used.
21
+ let agentWarned = false;
22
+ function warnAgentIgnored() {
23
+ if (agentWarned)
24
+ return;
25
+ agentWarned = true;
26
+ console.warn("[extension] http/https `Agent` is not supported in the sandbox — its options " +
27
+ "(keep-alive/pooling, custom CA/mTLS, rejectUnauthorized, proxy) are ignored; " +
28
+ "every request goes through the allowlist-gated fetch");
29
+ }
30
+ /**
31
+ * An inert stand-in for Node's `http.Agent`. Every member is a no-op or empty
32
+ * default so SDK code that pokes at an agent runs without throwing — there is no
33
+ * real connection pool behind it (each request is an independent gated fetch).
34
+ * Constructing one via the public `Agent` warns; `globalAgent` is built directly.
35
+ */
36
+ class AgentShim {
37
+ maxSockets = Infinity;
38
+ maxFreeSockets = 256;
39
+ sockets = {};
40
+ freeSockets = {};
41
+ requests = {};
42
+ options = {};
43
+ destroy() { }
44
+ getName() {
45
+ return "gated-fetch";
46
+ }
47
+ addRequest() { }
48
+ createConnection() { }
49
+ createSocket() { }
50
+ keepSocketAlive() {
51
+ return false;
52
+ }
53
+ reuseSocket() { }
54
+ }
55
+ /** Coerce a Node header bag (values may be arrays) to fetch's string-valued form. */
56
+ function toStringHeaders(headers) {
57
+ const out = {};
58
+ if (!headers)
59
+ return out;
60
+ for (const [key, value] of Object.entries(headers)) {
61
+ if (value == null)
62
+ continue;
63
+ out[key] = Array.isArray(value) ? value.map(String).join(", ") : String(value);
64
+ }
65
+ return out;
66
+ }
67
+ /** Resolve Node's overloaded `(url | options)[, options][, callback]` forms. */
68
+ function normalizeArgs(defaultProtocol, args) {
69
+ let index = 0;
70
+ let url;
71
+ let options = {};
72
+ const first = args[0];
73
+ if (typeof first === "string" || first instanceof URL) {
74
+ url = String(first);
75
+ index = 1;
76
+ if (typeof args[index] === "object" && args[index] !== null) {
77
+ options = args[index];
78
+ index += 1;
79
+ }
80
+ }
81
+ else if (typeof first === "object" && first !== null) {
82
+ options = first;
83
+ index = 1;
84
+ }
85
+ const callback = typeof args[index] === "function" ? args[index] : undefined;
86
+ if (options.agent != null)
87
+ warnAgentIgnored();
88
+ let target;
89
+ if (url !== undefined) {
90
+ target = url;
91
+ }
92
+ else {
93
+ const protocol = options.protocol ?? defaultProtocol;
94
+ const host = options.hostname ?? options.host ?? "localhost";
95
+ const port = options.port != null ? `:${options.port}` : "";
96
+ const path = options.path ?? "/";
97
+ target = `${protocol}//${host}${port}${path}`;
98
+ }
99
+ return {
100
+ url: target,
101
+ method: (options.method ?? "GET").toUpperCase(),
102
+ headers: toStringHeaders(options.headers),
103
+ callback,
104
+ };
105
+ }
106
+ /** Concatenate the written request-body chunks into a single fetch body. */
107
+ function buildBody(chunks) {
108
+ if (chunks.length === 0)
109
+ return undefined;
110
+ if (chunks.every((chunk) => typeof chunk === "string"))
111
+ return chunks.join("");
112
+ const encoder = new TextEncoder();
113
+ const parts = chunks.map((chunk) => (typeof chunk === "string" ? encoder.encode(chunk) : chunk));
114
+ const total = parts.reduce((sum, part) => sum + part.length, 0);
115
+ const merged = new Uint8Array(total);
116
+ let offset = 0;
117
+ for (const part of parts) {
118
+ merged.set(part, offset);
119
+ offset += part.length;
120
+ }
121
+ return merged;
122
+ }
123
+ /** Adapt a fetch `Response` into a Node `IncomingMessage`-like readable stream. */
124
+ function toIncomingMessage(response) {
125
+ // The DOM `ReadableStream` (fetch's `body`) and the `node:stream/web` one that
126
+ // `Readable.fromWeb` is typed against are structurally the same at runtime; cast
127
+ // across the two lib definitions.
128
+ const webStream = response.body;
129
+ const body = response.body ? Readable.fromWeb(webStream) : Readable.from([]);
130
+ const incoming = body;
131
+ incoming.statusCode = response.status;
132
+ incoming.statusMessage = response.statusText;
133
+ incoming.headers = Object.fromEntries(response.headers);
134
+ return incoming;
135
+ }
136
+ /**
137
+ * A `ClientRequest`-like writable. Body chunks are buffered by `write`; `end`
138
+ * dispatches ONE gated `fetch` and, once it resolves, emits `'response'` with the
139
+ * adapted readable (and invokes the request callback). A gate refusal or transport
140
+ * failure surfaces as an `'error'` event.
141
+ */
142
+ class ClientRequestShim extends EventEmitter {
143
+ target;
144
+ method;
145
+ fetchImpl;
146
+ chunks = [];
147
+ controller = new AbortController();
148
+ headers;
149
+ sent = false;
150
+ destroyed = false;
151
+ timeoutMs;
152
+ constructor(target, method, headers, fetchImpl, callback) {
153
+ super();
154
+ this.target = target;
155
+ this.method = method;
156
+ this.fetchImpl = fetchImpl;
157
+ this.headers = { ...headers };
158
+ if (callback)
159
+ this.once("response", callback);
160
+ }
161
+ setHeader(name, value) {
162
+ this.headers[name] = Array.isArray(value) ? value.map(String).join(", ") : String(value);
163
+ return this;
164
+ }
165
+ getHeader(name) {
166
+ return this.headers[name];
167
+ }
168
+ removeHeader(name) {
169
+ delete this.headers[name];
170
+ }
171
+ setTimeout(ms, callback) {
172
+ this.timeoutMs = ms;
173
+ if (callback)
174
+ this.once("timeout", callback);
175
+ return this;
176
+ }
177
+ write(chunk, encoding, callback) {
178
+ if (chunk != null)
179
+ this.chunks.push(chunk);
180
+ const done = typeof encoding === "function" ? encoding : callback;
181
+ done?.();
182
+ return true;
183
+ }
184
+ end(chunk, encoding, callback) {
185
+ let done = callback;
186
+ if (typeof chunk === "function") {
187
+ done = chunk;
188
+ chunk = undefined;
189
+ }
190
+ else if (typeof encoding === "function") {
191
+ done = encoding;
192
+ }
193
+ if (chunk != null)
194
+ this.chunks.push(chunk);
195
+ this.send();
196
+ done?.();
197
+ return this;
198
+ }
199
+ destroy(error) {
200
+ if (this.destroyed)
201
+ return this;
202
+ this.destroyed = true;
203
+ this.controller.abort();
204
+ if (error)
205
+ this.emit("error", error);
206
+ return this;
207
+ }
208
+ abort() {
209
+ this.destroy();
210
+ }
211
+ send() {
212
+ if (this.sent)
213
+ return;
214
+ this.sent = true;
215
+ const body = buildBody(this.chunks);
216
+ const init = { method: this.method, headers: this.headers, signal: this.controller.signal };
217
+ // A Uint8Array is a valid runtime `BodyInit`; cast past the narrower DOM type.
218
+ if (body != null && this.method !== "GET" && this.method !== "HEAD")
219
+ init.body = body;
220
+ let timer;
221
+ if (this.timeoutMs != null) {
222
+ timer = setTimeout(() => this.emit("timeout"), this.timeoutMs);
223
+ timer.unref?.();
224
+ }
225
+ Promise.resolve()
226
+ .then(() => this.fetchImpl(this.target, init))
227
+ .then((response) => {
228
+ if (timer)
229
+ clearTimeout(timer);
230
+ this.emit("response", toIncomingMessage(response));
231
+ })
232
+ .catch((error) => {
233
+ if (timer)
234
+ clearTimeout(timer);
235
+ if (!this.destroyed)
236
+ this.emit("error", error);
237
+ });
238
+ }
239
+ }
240
+ /**
241
+ * Build the `{ http, https }` module pair, each backed by the given gated `fetch`.
242
+ * `http` and `https` differ only in the default protocol applied when a request is
243
+ * described by an options object rather than a full URL.
244
+ */
245
+ export function createNodeHttpShims(fetchImpl) {
246
+ const makeModule = (defaultProtocol) => {
247
+ const request = (...args) => {
248
+ const { url, method, headers, callback } = normalizeArgs(defaultProtocol, args);
249
+ return new ClientRequestShim(url, method, headers, fetchImpl, callback);
250
+ };
251
+ const get = (...args) => {
252
+ const req = request(...args);
253
+ req.end();
254
+ return req;
255
+ };
256
+ const Agent = class extends AgentShim {
257
+ constructor(_options) {
258
+ super();
259
+ warnAgentIgnored();
260
+ }
261
+ };
262
+ return { request, get, Agent, globalAgent: new AgentShim() };
263
+ };
264
+ return { http: makeModule("http:"), https: makeModule("https:") };
265
+ }
266
+ //# sourceMappingURL=nodeHttpShim.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodeHttpShim.js","sourceRoot":"","sources":["../../../src/lib/tooling/nodeHttpShim.ts"],"names":[],"mappings":"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"}
@@ -11,10 +11,18 @@
11
11
  // - a well-known global the sandbox does NOT endow (`process`, `Buffer`,
12
12
  // `setInterval`, `SharedArrayBuffer`, `WebAssembly`, DOM globals, …) — so an
13
13
  // author who reaches for one is warned here instead of crashing at runtime;
14
- // - importing a Node built-in (`fs`, `crypto`, `node:*`, …) — use `fetch` or an npm package;
14
+ // - importing a Node built-in (`fs`, `crypto`, `node:*`, …) — use `fetch` or an npm
15
+ // package. The sole exception is `http`/`https`: the runtime resolves those to a
16
+ // gated shim (the same allowlist-gated `fetch`, no raw socket), so they are allowed;
15
17
  // - `eval` / `new Function`.
16
18
  import { readFile } from "node:fs/promises";
17
19
  import ts from "typescript";
20
+ /**
21
+ * Node built-in module ids the runtime DOES provide — as a gated `fetch` shim, not
22
+ * the real module (nodeHttpShim.ts). Allowed through the import check below; the
23
+ * `node:`-prefixed aliases are listed so either spelling passes.
24
+ */
25
+ const HOST_PROVIDED_MODULES = new Set(["http", "https", "node:http", "node:https"]);
18
26
  /** Node core modules an extension may not import; `node:`-prefixed ids are also rejected. */
19
27
  const NODE_BUILTINS = new Set([
20
28
  "assert", "async_hooks", "buffer", "child_process", "cluster", "console",
@@ -75,8 +83,11 @@ const UNAVAILABLE_GLOBALS = new Map([
75
83
  ["XMLHttpRequest", "not available; use the global `fetch`"],
76
84
  ["WebSocket", "not available; only outbound `fetch` egress is provided"],
77
85
  ]);
78
- /** Is `spec` a Node built-in module (or a `node:`-prefixed import)? */
86
+ /** Is `spec` a Node built-in module (or a `node:`-prefixed import) the runtime does
87
+ * NOT provide? `http`/`https` are excluded — the runtime maps them to a gated shim. */
79
88
  function isBuiltinSpecifier(spec) {
89
+ if (HOST_PROVIDED_MODULES.has(spec))
90
+ return false;
80
91
  if (spec.startsWith("node:"))
81
92
  return true;
82
93
  return NODE_BUILTINS.has(spec);
@@ -1 +1 @@
1
- {"version":3,"file":"staticAnalysis.js","sourceRoot":"","sources":["../../../src/lib/tooling/staticAnalysis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"staticAnalysis.js","sourceRoot":"","sources":["../../../src/lib/tooling/staticAnalysis.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@commercetools/cli-topic-integration-layer",
3
- "version": "0.9.0",
3
+ "version": "0.10.1",
4
4
  "description": "commercetools CLI plugin: integration-layer topic",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -37,7 +37,7 @@
37
37
  "@oclif/test": "^4.1.12",
38
38
  "@types/node": "^22.10.2",
39
39
  "rimraf": "^6.0.1",
40
- "vitest": "^4.1.8"
40
+ "vitest": "^4.1.11"
41
41
  },
42
42
  "oclif": {
43
43
  "topicSeparator": " ",