@commercetools/cli-topic-integration-layer 0.6.0 → 0.8.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.
Files changed (78) hide show
  1. package/README.md +1 -1
  2. package/dist/commands/integration-layer/allowlist/add.js +3 -3
  3. package/dist/commands/integration-layer/allowlist/add.js.map +1 -1
  4. package/dist/commands/integration-layer/allowlist/list.js +2 -2
  5. package/dist/commands/integration-layer/allowlist/list.js.map +1 -1
  6. package/dist/commands/integration-layer/allowlist/remove.js +3 -3
  7. package/dist/commands/integration-layer/allowlist/remove.js.map +1 -1
  8. package/dist/commands/integration-layer/allowlist/set.js +3 -3
  9. package/dist/commands/integration-layer/allowlist/set.js.map +1 -1
  10. package/dist/commands/integration-layer/config/get.js +2 -2
  11. package/dist/commands/integration-layer/config/get.js.map +1 -1
  12. package/dist/commands/integration-layer/config/list.js +2 -2
  13. package/dist/commands/integration-layer/config/list.js.map +1 -1
  14. package/dist/commands/integration-layer/config/set.js +2 -2
  15. package/dist/commands/integration-layer/config/set.js.map +1 -1
  16. package/dist/commands/integration-layer/config/unset.js +2 -2
  17. package/dist/commands/integration-layer/config/unset.js.map +1 -1
  18. package/dist/commands/integration-layer/explore.js +5 -5
  19. package/dist/commands/integration-layer/explore.js.map +1 -1
  20. package/dist/commands/integration-layer/extension/build.js +4 -1
  21. package/dist/commands/integration-layer/extension/build.js.map +1 -1
  22. package/dist/commands/integration-layer/extension/create-api-extension-input.d.ts +12 -0
  23. package/dist/commands/integration-layer/extension/create-api-extension-input.js +49 -0
  24. package/dist/commands/integration-layer/extension/create-api-extension-input.js.map +1 -0
  25. package/dist/commands/integration-layer/extension/delete.js +2 -2
  26. package/dist/commands/integration-layer/extension/delete.js.map +1 -1
  27. package/dist/commands/integration-layer/extension/invoke-api-extension.d.ts +19 -0
  28. package/dist/commands/integration-layer/extension/invoke-api-extension.js +140 -0
  29. package/dist/commands/integration-layer/extension/invoke-api-extension.js.map +1 -0
  30. package/dist/commands/integration-layer/extension/push.js +8 -5
  31. package/dist/commands/integration-layer/extension/push.js.map +1 -1
  32. package/dist/commands/integration-layer/extension/serve.d.ts +29 -0
  33. package/dist/commands/integration-layer/extension/serve.js +81 -30
  34. package/dist/commands/integration-layer/extension/serve.js.map +1 -1
  35. package/dist/commands/integration-layer/extension/status.js +2 -2
  36. package/dist/commands/integration-layer/extension/status.js.map +1 -1
  37. package/dist/commands/integration-layer/extension/validate.js +6 -3
  38. package/dist/commands/integration-layer/extension/validate.js.map +1 -1
  39. package/dist/commands/integration-layer/init.js +56 -8
  40. package/dist/commands/integration-layer/init.js.map +1 -1
  41. package/dist/commands/integration-layer/schema/fetch.js +2 -2
  42. package/dist/commands/integration-layer/schema/fetch.js.map +1 -1
  43. package/dist/hooks/authentication.d.ts +3 -0
  44. package/dist/hooks/authentication.js +33 -0
  45. package/dist/hooks/authentication.js.map +1 -0
  46. package/dist/lib/auth.d.ts +5 -0
  47. package/dist/lib/auth.js +41 -0
  48. package/dist/lib/auth.js.map +1 -0
  49. package/dist/lib/awaitBundleState.d.ts +2 -2
  50. package/dist/lib/awaitBundleState.js +2 -2
  51. package/dist/lib/awaitBundleState.js.map +1 -1
  52. package/dist/lib/base.d.ts +12 -21
  53. package/dist/lib/base.js +27 -76
  54. package/dist/lib/base.js.map +1 -1
  55. package/dist/lib/extensionConfig.d.ts +17 -0
  56. package/dist/lib/extensionConfig.js +36 -0
  57. package/dist/lib/extensionConfig.js.map +1 -0
  58. package/dist/lib/ilClient.d.ts +16 -10
  59. package/dist/lib/ilClient.js +28 -31
  60. package/dist/lib/ilClient.js.map +1 -1
  61. package/dist/lib/loadLocalEnv.d.ts +49 -0
  62. package/dist/lib/loadLocalEnv.js +112 -0
  63. package/dist/lib/loadLocalEnv.js.map +1 -0
  64. package/dist/lib/tooling/compose.js +2 -2
  65. package/dist/lib/tooling/compose.js.map +1 -1
  66. package/dist/lib/tooling/extensionInputSampleObj.d.ts +8 -0
  67. package/dist/lib/tooling/extensionInputSampleObj.js +178 -0
  68. package/dist/lib/tooling/extensionInputSampleObj.js.map +1 -0
  69. package/dist/lib/tooling/extensions.d.ts +22 -5
  70. package/dist/lib/tooling/extensions.js +30 -8
  71. package/dist/lib/tooling/extensions.js.map +1 -1
  72. package/dist/lib/tooling/generateExtensionInputSample.d.ts +22 -0
  73. package/dist/lib/tooling/generateExtensionInputSample.js +36 -0
  74. package/dist/lib/tooling/generateExtensionInputSample.js.map +1 -0
  75. package/package.json +6 -3
  76. package/dist/commands/integration-layer/extension/invoke.d.ts +0 -14
  77. package/dist/commands/integration-layer/extension/invoke.js +0 -94
  78. package/dist/commands/integration-layer/extension/invoke.js.map +0 -1
