@nifrajs/cli 4.0.0 → 5.0.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 (332) hide show
  1. package/README.md +3 -0
  2. package/dist/agent-files.d.ts +107 -0
  3. package/dist/agent-files.d.ts.map +1 -0
  4. package/dist/agent-files.js +162 -0
  5. package/dist/agent-files.js.map +1 -0
  6. package/dist/app-files.d.ts +6 -0
  7. package/dist/app-files.d.ts.map +1 -1
  8. package/dist/app-files.js +27 -2
  9. package/dist/app-files.js.map +1 -1
  10. package/dist/assure-hydration.d.ts.map +1 -1
  11. package/dist/assure-hydration.js +7 -2
  12. package/dist/assure-hydration.js.map +1 -1
  13. package/dist/capabilities-tool.d.ts.map +1 -1
  14. package/dist/capabilities-tool.js +13 -3
  15. package/dist/capabilities-tool.js.map +1 -1
  16. package/dist/check-diagnostics.d.ts +20 -2
  17. package/dist/check-diagnostics.d.ts.map +1 -1
  18. package/dist/check-diagnostics.js +54 -7
  19. package/dist/check-diagnostics.js.map +1 -1
  20. package/dist/check-scan.d.ts +75 -22
  21. package/dist/check-scan.d.ts.map +1 -1
  22. package/dist/check-scan.js +1475 -310
  23. package/dist/check-scan.js.map +1 -1
  24. package/dist/check.d.ts +2 -2
  25. package/dist/check.d.ts.map +1 -1
  26. package/dist/check.js +192 -65
  27. package/dist/check.js.map +1 -1
  28. package/dist/cli.d.ts +7 -0
  29. package/dist/cli.d.ts.map +1 -1
  30. package/dist/cli.js +112 -5
  31. package/dist/cli.js.map +1 -1
  32. package/dist/client-module.d.ts +18 -0
  33. package/dist/client-module.d.ts.map +1 -0
  34. package/dist/client-module.js +49 -0
  35. package/dist/client-module.js.map +1 -0
  36. package/dist/command-catalog.d.ts +21 -5
  37. package/dist/command-catalog.d.ts.map +1 -1
  38. package/dist/command-catalog.js +138 -38
  39. package/dist/command-catalog.js.map +1 -1
  40. package/dist/component-check.d.ts +13 -0
  41. package/dist/component-check.d.ts.map +1 -0
  42. package/dist/component-check.js +59 -0
  43. package/dist/component-check.js.map +1 -0
  44. package/dist/contract-proof.d.ts +1 -1
  45. package/dist/contract-proof.d.ts.map +1 -1
  46. package/dist/contract-proof.js +2 -24
  47. package/dist/contract-proof.js.map +1 -1
  48. package/dist/contracts.d.ts +19 -0
  49. package/dist/contracts.d.ts.map +1 -1
  50. package/dist/contracts.js +50 -3
  51. package/dist/contracts.js.map +1 -1
  52. package/dist/db-tool.d.ts.map +1 -1
  53. package/dist/db-tool.js +4 -3
  54. package/dist/db-tool.js.map +1 -1
  55. package/dist/dev-bun-config.d.ts +5 -1
  56. package/dist/dev-bun-config.d.ts.map +1 -1
  57. package/dist/dev-bun-config.js +44 -11
  58. package/dist/dev-bun-config.js.map +1 -1
  59. package/dist/diagnostics.d.ts +3 -0
  60. package/dist/diagnostics.d.ts.map +1 -1
  61. package/dist/diagnostics.js.map +1 -1
  62. package/dist/diff-tool.d.ts +9 -8
  63. package/dist/diff-tool.d.ts.map +1 -1
  64. package/dist/diff-tool.js +28 -24
  65. package/dist/diff-tool.js.map +1 -1
  66. package/dist/doctor.d.ts +13 -0
  67. package/dist/doctor.d.ts.map +1 -1
  68. package/dist/doctor.js +23 -15
  69. package/dist/doctor.js.map +1 -1
  70. package/dist/env-file.d.ts +6 -0
  71. package/dist/env-file.d.ts.map +1 -1
  72. package/dist/env-file.js +6 -0
  73. package/dist/env-file.js.map +1 -1
  74. package/dist/fix-recipes.d.ts.map +1 -1
  75. package/dist/fix-recipes.js +28 -3
  76. package/dist/fix-recipes.js.map +1 -1
  77. package/dist/hand-built-manifest.d.ts +27 -0
  78. package/dist/hand-built-manifest.d.ts.map +1 -0
  79. package/dist/hand-built-manifest.js +124 -0
  80. package/dist/hand-built-manifest.js.map +1 -0
  81. package/dist/hooks-report.d.ts +23 -0
  82. package/dist/hooks-report.d.ts.map +1 -0
  83. package/dist/hooks-report.js +104 -0
  84. package/dist/hooks-report.js.map +1 -0
  85. package/dist/init-agents.d.ts +2 -2
  86. package/dist/init-agents.d.ts.map +1 -1
  87. package/dist/init-agents.js +17 -11
  88. package/dist/init-agents.js.map +1 -1
  89. package/dist/internal/nifra-project.d.ts +41 -0
  90. package/dist/internal/nifra-project.d.ts.map +1 -0
  91. package/dist/internal/nifra-project.js +183 -0
  92. package/dist/internal/nifra-project.js.map +1 -0
  93. package/dist/internal/project-specifiers.d.ts +16 -0
  94. package/dist/internal/project-specifiers.d.ts.map +1 -0
  95. package/dist/internal/project-specifiers.js +396 -0
  96. package/dist/internal/project-specifiers.js.map +1 -0
  97. package/dist/internal/script-kind.d.ts.map +1 -1
  98. package/dist/internal/script-kind.js +2 -1
  99. package/dist/internal/script-kind.js.map +1 -1
  100. package/dist/internal/source-facts.d.ts +2 -0
  101. package/dist/internal/source-facts.d.ts.map +1 -1
  102. package/dist/internal/source-facts.js +11 -0
  103. package/dist/internal/source-facts.js.map +1 -1
  104. package/dist/internal/typescript-import.d.ts +1 -1
  105. package/dist/internal/typescript-import.d.ts.map +1 -1
  106. package/dist/internal/typescript-import.js +5 -3
  107. package/dist/internal/typescript-import.js.map +1 -1
  108. package/dist/introspect.d.ts +6 -6
  109. package/dist/introspect.d.ts.map +1 -1
  110. package/dist/introspect.js +55 -24
  111. package/dist/introspect.js.map +1 -1
  112. package/dist/levels-tool.d.ts.map +1 -1
  113. package/dist/levels-tool.js +93 -15
  114. package/dist/levels-tool.js.map +1 -1
  115. package/dist/load.d.ts +31 -8
  116. package/dist/load.d.ts.map +1 -1
  117. package/dist/load.js +37 -7
  118. package/dist/load.js.map +1 -1
  119. package/dist/mcp-context.d.ts +5 -5
  120. package/dist/mcp-context.d.ts.map +1 -1
  121. package/dist/mcp-context.js +2 -2
  122. package/dist/mcp-context.js.map +1 -1
  123. package/dist/mcp-exec.d.ts +12 -4
  124. package/dist/mcp-exec.d.ts.map +1 -1
  125. package/dist/mcp-exec.js +50 -13
  126. package/dist/mcp-exec.js.map +1 -1
  127. package/dist/mcp-http.js +1 -1
  128. package/dist/mcp-io.d.ts +17 -0
  129. package/dist/mcp-io.d.ts.map +1 -1
  130. package/dist/mcp-io.js +40 -0
  131. package/dist/mcp-io.js.map +1 -1
  132. package/dist/mcp-isolate.d.ts.map +1 -1
  133. package/dist/mcp-isolate.js +3 -2
  134. package/dist/mcp-isolate.js.map +1 -1
  135. package/dist/mcp-project-child.js +1 -1
  136. package/dist/mcp-project-child.js.map +1 -1
  137. package/dist/mcp-root.d.ts.map +1 -1
  138. package/dist/mcp-root.js +50 -10
  139. package/dist/mcp-root.js.map +1 -1
  140. package/dist/mcp-ws.d.ts.map +1 -1
  141. package/dist/mcp-ws.js +3 -1
  142. package/dist/mcp-ws.js.map +1 -1
  143. package/dist/mcp.d.ts.map +1 -1
  144. package/dist/mcp.js +8 -2
  145. package/dist/mcp.js.map +1 -1
  146. package/dist/migrate-layout.d.ts +7 -0
  147. package/dist/migrate-layout.d.ts.map +1 -1
  148. package/dist/migrate-layout.js +958 -71
  149. package/dist/migrate-layout.js.map +1 -1
  150. package/dist/output-schemas.d.ts +94 -0
  151. package/dist/output-schemas.d.ts.map +1 -0
  152. package/dist/output-schemas.js +864 -0
  153. package/dist/output-schemas.js.map +1 -0
  154. package/dist/port.d.ts.map +1 -1
  155. package/dist/port.js +3 -2
  156. package/dist/port.js.map +1 -1
  157. package/dist/project-facts.d.ts +15 -4
  158. package/dist/project-facts.d.ts.map +1 -1
  159. package/dist/project-facts.js +1 -0
  160. package/dist/project-facts.js.map +1 -1
  161. package/dist/recipes/4.0.0.d.ts.map +1 -1
  162. package/dist/recipes/4.0.0.js +2 -0
  163. package/dist/recipes/4.0.0.js.map +1 -1
  164. package/dist/recipes/5.0.0.d.ts +11 -0
  165. package/dist/recipes/5.0.0.d.ts.map +1 -0
  166. package/dist/recipes/5.0.0.js +34 -0
  167. package/dist/recipes/5.0.0.js.map +1 -0
  168. package/dist/recipes/index.d.ts +7 -0
  169. package/dist/recipes/index.d.ts.map +1 -1
  170. package/dist/recipes/index.js +2 -0
  171. package/dist/recipes/index.js.map +1 -1
  172. package/dist/replay.d.ts.map +1 -1
  173. package/dist/replay.js +12 -3
  174. package/dist/replay.js.map +1 -1
  175. package/dist/review.d.ts +3 -1
  176. package/dist/review.d.ts.map +1 -1
  177. package/dist/review.js +38 -7
  178. package/dist/review.js.map +1 -1
  179. package/dist/rules/codes.d.ts +10 -0
  180. package/dist/rules/codes.d.ts.map +1 -1
  181. package/dist/rules/codes.js +10 -0
  182. package/dist/rules/codes.js.map +1 -1
  183. package/dist/rules/comment-markers.d.ts +16 -7
  184. package/dist/rules/comment-markers.d.ts.map +1 -1
  185. package/dist/rules/comment-markers.js +58 -19
  186. package/dist/rules/comment-markers.js.map +1 -1
  187. package/dist/rules/contract-visibility.d.ts +3 -0
  188. package/dist/rules/contract-visibility.d.ts.map +1 -0
  189. package/dist/rules/contract-visibility.js +337 -0
  190. package/dist/rules/contract-visibility.js.map +1 -0
  191. package/dist/rules/data-guard.d.ts +7 -0
  192. package/dist/rules/data-guard.d.ts.map +1 -1
  193. package/dist/rules/data-guard.js +319 -37
  194. package/dist/rules/data-guard.js.map +1 -1
  195. package/dist/rules/layout.d.ts +4 -0
  196. package/dist/rules/layout.d.ts.map +1 -0
  197. package/dist/rules/layout.js +19 -0
  198. package/dist/rules/layout.js.map +1 -0
  199. package/dist/rules/legacy.d.ts.map +1 -1
  200. package/dist/rules/legacy.js +158 -43
  201. package/dist/rules/legacy.js.map +1 -1
  202. package/dist/rules/pages.d.ts +24 -0
  203. package/dist/rules/pages.d.ts.map +1 -1
  204. package/dist/rules/pages.js +221 -3
  205. package/dist/rules/pages.js.map +1 -1
  206. package/dist/rules/routes.d.ts +6 -0
  207. package/dist/rules/routes.d.ts.map +1 -1
  208. package/dist/rules/routes.js +111 -16
  209. package/dist/rules/routes.js.map +1 -1
  210. package/dist/rules/secrets.js +2 -2
  211. package/dist/rules/secrets.js.map +1 -1
  212. package/dist/rules/security.d.ts +12 -1
  213. package/dist/rules/security.d.ts.map +1 -1
  214. package/dist/rules/security.js +281 -68
  215. package/dist/rules/security.js.map +1 -1
  216. package/dist/rules/zones.d.ts +13 -0
  217. package/dist/rules/zones.d.ts.map +1 -1
  218. package/dist/rules/zones.js +192 -40
  219. package/dist/rules/zones.js.map +1 -1
  220. package/dist/scaffold.d.ts.map +1 -1
  221. package/dist/scaffold.js +6 -4
  222. package/dist/scaffold.js.map +1 -1
  223. package/dist/sdk.d.ts.map +1 -1
  224. package/dist/sdk.js +14 -5
  225. package/dist/sdk.js.map +1 -1
  226. package/dist/stylex-migrate.d.ts.map +1 -1
  227. package/dist/stylex-migrate.js +163 -7
  228. package/dist/stylex-migrate.js.map +1 -1
  229. package/dist/sync-manifest.d.ts +10 -2
  230. package/dist/sync-manifest.d.ts.map +1 -1
  231. package/dist/sync-manifest.js +42 -18
  232. package/dist/sync-manifest.js.map +1 -1
  233. package/dist/test-tool.d.ts.map +1 -1
  234. package/dist/test-tool.js +12 -3
  235. package/dist/test-tool.js.map +1 -1
  236. package/dist/typecheck-coverage.d.ts +20 -0
  237. package/dist/typecheck-coverage.d.ts.map +1 -0
  238. package/dist/typecheck-coverage.js +129 -0
  239. package/dist/typecheck-coverage.js.map +1 -0
  240. package/dist/upgrade.d.ts +69 -0
  241. package/dist/upgrade.d.ts.map +1 -1
  242. package/dist/upgrade.js +420 -77
  243. package/dist/upgrade.js.map +1 -1
  244. package/dist/verification-plan.d.ts.map +1 -1
  245. package/dist/verification-plan.js +11 -0
  246. package/dist/verification-plan.js.map +1 -1
  247. package/dist/version-drift.d.ts +22 -0
  248. package/dist/version-drift.d.ts.map +1 -0
  249. package/dist/version-drift.js +42 -0
  250. package/dist/version-drift.js.map +1 -0
  251. package/dist/web-app-options.d.ts +1 -1
  252. package/dist/web-app-options.d.ts.map +1 -1
  253. package/dist/web-app-options.js +1 -1
  254. package/dist/web-app-options.js.map +1 -1
  255. package/dist/work-graph.d.ts.map +1 -1
  256. package/dist/work-graph.js +20 -8
  257. package/dist/work-graph.js.map +1 -1
  258. package/docs/examples.json +54 -6
  259. package/docs/llms-full.txt +1539 -138
  260. package/docs/types.json +1456 -206
  261. package/package.json +11 -12
  262. package/src/agent-files.ts +203 -0
  263. package/src/app-files.ts +34 -4
  264. package/src/assure-hydration.ts +15 -2
  265. package/src/capabilities-tool.ts +15 -3
  266. package/src/check-diagnostics.ts +73 -9
  267. package/src/check-scan.ts +1773 -381
  268. package/src/check.ts +237 -76
  269. package/src/cli.ts +141 -5
  270. package/src/client-module.ts +61 -0
  271. package/src/command-catalog.ts +181 -47
  272. package/src/component-check.ts +79 -0
  273. package/src/contract-proof.ts +3 -25
  274. package/src/contracts.ts +60 -3
  275. package/src/db-tool.ts +5 -2
  276. package/src/dev-bun-config.ts +51 -10
  277. package/src/diagnostics.ts +3 -0
  278. package/src/diff-tool.ts +33 -26
  279. package/src/doctor.ts +43 -21
  280. package/src/env-file.ts +7 -0
  281. package/src/fix-recipes.ts +34 -3
  282. package/src/hand-built-manifest.ts +144 -0
  283. package/src/hooks-report.ts +135 -0
  284. package/src/init-agents.ts +17 -11
  285. package/src/internal/nifra-project.ts +191 -0
  286. package/src/internal/project-specifiers.ts +424 -0
  287. package/src/internal/script-kind.ts +2 -1
  288. package/src/internal/source-facts.ts +25 -0
  289. package/src/internal/typescript-import.ts +10 -3
  290. package/src/introspect.ts +65 -27
  291. package/src/levels-tool.ts +117 -20
  292. package/src/load.ts +78 -14
  293. package/src/mcp-context.ts +7 -7
  294. package/src/mcp-exec.ts +60 -17
  295. package/src/mcp-http.ts +1 -1
  296. package/src/mcp-io.ts +41 -0
  297. package/src/mcp-isolate.ts +9 -2
  298. package/src/mcp-project-child.ts +1 -1
  299. package/src/mcp-root.ts +58 -8
  300. package/src/mcp-ws.ts +4 -2
  301. package/src/mcp.ts +8 -3
  302. package/src/migrate-layout.ts +1109 -70
  303. package/src/output-schemas.ts +1084 -0
  304. package/src/port.ts +3 -2
  305. package/src/project-facts.ts +17 -3
  306. package/src/recipes/4.0.0.ts +2 -0
  307. package/src/recipes/5.0.0.ts +35 -0
  308. package/src/recipes/index.ts +10 -0
  309. package/src/replay.ts +14 -3
  310. package/src/review.ts +39 -10
  311. package/src/rules/codes.ts +10 -0
  312. package/src/rules/comment-markers.ts +57 -21
  313. package/src/rules/contract-visibility.ts +383 -0
  314. package/src/rules/data-guard.ts +351 -42
  315. package/src/rules/layout.ts +22 -0
  316. package/src/rules/legacy.ts +184 -51
  317. package/src/rules/pages.ts +238 -3
  318. package/src/rules/routes.ts +124 -16
  319. package/src/rules/secrets.ts +2 -2
  320. package/src/rules/security.ts +352 -71
  321. package/src/rules/zones.ts +205 -38
  322. package/src/scaffold.ts +6 -4
  323. package/src/sdk.ts +14 -5
  324. package/src/stylex-migrate.ts +134 -7
  325. package/src/sync-manifest.ts +48 -18
  326. package/src/test-tool.ts +18 -3
  327. package/src/typecheck-coverage.ts +134 -0
  328. package/src/upgrade.ts +487 -71
  329. package/src/verification-plan.ts +24 -0
  330. package/src/version-drift.ts +67 -0
  331. package/src/web-app-options.ts +2 -2
  332. package/src/work-graph.ts +17 -12
