@nifrajs/cli 5.0.0 → 5.1.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 (202) hide show
  1. package/README.md +7 -2
  2. package/dist/assure-hydration.d.ts.map +1 -1
  3. package/dist/assure-hydration.js +4 -2
  4. package/dist/assure-hydration.js.map +1 -1
  5. package/dist/assure.d.ts +12 -2
  6. package/dist/assure.d.ts.map +1 -1
  7. package/dist/assure.js +59 -8
  8. package/dist/assure.js.map +1 -1
  9. package/dist/capabilities-tool.d.ts.map +1 -1
  10. package/dist/capabilities-tool.js +24 -7
  11. package/dist/capabilities-tool.js.map +1 -1
  12. package/dist/check-diagnostics.d.ts +2 -0
  13. package/dist/check-diagnostics.d.ts.map +1 -1
  14. package/dist/check-diagnostics.js.map +1 -1
  15. package/dist/check-scan.d.ts +8 -2
  16. package/dist/check-scan.d.ts.map +1 -1
  17. package/dist/check-scan.js +43 -10
  18. package/dist/check-scan.js.map +1 -1
  19. package/dist/check.d.ts.map +1 -1
  20. package/dist/check.js +39 -33
  21. package/dist/check.js.map +1 -1
  22. package/dist/cli.d.ts +2 -0
  23. package/dist/cli.d.ts.map +1 -1
  24. package/dist/cli.js +106 -48
  25. package/dist/cli.js.map +1 -1
  26. package/dist/client-module.d.ts +5 -3
  27. package/dist/client-module.d.ts.map +1 -1
  28. package/dist/client-module.js +34 -10
  29. package/dist/client-module.js.map +1 -1
  30. package/dist/command-catalog.d.ts +9 -1
  31. package/dist/command-catalog.d.ts.map +1 -1
  32. package/dist/command-catalog.js +67 -22
  33. package/dist/command-catalog.js.map +1 -1
  34. package/dist/dev-feed-tool.d.ts +18 -1
  35. package/dist/dev-feed-tool.d.ts.map +1 -1
  36. package/dist/dev-feed-tool.js +93 -0
  37. package/dist/dev-feed-tool.js.map +1 -1
  38. package/dist/fix-recipes.d.ts +2 -0
  39. package/dist/fix-recipes.d.ts.map +1 -1
  40. package/dist/fix-recipes.js +93 -12
  41. package/dist/fix-recipes.js.map +1 -1
  42. package/dist/init-agents.d.ts +16 -0
  43. package/dist/init-agents.d.ts.map +1 -1
  44. package/dist/init-agents.js +3 -2
  45. package/dist/init-agents.js.map +1 -1
  46. package/dist/internal/config-paths.d.ts +16 -0
  47. package/dist/internal/config-paths.d.ts.map +1 -0
  48. package/dist/internal/config-paths.js +124 -0
  49. package/dist/internal/config-paths.js.map +1 -0
  50. package/dist/internal/installed-package.d.ts +4 -0
  51. package/dist/internal/installed-package.d.ts.map +1 -0
  52. package/dist/internal/installed-package.js +17 -0
  53. package/dist/internal/installed-package.js.map +1 -0
  54. package/dist/internal/project-specifiers.d.ts +14 -1
  55. package/dist/internal/project-specifiers.d.ts.map +1 -1
  56. package/dist/internal/project-specifiers.js +54 -15
  57. package/dist/internal/project-specifiers.js.map +1 -1
  58. package/dist/internal/source-facts.d.ts +6 -1
  59. package/dist/internal/source-facts.d.ts.map +1 -1
  60. package/dist/internal/source-facts.js +11 -5
  61. package/dist/internal/source-facts.js.map +1 -1
  62. package/dist/internal/typescript-import.d.ts.map +1 -1
  63. package/dist/internal/typescript-import.js +5 -3
  64. package/dist/internal/typescript-import.js.map +1 -1
  65. package/dist/introspect.d.ts +9 -0
  66. package/dist/introspect.d.ts.map +1 -1
  67. package/dist/introspect.js +32 -1
  68. package/dist/introspect.js.map +1 -1
  69. package/dist/levels-tool.d.ts.map +1 -1
  70. package/dist/levels-tool.js +5 -8
  71. package/dist/levels-tool.js.map +1 -1
  72. package/dist/load.d.ts +2 -2
  73. package/dist/load.d.ts.map +1 -1
  74. package/dist/load.js +23 -3
  75. package/dist/load.js.map +1 -1
  76. package/dist/mcp-context.d.ts.map +1 -1
  77. package/dist/mcp-context.js +6 -21
  78. package/dist/mcp-context.js.map +1 -1
  79. package/dist/mcp-delegate.d.ts +2 -2
  80. package/dist/mcp-delegate.d.ts.map +1 -1
  81. package/dist/mcp-delegate.js +19 -7
  82. package/dist/mcp-delegate.js.map +1 -1
  83. package/dist/mcp-exec.d.ts +1 -0
  84. package/dist/mcp-exec.d.ts.map +1 -1
  85. package/dist/mcp-exec.js +8 -3
  86. package/dist/mcp-exec.js.map +1 -1
  87. package/dist/mcp-http.js +1 -1
  88. package/dist/mcp-io.d.ts +13 -0
  89. package/dist/mcp-io.d.ts.map +1 -1
  90. package/dist/mcp-io.js +23 -0
  91. package/dist/mcp-io.js.map +1 -1
  92. package/dist/mcp-path.d.ts +2 -1
  93. package/dist/mcp-path.d.ts.map +1 -1
  94. package/dist/mcp-path.js +9 -24
  95. package/dist/mcp-path.js.map +1 -1
  96. package/dist/mcp.d.ts.map +1 -1
  97. package/dist/mcp.js +40 -17
  98. package/dist/mcp.js.map +1 -1
  99. package/dist/migrate-layout.d.ts +40 -1
  100. package/dist/migrate-layout.d.ts.map +1 -1
  101. package/dist/migrate-layout.js +1316 -228
  102. package/dist/migrate-layout.js.map +1 -1
  103. package/dist/output-schemas.d.ts +34 -0
  104. package/dist/output-schemas.d.ts.map +1 -1
  105. package/dist/output-schemas.js +132 -21
  106. package/dist/output-schemas.js.map +1 -1
  107. package/dist/project-path.d.ts +6 -0
  108. package/dist/project-path.d.ts.map +1 -1
  109. package/dist/project-path.js +48 -14
  110. package/dist/project-path.js.map +1 -1
  111. package/dist/release-verification.d.ts +5 -0
  112. package/dist/release-verification.d.ts.map +1 -1
  113. package/dist/release-verification.js +14 -0
  114. package/dist/release-verification.js.map +1 -1
  115. package/dist/review.d.ts.map +1 -1
  116. package/dist/review.js +5 -0
  117. package/dist/review.js.map +1 -1
  118. package/dist/rules/codes.d.ts +3 -1
  119. package/dist/rules/codes.d.ts.map +1 -1
  120. package/dist/rules/codes.js +3 -1
  121. package/dist/rules/codes.js.map +1 -1
  122. package/dist/rules/data-guard.d.ts +6 -0
  123. package/dist/rules/data-guard.d.ts.map +1 -1
  124. package/dist/rules/data-guard.js +37 -0
  125. package/dist/rules/data-guard.js.map +1 -1
  126. package/dist/rules/legacy.d.ts.map +1 -1
  127. package/dist/rules/legacy.js +20 -1
  128. package/dist/rules/legacy.js.map +1 -1
  129. package/dist/rules/pages.d.ts +29 -3
  130. package/dist/rules/pages.d.ts.map +1 -1
  131. package/dist/rules/pages.js +236 -22
  132. package/dist/rules/pages.js.map +1 -1
  133. package/dist/rules/security.d.ts +3 -2
  134. package/dist/rules/security.d.ts.map +1 -1
  135. package/dist/rules/security.js +42 -11
  136. package/dist/rules/security.js.map +1 -1
  137. package/dist/rules/zones.d.ts.map +1 -1
  138. package/dist/rules/zones.js +31 -9
  139. package/dist/rules/zones.js.map +1 -1
  140. package/dist/stylex-migrate.d.ts.map +1 -1
  141. package/dist/stylex-migrate.js +127 -17
  142. package/dist/stylex-migrate.js.map +1 -1
  143. package/dist/test-tool.d.ts.map +1 -1
  144. package/dist/test-tool.js +3 -9
  145. package/dist/test-tool.js.map +1 -1
  146. package/dist/upgrade.d.ts +20 -5
  147. package/dist/upgrade.d.ts.map +1 -1
  148. package/dist/upgrade.js +86 -9
  149. package/dist/upgrade.js.map +1 -1
  150. package/dist/verification-plan.d.ts.map +1 -1
  151. package/dist/verification-plan.js +5 -2
  152. package/dist/verification-plan.js.map +1 -1
  153. package/dist/version-drift.d.ts.map +1 -1
  154. package/dist/version-drift.js +55 -3
  155. package/dist/version-drift.js.map +1 -1
  156. package/docs/examples.json +2 -2
  157. package/docs/llms-full.txt +481 -61
  158. package/docs/types.json +147 -70
  159. package/package.json +11 -11
  160. package/src/assure-hydration.ts +4 -1
  161. package/src/assure.ts +88 -10
  162. package/src/capabilities-tool.ts +33 -7
  163. package/src/check-diagnostics.ts +2 -0
  164. package/src/check-scan.ts +56 -9
  165. package/src/check.ts +55 -39
  166. package/src/cli.ts +104 -35
  167. package/src/client-module.ts +45 -9
  168. package/src/command-catalog.ts +77 -21
  169. package/src/dev-feed-tool.ts +112 -1
  170. package/src/fix-recipes.ts +101 -10
  171. package/src/init-agents.ts +4 -3
  172. package/src/internal/config-paths.ts +154 -0
  173. package/src/internal/installed-package.ts +15 -0
  174. package/src/internal/project-specifiers.ts +69 -16
  175. package/src/internal/source-facts.ts +23 -5
  176. package/src/internal/typescript-import.ts +5 -3
  177. package/src/introspect.ts +39 -1
  178. package/src/levels-tool.ts +7 -9
  179. package/src/load.ts +29 -3
  180. package/src/mcp-context.ts +5 -18
  181. package/src/mcp-delegate.ts +22 -10
  182. package/src/mcp-exec.ts +9 -2
  183. package/src/mcp-http.ts +1 -1
  184. package/src/mcp-io.ts +33 -0
  185. package/src/mcp-path.ts +8 -22
  186. package/src/mcp.ts +48 -19
  187. package/src/migrate-layout.ts +1496 -237
  188. package/src/output-schemas.ts +179 -23
  189. package/src/project-path.ts +44 -13
  190. package/src/release-verification.ts +20 -0
  191. package/src/review.ts +5 -0
  192. package/src/rules/codes.ts +3 -1
  193. package/src/rules/data-guard.ts +40 -0
  194. package/src/rules/legacy.ts +22 -1
  195. package/src/rules/pages.ts +266 -24
  196. package/src/rules/security.ts +49 -11
  197. package/src/rules/zones.ts +30 -7
  198. package/src/stylex-migrate.ts +117 -17
  199. package/src/test-tool.ts +3 -9
  200. package/src/upgrade.ts +96 -8
  201. package/src/verification-plan.ts +9 -2
  202. package/src/version-drift.ts +53 -2
