@nifrajs/cli 2.2.0 → 2.3.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 (117) hide show
  1. package/README.md +25 -25
  2. package/dist/assure.d.ts +2 -2
  3. package/dist/assure.d.ts.map +1 -1
  4. package/dist/assure.js +17 -10
  5. package/dist/assure.js.map +1 -1
  6. package/dist/capabilities-tool.d.ts +7 -0
  7. package/dist/capabilities-tool.d.ts.map +1 -1
  8. package/dist/capabilities-tool.js +68 -16
  9. package/dist/capabilities-tool.js.map +1 -1
  10. package/dist/check.d.ts +61 -22
  11. package/dist/check.d.ts.map +1 -1
  12. package/dist/check.js +332 -86
  13. package/dist/check.js.map +1 -1
  14. package/dist/cli.d.ts +30 -2
  15. package/dist/cli.d.ts.map +1 -1
  16. package/dist/cli.js +132 -36
  17. package/dist/cli.js.map +1 -1
  18. package/dist/diff-tool.d.ts +3 -3
  19. package/dist/diff-tool.js +7 -7
  20. package/dist/docs-search.d.ts +3 -3
  21. package/dist/docs-search.js +6 -6
  22. package/dist/doctor.d.ts +3 -3
  23. package/dist/doctor.js +8 -8
  24. package/dist/examples.d.ts +5 -5
  25. package/dist/examples.js +5 -5
  26. package/dist/init-agents.d.ts +14 -14
  27. package/dist/init-agents.js +14 -14
  28. package/dist/internal/typescript-import.d.ts +24 -0
  29. package/dist/internal/typescript-import.d.ts.map +1 -0
  30. package/dist/internal/typescript-import.js +32 -0
  31. package/dist/internal/typescript-import.js.map +1 -0
  32. package/dist/introspect.d.ts +12 -12
  33. package/dist/introspect.js +24 -24
  34. package/dist/levels-tool.d.ts +8 -8
  35. package/dist/levels-tool.d.ts.map +1 -1
  36. package/dist/levels-tool.js +33 -30
  37. package/dist/levels-tool.js.map +1 -1
  38. package/dist/load.d.ts +6 -6
  39. package/dist/load.d.ts.map +1 -1
  40. package/dist/load.js +15 -7
  41. package/dist/load.js.map +1 -1
  42. package/dist/manifest-tool.d.ts +1 -1
  43. package/dist/manifest-tool.d.ts.map +1 -1
  44. package/dist/manifest-tool.js +4 -2
  45. package/dist/manifest-tool.js.map +1 -1
  46. package/dist/mcp-docs-tools.d.ts +1 -1
  47. package/dist/mcp-docs-tools.js +9 -9
  48. package/dist/mcp-http.d.ts +5 -5
  49. package/dist/mcp-http.js +7 -7
  50. package/dist/mcp-protocol.d.ts +2 -2
  51. package/dist/mcp-protocol.js +2 -2
  52. package/dist/mcp-render.d.ts +3 -3
  53. package/dist/mcp-render.js +6 -6
  54. package/dist/mcp-run.d.ts +2 -2
  55. package/dist/mcp-run.js +2 -2
  56. package/dist/mcp.d.ts +14 -14
  57. package/dist/mcp.d.ts.map +1 -1
  58. package/dist/mcp.js +75 -45
  59. package/dist/mcp.js.map +1 -1
  60. package/dist/openapi-tool.d.ts +1 -1
  61. package/dist/openapi-tool.js +2 -2
  62. package/dist/pipeline-guard.d.ts +1 -1
  63. package/dist/pipeline-guard.js +1 -1
  64. package/dist/port.d.ts +9 -9
  65. package/dist/port.js +27 -27
  66. package/dist/recipes/1.8.0.d.ts +2 -2
  67. package/dist/recipes/1.8.0.js +5 -5
  68. package/dist/recipes/index.d.ts +2 -2
  69. package/dist/recipes/index.js +1 -1
  70. package/dist/scaffold.d.ts +3 -3
  71. package/dist/scaffold.js +8 -8
  72. package/dist/sync-routes.d.ts +28 -0
  73. package/dist/sync-routes.d.ts.map +1 -0
  74. package/dist/sync-routes.js +55 -0
  75. package/dist/sync-routes.js.map +1 -0
  76. package/dist/types-search.d.ts +5 -5
  77. package/dist/types-search.js +7 -7
  78. package/dist/upgrade.d.ts +7 -7
  79. package/dist/upgrade.js +12 -12
  80. package/dist/verification.d.ts +51 -0
  81. package/dist/verification.d.ts.map +1 -0
  82. package/dist/verification.js +80 -0
  83. package/dist/verification.js.map +1 -0
  84. package/docs/examples.json +174 -90
  85. package/docs/llms-full.txt +1696 -747
  86. package/docs/types.json +1892 -3105
  87. package/package.json +22 -11
  88. package/src/assure.ts +17 -18
  89. package/src/capabilities-tool.ts +82 -16
  90. package/src/check.ts +405 -103
  91. package/src/cli.ts +141 -38
  92. package/src/diff-tool.ts +8 -8
  93. package/src/docs-search.ts +6 -6
  94. package/src/doctor.ts +10 -10
  95. package/src/examples.ts +7 -7
  96. package/src/init-agents.ts +17 -17
  97. package/src/internal/typescript-import.ts +33 -0
  98. package/src/introspect.ts +28 -28
  99. package/src/levels-tool.ts +37 -31
  100. package/src/load.ts +21 -12
  101. package/src/manifest-tool.ts +4 -2
  102. package/src/mcp-docs-tools.ts +9 -9
  103. package/src/mcp-http.ts +7 -7
  104. package/src/mcp-protocol.ts +2 -2
  105. package/src/mcp-render.ts +6 -6
  106. package/src/mcp-run.ts +2 -2
  107. package/src/mcp.ts +82 -45
  108. package/src/openapi-tool.ts +2 -2
  109. package/src/pipeline-guard.ts +1 -1
  110. package/src/port.ts +31 -31
  111. package/src/recipes/1.8.0.ts +5 -5
  112. package/src/recipes/index.ts +2 -2
  113. package/src/scaffold.ts +8 -8
  114. package/src/sync-routes.ts +69 -0
  115. package/src/types-search.ts +8 -8
  116. package/src/upgrade.ts +12 -12
  117. package/src/verification.ts +123 -0