@@ -6,7 +6,11 @@ import { SINGLE_COPY_REGISTER_SPECIFIER } from "@nifrajs/core/single-copy";
6
6
  import { IDENT, movedExportSites, parseSimpleFetchCall, REMOVED_IMPORTS, SIMPLE_REWRITE_METHODS, } from "../check-scan.js";
7
7
  import { diagnostic, diagnosticWithCompatibility, } from "../diagnostics.js";
8
8
  import { codeUnitOrder } from "../internal/code-unit-order.js";
9
+ import { createWebAppProbe, withApiKindHint } from "../internal/nifra-project.js";
9
10
  import { unsupportedTypeScriptDiagnostic } from "../internal/typescript-import.js";
11
+ import { zoneFolderOf } from "../typecheck-coverage.js";
12
+ import { versionDriftMessage } from "../version-drift.js";
13
+ import { MISSING_EXPECTATION_REASON } from "./comment-markers.js";
10
14
  /** Legacy rule name → stable NF- code. Exported so `nifra.check.json` rule overrides can be keyed
11
15
  * by either name and still hit both diagnostic views. */
12
16
  export const LEGACY_RULE_CODES = Object.freeze({
@@ -67,10 +71,10 @@ export const LEGACY_RULE_ORDER = Object.freeze([
67
71
  "capability-config",
68
72
  "contract-drift",
69
73
  ]);
70
- const FETCH_HINT = "hand-rolled fetch() to your own API - call it through client<typeof app> (from @nifrajs/client) so the compiler catches drift";
71
- const STREAM_HINT = "hand-rolled EventSource/WebSocket to your own API - subscribe through client<typeof app> (`.subscribe()` for `app.sse()` routes, `.ws()` for `app.ws()` routes) so the compiler catches drift";
74
+ const FETCH_HINT = "hand-rolled fetch() to your own API - call it through client<typeof app> (from @nifrajs/client) so the compiler catches drift; for a call no typed client covers (a foreign handler, a static file), add a `// nifra-expect NF-C002: <reason>` comment";
75
+ const STREAM_HINT = "hand-rolled EventSource/WebSocket to your own API - subscribe through client<typeof app> (`.subscribe()` for `app.sse()` routes, `.ws()` for `app.ws()` routes) so the compiler catches drift; for a stream no typed client covers, add a `// nifra-expect NF-C002: <reason>` comment";
72
76
  const SERVER_IMPORT_HINT = "server-only code in browser code (a route's frontend half, frontend/ or shared/) - reach it from the route's backend half (x.backend.ts) or a *.fn.ts server function; a dynamic import() is bundled too";
73
- const RESPONSE_ROUTE_HINT = "route handler returns a raw Response - the typed client infers `data: never`, so drift detection is lost for this route. Return a plain object (it's serialized for you); for a stream use a typed SSE route (`app.sse(...)`), which keeps typed events; or, if a raw Response is intended (file/redirect), add `{ response: t.… }` or a `// nifra-expect raw-response` comment to mark it and silence this";
77
+ const RESPONSE_ROUTE_HINT = "route handler returns a raw Response - the typed client infers `data: never`, so drift detection is lost for this route. Return a plain object (it's serialized for you); for a stream use a typed SSE route (`app.sse(...)`), which keeps typed events; or, if a raw Response is intended (file/redirect), add `{ response: t.… }` or a `// nifra-expect NF-C007: <reason>` comment to mark it and silence this";
74
78
  const PIPELINE_DOC_HINT = "nifra runs one bundler per phase - `vitePlugins` feed Vite, `clientPlugins`/`serverPlugins` feed Bun, and the file `nifra build` imports the adapter from is bundled into the server. See the Gotchas section of the Dev & HMR guide.";
75
79
  const UNDECLARED_DEP_HINT = "imported package is not declared in package.json dependencies - run bun add to declare it";
76
80
  const SQL_COMPILER_MISSING_HINT = "the interpolated-SQL rule did NOT run - it parses source with the TypeScript compiler, which is an optional peer and is not installed here. This report says nothing about SQL injection either way. Install it with `bun add -d typescript`";
@@ -112,6 +116,7 @@ function legacyDiagnostic(rule, fields) {
112
116
  ...(fields.fix === undefined ? {} : { fix: fields.fix }),
113
117
  ...(fields.suggestion === undefined ? {} : { suggestion: fields.suggestion }),
114
118
  ...(fields.chain === undefined ? {} : { chain: fields.chain }),
119
+ ...(fields.modules === undefined ? {} : { modules: fields.modules }),
115
120
  ...(fields.includeCode === true ? { includeCode: true } : {}),
116
121
  };
117
122
  return diagnosticWithCompatibility(canonical, compatibility);
@@ -249,7 +254,7 @@ function responseRouteSuggestion() {
249
254
  steps: [
250
255
  "Prefer returning a plain object from JSON routes; nifra serializes it for you.",
251
256
  "For a stream, use a typed SSE route - `app.sse(...)` (or `sse(c, run)` from `@nifrajs/core/server`) - which keeps typed events instead of collapsing the client to `data: never`.",
252
- "If this route must return a raw Response (redirect, file), declare an explicit response schema, or add a `// nifra-expect raw-response` comment above the return to mark it intentional and silence this advisory.",
257
+ "If this route must return a raw Response (redirect, file), declare an explicit response schema, or add a `// nifra-expect NF-C007: <reason>` comment above the return to mark it intentional and silence this advisory.",
253
258
  ],
254
259
  };
255
260
  }
@@ -308,30 +313,78 @@ const typecheckRule = {
308
313
  }));
