@nifrajs/cli 2.9.1 → 2.11.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 (55) hide show
  1. package/README.md +2 -1
  2. package/dist/check.d.ts +9 -1
  3. package/dist/check.d.ts.map +1 -1
  4. package/dist/check.js +38 -6
  5. package/dist/check.js.map +1 -1
  6. package/dist/cli.d.ts +2 -18
  7. package/dist/cli.d.ts.map +1 -1
  8. package/dist/cli.js +129 -66
  9. package/dist/cli.js.map +1 -1
  10. package/dist/dev-bun-config.d.ts +17 -6
  11. package/dist/dev-bun-config.d.ts.map +1 -1
  12. package/dist/dev-bun-config.js +51 -14
  13. package/dist/dev-bun-config.js.map +1 -1
  14. package/dist/doctor.d.ts +10 -0
  15. package/dist/doctor.d.ts.map +1 -1
  16. package/dist/doctor.js +17 -1
  17. package/dist/doctor.js.map +1 -1
  18. package/dist/introspect.d.ts +26 -6
  19. package/dist/introspect.d.ts.map +1 -1
  20. package/dist/introspect.js +92 -2
  21. package/dist/introspect.js.map +1 -1
  22. package/dist/load.d.ts +4 -0
  23. package/dist/load.d.ts.map +1 -1
  24. package/dist/load.js +1 -0
  25. package/dist/load.js.map +1 -1
  26. package/dist/mcp-http.js +1 -1
  27. package/dist/mcp-http.js.map +1 -1
  28. package/dist/mcp.js +2 -2
  29. package/dist/mcp.js.map +1 -1
  30. package/dist/pipeline-guard.d.ts +25 -10
  31. package/dist/pipeline-guard.d.ts.map +1 -1
  32. package/dist/pipeline-guard.js +35 -15
  33. package/dist/pipeline-guard.js.map +1 -1
  34. package/dist/pipeline-report.d.ts +34 -0
  35. package/dist/pipeline-report.d.ts.map +1 -0
  36. package/dist/pipeline-report.js +282 -0
  37. package/dist/pipeline-report.js.map +1 -0
  38. package/dist/sdk.d.ts +10 -0
  39. package/dist/sdk.d.ts.map +1 -0
  40. package/dist/sdk.js +229 -0
  41. package/dist/sdk.js.map +1 -0
  42. package/docs/llms-full.txt +246 -17
  43. package/docs/types.json +725 -16
  44. package/package.json +9 -9
  45. package/src/check.ts +54 -5
  46. package/src/cli.ts +131 -67
  47. package/src/dev-bun-config.ts +57 -14
  48. package/src/doctor.ts +28 -1
  49. package/src/introspect.ts +124 -4
  50. package/src/load.ts +5 -0
  51. package/src/mcp-http.ts +1 -1
  52. package/src/mcp.ts +2 -2
  53. package/src/pipeline-guard.ts +44 -14
  54. package/src/pipeline-report.ts +341 -0
  55. package/src/sdk.ts +260 -0
package/dist/cli.js CHANGED
@@ -11,7 +11,7 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
11
11
  * `nifra` - the zero-config CLI for a nifra app. Reads `framework.ts` + `backend.ts` + `routes/` from
12
12
  * the project root (see {@link loadApp}) and wires the right `@nifrajs/web` entrypoint:
13
13
  *
14
- * nifra dev true-HMR dev server (Vite middleware + nifra SSR) - @nifrajs/web/vite
14
+ * nifra dev true-HMR dev server (Bun native HMR + nifra SSR) - @nifrajs/web/dev
15
15
  * nifra build emit a complete target-specific deploy directory - @nifrajs/web/build
16
16
  * nifra start run the default Bun build - dist/server.js
17
17
  *
@@ -22,17 +22,20 @@ import { resolve } from "node:path";
22
22
  import { inProcessClient } from "@nifrajs/client";
23
23
  import { createWebApp, DEFAULT_DEV_PORT } from "@nifrajs/web";
24
24
  import { discoverRoutes } from "@nifrajs/web/fs";
25
- import { describeProject, describeRoutes } from "./introspect.js";
25
+ import { describeProject, describeRouteGraph, describeRoutes } from "./introspect.js";
26
26
  import { loadApp } from "./load.js";