package/dist/check.js CHANGED
@@ -18,12 +18,13 @@
18
18
  import { existsSync, mkdtempSync, readFileSync, realpathSync, rmdirSync, rmSync } from "node:fs";
19
19
  import { tmpdir } from "node:os";
20
20
  import { dirname, isAbsolute, join, relative, resolve } from "node:path";
21
- import { specifierPackage } from "@nifrajs/web/zones";
21
+ import { declaredSide, specifierPackage } from "@nifrajs/web/zones";
22
22
  import { BACKEND_APP_FILE } from "./app-files.js";
23
23
  import { collectCheckDiagnostics, safeIgnoreGlobMatch, } from "./check-diagnostics.js";
24
24
  import { appDirs, clientModuleRoot } from "./client-module.js";
25
25
  import { checkContractsLock, DEFAULT_CONTRACTS_LOCK } from "./contracts.js";
26
26
  import { normalizeSeverity, toSarifLog } from "./diagnostics.js";
27
+ import { installedManifest } from "./internal/installed-package.js";
27
28
  import { createApiOnlyProbe, createNifraProjectProbe } from "./internal/nifra-project.js";
28
29
  import { createSpecifierResolver } from "./internal/project-specifiers.js";
29
30
  import { createSourceFacts } from "./internal/source-facts.js";