309
314
  }
310
315
  }
316
+ findings.push(...outsideProgramFindings(tc.outsideProgram ?? []));
311
317
  return findings;
312
318
  },
313
319
  };
320
+ /** One finding per zone folder: the fix (tsconfig `include`) is per folder, not per file. */
321
+ function outsideProgramFindings(files) {
322
+ const byFolder = new Map();
323
+ for (const file of files) {
324
+ const folder = zoneFolderOf(file) ?? file;
325
+ const entry = byFolder.get(folder);
326
+ if (entry === undefined)
327
+ byFolder.set(folder, { first: file, group: [file] });
328
+ else
329
+ entry.group.push(file);
330
+ }
331
+ return [...byFolder].map(([folder, { first, group }]) => {
332
+ const shown = group.slice(0, 3).join(", ");
333
+ const more = group.length > 3 ? ` and ${group.length - 3} more` : "";
334
+ return legacyDiagnostic("typecheck", {
335
+ severity: "error",
336
+ file: first,
337
+ message: `${group.length} file(s) under ${folder}/ are outside tsc's program, so the typecheck passed without reading them: ${shown}${more}`,
338
+ evidence: group,
339
+ fix: `Add "${folder}" to tsconfig.json "include" (or list the files), then run \`nifra check\` again`,
340
+ suggestion: {
341
+ kind: "manual",
342
+ title: "Bring the folder into the TypeScript program",
343
+ steps: [
344
+ `Add "${folder}" to the "include" array in tsconfig.json.`,
345
+ 'Files kept out on purpose: name them in the tsconfig "exclude", or under "typecheck": { "ignore": [...] } in nifra.check.json.',
346
+ "Run `nifra check` again; the newly checked files may report type errors.",
347
+ ],
348
+ },
349
+ });
350
+ });
351
+ }
352
+ /**
353
+ * One NF-C002 finding. A `// nifra-expect NF-C002: <reason>` comment keeps it in the report as `info`,
354
+ * carrying the comment as evidence; the same comment without a reason silences nothing.
355
+ */
356
+ function typedClientDiagnostic(finding, hint, kind, suggestion) {
357
+ const reason = finding.expected?.reason;
358
+ if (reason !== undefined) {
359
+ return legacyDiagnostic("typed-client", {
360
+ severity: "info",
361
+ file: finding.file,
362
+ line: finding.line,
363
+ message: `${finding.snippet} - ${kind} is expected here`,
364
+ evidence: [`nifra-expect NF-C002: ${reason}`],
365
+ });
366
+ }
367
+ const unreasoned = finding.expected === undefined ? "" : `; ${MISSING_EXPECTATION_REASON}`;
368
+ return legacyDiagnostic("typed-client", {
369
+ severity: "error",
370
+ file: finding.file,
371
+ line: finding.line,
372
+ message: `${finding.snippet} - ${hint}${unreasoned}`,
373
+ fix: hint,
374
+ suggestion,
375
+ });
376
+ }
314
377
  const typedClientRule = {
315
378
  code: LEGACY_RULE_CODES["typed-client"],
316
379
  title: TITLES["typed-client"],
317
380
  async scan(ctx) {
318
381
  const routes = staticRouteMap(ctx.project.routes);
319
- const fetchFindings = [...ctx.project.sourceFindings.fetches].sort(bySite).map((finding) => legacyDiagnostic("typed-client", {
320
- severity: "error",
321
- file: finding.file,
322
- line: finding.line,
323
- message: `${finding.snippet} - ${FETCH_HINT}`,
324
- fix: FETCH_HINT,
325
- suggestion: ownFetchSuggestion(finding, routes),
326
- }));
327
- const streamFindings = [...ctx.project.sourceFindings.streams].sort(bySite).map((finding) => legacyDiagnostic("typed-client", {
328
- severity: "error",
329
- file: finding.file,
330
- line: finding.line,
331
- message: `${finding.snippet} - ${STREAM_HINT}`,
332
- fix: STREAM_HINT,
333
- suggestion: ownStreamSuggestion(),
334
- }));
382
+ const fetchFindings = [...ctx.project.sourceFindings.fetches]
383
+ .sort(bySite)
384
+ .map((finding) => typedClientDiagnostic(finding, FETCH_HINT, "own-API fetch", ownFetchSuggestion(finding, routes)));
385
+ const streamFindings = [...ctx.project.sourceFindings.streams]
386
+ .sort(bySite)
387
+ .map((finding) => typedClientDiagnostic(finding, STREAM_HINT, "own-API stream", ownStreamSuggestion()));
335
388
  return [...fetchFindings, ...streamFindings].sort((a, b) => codeUnitOrder(a.file ?? "", b.file ?? "") || (a.line ?? 0) - (b.line ?? 0));
336
389
  },
337
390
  };