package/dist/cli.js CHANGED
@@ -8,24 +8,24 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
8
8
  return path;
9
9
  };
10
10
  /**
11
- * `nifra` — the zero-config CLI for a nifra app. Reads `framework.ts` + `backend.ts` + `routes/` from
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
15
- * nifra build emit a complete target-specific deploy directory — @nifrajs/web/build
16
- * nifra start run the default Bun build — dist/server.js
14
+ * nifra dev true-HMR dev server (Vite middleware + nifra SSR) - @nifrajs/web/vite
15
+ * nifra build emit a complete target-specific deploy directory - @nifrajs/web/build
16
+ * nifra start run the default Bun build - dist/server.js
17
17
  *
18
18
  * Bun-only (it runs the framework's TS + Bun plugins directly). The *output* runs anywhere.
19
19
  */
20
20
  import { existsSync } from "node:fs";
21
21
  import { resolve } from "node:path";
22
22
  import { inProcessClient } from "@nifrajs/client";
23
- import { createWebApp, DEFAULT_DEV_PORT } from "@nifrajs/web";
23
+ import { createWebApp, DEFAULT_DEV_PORT, SERVER_FN_MODULE, SERVER_ONLY_MODULE, } from "@nifrajs/web";
24
24
  import { discoverRoutes } from "@nifrajs/web/fs";
25
25
  import { describeProject, describeRoutes } from "./introspect.js";
26
26
  import { loadApp } from "./load.js";
27
27
  import { chooseBuildPipeline } from "./pipeline-guard.js";
28
- const HELP = `nifra — zero-config dev/build/start for a nifra app
28
+ const HELP = `nifra - zero-config dev/build/start for a nifra app
29
29
 
30
30
  Usage:
31
31
  nifra dev [--port <n>] [--poll] Start the true-HMR dev server (Vite). Default port ${DEFAULT_DEV_PORT}.
@@ -71,7 +71,7 @@ Usage:
71
71
  nifra_example (verified snippets), nifra_scaffold (route→file),
72
72
  nifra_check (drift gate + fixes), nifra_levels (verification
73
73
  ladder), nifra_doctor (deps + duplicate installs).
74
- nifra docs-mcp [--port <n>] Serve the PUBLIC docs MCP over HTTP (nifra_docs + nifra_example) —
74
+ nifra docs-mcp [--port <n>] Serve the PUBLIC docs MCP over HTTP (nifra_docs + nifra_example) -
75
75
  self-host on a VPS so any remote agent can learn nifra. Default :8787.
76
76
  nifra check [--json] [--lints-only] Gate: typecheck + lints (hand-rolled fetch(), untyped client("…"),
77
77
  server-only imports in routes/). Run as "done"; --json for agents;
@@ -79,13 +79,16 @@ Usage:
79
79
  nifra sync-manifest Regenerate a committed web server-manifest.ts from routes/ WITHOUT
80
80
  a full build - clears server-manifest drift after a route add/rename
81
81
  (a new hydrating component still needs a full build).
82
+ nifra sync-routes Regenerate nifra-routes.d.ts from routes/ so navigate({ to, search })
83
+ is typed against each static route's searchSchema (a stale shape is a
84
+ tsc error). Include the file in your tsconfig. Pure file write.
82
85
  nifra snapshot [--out <file>] Write the backend's API contract (routes + schemas) as plain