@@ -58,7 +59,7 @@ function resolveTscBin(cwd) {
58
59
  async function typecheck(cwd, signal) {
59
60
  const tsconfig = join(cwd, "tsconfig.json");
60
61
  if (!(await Bun.file(tsconfig).exists()))
61
- return { ran: false, ok: true, note: "no tsconfig.json" };
62
+ return { ran: false, ok: true, missingTsconfig: true, note: "no tsconfig.json" };
62
63
  // Routes import their generated `./+types` modules; bring them up to date before tsc reads them.
63
64
  const { refreshRouteTypes } = await import("./route-types.js");
64
65
  refreshRouteTypes(cwd, () => { });
@@ -218,6 +219,13 @@ async function collectContractFacts(cwd) {
218
219
  };
219
220
  }
220
221
  }
222
+ /** A project whose TypeScript no tsconfig.json covers has no typecheck to pass: the gate fails. */
223
+ function withoutTsconfig(result, sourceFiles) {
224
+ if (result.missingTsconfig !== true)
225
+ return result;
226
+ const sources = sourceFiles.filter(({ file }) => !/\.d\.[cm]?ts$/.test(file)).length;
227
+ return sources === 0 ? result : { ...result, ok: false, sourcesWithoutTsconfig: sources };
228
+ }
221
229
  /** Record the zoned files the compiler's program left out, minus the typecheck rule's `ignore` globs. */