@@ -383,19 +436,29 @@ const serverOnlyImportRule = {
383
436
  code: LEGACY_RULE_CODES["server-only-import"],
384
437
  title: TITLES["server-only-import"],
385
438
  async scan(ctx) {
386
- return [...ctx.project.importGraph].sort(bySite).map((finding) => {
439
+ const inWebApp = createWebAppProbe(ctx.root);
440
+ const findings = [];
441
+ // No component module got a receipt, so each is judged as an ordinary import: say why.
442
+ const components = ctx.project.check.componentCheckUnsupported;
443
+ if (components !== undefined)
444
+ findings.push(unsupportedTypeScriptDiagnostic(components.version, components.message));
445
+ for (const finding of [...ctx.project.importGraph].sort(bySite)) {
387
446
  const chain = finding.chain;
388
447
  const sink = chain[chain.length - 1] ?? finding.specifier;
389
- return legacyDiagnostic("server-only-import", {
448
+ const dir = finding.file.slice(0, Math.max(finding.file.lastIndexOf("/"), 0));
449
+ const found = legacyDiagnostic("server-only-import", {
390
450
  severity: "error",
391
451
  file: finding.file,
392
452
  line: finding.line,
393
- message: `${finding.snippet} - server-only "${sink}" reaches the browser bundle via ${chain.join(" → ")}${finding.fallback ? " (direct edge - couldn't resolve the transitive chain precisely)" : ""}; ${SERVER_IMPORT_HINT}`,
453
+ message: (inWebApp(dir) ? (text) => text : withApiKindHint)(`${finding.snippet} - server-only "${sink}" reaches the browser bundle via ${chain.join(" → ")}${finding.fallback ? " (direct edge - couldn't resolve the transitive chain precisely)" : ""}; ${SERVER_IMPORT_HINT}`),
394
454
  fix: SERVER_IMPORT_HINT,
395
455
  chain,
456
+ modules: finding.modules,
396
457
  suggestion: serverImportSuggestion(finding.specifier, chain, finding.fallback),
397
458
  });
398
- });
459
+ findings.push(found);
460
+ }
461
+ return findings;
399
462
  },
400
463
  };
401
464
  const interpolatedSqlRule = {
@@ -420,6 +483,16 @@ const interpolatedSqlRule = {
420
483
  }));
421
484
  }