@@ -34,7 +34,10 @@ export default class ExtensionPush extends IntegrationLayerCommand {
34
34
  "<%= config.bin %> integration-layer extension push --no-source-revision",
35
35
  ];
36
36
  static flags = {
37
- entry: Flags.string({ description: "extension entry source file", default: defaultEntry() }),
37
+ entry: Flags.string({
38
+ description: "extension entry source file (with --all: the per-package source segment applied under each ./extensions/*)",
39
+ default: defaultEntry(),
40
+ }),
38
41
  out: Flags.string({ description: "bundle output file", default: defaultOutfile() }),
39
42
  all: Flags.boolean({
40
43
  description: "merge every extension under ./extensions/* into ONE combined bundle and push that single artifact (the deployed shape)",
@@ -159,12 +162,12 @@ export default class ExtensionPush extends IntegrationLayerCommand {
159
162
  this.error(err.message);
160
163
  throw err;
161
164
  }
162
- const { baseUrl, projectKey, token } = await this.resolveIlContext(flags);
165
+ const { baseUrl, projectKey, authFetch } = await this.resolveIlContext(flags);
163
166
  // Remote check composes the GraphQL subgraph WITH the Commerce Integration Layer + checks
164
167
  // for breaking changes. Only applies when the bundle has a subgraph — an
165
168
  // API-extensions-only bundle has no SDL, so skip straight to the upload.
166
169
  if (typeDefs !== null) {
167
- const remote = await remoteValidate(baseUrl, projectKey, token, typeDefs);
170
+ const remote = await remoteValidate(baseUrl, projectKey, authFetch, typeDefs);
168
171
  const valid = this.reportRemote(remote);
169
172
  if (!valid) {
170
173
  if (!flags.force) {
@@ -193,7 +196,7 @@ export default class ExtensionPush extends IntegrationLayerCommand {
193
196
  }
194
197
  const url = `${baseUrl}/${encodeURIComponent(projectKey)}/extension/bundle`;
195
198
  this.log(`Pushing extension bundle (${bundle.length} bytes) → ${url}`);
196
- const meta = await pushBundle(baseUrl, projectKey, token, bundle, filename, sourceRevision);
199
+ const meta = await pushBundle(baseUrl, projectKey, authFetch, bundle, filename, sourceRevision);
197
200
  this.log(`✓ stored revision ${meta.version} (${meta.length} bytes, filename ${meta.filename ?? filename})`);
198
201
  if (meta.sourceRevision) {
199
202
  this.log(` built from ${meta.sourceRevision}`);
@@ -205,7 +208,7 @@ export default class ExtensionPush extends IntegrationLayerCommand {
205
208
  // version and say so, and fail the command if it couldn't — otherwise a bundle
206
209
  // the sandbox refuses to run exits 0 and looks like a successful push.
207
210
  this.log(`Waiting for the extension to load version ${meta.version}…`);
208
- const outcome = await awaitBundleState(baseUrl, projectKey, token, meta.version, {
211
+ const outcome = await awaitBundleState(baseUrl, projectKey, authFetch, meta.version, {
209
212
  timeoutMs: flags["wait-timeout"] * 1000,
210
213
  intervalMs: POLL_INTERVAL_MS,
211
214
  });
@@ -1 +1 @@
1
- {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/extension/push.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/extension/push.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,37 @@ export default class ExtensionServe extends IntegrationLayerCommand {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  protected authorized: boolean;
6
+ /**
7
+ * `EXTENSION_CONFIG_*` taken from the REAL shell, captured in {@link init} before the
8
+ * base class loads any `.env` into `process.env`. Kept separate so a hot-reload can
9
+ * preserve "shell wins over file" — the same precedence as Node's `loadEnvFile` and
10
+ * the rest of the toolchain — instead of letting an edited file shadow an explicit
11
+ * `EXTENSION_CONFIG_… pnpm dev`.
12
+ */
13
+ private shellExtensionConfig;
14
+ /**
15
+ * The live `ctx.config` the running server hands resolvers. Recomputed on every
16
+ * `.env` change; the yoga context factories read it fresh per request, so a reload
17
+ * applies with no restart.
18
+ */
19
+ private currentExtensionConfig;
20
+ /** Stops watching the `.env` file on shutdown. */
21
+ private envWatcherClose?;
22
+ protected init(): Promise<void>;
23
+ /**
24
+ * Merge the current `.env` (file) config under the shell config (shell wins) into
25
+ * {@link currentExtensionConfig}. Called once at startup and again on each file change.
26
+ */
27
+ private refreshExtensionConfig;
28
+ /**
29
+ * Wire up local `ctx.config`: compute it from the shell + the resolved `.env`, then
30
+ * watch that file and hot-reload on change. Shared by both single and `--all` serve.
31
+ * Returns the startup log line describing what's being watched (if anything).
32
+ */
33
+ private startExtensionConfig;
6
34
  static flags: {
7
35
  port: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
36
+ entry: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
8
37
  compose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
38
  gateway: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
39
  all: import("@oclif/core/interfaces").BooleanFlag<boolean>;
@@ -24,28 +24,21 @@ import { context as esbuildContext } from "esbuild";
24
24
  import { defaultEntry, defaultOutfile, HOST_PROVIDED_EXTERNALS } from "../../../lib/tooling/build.js";
25
25
  import { loadBundleSource } from "../../../lib/tooling/loadBundle.js";
26
26
  import { composeWithIntegrationLayer } from "../../../lib/tooling/compose.js";
27
- import { discoverExtensions, mergeExtensionSubgraph } from "../../../lib/tooling/extensions.js";
27
+ import { discoverExtensions, entrySegmentFor, mergeExtensionSubgraph, } from "../../../lib/tooling/extensions.js";
28
28
  import { makeGateway, mintAnonymousSession } from "../../../lib/tooling/gateway.js";
29
29
  import { fetchSubgraphSdl, getAllowlist } from "../../../lib/ilClient.js";
30
30
  import { IntegrationLayerCommand, authEdgeUrlForRegion, } from "../../../lib/base.js";
31
31
  import { createSandboxFetch, installDelegatingFetch, wrapResolverMap, } from "../../../lib/tooling/sandboxFetch.js";
32
+ import { extensionConfigFromEnv } from "../../../lib/extensionConfig.js";
33
+ import { parseEnvFile, resolveEnvFileLocation, watchEnvFile, } from "../../../lib/loadLocalEnv.js";
32
34
  /**
33
- * Per-project config the runtime injects as `ctx.config`. Locally there is no
34
- * Commerce Integration Layer to read it from, so it's sourced from `EXTENSION_CONFIG_<KEY>`
35
- * env vars — e.g. `EXTENSION_CONFIG_ALGOLIA_API_KEY=…` becomes `ctx.config.ALGOLIA_API_KEY`.
35
+ * Local stand-in for the runtime's per-call context. `config` is the caller's current
36
+ * `ctx.config` snapshot — sourced from `EXTENSION_CONFIG_*` in the environment and any
37
+ * `.env` / `--env-file`, and hot-reloaded on file change (see `refreshExtensionConfig`).
38
+ * There is no Commerce Integration Layer to read the project's stored config from.
36
39
  */
37
- function devConfigFromEnv() {
38
- const prefix = "EXTENSION_CONFIG_";
39
- const config = {};
40
- for (const [key, value] of Object.entries(process.env)) {
41
- if (key.startsWith(prefix) && typeof value === "string") {
42
- config[key.slice(prefix.length)] = value;
43
- }
44
- }
45
- return config;
46
- }
47
- function devContext() {
48
- return { now: () => Date.now(), config: devConfigFromEnv() };
40
+ function devContext(config) {
41
+ return { now: () => Date.now(), config };
49
42
  }
50
43
  /**
51
44
  * Build a federation subgraph schema from the loaded bundle, the same way the runtime
@@ -78,8 +71,58 @@ export default class ExtensionServe extends IntegrationLayerCommand {
78
71
  // (and then require a logged-in principal) only when they actually reach the IL.
79
72
  // The HTTP allowlist is fetched best-effort when logged in and online.
80
73
  authorized = false;
74
+ /**
75
+ * `EXTENSION_CONFIG_*` taken from the REAL shell, captured in {@link init} before the
76
+ * base class loads any `.env` into `process.env`. Kept separate so a hot-reload can
77
+ * preserve "shell wins over file" — the same precedence as Node's `loadEnvFile` and
78
+ * the rest of the toolchain — instead of letting an edited file shadow an explicit
79
+ * `EXTENSION_CONFIG_… pnpm dev`.
80
+ */
81
+ shellExtensionConfig = {};
82
+ /**
83
+ * The live `ctx.config` the running server hands resolvers. Recomputed on every
84
+ * `.env` change; the yoga context factories read it fresh per request, so a reload
85
+ * applies with no restart.
86
+ */
87
+ currentExtensionConfig = {};
88
+ /** Stops watching the `.env` file on shutdown. */
89
+ envWatcherClose;
90
+ async init() {
91
+ // Snapshot the shell's EXTENSION_CONFIG_* BEFORE super.init() (which loads the
92
+ // `.env` into process.env), so the hot-reload merge below can keep shell precedence.
93
+ this.shellExtensionConfig = extensionConfigFromEnv({ ...process.env });
94
+ await super.init();
95
+ }
96
+ /**
97
+ * Merge the current `.env` (file) config under the shell config (shell wins) into
98
+ * {@link currentExtensionConfig}. Called once at startup and again on each file change.
99
+ */
100
+ refreshExtensionConfig(location) {
101
+ const fileConfig = extensionConfigFromEnv(parseEnvFile(location.path));
102
+ this.currentExtensionConfig = { ...fileConfig, ...this.shellExtensionConfig };
103
+ }
104
+ /**
105
+ * Wire up local `ctx.config`: compute it from the shell + the resolved `.env`, then
106
+ * watch that file and hot-reload on change. Shared by both single and `--all` serve.
107
+ * Returns the startup log line describing what's being watched (if anything).
108
+ */
109
+ startExtensionConfig() {
110
+ const location = resolveEnvFileLocation();
111
+ this.refreshExtensionConfig(location);
112
+ this.envWatcherClose = watchEnvFile(location.path, () => {
113
+ this.refreshExtensionConfig(location);
114
+ const keys = Object.keys(this.currentExtensionConfig);
115
+ this.log(`↻ reloaded ${location.path} — ctx.config now has ${keys.length} key(s)` +
116
+ (keys.length ? `: ${keys.join(", ")}` : ""));
117
+ });
118
+ return ` watching ${location.path} — edit EXTENSION_CONFIG_* to hot-reload ctx.config`;
119
+ }
81
120
  static flags = {
82
121
  port: Flags.integer({ char: "p", description: "port to listen on", default: 4000 }),
122
+ entry: Flags.string({
123
+ description: "extension entry source file (with --all: the per-package source segment applied under each ./extensions/*)",
124
+ default: defaultEntry(),
125
+ }),
83
126
  compose: Flags.boolean({
84
127
  description: "also serve the merged (extension + Commerce Integration Layer) schema at /composed",
85
128
  default: false,
@@ -130,7 +173,7 @@ export default class ExtensionServe extends IntegrationLayerCommand {
130
173
  }
131
174
  }
132
175
  try {
133
- const { allow } = await getAllowlist(ilContext.baseUrl, ilContext.projectKey, ilContext.token);
176
+ const { allow } = await getAllowlist(ilContext.baseUrl, ilContext.projectKey, ilContext.authFetch);
134
177
  if (allow.length === 0) {
135
178
  this.log(`⚠ extension HTTP allowlist for '${ilContext.projectKey}' is empty — resolver fetch can reach only localhost until hosts are added (commercetools integration-layer allowlist add …)`);
136
179
  }
@@ -157,13 +200,16 @@ export default class ExtensionServe extends IntegrationLayerCommand {
157
200
  }
158
201
  async run() {
159
202
  const { flags } = await this.parse(ExtensionServe);
203
+ // Compute + start watching local ctx.config before either serve path builds its
204
+ // server, so the first request already sees it and later edits hot-reload.
205
+ const envWatchLine = this.startExtensionConfig();
160
206
  if (flags.all) {
161
- await this.runAll(flags);
207
+ await this.runAll(flags, envWatchLine);
162
208
  return;
163
209
  }
164
210
  const sandboxFetch = await this.trySandboxFetch(flags);
165
211
  const restoreFetch = sandboxFetch ? installDelegatingFetch() : undefined;
166
- const entry = defaultEntry();
212
+ const entry = flags.entry;
167
213
  const outfile = defaultOutfile();
168
214
  const port = flags.port;
169
215
  // In gateway mode /graphql is the gateway, so the raw extension subgraph moves to
@@ -177,14 +223,14 @@ export default class ExtensionServe extends IntegrationLayerCommand {
177
223
  let integrationLayerGraphqlUrl = "";
178
224
  let integrationLayerBearer;
179
225
  if (withIntegrationLayer) {
180
- const { baseUrl, projectKey, token } = await this.resolveIlContext(flags);
226
+ const { baseUrl, projectKey, authFetch } = await this.resolveIlContext(flags);
181
227
  // /subgraph is on the extensions edge (baseUrl); the core-subgraph /graphql the
182
228
  // gateway routes to and the /session it mints are on the identity edge, reached via
183
229
  // the identity/auth edge — a different host in the deployed split (see resolveAuthEdge).
184
230
  const authUrl = this.resolveAuthEdge(flags);
185
231
  integrationLayerGraphqlUrl = `${authUrl}/${encodeURIComponent(projectKey)}/graphql`;
186
232
  this.log(`Fetching integration-layer subgraph SDL for '${projectKey}' from ${baseUrl} …`);
187
- integrationLayerSdl = await fetchSubgraphSdl(baseUrl, projectKey, token);
233
+ integrationLayerSdl = await fetchSubgraphSdl(baseUrl, projectKey, authFetch);
188
234
  if (flags.gateway) {
189
235
  integrationLayerBearer = await mintAnonymousSession(authUrl, projectKey);
190
236
  this.log("Minted an anonymous session for the gateway.");
@@ -263,7 +309,7 @@ export default class ExtensionServe extends IntegrationLayerCommand {
263
309
  // /_extension when the gateway owns /graphql.
264
310
  const subgraphYoga = createYoga({
265
311
  schema: () => subgraphSchema,
266
- context: () => devContext(),
312
+ context: () => devContext(this.currentExtensionConfig),
267
313
  graphqlEndpoint: subgraphPath,
268
314
  landingPage: false,
269
315
  maskedErrors: false,
@@ -324,10 +370,12 @@ export default class ExtensionServe extends IntegrationLayerCommand {
324
370
  lines.push(` ${base}/schema.graphql, ${base}/supergraph.graphql — SDL (text)`);
325
371
  }
326
372
  lines.push(` open ${base}/graphql in a browser for GraphiQL`);
327
- lines.push(` watching ${entry} — edit and save to hot-reload\n`);
373
+ lines.push(` watching ${entry} — edit and save to hot-reload`);
374
+ lines.push(`${envWatchLine}\n`);
328
375
  this.log(lines.join("\n"));
329
376
  const shutdown = () => {
330
377
  restoreFetch?.();
378
+ this.envWatcherClose?.();
331
379
  void ctx.dispose();
332
380
  server.close(() => process.exit(0));
333
381
  };
@@ -345,26 +393,27 @@ export default class ExtensionServe extends IntegrationLayerCommand {
345
393
  * `commercetools auth login`. Watches every extension and hot-reloads: any edit
346
394
  * re-merges the combined subgraph, and a schema change recomposes + rebuilds the gateway.
347
395
  */
348
- async runAll(flags) {
396
+ async runAll(flags, envWatchLine) {
349
397
  const port = flags.port;
350
398
  const root = process.cwd();
351
- const extensions = await discoverExtensions(root, flags["extensions-dir"]);
399
+ const entrySegment = entrySegmentFor(root, flags.entry);
400
+ const extensions = await discoverExtensions(root, flags["extensions-dir"], entrySegment);
352
401
  if (extensions.length === 0) {
353
- this.error(`no extensions found under ./${flags["extensions-dir"]}/*/src/extension.ts — run --all from the monorepo root`);
402
+ this.error(`no extensions found under ./${flags["extensions-dir"]}/*/${entrySegment} — run --all from the monorepo root`);
354
403
  }
355
404
  const ilContext = await this.resolveIlContext(flags);
356
405
  const sandboxFetch = await this.trySandboxFetch(flags, ilContext);
357
406
  const restoreFetch = sandboxFetch ? installDelegatingFetch() : undefined;
358
407
  // Reach the Commerce Integration Layer exactly like --gateway: its core-subgraph SDL is the
359
408
  // compose baseline, and an anonymous session authenticates the gateway's calls.
360
- const { baseUrl, projectKey, token } = ilContext;
409
+ const { baseUrl, projectKey, authFetch } = ilContext;
361
410
  // /subgraph is on the extensions edge (baseUrl); the core-subgraph /graphql the gateway
362
411
  // routes to and the /session it mints are on the identity edge, reached via the
363
412
  // identity/auth edge — a different host in the deployed split (see resolveAuthEdge).
364
413
  const authUrl = this.resolveAuthEdge(flags);
365
414
  const integrationLayerGraphqlUrl = `${authUrl}/${encodeURIComponent(projectKey)}/graphql`;
366
415
  this.log(`Fetching integration-layer subgraph SDL for '${projectKey}' from ${baseUrl} …`);
367
- const integrationLayerSdl = await fetchSubgraphSdl(baseUrl, projectKey, token);
416
+ const integrationLayerSdl = await fetchSubgraphSdl(baseUrl, projectKey, authFetch);
368
417
  const integrationLayerBearer = await mintAnonymousSession(authUrl, projectKey);
369
418
  this.log("Minted an anonymous session for the gateway.");
370
419
  // The single combined-extensions subgraph endpoint — the gateway's one data source
@@ -466,7 +515,7 @@ export default class ExtensionServe extends IntegrationLayerCommand {
466
515
  // hot-reload applies with no restart.
467
516
  const subgraphYoga = createYoga({
468
517
  schema: () => combinedSchema,
469
- context: () => devContext(),
518
+ context: () => devContext(this.currentExtensionConfig),
470
519
  graphqlEndpoint: "/_extension",
471
520
  landingPage: false,
472
521
  maskedErrors: false,
@@ -521,10 +570,12 @@ export default class ExtensionServe extends IntegrationLayerCommand {
521
570
  lines.push(` ${base}/composed — full merged schema (browsable; not executable)`);
522
571
  lines.push(` ${base}/schema.graphql, ${base}/supergraph.graphql — SDL (text)`);
523
572
  lines.push(` open ${base}/graphql in a browser for GraphiQL`);
524
- lines.push(` watching ${extensions.length} extension(s) — edit and save to hot-reload\n`);
573
+ lines.push(` watching ${extensions.length} extension(s) — edit and save to hot-reload`);
574
+ lines.push(`${envWatchLine}\n`);
525
575
  this.log(lines.join("\n"));
526
576
  const shutdown = () => {
527
577
  restoreFetch?.();
578
+ this.envWatcherClose?.();
528
579
  for (const ctx of contexts)
529
580
  void ctx.dispose();
530
581
  server.close(() => process.exit(0));
@@ -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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"}
@@ -5,8 +5,8 @@ export default class ExtensionStatus extends IntegrationLayerCommand {
5
5
  static examples = ["<%= config.bin %> integration-layer extension status"];
6
6
  async run() {
7
7
  const { flags } = await this.parse(ExtensionStatus);
8
- const { baseUrl, projectKey, token } = await this.resolveIlContext(flags);
9
- const meta = await fetchExtensionMeta(baseUrl, projectKey, token);
8
+ const { baseUrl, projectKey, authFetch } = await this.resolveIlContext(flags);
9
+ const meta = await fetchExtensionMeta(baseUrl, projectKey, authFetch);
10
10
  if (!meta) {
11
11
  this.log(`No extension bundle is stored for '${projectKey}'.`);
12
12
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/extension/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,uBAAuB;IAClE,MAAM,CAAU,WAAW,GAAG,+DAA+D,CAAC;IAE9F,MAAM,CAAU,QAAQ,GAAG,CAAC,sDAAsD,CAAC,CAAC;IAEpF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACpD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC1E,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,GAAG,CAAC,sCAAsC,UAAU,IAAI,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,yBAAyB,UAAU,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,MAAM,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAChE,gFAAgF;QAChF,8EAA8E;QAC9E,IAAI,IAAI,CAAC,cAAc;YAAE,IAAI,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IAC5E,CAAC"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/extension/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,uBAAuB;IAClE,MAAM,CAAU,WAAW,GAAG,+DAA+D,CAAC;IAE9F,MAAM,CAAU,QAAQ,GAAG,CAAC,sDAAsD,CAAC,CAAC;IAEpF,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;QAC9E,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,GAAG,CAAC,sCAAsC,UAAU,IAAI,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,yBAAyB,UAAU,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,MAAM,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAChE,gFAAgF;QAChF,8EAA8E;QAC9E,IAAI,IAAI,CAAC,cAAc;YAAE,IAAI,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IAC5E,CAAC"}
@@ -12,7 +12,10 @@ export default class ExtensionValidate extends IntegrationLayerCommand {
12
12
  "<%= config.bin %> integration-layer extension validate --all",
13
13
  ];
14
14
  static flags = {
15
- entry: Flags.string({ description: "extension entry source file", default: defaultEntry() }),
15
+ entry: Flags.string({
16
+ description: "extension entry source file (with --all: the per-package source segment applied under each ./extensions/*)",
17
+ default: defaultEntry(),
18
+ }),
16
19
  out: Flags.string({ description: "bundle output file", default: defaultOutfile() }),
17
20
  all: Flags.boolean({
18
21
  description: "validate every extension under ./extensions/* merged into ONE combined bundle (the single deployed artifact)",
@@ -89,8 +92,8 @@ export default class ExtensionValidate extends IntegrationLayerCommand {
89
92
  this.log("· no GraphQL subgraph in this bundle — nothing to compose remotely.");
90
93
  return;
91
94
  }
92
- const { baseUrl, projectKey, token } = await this.resolveIlContext(flags);
93
- const result = await remoteValidate(baseUrl, projectKey, token, typeDefs);
95
+ const { baseUrl, projectKey, authFetch } = await this.resolveIlContext(flags);
96
+ const result = await remoteValidate(baseUrl, projectKey, authFetch, typeDefs);
94
97
  if (!this.reportRemote(result))
95
98
  this.error("remote validation failed.");
96
99
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/extension/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/extension/validate.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,10 @@ import { basename, join, resolve } from "node:path";
3
3
  import { Args, Command, Flags } from "@oclif/core";
4
4
  // `init` scaffolds a MONOREPO you own and grow — a pnpm workspace whose members are
5
5
  // individual extensions (`extensions/*`), seeded with one buildable hello-world
6
- // extension that extends `Query`. The build/validate/push flow itself lives in this
7
- // published CLI plugin, not in the scaffold, so an extension package stays tiny (just
8
- // `src/extension.ts` + a thin package.json/tsconfig). Everything is vendored inline —
6
+ // extension that extends `Query` and a colocated Vitest test that exercises its
7
+ // resolver. The build/validate/push flow itself lives in this published CLI plugin,
8
+ // not in the scaffold, so an extension package stays tiny (just `src/extension.ts` +
9
+ // its `*.test.ts` + a thin package.json/tsconfig). Everything is vendored inline —
9
10
  // no network fetch — and kept dependency-light so the extension commands work on it
10
11
  // out of the box. The `basic` template is the only one today.
11
12
  /** Derive a valid npm package name from the scaffold directory (fallback: a generic one). */
@@ -31,6 +32,7 @@ function templateFiles(projectName) {
31
32
  "build": "commercetools integration-layer extension build --all",
32
33
  "typecheck": "pnpm -r typecheck",
33
34
  "lint": "eslint .",
35
+ "test": "pnpm -r test",
34
36
  "dev": "commercetools integration-layer extension serve --all",
35
37
  "validate": "commercetools integration-layer extension validate --all",
36
38
  "push": "commercetools integration-layer extension push --all"
@@ -127,20 +129,26 @@ pnpm install
127
129
  # From the repo root — these operate on the ONE combined bundle:
128
130
  pnpm dev # serve the merged subgraph behind a local federated gateway with the
129
131
  # Commerce Integration Layer, at http://localhost:4000/graphql. Needs a login.
132
+ pnpm test # run every extension's unit tests (Vitest) — no login, no network
130
133
  pnpm validate # compose the combined bundle against your live schema (no upload)
131
134
  pnpm push # validate + upload it (replacing the Project's current bundle)
132
135
 
133
136
  # …or iterate on one extension in isolation (standalone subgraph, no login needed):
134
137
  pnpm --filter @extensions/hello-world dev
138
+ pnpm --filter @extensions/hello-world test
135
139
  \`\`\`
136
140
 
141
+ Resolvers, hooks, and API-extension handlers are plain functions, so you unit-test them
142
+ by calling them directly — see \`extensions/hello-world/src/extension.test.ts\` for the
143
+ pattern (a minimal fake for the host context, no gateway required).
144
+
137
145
  With \`pnpm dev\` running, \`/graphql\` is the gateway, \`/_extension\` the raw combined
138
146
  subgraph, and \`/composed\` the browsable merged schema.
139
147
 
140
148
  To add an extension, copy \`extensions/hello-world\`, rename it in its \`package.json\`,
141
- and edit its \`src/extension.ts\` — the root scripts discover it automatically. Two
142
- extensions can each add fields to \`Query\`; they only clash if they declare the *same*
143
- field.
149
+ and edit its \`src/extension.ts\` (and the colocated \`src/extension.test.ts\`) — the root
150
+ scripts discover it automatically. Two extensions can each add fields to \`Query\`; they
151
+ only clash if they declare the *same* field.
144
152
 
145
153
  Optionally copy \`.env.example\` to \`.env\` to override the Commerce Integration Layer edge URL.
146
154
 
@@ -161,11 +169,13 @@ Optionally copy \`.env.example\` to \`.env\` to override the Commerce Integratio
161
169
  "scripts": {
162
170
  "build": "commercetools integration-layer extension build",
163
171
  "dev": "commercetools integration-layer extension serve",
164
- "typecheck": "tsc --noEmit"
172
+ "typecheck": "tsc --noEmit",
173
+ "test": "vitest run"
165
174
  },
166
175
  "devDependencies": {
167
176
  "@types/node": "^22.20.1",
168
- "typescript": "~6.0.3"
177
+ "typescript": "~6.0.3",
178
+ "vitest": "^4.1.8"
169
179
  }
170
180
  }
171
181
  `,
@@ -223,6 +233,43 @@ export const resolvers = {
223
233
  },
224
234
  },
225
235
  };
236
+ `,
237
+ "extensions/hello-world/src/extension.test.ts": `/**
238
+ * A resolver is a plain function, so you test it by calling it directly — no gateway,
239
+ * no network, no login. \`pnpm test\` runs this (Vitest) both here and, from the repo
240
+ * root, across every extension. Copy this file alongside your own \`extension.ts\` and
241
+ * assert what your resolvers/hooks/API-extension handlers return.
242
+ *
243
+ * The restricted runtime hands each resolver a context (\`now()\` + the project's
244
+ * \`config\` map). Tests stand in a minimal fake for it — see \`ctx\` below.
245
+ */
246
+
247
+ import { describe, expect, it } from "vitest";
248
+ import { resolvers } from "./extension.js";
249
+
250
+ // A minimal stand-in for the host-provided ExtensionContext. Pass a \`config\` to
251
+ // exercise merchant-supplied settings (e.g. \`GREETING\`).
252
+ const ctx = (config: Record<string, string> = {}) => ({ now: () => Date.now(), config });
253
+
254
+ describe("hello-world extension", () => {
255
+ it("greets the world by default", () => {
256
+ expect(resolvers.Query.hello({}, {}, ctx())).toBe(
257
+ "Hello, world, from your integration-layer extension!",
258
+ );
259
+ });
260
+
261
+ it("greets a named visitor", () => {
262
+ expect(resolvers.Query.hello({}, { name: "Ada" }, ctx())).toBe(
263
+ "Hello, Ada, from your integration-layer extension!",
264
+ );
265
+ });
266
+
267
+ it("honours the GREETING config override set per project", () => {
268
+ expect(resolvers.Query.hello({}, { name: "Ada" }, ctx({ GREETING: "Hi" }))).toBe(
269
+ "Hi, Ada, from your integration-layer extension!",
270
+ );
271
+ });
272
+ });
226
273
  `,
227
274
  };
228
275
  }
@@ -271,6 +318,7 @@ export default class Init extends Command {
271
318
  if (dir !== ".")
272
319
  this.log(` cd ${dir}`);
273
320
  this.log(" pnpm install");
321
+ this.log(" pnpm test # run the hello-world extension's unit tests");
274
322
  this.log(" pnpm dev # run the hello-world extension locally");
275
323
  }
276
324
  }