222
230
  function withProgramCoverage(cwd, result, sourceFiles, checkConfig) {
223
231
  const { programFiles, ...rest } = result;
@@ -264,7 +272,8 @@ async function buildProjectScan(cwd, opts) {
264
272
  ]);
265
273
  // tsc compiles TypeScript sources only; the JavaScript and component files the scan reads are no
266
274
  // program's to cover.
267
- const typecheckResult = withProgramCoverage(cwd, typecheckRun, sourceFiles.filter(({ file }) => /\.[cm]?tsx?$/.test(file)), checkConfig);
275
+ const typeScriptSources = sourceFiles.filter(({ file }) => /\.[cm]?tsx?$/.test(file));
276
+ const typecheckResult = withoutTsconfig(withProgramCoverage(cwd, typecheckRun, typeScriptSources, checkConfig), typeScriptSources);
268
277
  // TypeScript 7's unstable API materializes source files through one project session. Build the
269
278
  // source index first so every syntax-backed scanner (including the independent rule registry)
270
279
  // shares that session instead of spawning one compiler process per rule.
@@ -272,16 +281,6 @@ async function buildProjectScan(cwd, opts) {
272
281
  const loadedTypeScript = await loadProjectTypeScript(cwd, opts.loadTypeScript, source);
273
282
  try {
274
283
  const sqlCompiler = loadedTypeScript.compiler;
275
- const sourceFacts = sqlCompiler === undefined ? undefined : createSourceFacts(sqlCompiler);
276
- const sqlImports = sqlCompiler === undefined ? undefined : createProjectSqlImports(cwd);
277
- const project = new Map(sourceFiles.map(({ file, content }) => [file.replaceAll("\\", "/"), content]));
278
- for (const { file, content } of sourceFiles) {
279
- staticRoutes.push(...scanStaticRouteText(file, content, sourceFacts, project));
280
- routePaths.push(...scanUnresolvedRoutePaths(file, content, project, sourceFacts));
281
- responseRoutes.push(...scanResponseRoutes(file, content, sourceFacts));
282
- if (sqlCompiler !== undefined)
283
- interpolatedSql.push(...scanSqlSites(file, content, sqlCompiler, sqlImports));
284
- }
285
284
  // Resolved modules stay project-relative, as the scanned files are: the zone of a path is read
286
285
  // from its folders, and a checkout under a folder named `backend/` must not make it all backend.
287
286
  // The resolver answers with real paths, so the project root is read as one too.
@@ -294,6 +293,20 @@ async function buildProjectScan(cwd, opts) {
294
293
  }
295
294
  })();
296
295
  const resolveSpecifier = createSpecifierResolver();