422
485
  for (const finding of [...ctx.project.sourceFindings.interpolatedSql].sort(bySite)) {
486
+ if (finding.expected !== undefined) {
487
+ findings.push(legacyDiagnostic("interpolated-sql", {
488
+ severity: "info",
489
+ file: finding.file,
490
+ line: finding.line,
491
+ message: `${finding.snippet} - interpolated SQL is expected here`,
492
+ evidence: [`nifra-expect NF-C006: ${finding.expected}`],
493
+ }));
494
+ continue;
495
+ }
423
496
  findings.push(legacyDiagnostic("interpolated-sql", {
424
497
  severity: "error",
425
498
  file: finding.file,
@@ -434,7 +507,7 @@ const interpolatedSqlRule = {
434
507
  "Pass the value as an argument alongside the statement, so the driver binds it.",
435
508
  `Or switch to the driver's tagged template (sql\`… ${SQL_INTERPOLATION_EXAMPLE} …\`): the tag receives substitutions separately and binds them.`,
436
509
  "An identifier that genuinely cannot be bound (a table or column name) must be checked against an allowlist you control, never taken from the request.",
437
- "If the statement is dynamic but every value is already bound (generating `($1),($2),…` for a batch insert), mark it with a `// nifra-expect sql-dynamic: <reason>` comment on the line above - the reason is required.",
510
+ "If the statement is dynamic but every value is already bound (generating `($1),($2),…` for a batch insert), mark it with a `// nifra-expect NF-C006: <reason>` comment on the line above - the reason is required.",
438
511
  ],
439
512
  },
440
513
  }));