83
- JSON — the baseline for \`nifra diff\`. Default api-snapshot.json.
86
+ JSON - the baseline for \`nifra diff\`. Default api-snapshot.json.
84
87
  nifra diff [<baseline>] [--json] Breaking-change gate: re-snapshot the contract and compare
85
88
  against the committed baseline. Direction-aware (a new required
86
89
  request field or a removed response field breaks; widening a
87
90
  request enum or adding a response field doesn't) and fails
88
- closed. Exits non-zero on any breaking change — run it in CI.
91
+ closed. Exits non-zero on any breaking change - run it in CI.
89
92
  nifra assure [--config <file>] [--json] Route-assurance gate: load nifra.assurance.ts, classify every
90
93
  reflected backend route, and fail when required enforcement
91
94
  evidence is missing/forbidden or a route is unclassified.
@@ -127,25 +130,56 @@ routes/ from the current directory. Run from your project root.
127
130
  Port: \`dev\` and \`start\` share the default ${DEFAULT_DEV_PORT}. Override with \`--port <n>\` (alias \`-p\`) or the
128
131
  \`PORT\` env var (\`--port\` wins over \`PORT\`, which wins over the default).`;
129
132
  // Kept in lockstep with packages/cli/package.json by check:publish's version-consistency gate.
130
- const CLI_VERSION = "2.2.0";
133
+ const CLI_VERSION = "2.3.0";
131
134
  // A render adapter + nifra server are opaque to the CLI (it just forwards them); cast at the seam.
132
135
  const asAdapter = (v) => v;
133
136
  const asBunPlugins = (v) => v;
134
137
  const apiOf = (backend) => backend === undefined ? {} : { api: inProcessClient(backend) };
138
+ /**
139
+ * Render an error for the CLI, unwrapping the detail a bare `.message` drops.
140
+ *
141
+ * `Bun.build` reports a bundling failure as an `AggregateError` whose `.message` is a generic
142
+ * "Bundle failed" and whose `.errors` hold the real causes - the unresolved import, the plugin that
143
+ * threw, each with a file and line. `buildClient`/`buildServer` catch a RETURNED `{ success: false }`
144
+ * and print `result.logs`, but a `Bun.build` that THROWS (a plugin `onLoad`/`onResolve` that throws, a
145
+ * resolution failure) rejects before that check runs, so the AggregateError reaches the CLI whole and a
146
+ * catch printing only `.message` throws the causes away. That is the difference between "Bundle failed"
147
+ * and "Could not resolve ./db from routes/x.tsx". So unwrap an AggregateError - directly, or one carried
148
+ * as a `.cause` - into a line per underlying error.
149
+ */
150
+ export function formatCliError(err) {
151
+ const aggregate = err instanceof AggregateError
152
+ ? err
153
+ : err instanceof Error && err.cause instanceof AggregateError
154
+ ? err.cause
155
+ : undefined;
156
+ if (aggregate !== undefined && aggregate.errors.length > 0) {
157
+ const outer = err instanceof Error ? err.message : "";
158
+ const head = outer !== "" && outer !== "Bundle failed" ? outer : "build failed";
159
+ // `String(e)` (not `e.message`) so a Bun BuildMessage/ResolveMessage renders with its file + line,
160
+ // not just the bare text. Multi-line entries are indented to stay under the head. Deduplicated
161
+ // because Bun can repeat one cause across `.errors`.
162
+ const details = [...new Set(aggregate.errors.map((e) => String(e).trim()))].map((line) => ` - ${line.replace(/\n/g, "\n ")}`);
163
+ return [head, ...details].join("\n");
164
+ }
165
+ if (err instanceof Error)
166
+ return err.message;
167
+ return String(err);
168
+ }
135
169
  /**
136
170
  * Refuse `nifra dev --bun` for an app Bun's DEV-server bundler cannot compile.
137
171
  *
138
172
  * Bun's dev server and `Bun.build` are not the same bundler. `Bun.build` transforms `*.module.css` into a
139
173
  * scoped class map (the Bun production build of a CSS-Modules app works, verified), but the dev server's
140
174
  * bundler does not: the import compiles to a dangling reference and the browser throws
141
- * `ReferenceError: import_X_module is not defined` from inside the component — a message that names
175
+ * `ReferenceError: import_X_module is not defined` from inside the component - a message that names
142
176
  * neither CSS Modules nor the dev server, so the cause is invisible.
143
177
  *
144
178
  * A silently-broken client is the one outcome worth failing the command over, so this checks up front and
145
179
  * names the trade plus both ways out. Narrow by design: only the transform proven missing is refused, so
146
180
  * an app without CSS Modules still gets the Bun dev loop.
147
181
  */