27
- import { chooseBuildPipeline } from "./pipeline-guard.js";
27
+ import { chooseBuildPipeline, describePipeline } from "./pipeline-guard.js";
28
28
  const HELP = `nifra - zero-config dev/build/start for a nifra app
29
29
 
30
30
  Usage:
31
- nifra dev [--port <n>] [--poll] Start the true-HMR dev server (Vite). Default port ${DEFAULT_DEV_PORT}.
32
- [--bun] Run the BUN pipeline instead: Bun.serve native HMR (React Fast
33
- Refresh included, state preserved), no Vite in the process - one
34
- bundler across dev and prod. Plain CSS/Tailwind work; refuses an
35
- app using *.module.css (Bun's dev bundler can't transform it).
31
+ nifra dev [--port <n>] [--poll] Start the true-HMR dev server (Bun). Default port ${DEFAULT_DEV_PORT}.
32
+ An app whose ONLY transforms are \`vitePlugins\` uses Vite (the
33
+ Bun pipeline cannot run them); everything else uses Bun.
34
+ [--vite] Force the Vite middleware/HMR pipeline.
35
+ [--bun] Force Bun.serve native HMR (React Fast Refresh included, state
36
+ preserved), no Vite in the process. CSS Modules, plain CSS,
37
+ Tailwind and the app's own \`clientPlugins\`/\`serverPlugins\` run
38
+ through the same Bun transforms production uses.
36
39
  nifra build [--out <dir>] [--report] Emit a complete deploy directory.
37
40
  [--target <t>] Target a FULL deploy dir for <t>:
38
41
  bun | node | deno | cf-pages | vercel | static. Packages
@@ -54,6 +57,8 @@ Usage:
54
57
  routes (routes/) + the in-process backend's API routes,
55
58
  marking which API routes are auto-mounted under apiPrefix.
56
59
  --json for agents (see POST /api/x is/isn't served, not via 405).
60
+ nifra routes --graph [--json] Render the public route surface as a Mermaid graph, or as
61
+ stable JSON for contract explorers.
57
62
  nifra routes --modes [--target <t>] Show each page route's RENDER MODE (static | isr | ssr),
58
63
  hydration, and cache policy in one table. With --target, gate
59
64
  against it: a route the target can't honour (an ssr route on a
@@ -92,6 +97,8 @@ Usage:
92
97
  request field or a removed response field breaks; widening a
93
98
  request enum or adding a response field doesn't) and fails
94
99
  closed. Exits non-zero on any breaking change - run it in CI.
100
+ nifra sdk --lang <python|go> [--out <file>]
101
+ Generate a deterministic non-TypeScript SDK from backend.ts.
95
102
  nifra assure [--config <file>] [--json] Route-assurance gate: load nifra.assurance.ts, classify every
96
103
  reflected backend route, and fail when required enforcement
97
104
  evidence is missing/forbidden or a route is unclassified.
@@ -134,7 +141,7 @@ routes/ from the current directory. Run from your project root.
134
141
  Port: \`dev\` and \`start\` share the default ${DEFAULT_DEV_PORT}. Override with \`--port <n>\` (alias \`-p\`) or the
135
142
  \`PORT\` env var (\`--port\` wins over \`PORT\`, which wins over the default).`;
136
143
  // Kept in lockstep with packages/cli/package.json by check:publish's version-consistency gate.
137
- const CLI_VERSION = "2.9.1";
144
+ const CLI_VERSION = "2.11.0";
138
145
  // A render adapter + nifra server are opaque to the CLI (it just forwards them); cast at the seam.
139
146
  const asAdapter = (v) => v;
140
147
  const asBunPlugins = (v) => v;
@@ -170,52 +177,22 @@ export function formatCliError(err) {
170
177
  return err.message;
171
178
  return String(err);
172
179
  }