@@ -459,30 +532,55 @@ const responseRouteRule = {
459
532
  function copyLines(finding) {
460
533
  return finding.copies.map((copy) => `${finding.package}@${copy.version} at ${copy.absolutePath ?? copy.path} - pulled in by ${copy.importers.join(", ")}${copy.links === undefined ? "" : ` through the symlink ${copy.links.join(", ")}`}`);
461
534
  }
462
- function duplicateSuggestion(finding) {
463
- const lines = copyLines(finding);
535
+ /** One fix for duplicates that share a cause and topology, so a linked sibling repository that
536
+ * duplicates every package reads as one finding instead of one paragraph per package. */
537
+ function duplicateSuggestion(group) {
538
+ const names = group.map((finding) => `"${finding.package}"`).join(", ");
464
539
  return {
465
540
  kind: "manual",
466
- title: `Resolve ${finding.package} to one loaded copy`,
541
+ title: group.length === 1
542
+ ? `Resolve ${group[0]?.package} to one loaded copy`
543
+ : `Resolve each of ${group.length} packages to one loaded copy`,
467
544
  diff: [
468
545
  "package.json:",
469
- ` "nifra": { "singleCopy": ["${finding.package}"] }`,
546
+ ` "nifra": { "singleCopy": [${names}] }`,
470
547
  "bunfig.toml:",
471
548
  ` preload = ["${SINGLE_COPY_REGISTER_SPECIFIER}"]`,
472
549
  " [test]",
473
550
  ` preload = ["${SINGLE_COPY_REGISTER_SPECIFIER}"]`,
474
551
  ].join("\n"),
475
552
  steps: [
476
- ...lines.map((line) => `Copy: ${line}`),
477
- ...(finding.provenance === undefined
553
+ ...group.flatMap(copyLines).map((line) => `Copy: ${line}`),
554
+ ...group.flatMap((finding) => finding.provenance === undefined
478
555
  ? []
479
- : [`Planted links: ${finding.provenance} Try this before the fixes below.`]),
556
+ : [
557
+ `Planted links${group.length === 1 ? "" : ` (${finding.package})`}: ${finding.provenance} Try this before the fixes below.`,
558
+ ]),
480
559
  "Fix 1 - deduplicate: align workspace dependency and peer ranges on one compatible version, remove stale nested installs, and reinstall from the workspace root so every importer resolves one physical copy.",
481
- `Fix 2 - declare single-copy: apply the package.json and bunfig.toml config printed above; nifra then rewrites every duplicate to this app's copy.${finding.cause === "version-skew" ? " A declaration only covers same-version duplicates, so fix 1's range alignment must land first." : ""}`,
560
+ `Fix 2 - declare single-copy: apply the package.json and bunfig.toml config printed above; nifra then rewrites every duplicate to this app's copy.${group.some((finding) => finding.cause === "version-skew") ? " A declaration only covers same-version duplicates, so fix 1's range alignment must land first." : ""}`,
482
561
  "Re-run `nifra check`; the gate stays failing until one fix lands.",
483
562
  ],
484
563
  };
485
564
  }
565
+ function duplicateDiagnostic(group) {
566
+ const first = group[0];
567
+ if (first === undefined)
568
+ return undefined;
569
+ const context = `${first.topology === undefined ? "" : `. Topology: ${first.topology}`}${first.scope === undefined ? "" : `. Scope: ${first.scope}`}`;
570
+ const skew = first.cause === "version-skew";
571
+ const names = group.map((finding) => finding.package);
572
+ return legacyDiagnostic("duplicate-install", {
573
+ severity: "error",
574
+ message: group.length === 1
575
+ ? `${first.package} identity preflight found ${first.cause} - ${first.explanation}${context}`
576
+ : `${group.length} packages share one identity preflight finding, ${first.cause} - ${names.join(", ")} ${skew ? "each resolve to multiple versions and physical paths" : "are each loaded from more than one physical path"}, so module state and symbols are not shared${context}`,
577
+ fix: group.length === 1 || skew
578
+ ? first.remediation
579
+ : `Deduplicate so each resolves to a single physical path, or declare them single-copy: add "nifra": { "singleCopy": [${names.map((name) => `"${name}"`).join(", ")}] } to package.json and preload "${SINGLE_COPY_REGISTER_SPECIFIER}" from bunfig.toml.`,
580
+ evidence: group.flatMap(copyLines),
581
+ suggestion: duplicateSuggestion(group),
582
+ });
583
+ }
486
584
  const doctorRules = Object.freeze([
487
585
  {
488
586
  code: LEGACY_RULE_CODES["undeclared-dependency"],
@@ -512,18 +610,14 @@ const doctorRules = Object.freeze([
512
610
  const doctor = ctx.project.packages.doctor;
513
611
  if (!doctor.ran)
514
612
  return [];
515
- const findings = [];
613
+ // Duplicates with one cause and one layout (every package a linked sibling repo installs again)
614
+ // have one fix, so they are one finding; `identityPreflight` in --json keeps each package.
615
+ const groups = new Map();
516
616
  for (const finding of doctor.duplicateInstalls) {
517
- const copies = copyLines(finding);
518
- findings.push(legacyDiagnostic("duplicate-install", {
519
- severity: "error",
520
- message: `${finding.package} identity preflight found ${finding.cause} - ${finding.explanation}${finding.topology === undefined ? "" : `. Topology: ${finding.topology}`}${finding.scope === undefined ? "" : `. Scope: ${finding.scope}`}`,
521
- fix: finding.remediation,
522
- evidence: copies,
523
- suggestion: duplicateSuggestion(finding),
524
- }));
617
+ const key = [finding.cause, finding.topology ?? "", finding.scope ?? ""].join("\0");
618
+ groups.set(key, [...(groups.get(key) ?? []), finding]);
525
619
  }
526
- return findings;
620
+ return [...groups.values()].flatMap((group) => duplicateDiagnostic(group) ?? []);
527
621
  },
528
622
  },
529
623
  {
@@ -557,6 +651,26 @@ const doctorRules = Object.freeze([
557
651
  },
558
652
  },
559
653
  ]);
654
+ /** Read from the doctor result check already collected; it spawns nothing and edits nothing. */
655
+ const versionDriftRule = {
656
+ code: "NF-D002",
657
+ title: "Mixed nifra versions",
658
+ async scan(ctx) {
659
+ const drift = ctx.project.packages.doctor.versionDrift;
660
+ if (drift === undefined)
661
+ return [];
662
+ return [
663
+ diagnostic({
664
+ code: "NF-D002",
665
+ severity: "info",
666
+ message: versionDriftMessage(drift),
667
+ evidence: drift.versions.map(({ version }) => version),
668
+ fix: { recipe: "upgrade.align-versions", command: `nifra upgrade ${drift.highest}` },
669
+ verify: "nifra doctor",
670
+ }),
671
+ ];
672
+ },
673
+ };
560
674
  const pipelineRule = {
561
675
  code: LEGACY_RULE_CODES.pipeline,
562
676
  title: TITLES.pipeline,
@@ -869,6 +983,7 @@ export const legacyRules = Object.freeze([
869
983
  interpolatedSqlRule,
870
984
  responseRouteRule,
871
985
  ...doctorRules,
986
+ versionDriftRule,
872
987
  pipelineRule,
873
988
  serverManifestRule,
874
989
  manifestRule,
@@ -1 +1 @@
1
- {"version":3,"file":"legacy.js","sourceRoot":"","sources":["../../src/rules/legacy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"legacy.js","sourceRoot":"","sources":["../../src/rules/legacy.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type * as TSApi from "typescript";
1
2
  import type { CheckRule } from "./index.js";
2
3
  /** What a static read of a framework config says about `apiPrefix`. */
3
4
  export type StaticApiPrefix = {
@@ -11,5 +12,28 @@ export type StaticApiPrefix = {
11
12
  /** Read `apiPrefix` from a framework config's source without running it. Pure. */
12
13
  export declare function readStaticApiPrefix(source: string): StaticApiPrefix;
13
14
  export declare const shadowedPageRule: CheckRule;
15
+ /**
16
+ * NF-C034: a root status page (`_404`, `_<status>`) beside a root `_layout` that imports that layout
17
+ * to wrap itself. Status pages render inside their layouts, so such a page renders the layout twice.
18
+ * A page that names `inLayouts` at all has decided, so it is not reported.
19
+ */
20
+ export declare const statusLayoutRule: CheckRule;
21
+ /**
22
+ * NF-C035: `backend/app.ts` exports a backend and the framework config sets no `apiPrefix`, so the
23
+ * backend is not served over HTTP - a browser call to `/api` reaches page routing. Loader-only is a
24
+ * valid choice; the finding asks for it to be stated. An unreadable `apiPrefix` is NF-C027's to report.
25
+ */
26
+ export declare const implicitApiMountRule: CheckRule;
27
+ /** Append `export const apiPrefix = "/api"` to a framework config that sets none, creating it if needed. */
28
+ export declare function withDefaultApiPrefix(source: string | undefined): string | undefined;
29
+ /** Where an exported function `meta` reads its args' `data`: a destructured `data`, or `args.data`. */
30
+ export declare function metaDataReads(ts: typeof TSApi, tree: TSApi.SourceFile): number[];
31
+ /**
32
+ * NF-C040: a layout whose function `meta` reads `data` and which has no loader. A layout's `meta`
33
+ * receives its own loader data, `null` without a loader, so `data` there is always `null`; the page's
34
+ * data is `pageData`. Until 5.0 a layout's `meta` received the page's data as `data`, which is what such
35
+ * a `meta` was written against. A layout with a loader reading `data` reads its own, so it is not reported.
36
+ */
37
+ export declare const layoutMetaDataRule: CheckRule;
14
38
  export declare const pageRules: readonly CheckRule[];
15
39
  //# sourceMappingURL=pages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../src/rules/pages.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3C,uEAAuE;AACvE,MAAM,MAAM,eAAe,GACvB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;CAAE,CAAA;AAQnC,kFAAkF;AAClF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAKnE;AAID,eAAO,MAAM,gBAAgB,EAAE,SAoD9B,CAAA;AAED,eAAO,MAAM,SAAS,sBAAoC,CAAA"}
1
+ {"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../src/rules/pages.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AAOxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAG3C,uEAAuE;AACvE,MAAM,MAAM,eAAe,GACvB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;CAAE,CAAA;AAQnC,kFAAkF;AAClF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAKnE;AAID,eAAO,MAAM,gBAAgB,EAAE,SAoD9B,CAAA;AAkBD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAmC9B,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,SA2BlC,CAAA;AAED,4GAA4G;AAC5G,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAKnF;AAoCD,uGAAuG;AACvG,wBAAgB,aAAa,CAAC,EAAE,EAAE,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,GAAG,MAAM,EAAE,CA2BhF;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAqDhC,CAAA;AAED,eAAO,MAAM,SAAS,sBAKpB,CAAA"}