148
- async function assertBunDevSupportsApp(app) {
182
+ export async function assertBunDevSupportsApp(app) {
149
183
  const { Glob } = await import("bun");
150
184
  const offenders = [];
151
185
  for await (const file of new Glob("**/*.module.css").scan({ cwd: app.cwd, dot: false })) {
@@ -155,6 +189,59 @@ async function assertBunDevSupportsApp(app) {
155
189
  if (offenders.length >= 5)
156
190
  break;
157
191
  }
192
+ // Server functions are the same trade with a worse consequence. The client build replaces a `*.fn`
193
+ // module with stubs so its body never reaches a browser; Bun's dev-server bundler takes no plugins, so
194
+ // there it would be bundled WHOLE - the function bodies and every secret they import. Measured, not
195
+ // assumed: a runtime `Bun.plugin` onLoad does not reach `HTMLBundle`, so the module ships raw.
196
+ //
197
+ // `*.server` modules are the same trade again: the client build EMPTIES them, and with no plugins
198
+ // here they ship whole.
199
+ //
200
+ // Both are matched with the SAME regexes the transforms use, imported rather than re-encoded. A
201
+ // hand-written glob here is how these two gates drifted from the pipelines they guard: the old
202
+ // `**/*.fn.{ts,tsx,js,jsx}` missed `.fn.mts`, `.fn.cts`, `.fn.mjs` and `.fn.cjs`, every one of which
203
+ // both build pipelines stub - so a module the framework calls a server function was waved straight
204
+ // into the browser by the check that exists to stop exactly that. A gate written in a second dialect
205
+ // is a gate that eventually disagrees with the thing it guards.
206
+ const leaking = [];
207
+ const serverOnly = [];
208
+ for await (const file of new Glob("**/*.{server,fn,ts,tsx,js,jsx,mts,cts,mjs,cjs}").scan({
209
+ cwd: app.cwd,
210
+ dot: false,
211
+ })) {
212
+ if (/(^|\/)(node_modules|dist|\.nifra|\.git)\//.test(file))
213
+ continue;
214
+ // Strip the source extension once so the conventions' regexes see `src/todos.fn` / `src/db.server`,
215
+ // which is the shape they match. The glob also includes the extensionless `.fn` / `.server` forms;
216
+ // those already have the matcher-ready shape and pass through unchanged.
217
+ const stem = file.replace(/\.[cm]?[jt]sx?$/, "");
218
+ if (SERVER_FN_MODULE.test(stem)) {
219
+ if (leaking.length < 5)
220
+ leaking.push(file);
221
+ }
222
+ else if (SERVER_ONLY_MODULE.test(stem)) {
223
+ if (serverOnly.length < 5)
224
+ serverOnly.push(file);
225
+ }
226
+ if (leaking.length >= 5 && serverOnly.length >= 5)
227
+ break;
228
+ }
229
+ if (serverOnly.length > 0) {
230
+ throw new Error("[nifra] `nifra dev --bun` can't empty `*.server` modules: Bun's DEV-server bundler takes no " +
231
+ "plugins, so a server-only module would be bundled WHOLE into the browser - along with whatever " +
232
+ "it imports and any secret it holds. `nifra build` and `nifra dev` (Vite) both replace it with " +
233
+ "an empty module, so only this pipeline is affected.\n" +
234
+ ` Server-only modules found: ${serverOnly.join(", ")}\n` +
235
+ " Use `nifra dev` (the Vite pipeline), or reach these from a route/loader for the Bun dev loop.");
236
+ }
237
+ if (leaking.length > 0) {
238
+ throw new Error("[nifra] `nifra dev --bun` can't transform server functions: Bun's DEV-server bundler takes no " +
239
+ "plugins, so a `*.fn` module would be bundled WHOLE into the browser - its function bodies and " +
240
+ "anything they import, secrets included. `nifra build` and `nifra dev` (Vite) both replace it " +
241
+ "with client stubs, so only this pipeline is affected.\n" +
242
+ ` Server-function modules found: ${leaking.join(", ")}\n` +
243
+ " Use `nifra dev` (the Vite pipeline), or move these calls behind a route for the Bun dev loop.");
244
+ }
158
245
  if (offenders.length === 0)
159
246
  return;
160
247
  throw new Error("[nifra] `nifra dev --bun` can't compile CSS Modules: Bun's DEV-server bundler has no `*.module.css` " +
@@ -164,7 +251,7 @@ async function assertBunDevSupportsApp(app) {
164
251
  " Use `nifra dev` (the Vite pipeline handles them), or drop the CSS Modules to use the Bun dev loop.");
165
252
  }
166
253
  async function dev(app, flags) {
167
- // `--bun`: the Bun-pipeline dev server — Bun.serve's native HMR bundles + hot-reloads the client while
254
+ // `--bun`: the Bun-pipeline dev server - Bun.serve's native HMR bundles + hot-reloads the client while
168
255
  // Bun's runtime resolves SSR, with no Vite in the process at all. The mirror of `nifra build --vite`:
169
256
  // each pipeline is selectable in BOTH phases, and neither ever runs inside the other.
170
257
  if (flags.bun) {
@@ -176,7 +263,7 @@ async function dev(app, flags) {
176
263
  outDir,
177
264
  clientModule: fw.clientModule,
178
265
  port: flags.port,
179
- // The Bun pipeline's own plugins (SFC compilers etc.) — never `vitePlugins`, which belong to the
266
+ // The Bun pipeline's own plugins (SFC compilers etc.) - never `vitePlugins`, which belong to the
180
267
  // other pipeline; `assertPipelineSeparation` already refuses a plugin sitting in the wrong slot.
181
268
  plugins: asBunPlugins(app.resolvedPlugins.clientPlugins),
182
269
  ...(fw.publicDir !== undefined ? { publicDir: fw.publicDir } : {}),
@@ -218,6 +305,7 @@ async function dev(app, flags) {
218
305
  clientModule: fw.clientModule,
219
306
  plugins: app.resolvedPlugins.vitePlugins,
220
307
  ...(fw.publicDir !== undefined ? { publicDir: fw.publicDir } : {}),
308
+ ...(fw.publicEnvPrefix !== undefined ? { publicEnvPrefix: fw.publicEnvPrefix } : {}),
221
309
  poll: flags.poll,
222
310
  port: flags.port,
223
311
  ...(fw.conditions ? { conditions: fw.conditions } : {}),
@@ -235,9 +323,9 @@ async function dev(app, flags) {
235
323
  console.log(`nifra dev → http://localhost:${server.port}`);
236
324
  }
237
325
  /**
238
- * `nifra build --target <t>` — package the engine (buildClient + buildServer + prerender) into one
326
+ * `nifra build --target <t>` - package the engine (buildClient + buildServer + prerender) into one
239
327
  * command that emits a full deploy dir, so an app no longer hand-writes build-bun.ts + _worker.ts +
240
- * _routes.json per target. The adapter is imported from `framework.ts` (the edge-bundlable file — never
328
+ * _routes.json per target. The adapter is imported from `framework.ts` (the edge-bundlable file - never
241
329
  * `nifra.config.ts`, which pulls in Vite plugins), and the backend from `backend.ts` when present;
242
330
  * `buildTarget` generates the per-target server entry from those + the app's `routes/`.
243
331
  */
@@ -254,7 +342,7 @@ async function buildForTarget(app, target, flags) {
254
342
  // force it, and the one forced combination that would drop transforms throws.
255
343
  const decision = chooseBuildPipeline(app.resolvedPlugins, flags.vite ? "vite" : flags.bun ? "bun" : undefined);
256
344
  const useVite = decision.pipeline === "vite";
257
- // Same deploy-dir output — buildTargetVite delegates to the same orchestrator as buildTarget — so only
345
+ // Same deploy-dir output - buildTargetVite delegates to the same orchestrator as buildTarget - so only
258
346
  // the bundler and the plugin FORMAT (Vite plugins, not Bun) differ.
259
347
  const buildTarget = useVite
260
348
  ? (await import("@nifrajs/web/build-vite")).buildTargetVite
@@ -293,7 +381,7 @@ async function buildForTarget(app, target, flags) {
293
381
  ...(fw.define ? { define: fw.define } : {}),
294
382
  ...(fw.publicDir !== undefined ? { publicDir: fw.publicDir } : {}),
295
383
  ...(fw.publicEnvPrefix !== undefined ? { publicEnvPrefix: fw.publicEnvPrefix } : {}),
296
- // The static target needs a built app to drive prerendering — only build it when targeting static.
384
+ // The static target needs a built app to drive prerendering - only build it when targeting static.
297
385
  ...(target === "static" ? { prerenderApp: await buildPrerenderApp(app) } : {}),
298
386
  });
299
387
  console.log(`nifra build (${target}${useVite ? ", vite" : ""}) → ${result.run}`);
@@ -307,7 +395,7 @@ async function buildForTarget(app, target, flags) {
307
395
  /** Build the app FACTORY for the `static` target's prerender pass. Registers the
308
396
  * framework's SSR Bun plugins (so `.vue`/`.svelte`/Solid routes import) once, then return a factory that
309
397
  * `createWebApp`s the app for the client build's manifest. The client entry MUST be the real content-hashed
310
- * bundle (`client.entry`) — it's the hydration `<script src>` the prerendered HTML emits, so a placeholder
398
+ * bundle (`client.entry`) - it's the hydration `<script src>` the prerendered HTML emits, so a placeholder
311
399
  * would 404 and the pages would render but never hydrate (inert controls). Styles/route-preload are wired
312
400
  * from the same manifest so the static HTML matches the deployed app. */
313
401
  async function buildPrerenderApp(app) {
@@ -335,7 +423,7 @@ async function start(app, flags) {
335
423
  throw new Error(`[nifra] ${app.outDir} holds a Cloudflare Pages worker bundle (_worker.js), not a self-hosting ` +
336
424
  "server. Run `nifra build --target bun` then `nifra start`, or serve this dir with `wrangler pages`.");
337
425
  }
338
- throw new Error(`[nifra] no ${serverFile} — run \`nifra build\` or \`nifra build --target bun\` first.`);
426
+ throw new Error(`[nifra] no ${serverFile} - run \`nifra build\` or \`nifra build --target bun\` first.`);
339
427
  }
340
428
  Bun.env.PORT = String(flags.port);
341
429
  await import(__rewriteRelativeImportExtension(serverFile));
@@ -384,14 +472,14 @@ async function main() {
384
472
  console.log(`nifra (@nifrajs/cli) ${CLI_VERSION}`);
385
473
  return;
386
474
  }
387
- // `mcp` runs a long-lived stdio server and loads the project lazily per-tool — it must not go through
475
+ // `mcp` runs a long-lived stdio server and loads the project lazily per-tool - it must not go through
388
476
  // the eager `loadApp` below (which would fail fast on a project that's API-only / not yet built).
389
477
  if (command === "mcp") {
390
478
  const { runMcpServer } = await import("./mcp.js");
391
479
  await runMcpServer(process.cwd(), CLI_VERSION);
392
480
  return;
393
481
  }
394
- // `docs-mcp` runs the PUBLIC docs MCP over HTTP — project-independent (serves the bundled corpus), so
482
+ // `docs-mcp` runs the PUBLIC docs MCP over HTTP - project-independent (serves the bundled corpus), so
395
483
  // it self-hosts anywhere Bun runs (a VPS behind a reverse proxy, a container). Long-lived; no loadApp.
396
484
  if (command === "docs-mcp") {
397
485
  const { handleMcpHttp } = await import("./mcp-http.js");
@@ -404,7 +492,7 @@ async function main() {
404
492
  console.log(`nifra docs MCP (HTTP) → ${server.url}`);
405
493
  return;
406
494
  }
407
- // `check` is a pure cwd-based gate (typecheck + lint) — it must run even when the project doesn't
495
+ // `check` is a pure cwd-based gate (typecheck + lint) - it must run even when the project doesn't
408
496
  // load (API-only, not built yet), so it dispatches before the eager `loadApp` below.
409
497
  if (command === "check") {
410
498
  const { runCheck } = await import("./check.js");
@@ -435,7 +523,15 @@ async function main() {
435
523
  process.exitCode = 1;
436
524
  return;
437
525
  }
438
- // `doctor` is a pure cwd check (imports vs declared deps) — like `check`, dispatch before `loadApp`
526
+ // `sync-routes` regenerates the route-search types `.d.ts` (typed `navigate({ to, search })`) from
527
+ // `routes/`. Pure fs/text (needs only the route tree, not `framework.ts`), so dispatch before `loadApp`.
528
+ if (command === "sync-routes") {
529
+ const { runSyncRoutes } = await import("./sync-routes.js");
530
+ if (!(await runSyncRoutes(process.cwd())))
531
+ process.exitCode = 1;
532
+ return;
533
+ }
534
+ // `doctor` is a pure cwd check (imports vs declared deps) - like `check`, dispatch before `loadApp`
439
535
  // so it runs on an API-only / not-yet-built project.
440
536
  if (command === "doctor") {
441
537
  const { runDoctor } = await import("./doctor.js");
@@ -446,7 +542,7 @@ async function main() {
446
542
  process.exitCode = 1;
447
543
  return;
448
544
  }
449
- // `snapshot` / `diff` load ONLY backend.ts (the API contract) — like `check`, they must run on an
545
+ // `snapshot` / `diff` load ONLY backend.ts (the API contract) - like `check`, they must run on an
450
546
  // API-only project, so they dispatch before the eager `loadApp`.
451
547
  if (command === "snapshot") {
452
548
  const { runSnapshot } = await import("./diff-tool.js");
@@ -461,7 +557,7 @@ async function main() {
461
557
  await runSnapshot(process.cwd(), out !== undefined ? { out } : {});
462
558
  }
463
559
  catch (err) {
464
- console.error(err instanceof Error ? err.message : String(err));
560
+ console.error(formatCliError(err));
465
561
  process.exitCode = 1;
466
562
  }
467
563
  return;
@@ -475,7 +571,7 @@ async function main() {
475
571
  }
476
572
  }
477
573
  catch (err) {
478
- console.error(err instanceof Error ? err.message : String(err));
574
+ console.error(formatCliError(err));
479
575
  process.exitCode = 1;
480
576
  }
481
577
  return;
@@ -499,7 +595,7 @@ async function main() {
499
595
  process.exitCode = 1;
500
596
  }
501
597
  catch (err) {
502
- console.error(err instanceof Error ? err.message : String(err));
598
+ console.error(formatCliError(err));
503
599
  process.exitCode = 1;
504
600
  }
505
601
  return;
@@ -539,7 +635,7 @@ async function main() {
539
635
  }
540
636
  }
541
637
  catch (err) {
542
- console.error(err instanceof Error ? err.message : String(err));
638
+ console.error(formatCliError(err));
543
639
  process.exitCode = 1;
544
640
  }
545
641
  return;
@@ -581,7 +677,7 @@ async function main() {
581
677
  }
582
678
  }
583
679
  catch (err) {
584
- console.error(err instanceof Error ? err.message : String(err));
680
+ console.error(formatCliError(err));
585
681
  process.exitCode = 1;
586
682
  }
587
683
  return;
@@ -611,13 +707,13 @@ async function main() {
611
707
  process.exitCode = 1;
612
708
  }
613
709
  catch (err) {
614
- console.error(err instanceof Error ? err.message : String(err));
710
+ console.error(formatCliError(err));
615
711
  process.exitCode = 1;
616
712
  }
617
713
  return;
618
714
  }
619
715
  // `upgrade` is a pure cwd file-transformer (package.json pins + import moves) driven by a per-release
620
- // recipe, then verified with `nifra check`. Dispatch before the eager `loadApp` — it must run on any
716
+ // recipe, then verified with `nifra check`. Dispatch before the eager `loadApp` - it must run on any
621
717
  // repo (API-only, not built, or mid-upgrade with edits that don't yet typecheck under dry-run).
622
718
  if (command === "upgrade") {
623
719
  const { runUpgrade } = await import("./upgrade.js");
@@ -634,12 +730,12 @@ async function main() {
634
730
  process.exitCode = 1;
635
731
  }
636
732
  catch (err) {
637
- console.error(err instanceof Error ? err.message : String(err));
733
+ console.error(formatCliError(err));
638
734
  process.exitCode = 1;
639
735
  }
640
736
  return;
641
737
  }
642
- // `port` is a pure cwd-based portability linter (scans source, doesn't run the app) — like `check`/
738
+ // `port` is a pure cwd-based portability linter (scans source, doesn't run the app) - like `check`/
643
739
  // `doctor`, dispatch before the eager `loadApp` so it runs on an API-only / not-yet-built project.
644
740
  if (command === "port") {
645
741
  const { runPort } = await import("./port.js");
@@ -661,7 +757,7 @@ async function main() {
661
757
  process.exitCode = 1;
662
758
  }
663
759
  catch (err) {
664
- console.error(err instanceof Error ? err.message : String(err));
760
+ console.error(formatCliError(err));
665
761
  process.exitCode = 1;
666
762
  }
667
763
  return;
@@ -720,7 +816,7 @@ async function main() {
720
816
  // exported `parseFlags`. `import.meta.main` is true only for the process's entry module.
721
817
  if (import.meta.main) {
722
818
  main().catch((err) => {
723
- console.error(err instanceof Error ? err.message : String(err));
819
+ console.error(formatCliError(err));
724
820
  process.exitCode = 1;
725
821
  });
726
822
  }
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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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * `nifra snapshot` / `nifra diff` — the API breaking-change gate.
2
+ * `nifra snapshot` / `nifra diff` - the API breaking-change gate.
3
3
  *
4
4
  * nifra snapshot [--out api-snapshot.json] Write the backend's route contract as plain JSON.
5
5
  * nifra diff <baseline.json> [--json] Re-snapshot and compare against the committed
@@ -10,11 +10,11 @@
10
10
  * before it ships. Classification lives in `@nifrajs/core/diff` (direction-aware, fails closed);
11
11
  * this module only loads `backend.ts` and renders the result.
12
12
  *
13
- * Loads ONLY `backend.ts` — the API contract — so it works on an API-only project with no
13
+ * Loads ONLY `backend.ts` - the API contract - so it works on an API-only project with no
14
14
  * framework config or routes/ directory (unlike the eager `loadApp`).
15
15
  */
16
16
  import { type RouteSnapshot, type RoutesDiff } from "@nifrajs/core/diff";
17
- /** Snapshot file envelope — versioned so a future format change can migrate instead of misparse. */
17
+ /** Snapshot file envelope - versioned so a future format change can migrate instead of misparse. */
18
18
  export interface SnapshotFile {
19
19
  readonly nifraSnapshot: 1;
20
20
  readonly routes: readonly RouteSnapshot[];
package/dist/diff-tool.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * `nifra snapshot` / `nifra diff` — the API breaking-change gate.
2
+ * `nifra snapshot` / `nifra diff` - the API breaking-change gate.
3
3
  *
4
4
  * nifra snapshot [--out api-snapshot.json] Write the backend's route contract as plain JSON.
5
5
  * nifra diff <baseline.json> [--json] Re-snapshot and compare against the committed
@@ -10,7 +10,7 @@
10
10
  * before it ships. Classification lives in `@nifrajs/core/diff` (direction-aware, fails closed);
11
11
  * this module only loads `backend.ts` and renders the result.
12
12
  *
13
- * Loads ONLY `backend.ts` — the API contract — so it works on an API-only project with no
13
+ * Loads ONLY `backend.ts` - the API contract - so it works on an API-only project with no
14
14
  * framework config or routes/ directory (unlike the eager `loadApp`).
15
15
  */
16
16
  var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
@@ -32,14 +32,14 @@ export function parseSnapshotFile(content, sourcePath) {
32
32
  parsed = JSON.parse(content);
33
33
  }
34
34
  catch {
35
- throw new Error(`[nifra] ${sourcePath} is not valid JSON — regenerate it with \`nifra snapshot\`.`);
35
+ throw new Error(`[nifra] ${sourcePath} is not valid JSON - regenerate it with \`nifra snapshot\`.`);
36
36
  }
37
37
  const record = parsed;
38
38
  if (record === null ||
39
39
  typeof record !== "object" ||
40
40
  record.nifraSnapshot !== 1 ||
41
41
  !Array.isArray(record.routes)) {
42
- throw new Error(`[nifra] ${sourcePath} is not a nifra API snapshot — expected { "nifraSnapshot": 1, "routes": [...] }.`);
42
+ throw new Error(`[nifra] ${sourcePath} is not a nifra API snapshot - expected { "nifraSnapshot": 1, "routes": [...] }.`);
43
43
  }
44
44
  return record;
45
45
  }
@@ -62,7 +62,7 @@ export function formatDiff(diff) {
62
62
  .map(describeChange);
63
63
  const breaking = diff.changes.filter((change) => change.severity === "breaking").length;
64
64
  const summary = diff.hasBreaking
65
- ? `${breaking} breaking change${breaking === 1 ? "" : "s"} — existing clients will fail.`
65
+ ? `${breaking} breaking change${breaking === 1 ? "" : "s"} - existing clients will fail.`
66
66
  : "No breaking changes.";
67
67
  return `${lines.join("\n")}\n\n${summary}`;
68
68
  }
@@ -70,7 +70,7 @@ export function formatDiff(diff) {
70
70
  async function snapshotBackend(cwd) {
71
71
  const backendPath = resolve(cwd, "backend.ts");
72
72
  if (!existsSync(backendPath)) {
73
- throw new Error(`[nifra] no backend.ts in ${cwd} — \`nifra snapshot\`/\`nifra diff\` compare the API contract, which lives in backend.ts.`);
73
+ throw new Error(`[nifra] no backend.ts in ${cwd} - \`nifra snapshot\`/\`nifra diff\` compare the API contract, which lives in backend.ts.`);
74
74
  }
75
75
  const backend = (await import(__rewriteRelativeImportExtension(backendPath))).backend;
76
76
  if (backend === undefined) {
@@ -91,7 +91,7 @@ export async function runDiff(cwd, baselinePath, options) {
91
91
  const resolved = resolve(cwd, baselinePath);
92
92
  const baselineFile = Bun.file(resolved);
93
93
  if (!(await baselineFile.exists())) {
94
- throw new Error(`[nifra] baseline not found: ${resolved} — create it on your main branch with \`nifra snapshot\`.`);
94
+ throw new Error(`[nifra] baseline not found: ${resolved} - create it on your main branch with \`nifra snapshot\`.`);
95
95
  }
96
96
  const baseline = parseSnapshotFile(await baselineFile.text(), baselinePath);
97
97
  const current = await snapshotBackend(cwd);
@@ -1,8 +1,8 @@
1
1
  /**
2
- * `nifra_docs` — searchable framework documentation for agents. The corpus is the generated
2
+ * `nifra_docs` - searchable framework documentation for agents. The corpus is the generated
3
3
  * `llms-full.txt` (written into this package by `bun run gen:llms`, so it can't drift from the
4
4
  * source it's generated from). Instead of dumping the whole ~150 KB into an agent's context, the
5
- * tool keyword-scores the document's `##` sections and returns only the top matches — or, with no
5
+ * tool keyword-scores the document's `##` sections and returns only the top matches - or, with no
6
6
  * query, just the section index (the cheap discovery call).
7
7
  *
8
8
  * Deliberately NOT a vector search: the corpus is one curated document with descriptive headings;
@@ -25,6 +25,6 @@ export declare function searchSections(sections: readonly DocSection[], query: s
25
25
  /** Render the tool result: matched sections, or the index when no query was given. */
26
26
  export declare function renderDocsResult(markdown: string, query: string | undefined, limit: number): string;
27
27
  /** Load the bundled corpus. Resolves relative to this module so it works from `src/` (repo dev)
28
- * and `dist/` (published) alike — `docs/llms-full.txt` sits at the package root next to both. */
28
+ * and `dist/` (published) alike - `docs/llms-full.txt` sits at the package root next to both. */
29
29
  export declare function loadDocsCorpus(): Promise<string | undefined>;
30
30
  //# sourceMappingURL=docs-search.d.ts.map