173
- /**
174
- * Refuse `nifra dev --bun` for an app Bun's DEV-server bundler cannot compile.
175
- *
176
- * Bun's dev server and `Bun.build` are not the same bundler. `Bun.build` transforms `*.module.css` into a
177
- * scoped class map (the Bun production build of a CSS-Modules app works, verified), but the dev server's
178
- * bundler does not: the import compiles to a dangling reference and the browser throws
179
- * `ReferenceError: import_X_module is not defined` from inside the component - a message that names
180
- * neither CSS Modules nor the dev server, so the cause is invisible.
181
- *
182
- * A silently-broken client is the one outcome worth failing the command over, so this checks up front and
183
- * names the trade plus both ways out. Narrow by design: only the transform proven missing is refused, so
184
- * an app without CSS Modules still gets the Bun dev loop.
185
- */
186
- export async function assertBunDevSupportsApp(app) {
187
- // Server functions and `*.server` modules are handled: the generated bunfig (dev-bun-config.ts)
188
- // delivers the SAME serverFnStubPlugin/serverOnlyEmptyPlugin the production build uses to Bun's
189
- // dev-server bundler via `[serve.static] plugins` - the one channel that bundler accepts plugins
190
- // through (a runtime `Bun.plugin` never reaches it; programmatic ask: oven-sh/bun#36830). The old
191
- // fail-closed refusal for those modules is gone because the leak it guarded is gone.
192
- //
193
- // CSS Modules remain gated: the `*.module.css` plugin rests on an `onResolve` virtual-module
194
- // stylesheet emitter that is not yet verified under `[serve.static]`, and its failure mode is a
195
- // broken client rather than a leak - refuse loudly until it is proven there.
196
- const { Glob } = await import("bun");
197
- const offenders = [];
198
- for await (const file of new Glob("**/*.module.css").scan({ cwd: app.cwd, dot: false })) {
199
- if (/(^|\/)(node_modules|dist|\.nifra|\.git)\//.test(file))
200
- continue;
201
- offenders.push(file);
202
- if (offenders.length >= 5)
203
- break;
204
- }
205
- if (offenders.length === 0)
206
- return;
207
- throw new Error("[nifra] `nifra dev --bun` can't compile CSS Modules: Bun's DEV-server bundler has no `*.module.css` " +
208
- "transform (its production `Bun.build` does, so `nifra build` is unaffected). The client would load " +
209
- "with a bare `ReferenceError: import_… is not defined` instead of your component.\n" +
210
- ` CSS Modules found: ${offenders.join(", ")}\n` +
211
- " Use `nifra dev` (the Vite pipeline handles them), or drop the CSS Modules to use the Bun dev loop.");
212
- }
213
180
  async function dev(app, flags) {
214
- // `--bun`: the Bun-pipeline dev server - Bun.serve's native HMR bundles + hot-reloads the client while
215
- // Bun's runtime resolves SSR, with no Vite in the process at all. The mirror of `nifra build --vite`:
216
- // each pipeline is selectable in BOTH phases, and neither ever runs inside the other.
217
- if (flags.bun) {
218
- await assertBunDevSupportsApp(app);
181
+ if (flags.vite && flags.bun) {
182
+ throw new Error("[nifra] `nifra dev` takes `--vite` or `--bun`, not both.");
183
+ }
184
+ // Default to Bun for the dev phase too. An app whose only transforms are Vite plugins stays on Vite so
185
+ // its transform is never silently dropped; `--vite`/`--bun` make that choice explicit.
186
+ // ONE rule for both phases - `chooseBuildPipeline` decides `dev` exactly as it decides `build`, so a
187
+ // project cannot end up bundled by one toolchain in dev and the other in production. An earlier
188
+ // version of this kept apps declaring `vitePlugins` on Vite for dev even when they also shipped Bun
189
+ // equivalents, on the theory that the framework plugins were the safer HMR path. Measurement killed
190
+ // it: Vue, Solid and Svelte all render correctly on the Bun pipeline, so the hedge bought nothing
191
+ // and cost an app the guarantee that dev and production bundle the same way. (Svelte used to render
192
+ // ONLY on Bun, which made the hedge actively harmful; it now renders on either - see the note at the
193
+ // Vite branch for what the adapter had to be given to make that true.)
194
+ const decision = chooseBuildPipeline(app.resolvedPlugins, flags.vite ? "vite" : flags.bun ? "bun" : undefined, "dev");
195
+ if (decision.pipeline === "bun") {
219
196
  // Bun's dev-server bundler takes plugins only via bunfig `[serve.static]`, read at process
220
197
  // start - so the boundary plugins (server-fn stubs, server-only emptying) are delivered by
221
198
  // generating a config and re-execing this same command once with `--config=`. The child proves
@@ -233,13 +210,34 @@ async function dev(app, flags) {
233
210
  "relaunches. Something is rewriting `.nifra/dev-bun/` or the environment between " +
234
211
  "launches; refusing to serve without the client-boundary plugins.");
235
212
  }
236
- const { bunfigPath, launchToken } = await writeBunDevConfig(app.cwd);
237
- const child = Bun.spawn([process.execPath, `--config=${bunfigPath}`, ...process.argv.slice(1)], {
213
+ const { bunfigPath, launchToken } = await writeBunDevConfig(app.cwd, app.configPath);
214
+ const child = Bun.spawn([
215
+ process.execPath,
216
+ `--config=${bunfigPath}`,
217
+ // The app's `conditions` reach SSR here or nowhere: bunfig has no key for them (a top-level,
218
+ // `[run]`, `[serve.static]` or `[bundle]` `conditions` is parsed and ignored), and the re-exec
219
+ // is the only point where this process's resolver is still configurable. Without it a package
220
+ // with an `exports` map resolves to a DIFFERENT file on the server than in the client bundle,
221
+ // which is the two-toolchains-one-module failure the pipeline guard exists to prevent.
222
+ //
223
+ // One flag per condition. `--conditions=a,b` is accepted and matches nothing: Bun takes the
224
+ // whole string as a single condition name, so the comma form fails silently.
225
+ ...(app.framework.conditions ?? []).map((condition) => `--conditions=${condition}`),
226
+ ...process.argv.slice(1),
227
+ ], {
238
228
  stdio: ["inherit", "inherit", "inherit"],
239
229
  env: {
240
230
  ...process.env,
241
231
  NIFRA_BUN_DEV_TOKEN: launchToken,
242
232
  NIFRA_BUN_DEV_DEPTH: String(depth + 1),
233
+ // The child is the process that renders, so it is the one that needs dev-shaped runtimes.
234
+ // A library ships its dev build behind the `development` export condition with a `NODE_ENV`
235
+ // fallback for resolvers that set no conditions - which is Bun's runtime, where SSR runs,
236
+ // so on the server that fallback is the only signal there is. It has to be in place before
237
+ // the app's config is read, because reading it imports the adapter and through it the
238
+ // framework runtime; setting it inside the dev server would already be a step too late.
239
+ // Preserved if the caller pinned one.
240
+ NODE_ENV: process.env.NODE_ENV ?? "development",
243
241
  },
244
242
  });
245
243
  const forward = () => child.kill("SIGINT");
@@ -247,6 +245,28 @@ async function dev(app, flags) {
247
245
  process.on("SIGTERM", forward);
248
246
  process.exit(await child.exited);
249
247
  }
248
+ // SSR runs in THIS process, on Bun's runtime - a different loader from the dev-server bundler the
249
+ // bunfig above configures. Both halves have to agree, so the runtime gets the same transforms:
250
+ //
251
+ // - CSS Modules. The scoped name is a pure function of file path + class name, so the `"ssr"` form
252
+ // produces the identical map the client bundle emits (and no stylesheet - that ships from the
253
+ // client build). Without it `styles.box` is `undefined` on the server: the SSR markup carries no
254
+ // class, the page paints unstyled, and hydration then reports a className mismatch.
255
+ // - the app's `serverPlugins` - the SSR counterpart of the `clientPlugins` the generated bunfig
256
+ // delivers, exactly as `nifra build`'s prerender pass registers them.
257
+ //
258
+ // Registered BEFORE `createDevServer`, because a Bun runtime plugin only affects modules loaded
259
+ // after it - and `createApp` imports the route modules.
260
+ const { plugin } = await import("bun");
261
+ const { cssModulesBunPlugin } = await import("@nifrajs/web/plugins/css-modules");
262
+ plugin(cssModulesBunPlugin("ssr"));
263
+ for (const p of asBunPlugins(app.resolvedPlugins.serverPlugins))
264
+ plugin(p);
265
+ // "After" has one consequence an adapter has to respect. Reading the app's config is what PRODUCES
266
+ // these plugins, so the config's import graph - which includes the adapter - is already loaded when
267
+ // they register. An adapter must therefore not import an asset its own plugin compiles at module
268
+ // scope; it has to defer to first render, which happens after this point. `@nifrajs/web-svelte`
269
+ // loads its `Chain.svelte` that way for exactly this reason, and says so at the import.
250
270
  const { createDevServer } = await import("@nifrajs/web/dev");
251
271
  const { framework: fw, routesDir, outDir, backend } = app;
252
272
  const server = await createDevServer({
@@ -254,8 +274,10 @@ async function dev(app, flags) {
254
274
  outDir,
255
275
  clientModule: fw.clientModule,
256
276
  port: flags.port,
257
- // The Bun pipeline's own plugins (SFC compilers etc.) - never `vitePlugins`, which belong to the
258
- // other pipeline; `assertPipelineSeparation` already refuses a plugin sitting in the wrong slot.
277
+ // For the background client-leak guard, which re-runs `buildClient` on change - the SERVED client
278
+ // bundle gets these same plugins through the generated bunfig, since Bun's dev-server bundler takes
279
+ // plugins only as module paths. Never `vitePlugins`, which belong to the other pipeline;
280
+ // `assertPipelineSeparation` already refuses a plugin sitting in the wrong slot.
259
281
  plugins: asBunPlugins(app.resolvedPlugins.clientPlugins),
260
282
  ...(fw.publicDir !== undefined ? { publicDir: fw.publicDir } : {}),
261
283
  ...(fw.conditions ? { conditions: fw.conditions } : {}),
@@ -268,9 +290,10 @@ async function dev(app, flags) {
268
290
  }),
269
291
  });
270
292
  console.log(`nifra dev (bun) → http://localhost:${server.port}`);
293
+ console.log(` ${describePipeline(decision)}`);
271
294
  return;
272
295
  }
273
- // Preflight: `nifra dev` needs `vite` resolvable from the project. Run via `bunx @nifrajs/cli dev` the CLI
296
+ // Preflight: the Vite fallback needs `vite` resolvable from the project. Run via `bunx @nifrajs/cli dev` the CLI
274
297
  // sits in an isolated install where the project's peer deps don't resolve, so the vite import below fails
275
298
  // with an opaque ERR_MODULE_NOT_FOUND. Surface the real fix instead.
276
299
  try {
@@ -290,6 +313,18 @@ async function dev(app, flags) {
290
313
  // same file in one process, with only one of them governed by Vite's `resolve.dedupe`. That is what
291
314
  // made an app's hand-written React alias fail to reach SSR, and it is the condition being removed -
292
315
  // not a redundancy worth keeping "just in case".
316
+ //
317
+ // Svelte is the case that proves the rule, and the discarded attempts are recorded so they are not
318
+ // retried. The adapter package stays `ssr.external` (its context must be the ONE instance the
319
+ // Bun-imported adapter provides), so BUN loads it - and `@nifrajs/web-svelte` renders through its own
320
+ // `Chain.svelte`, which needs a compiler that this pipeline does not put in the runtime. Registering
321
+ // the app's `serverPlugins` here, scoped to that package's directory, compiles it against a SECOND
322
+ // Svelte runtime and the first `setContext` dies (`context.function` null); externalizing the
323
+ // adapter's framework peer as well gets further and then dies on `context.function[FILENAME]`,
324
+ // because `svelteBunPlugin` and `vite-plugin-svelte` do not emit the same dev-mode component shape.
325
+ // Both attempts add a compiler. The fix removes one instead: `createViteDevServer` publishes its
326
+ // `ssrLoadModule` via `setSsrModuleLoader`, and the adapter loads `Chain.svelte` AND `svelte/server`
327
+ // through it - one toolchain, one runtime, context intact across the whole tree.
293
328
  const server = await createViteDevServer({
294
329
  root: cwd,
295
330
  routesDir,
@@ -311,7 +346,8 @@ async function dev(app, flags) {
311
346
  ...apiOf(backend),
312
347
  }),
313
348
  });
314
- console.log(`nifra dev → http://localhost:${server.port}`);
349
+ console.log(`nifra dev (vite) → http://localhost:${server.port}`);
350
+ console.log(` ${describePipeline(decision)}`);
315
351
  }
316
352
  /**
317
353
  * `nifra build --target <t>` - package the engine (buildClient + buildServer + prerender) into one
@@ -375,11 +411,10 @@ async function buildForTarget(app, target, flags) {
375
411
  // The static target needs a built app to drive prerendering - only build it when targeting static.
376
412
  ...(target === "static" ? { prerenderApp: await buildPrerenderApp(app) } : {}),
377
413
  });
378
- console.log(`nifra build (${target}${useVite ? ", vite" : ""}) → ${result.run}`);
379
- // An auto-selected pipeline is stated, never silent: the user asked for the default and got something
380
- // else, and the reason is the thing that makes that legible instead of surprising.
381
- if (decision.reason !== undefined)
382
- console.log(` ${decision.reason}`);
414
+ console.log(`nifra build (${target}, ${decision.pipeline}) → ${result.run}`);
415
+ // The pipeline is stated on every build, not only the surprising ones - an auto-selected Vite build
416
+ // must never look like the default, and a default Bun build must not leave the question open either.
417
+ console.log(` ${describePipeline(decision)}`);
383
418
  if (flags.report)
384
419
  console.log(`\n${renderSizeReport(result.size)}`);
385
420
  }
@@ -575,6 +610,31 @@ async function main() {
575
610
  }
576
611
  return;
577
612
  }
613
+ if (command === "sdk") {
614
+ const languageIndex = argv.indexOf("--lang");
615
+ const language = languageIndex === -1 ? undefined : argv[languageIndex + 1];
616
+ const outIndex = argv.indexOf("--out");
617
+ const out = outIndex === -1 ? undefined : argv[outIndex + 1];
618
+ if (language !== "python" && language !== "go") {
619
+ console.error("[nifra] sdk needs --lang python or --lang go");
620
+ process.exitCode = 1;
621
+ return;
622
+ }
623
+ if (outIndex !== -1 && (out === undefined || out.startsWith("-"))) {
624
+ console.error("[nifra] --out needs a file path");
625
+ process.exitCode = 1;
626
+ return;
627
+ }
628
+ try {
629
+ const { runSdk } = await import("./sdk.js");
630
+ await runSdk(process.cwd(), { language, ...(out !== undefined ? { out } : {}) });
631
+ }
632
+ catch (err) {
633
+ console.error(formatCliError(err));
634
+ process.exitCode = 1;
635
+ }
636
+ return;
637
+ }
578
638
  // Route assurance intentionally loads only its explicit config (which imports the backend it audits),
579
639
  // not the full SSR app. Like snapshot/diff, this works for API-only projects.
580
640
  if (command === "assure") {
@@ -781,7 +841,10 @@ async function main() {
781
841
  else if (command === "context")
782
842
  console.log(describeProject(app));
783
843
  else if (command === "routes") {
784
- if (argv.includes("--modes")) {
844
+ if (argv.includes("--graph")) {
845
+ console.log(await describeRouteGraph(app, { json: argv.includes("--json") }));
846
+ }
847
+ else if (argv.includes("--modes")) {
785
848
  // `--modes` answers a different question than the default table: not "what URLs exist" but "how
786
849
  // does each render, and can the target I'm about to deploy to actually honour that". Resolves
787
850
  // against `--target` when given, so a `static` build's server-needing route fails here, in one
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -12,18 +12,29 @@ export declare function serializeBunfig(data: BunfigData): string;
12
12
  * APP - bunfig resolves relative entries against the config file's own directory, which is
13
13
  * `.nifra/dev-bun/`. */
14
14
  export declare function renderDevBunfig(boundaryPluginPath: string, user: BunfigData, appRoot: string): string;
15
- /** The generated plugin module: compose the two production boundary plugins into one default
16
- * export. Import specifiers are bare so they resolve from the APP's install (the module lives
17
- * under the app's `.nifra/`), keeping dev stubs byte-identical to production's. */
18
- export declare function renderBoundaryPluginModule(): string;
15
+ /**
16
+ * The generated plugin module: compose the production boundary plugins, the production CSS Modules
17
+ * transform, and the APP's own `clientPlugins` into one default export.
18
+ *
19
+ * The `@nifrajs/*` specifiers are bare so they resolve from the APP's install (the module lives under
20
+ * the app's `.nifra/`), keeping dev transforms byte-identical to production's.
21
+ *
22
+ * `configPath` is the app's `nifra.config.ts` (or `framework.ts`). Importing it here is the only way an
23
+ * app's `clientPlugins` can reach Bun's dev-server bundler at all: that bundler takes plugins as module
24
+ * PATHS via bunfig, never as the plugin objects the CLI already holds in memory. Without this an app
25
+ * whose transforms live in `clientPlugins` had no working Bun dev loop - its client would be bundled
26
+ * with the transform silently missing. `setup` is async because `clientPlugins` may be a thunk.
27
+ */
28
+ export declare function renderBoundaryPluginModule(configPath?: string, pluginDir?: string): string;
19
29
  export interface BunDevConfig {
20
30
  readonly bunfigPath: string;
21
31
  /** Per-launch random value the re-exec'd child must present (and the file copy it must match). */
22
32
  readonly launchToken: string;
23
33
  }
24
34
  /** Write the generated config for an app; returns the bunfig path to re-exec with and the fresh
25
- * launch token to pass in the child's environment. */
26
- export declare function writeBunDevConfig(appRoot: string): Promise<BunDevConfig>;
35
+ * launch token to pass in the child's environment. `configPath` (the app's `nifra.config.ts` /
36
+ * `framework.ts`) is what lets the app's own `clientPlugins` reach Bun's dev-server bundler. */
37
+ export declare function writeBunDevConfig(appRoot: string, configPath?: string): Promise<BunDevConfig>;
27
38
  /**
28
39
  * Child-side proof of a configured launch: the presented token must match the token file the parent
29
40
  * just wrote, compared in constant time. The file is CONSUMED (deleted) on the first attempt either
@@ -1 +1 @@
1
- {"version":3,"file":"dev-bun-config.d.ts","sourceRoot":"","sources":["../src/dev-bun-config.ts"],"names":[],"mappings":"AA2CA,yDAAyD;AACzD,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAEzC;6FAC6F;AAC7F,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAUpE;AAqBD;;gGAEgG;AAChG,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAmBxD;AAED;;;wBAGwB;AACxB,wBAAgB,eAAe,CAC7B,kBAAkB,EAAE,MAAM,EAC1B,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,MAAM,GACd,MAAM,CAqBR;AAED;;mFAEmF;AACnF,wBAAgB,0BAA0B,IAAI,MAAM,CAenD;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,kGAAkG;IAClG,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAC7B;AAID;sDACsD;AACtD,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAa9E;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAiB1F"}
1
+ {"version":3,"file":"dev-bun-config.d.ts","sourceRoot":"","sources":["../src/dev-bun-config.ts"],"names":[],"mappings":"AAgDA,yDAAyD;AACzD,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAEzC;6FAC6F;AAC7F,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAUpE;AAqBD;;gGAEgG;AAChG,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAmBxD;AAED;;;wBAGwB;AACxB,wBAAgB,eAAe,CAC7B,kBAAkB,EAAE,MAAM,EAC1B,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,MAAM,GACd,MAAM,CAqBR;AASD;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAgC1F;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,kGAAkG;IAClG,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAC7B;AAID;;gGAEgG;AAChG,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,YAAY,CAAC,CAavB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAiB1F"}
@@ -7,10 +7,15 @@
7
7
  * would ship to the browser WHOLE (body, DB handles, secrets) instead of as the RPC stub the
8
8
  * production client build emits, and a `*.server` module would ship instead of being emptied.
9
9
  *
10
+ * The same channel is the only way an app's OWN `clientPlugins` (SFC compilers and the like) can reach
11
+ * that bundler: the CLI holds them as plugin OBJECTS, and bunfig accepts only module paths - so the
12
+ * generated module re-imports the app's config and composes them in.
13
+ *
10
14
  * So the CLI generates, under `.nifra/dev-bun/`:
11
15
  * - `boundary-plugin.ts` - default-exports one plugin composing the SAME `serverFnStubPlugin` +
12
- * `serverOnlyEmptyPlugin` the production build uses (imported from `@nifrajs/web/build`, resolved
13
- * from the app - identical stubs, not a re-implementation);
16
+ * `serverOnlyEmptyPlugin` + CSS Modules transform the production build uses (imported from
17
+ * `@nifrajs/web`, resolved from the app - identical transforms, not re-implementations), plus the
18
+ * app's own `clientPlugins`;
14
19
  * - `bunfig.toml` - the app's ENTIRE bunfig carried over verbatim (jsx, loaders, defines, install
15
20
  * settings - dropping any of them would give dev a different Bun than the app configured), with
16
21
  * `[serve.static] plugins` merged to put the boundary plugin first and path-bearing entries
@@ -34,7 +39,7 @@
34
39
  */
35
40
  import { timingSafeEqual } from "node:crypto";
36
41
  import { mkdirSync, readFileSync, unlinkSync, writeFileSync } from "node:fs";
37
- import { resolve } from "node:path";
42
+ import { relative, resolve } from "node:path";
38
43
  /** TOML string literal: basic (double-quoted) form with the two escapes it needs. */
39
44
  function tomlString(value) {
40
45
  return `"${value.replaceAll("\\", "\\\\").replaceAll('"', '\\"')}"`;
@@ -112,33 +117,65 @@ export function renderDevBunfig(boundaryPluginPath, user, appRoot) {
112
117
  "# bundler, which only accepts plugins via this channel (oven-sh/bun#36830).\n" +
113
118
  serializeBunfig(data));
114
119
  }
115
- /** The generated plugin module: compose the two production boundary plugins into one default
116
- * export. Import specifiers are bare so they resolve from the APP's install (the module lives
117
- * under the app's `.nifra/`), keeping dev stubs byte-identical to production's. */
118
- export function renderBoundaryPluginModule() {
119
- return `// Generated by \`nifra dev --bun\` - do not edit. Regenerated on every dev start.
120
+ /** A TS/JS import specifier for `target` as seen from `fromDir`, always `./`-prefixed and posix-slashed
121
+ * so it reads as a FILE path to the module loader rather than a package name. */
122
+ function relativeSpecifier(fromDir, target) {
123
+ const rel = relative(fromDir, target).replaceAll("\\", "/");
124
+ return rel.startsWith(".") ? rel : `./${rel}`;
125
+ }
126
+ /**
127
+ * The generated plugin module: compose the production boundary plugins, the production CSS Modules
128
+ * transform, and the APP's own `clientPlugins` into one default export.
129
+ *
130
+ * The `@nifrajs/*` specifiers are bare so they resolve from the APP's install (the module lives under
131
+ * the app's `.nifra/`), keeping dev transforms byte-identical to production's.
132
+ *
133
+ * `configPath` is the app's `nifra.config.ts` (or `framework.ts`). Importing it here is the only way an
134
+ * app's `clientPlugins` can reach Bun's dev-server bundler at all: that bundler takes plugins as module
135
+ * PATHS via bunfig, never as the plugin objects the CLI already holds in memory. Without this an app
136
+ * whose transforms live in `clientPlugins` had no working Bun dev loop - its client would be bundled
137
+ * with the transform silently missing. `setup` is async because `clientPlugins` may be a thunk.
138
+ */
139
+ export function renderBoundaryPluginModule(configPath, pluginDir) {
140
+ const appImport = configPath !== undefined && pluginDir !== undefined
141
+ ? `import * as appConfig from ${tomlString(relativeSpecifier(pluginDir, configPath))}\n`
142
+ : "";
143
+ const appSetup = appImport === ""
144
+ ? ""
145
+ : ` // The app's OWN client transforms (SFC compilers etc.). \`clientPlugins\` may be a thunk.
146
+ const field = appConfig.clientPlugins
147
+ const appPlugins = (typeof field === "function" ? await field() : field) ?? []
148
+ for (const p of appPlugins) await p.setup(build)
149
+ `;
150
+ return `// Generated by \`nifra dev\` (Bun pipeline) - do not edit. Regenerated on every dev start.
120
151
  import { serverFnStubPlugin, serverOnlyEmptyPlugin } from "@nifrajs/web/build"
121
-
152
+ import { cssModulesBunPlugin } from "@nifrajs/web/plugins/css-modules"
153
+ ${appImport}
122
154
  const fn = serverFnStubPlugin()
123
155
  const serverOnly = serverOnlyEmptyPlugin()
156
+ const cssModules = cssModulesBunPlugin("dom")
124
157
 
125
158
  export default {
126
159
  name: "nifra-dev-boundary",
127
- setup(build) {
160
+ async setup(build) {
161
+ // Boundary first: an app plugin must never get to transform a module that the boundary is about to
162
+ // empty or stub, or the transform decides what ships instead of the boundary.
128
163
  serverOnly.setup(build)
129
164
  fn.setup(build)
130
- },
165
+ cssModules.setup(build)
166
+ ${appSetup} },
131
167
  }
132
168
  `;
133
169
  }
134
170
  const TOKEN_FILE = "launch-token";
135
171
  /** Write the generated config for an app; returns the bunfig path to re-exec with and the fresh
136
- * launch token to pass in the child's environment. */
137
- export async function writeBunDevConfig(appRoot) {
172
+ * launch token to pass in the child's environment. `configPath` (the app's `nifra.config.ts` /
173
+ * `framework.ts`) is what lets the app's own `clientPlugins` reach Bun's dev-server bundler. */
174
+ export async function writeBunDevConfig(appRoot, configPath) {
138
175
  const dir = resolve(appRoot, ".nifra", "dev-bun");
139
176
  mkdirSync(dir, { recursive: true });
140
177
  const pluginPath = resolve(dir, "boundary-plugin.ts");
141
- writeFileSync(pluginPath, renderBoundaryPluginModule());
178
+ writeFileSync(pluginPath, renderBoundaryPluginModule(configPath, dir));
142
179
  const userToml = await Bun.file(resolve(appRoot, "bunfig.toml"))
143
180
  .text()
144
181
  .catch(() => undefined);