296
+ const sourceFacts = sqlCompiler === undefined
297
+ ? undefined
298
+ : createSourceFacts(sqlCompiler, {
299
+ keepsTypeOnlyImports: (file) => resolveSpecifier.keepsTypeOnlyImports(isAbsolute(file) ? file : join(realCwd, file)),
300
+ });
301
+ const sqlImports = sqlCompiler === undefined ? undefined : createProjectSqlImports(cwd);
302
+ const project = new Map(sourceFiles.map(({ file, content }) => [file.replaceAll("\\", "/"), content]));
303
+ for (const { file, content } of sourceFiles) {
304
+ staticRoutes.push(...scanStaticRouteText(file, content, sourceFacts, project));
305
+ routePaths.push(...scanUnresolvedRoutePaths(file, content, project, sourceFacts));
306
+ responseRoutes.push(...scanResponseRoutes(file, content, sourceFacts));
307
+ if (sqlCompiler !== undefined)
308
+ interpolatedSql.push(...scanSqlSites(file, content, sqlCompiler, sqlImports));
309
+ }
297
310
  const projectPath = (path) => {
298
311
  const rel = relative(realCwd, path).replaceAll("\\", "/");
299
312
  return rel.startsWith("../") || isAbsolute(rel) ? path : rel;
@@ -317,7 +330,7 @@ async function buildProjectScan(cwd, opts) {
317
330
  // An app's `clientModule` is browser code wherever it lives: the generated client entry imports it.
318
331
  const browserRoots = new Set();
319
332
  for (const app of appDirs(source.files)) {
320
- const entry = clientModuleRoot(cwd, app, resolveSpecifier);
333
+ const entry = clientModuleRoot(cwd, app, resolveSpecifier, sqlCompiler);
321
334
  if (entry === undefined)
322
335
  continue;
323
336
  const rel = projectPath(entry.file);
@@ -329,29 +342,22 @@ async function buildProjectScan(cwd, opts) {
329
342
  browserRoots.add(rel);
330
343
  browserModules.push({ rel, content });
331
344
  }
332
- // Node's lookup: the nearest `node_modules/<name>` at or above the importing file.
345
+ // The side the package gives the entry the import names: package-wide, or per entry.
333
346
  const backendPackage = (fromFile, specifier) => {
334
347
  const name = specifierPackage(specifier);
335
348
  if (name === undefined)
336
349
  return false;
337
- let dir = dirname(isAbsolute(fromFile) ? fromFile : join(realCwd, fromFile));
338
- for (;;) {
339
- const manifest = join(dir, "node_modules", name, "package.json");
340
- if (existsSync(manifest)) {
341
- try {
342
- const nifra = JSON.parse(readFileSync(manifest, "utf8"))?.nifra;
343
- return (typeof nifra === "object" &&
344
- nifra !== null &&
345
- Reflect.get(nifra, "environment") === "backend");
346
- }
347
- catch {
348
- return false;
349
- }
350
- }
351
- const parent = dirname(dir);
352
- if (parent === dir)
353
- return false;
354
- dir = parent;
350
+ const manifest = installedManifest(isAbsolute(fromFile) ? fromFile : join(realCwd, fromFile), name);
351
+ if (manifest === undefined)
352
+ return false;
353
+ try {
354
+ const nifra = JSON.parse(readFileSync(manifest, "utf8"))?.nifra;
355
+ return (typeof nifra === "object" &&
356
+ nifra !== null &&
357
+ declaredSide(Reflect.get(nifra, "environment"), specifier) === "backend");
358
+ }
359
+ catch {
360
+ return false;
355
361
  }
356
362
  };
357
363
  const serverOnlyChains = createServerOnlyChains({
package/dist/check.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../src/check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../src/check.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts CHANGED
@@ -82,6 +82,8 @@ export declare function assertFrameworkOptionsEdgeExported(fw: NifraFramework, c
82
82
  /** `nifra dev` shows the in-page issues badge unless `--no-indicator` or `dev.indicator: false` turns it off. */
83
83
  export declare function showsIndicator(flags: Pick<Flags, "noIndicator">, fw: Pick<NifraFramework, "dev">): boolean;
84
84
  export declare function assertNoShadowedPages(app: LoadedApp): void;
85
+ /** The flags of `nifra dev`, `build` and `start`, as `--flag value` or `--flag=value`. Anything else is
86
+ * refused: an ignored `--target=vercel` would build the default target and exit 0. */
85
87
  export declare function parseFlags(args: readonly string[]): Flags;
86
88
  /**
87
89
  * `assure` uses the structured-bundle lane only when explicitly asked. A bare `--json` is NOT a
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AA2BA,OAAO,EAAyB,KAAK,SAAS,EAAW,KAAK,cAAc,EAAE,MAAM,WAAW,CAAA;AAQ/F,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,gFAAgF;IAChF,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB;gDAC4C;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,mFAAmF;IACnF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB;0GACsG;IACtG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB;;;yGAGqG;IACrG,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;IACrB;;uGAEmG;IACnG,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAA;IACxC,oGAAoG;IACpG,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;CAC9B;AAmRD;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAoBnD;AA0QD;;;;;;;GAOG;AACH;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,EAC1B,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAWf;AAED;;;;;;;;;GASG;AACH,wBAAsB,kCAAkC,CACtD,EAAE,EAAE,cAAc,EAClB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAef;AAED;;;;GAIG;AACH,iHAAiH;AACjH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,EACjC,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,GAC9B,OAAO,CAET;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAM1D;AAyOD,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,KAAK,CA6BzD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAQtE;AA8YD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAS9F"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AA2BA,OAAO,EAAyB,KAAK,SAAS,EAAW,KAAK,cAAc,EAAE,MAAM,WAAW,CAAA;AAQ/F,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,gFAAgF;IAChF,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB;gDAC4C;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,mFAAmF;IACnF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB;0GACsG;IACtG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB;;;yGAGqG;IACrG,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;IACrB;;uGAEmG;IACnG,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAA;IACxC,oGAAoG;IACpG,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;CAC9B;AAyRD;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAoBnD;AAkRD;;;;;;;GAOG;AACH;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,EAC1B,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAWf;AAED;;;;;;;;;GASG;AACH,wBAAsB,kCAAkC,CACtD,EAAE,EAAE,cAAc,EAClB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAef;AAED;;;;GAIG;AACH,iHAAiH;AACjH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,EACjC,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,GAC9B,OAAO,CAET;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAM1D;AA2PD;sFACsF;AACtF,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,KAAK,CA+CzD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAQtE;AA+ZD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAS9F"}
package/dist/cli.js CHANGED
@@ -93,6 +93,9 @@ Usage:
93
93
  one left. Exits 1 while current-code errors are open.
94
94
  nifra logs [--since <n>] [--level <l>] [--grep <s>] The dev server's console, server and
95
95
  browser, each line tagged with its request.
96
+ nifra explain [<message>] [--stack <s>] [--name <n>] A structured diagnostic for an error: its
97
+ code, the frame in your source, and the cause and fix when
98
+ nifra knows them. No message: the dev server's latest error.
96
99
  nifra cdn-check <url> Check a deployed page behind a CDN: served from cache, no
97
100
  internal or CDN-only headers reaching the visitor, and soft
98
101
  navigations get page data, not the cached document. Exits 1
@@ -240,20 +243,23 @@ Usage:
240
243
  this CLI prints the command for that release's CLI. Fail-closed
241
244
  on an unknown version or a rollback (--allow-downgrade
242
245
  overrides). Deterministic + idempotent.
243
- nifra migrate layout [--write] [--json]
246
+ nifra migrate layout [--write] [--zones] [--json]
244
247
  Move an app onto the frontend/backend split: split each route
245
248
  into x.tsx + x.backend.ts, fold _middleware.ts into
246
249
  _layout.backend.ts, move backend.ts/framework.ts under backend/,
247
- and zone the other modules into frontend/, backend/ or shared/.
248
- Dry-run by default; --write applies.
250
+ and zone the other modules into frontend/, backend/ or shared/
251
+ (--zones keeps them in place and lists them in package.json
252
+ "nifra.zones"). Dry-run by default; --write applies.
249
253
  nifra types [--check] [--json] Generate each route's ./+types module under .nifra/types: its
250
254
  params, the data its output schemas let through, and api typed
251
255
  by backend/app.ts. dev, build and check refresh them too;
252
256
  --check fails when one is stale.
253
- nifra schemas [--write] [--json] Draft loaderOutput/actionOutput from each loader's and
257
+ nifra schemas [--write] [--check] [--json]
258
+ Draft loaderOutput/actionOutput from each loader's and
254
259
  action's return type for review; --write adds the missing
255
260
  ones (marked nifra:generated) and refreshes generated ones.
256
- Lists the returned fields a hand-written schema drops.
261
+ Lists the returned fields a hand-written schema drops;
262
+ --check fails on a missing, stale or any-typed one.
257
263
  nifra port [--target <t>] [--json] Portability linter: print a feature × deploy-target capability
258
264
  [--ci] [--strict] matrix (in-memory stores, in-process cron/WebSocket, Bun/Deno
259
265
  globals, node: builtins) with file:line evidence. --target auto-
@@ -281,7 +287,7 @@ set in the process environment is never overwritten by a file.
281
287
 
282
288
  ${renderCommandCatalogHelp()}`;
283
289
  // Kept in lockstep with packages/cli/package.json by check:publish's version-consistency gate.
284
- const CLI_VERSION = "5.0.0";
290
+ const CLI_VERSION = "5.1.0";
285
291
  // A render adapter + nifra server are opaque to the CLI (it just forwards them); cast at the seam.
286
292
  const asAdapter = (v) => v;
287
293
  const asBunPlugins = (v) => v;
@@ -320,6 +326,13 @@ export function formatCliError(err) {
320
326
  return err.message;
321
327
  return String(err);
322
328
  }
329
+ /** A failed command's message on stderr and, for a `--json` caller parsing stdout, as JSON there. */
330
+ function reportFailure(err, argv) {
331
+ const message = formatCliError(err);
332
+ console.error(message);
333
+ if (argv.includes("--json") || argv.includes("--json=true"))
334
+ console.log(JSON.stringify({ ok: false, error: message }, null, 2));
335
+ }
323
336
  async function dev(app, flags) {
324
337
  if (app.framework.componentPipeline !== undefined) {
325
338
  if (flags.bun)
@@ -829,44 +842,70 @@ async function start(app, flags) {
829
842
  Bun.env.PORT = String(flags.port);
830
843
  await import(__rewriteRelativeImportExtension(serverFile));
831
844
  }
845
+ const VALUE_FLAGS = {
846
+ "--port": "port",
847
+ "-p": "port",
848
+ "--out": "out",
849
+ "--target": "target",
850
+ };
851
+ const SWITCH_FLAGS = {
852
+ "--poll": "poll",
853
+ "--report": "report",
854
+ "--vite": "vite",
855
+ "--bun": "bun",
856
+ "--allow-duplicate-identity": "allowDuplicateIdentity",
857
+ "--no-indicator": "noIndicator",
858
+ };
859
+ /** The flags of `nifra dev`, `build` and `start`, as `--flag value` or `--flag=value`. Anything else is
860
+ * refused: an ignored `--target=vercel` would build the default target and exit 0. */
832
861
  export function parseFlags(args) {
833
862
  // Port precedence: `--port`/`-p` (most specific) > `PORT` env > the framework default. The default is
834
863
  // the SAME uncommon port for `nifra dev` and `nifra start` (DEFAULT_DEV_PORT) so a project's URL is
835
864
  // stable across commands and doesn't collide with the usual 3000/5173/8080 crowd.
836
865
  let port = Number(Bun.env.PORT ?? DEFAULT_DEV_PORT);
837
866
  let out;
838
- let poll = Bun.env.CHOKIDAR_USEPOLLING === "1";
839
867
  let target;
840
- let report = false;
841
- let vite = false;
842
- let bun = false;
843
- let allowDuplicateIdentity = false;
844
- let noIndicator = false;
868
+ const switches = {
869
+ poll: Bun.env.CHOKIDAR_USEPOLLING === "1",
870
+ report: false,
871
+ vite: false,
872
+ bun: false,
873
+ allowDuplicateIdentity: false,
874
+ noIndicator: false,
875
+ };
845
876
  for (let i = 0; i < args.length; i++) {
846
- const a = args[i];
847
- if ((a === "--port" || a === "-p") && args[i + 1])
848
- port = Number(args[++i]);
849
- else if (a === "--out" && args[i + 1])
850
- out = args[++i];
851
- else if (a === "--poll")
852
- poll = true;
853
- else if (a === "--target" && args[i + 1])
854
- target = args[++i];
855
- else if (a === "--report")
856
- report = true;
857
- else if (a === "--vite")
858
- vite = true;
859
- else if (a === "--bun")
860
- bun = true;
861
- else if (a === "--allow-duplicate-identity")
862
- allowDuplicateIdentity = true;
863
- else if (a === "--no-indicator")
864
- noIndicator = true;
877
+ const arg = args[i];
878
+ const equals = arg.startsWith("--") ? arg.indexOf("=") : -1;
879
+ const name = equals === -1 ? arg : arg.slice(0, equals);
880
+ const valueField = Object.hasOwn(VALUE_FLAGS, name) ? VALUE_FLAGS[name] : undefined;
881
+ if (valueField !== undefined) {
882
+ const value = equals === -1 ? args[++i] : arg.slice(equals + 1);
883
+ if (value === undefined || value === "" || (equals === -1 && value.startsWith("-")))
884
+ throw new Error(`[nifra] ${name} needs a value`);
885
+ if (valueField === "port")
886
+ port = Number(value);
887
+ else if (valueField === "out")
888
+ out = value;
889
+ else
890
+ target = value;
891
+ continue;
892
+ }
893
+ const switchField = Object.hasOwn(SWITCH_FLAGS, name) ? SWITCH_FLAGS[name] : undefined;
894
+ if (switchField !== undefined) {
895
+ const value = equals === -1 ? "true" : arg.slice(equals + 1);
896
+ if (value !== "true" && value !== "false")
897
+ throw new Error(`[nifra] ${name} takes no value (or =true / =false)`);
898
+ switches[switchField] = value === "true";
899
+ continue;
900
+ }
901
+ throw new Error(arg.startsWith("-")
902
+ ? `[nifra] unknown option: ${arg} - see \`nifra help\``
903
+ : `[nifra] unexpected argument: ${arg} - see \`nifra help\``);
865
904
  }
866
905
  if (!Number.isFinite(port) || port < 0 || port > 65535) {
867
906
  throw new Error(`[nifra] invalid --port: ${port}`);
868
907
  }
869
- return { port, out, poll, target, report, vite, bun, allowDuplicateIdentity, noIndicator };
908
+ return { port, out, target, ...switches };
870
909
  }
871
910
  /**
872
911
  * `assure` uses the structured-bundle lane only when explicitly asked. A bare `--json` is NOT a
@@ -1053,7 +1092,7 @@ async function main() {
1053
1092
  // A thrown error is nifra's own reporting path, not a silent abort: clear the sentinel so the
1054
1093
  // hint stays reserved for the case where the process died inside the app import.
1055
1094
  markReflecting(undefined);
1056
- console.error(formatCliError(err));
1095
+ reportFailure(err, argv);
1057
1096
  const candidate = typeof err === "object" && err !== null && "exitCode" in err
1058
1097
  ? err.exitCode
1059
1098
  : undefined;
@@ -1117,6 +1156,7 @@ async function main() {
1117
1156
  console.error(formatCliError(err));
1118
1157
  process.exitCode = 1;
1119
1158
  }
1159
+ exitIfHeldOpen(command);
1120
1160
  return;
1121
1161
  }
1122
1162
  // `upgrade` is a pure cwd file-transformer (package.json pins + import moves) driven by a per-release
@@ -1141,9 +1181,10 @@ async function main() {
1141
1181
  process.exitCode = 1;
1142
1182
  }
1143
1183
  catch (err) {
1144
- console.error(formatCliError(err));
1184
+ reportFailure(err, argv);
1145
1185
  process.exitCode = 1;
1146
1186
  }
1187
+ exitIfHeldOpen(command);
1147
1188
  return;
1148
1189
  }
1149
1190
  // `port` is a pure cwd-based portability linter (scans source, doesn't run the app) - like `check`/
@@ -1154,21 +1195,38 @@ async function main() {
1154
1195
  process.exitCode = 1;
1155
1196
  return;
1156
1197
  }
1198
+ if (argv.includes("--help") || argv.includes("-h")) {
1199
+ console.log(HELP);
1200
+ return;
1201
+ }
1157
1202
  const flags = parseFlags(argv.slice(1));
1158
- const app = await loadApp(process.cwd(), flags.out);
1159
- if (command !== "start") {
1160
- const { refreshRouteTypes, watchRouteTypes } = await import("./route-types.js");
1161
- refreshRouteTypes(app.cwd);
1162
- // A relaunched `nifra dev --bun` child runs beside its parent, which already watches.
1163
- if (command === "dev" && process.env.NIFRA_BUN_DEV_TOKEN === undefined)
1164
- watchRouteTypes(app.cwd);
1203
+ try {
1204
+ const app = await loadApp(process.cwd(), flags.out);
1205
+ if (command !== "start" && process.env.NIFRA_BUN_DEV_TOKEN === undefined) {
1206
+ const { unservedRoutesWarning } = await import("./introspect.js");
1207
+ const unserved = unservedRoutesWarning(app);
1208
+ if (unserved !== undefined)
1209
+ console.warn(unserved);
1210
+ }
1211
+ if (command !== "start") {
1212
+ const { refreshRouteTypes, watchRouteTypes } = await import("./route-types.js");
1213
+ refreshRouteTypes(app.cwd);
1214
+ // A relaunched `nifra dev --bun` child runs beside its parent, which already watches.
1215
+ if (command === "dev" && process.env.NIFRA_BUN_DEV_TOKEN === undefined)
1216
+ watchRouteTypes(app.cwd);
1217
+ }
1218
+ if (command === "dev")
1219
+ await dev(app, flags);
1220
+ else if (command === "build")
1221
+ await buildForTarget(app, flags.target, flags);
1222
+ else
1223
+ await start(app, flags);
1224
+ }
1225
+ finally {
1226
+ // `dev` and `start` keep serving after they return; a build is over.
1227
+ if (command === "build")
1228
+ exitIfHeldOpen(command);
1165
1229
  }
1166
- if (command === "dev")
1167
- await dev(app, flags);
1168
- else if (command === "build")
1169
- await buildForTarget(app, flags.target, flags);
1170
- else
1171
- await start(app, flags);
1172
1230
  }
1173
1231
  /**
1174
1232
  * Bun 1.4 on Windows can report `import.meta.main === false` for a module launched after a `--config`
@@ -1354,7 +1412,7 @@ if (isMainModule() || isBunDevReexecChild() || hasCliCommandToken()) {
1354
1412
  await main();
1355
1413
  }
1356
1414
  catch (err) {
1357
- console.error(formatCliError(err));
1415
+ reportFailure(err, cliArgv());
1358
1416
  process.exitCode = 1;
1359
1417
  }
1360
1418
  }