@nifrajs/cli 3.5.0 → 4.0.2

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 (404) hide show
  1. package/README.md +42 -3
  2. package/dist/app-files.d.ts +11 -0
  3. package/dist/app-files.d.ts.map +1 -0
  4. package/dist/app-files.js +34 -0
  5. package/dist/app-files.js.map +1 -0
  6. package/dist/assure-hydration.d.ts +7 -1
  7. package/dist/assure-hydration.d.ts.map +1 -1
  8. package/dist/assure-hydration.js +128 -43
  9. package/dist/assure-hydration.js.map +1 -1
  10. package/dist/assure.d.ts.map +1 -1
  11. package/dist/assure.js +16 -2
  12. package/dist/assure.js.map +1 -1
  13. package/dist/capabilities-tool.d.ts +5 -1
  14. package/dist/capabilities-tool.d.ts.map +1 -1
  15. package/dist/capabilities-tool.js +32 -10
  16. package/dist/capabilities-tool.js.map +1 -1
  17. package/dist/cdn-check.d.ts +41 -0
  18. package/dist/cdn-check.d.ts.map +1 -0
  19. package/dist/cdn-check.js +207 -0
  20. package/dist/cdn-check.js.map +1 -0
  21. package/dist/check-diagnostics.d.ts +4 -0
  22. package/dist/check-diagnostics.d.ts.map +1 -1
  23. package/dist/check-diagnostics.js +13 -0
  24. package/dist/check-diagnostics.js.map +1 -1
  25. package/dist/check-scan.d.ts +49 -7
  26. package/dist/check-scan.d.ts.map +1 -1
  27. package/dist/check-scan.js +291 -62
  28. package/dist/check-scan.js.map +1 -1
  29. package/dist/check.d.ts.map +1 -1
  30. package/dist/check.js +99 -63
  31. package/dist/check.js.map +1 -1
  32. package/dist/cli.d.ts +42 -16
  33. package/dist/cli.d.ts.map +1 -1
  34. package/dist/cli.js +262 -82
  35. package/dist/cli.js.map +1 -1
  36. package/dist/command-catalog.d.ts +62 -5
  37. package/dist/command-catalog.d.ts.map +1 -1
  38. package/dist/command-catalog.js +275 -35
  39. package/dist/command-catalog.js.map +1 -1
  40. package/dist/config-target.d.ts +8 -0
  41. package/dist/config-target.d.ts.map +1 -0
  42. package/dist/config-target.js +45 -0
  43. package/dist/config-target.js.map +1 -0
  44. package/dist/contracts.d.ts.map +1 -1
  45. package/dist/contracts.js +52 -13
  46. package/dist/contracts.js.map +1 -1
  47. package/dist/db-audit.d.ts +37 -0
  48. package/dist/db-audit.d.ts.map +1 -0
  49. package/dist/db-audit.js +99 -0
  50. package/dist/db-audit.js.map +1 -0
  51. package/dist/db-child.d.ts +64 -0
  52. package/dist/db-child.d.ts.map +1 -0
  53. package/dist/db-child.js +213 -0
  54. package/dist/db-child.js.map +1 -0
  55. package/dist/db-config.d.ts +60 -0
  56. package/dist/db-config.d.ts.map +1 -0
  57. package/dist/db-config.js +176 -0
  58. package/dist/db-config.js.map +1 -0
  59. package/dist/db-tool.d.ts +84 -0
  60. package/dist/db-tool.d.ts.map +1 -0
  61. package/dist/db-tool.js +537 -0
  62. package/dist/db-tool.js.map +1 -0
  63. package/dist/dev-bun-config.d.ts +20 -13
  64. package/dist/dev-bun-config.d.ts.map +1 -1
  65. package/dist/dev-bun-config.js +98 -41
  66. package/dist/dev-bun-config.js.map +1 -1
  67. package/dist/dev-feed-tool.d.ts +106 -0
  68. package/dist/dev-feed-tool.d.ts.map +1 -0
  69. package/dist/dev-feed-tool.js +713 -0
  70. package/dist/dev-feed-tool.js.map +1 -0
  71. package/dist/dev-server-client.d.ts +67 -0
  72. package/dist/dev-server-client.d.ts.map +1 -0
  73. package/dist/dev-server-client.js +195 -0
  74. package/dist/dev-server-client.js.map +1 -0
  75. package/dist/diff-tool.d.ts +3 -3
  76. package/dist/diff-tool.d.ts.map +1 -1
  77. package/dist/diff-tool.js +6 -5
  78. package/dist/diff-tool.js.map +1 -1
  79. package/dist/docs-search.d.ts.map +1 -1
  80. package/dist/docs-search.js +12 -4
  81. package/dist/docs-search.js.map +1 -1
  82. package/dist/doctor.d.ts +17 -0
  83. package/dist/doctor.d.ts.map +1 -1
  84. package/dist/doctor.js +76 -15
  85. package/dist/doctor.js.map +1 -1
  86. package/dist/env-file.d.ts +15 -0
  87. package/dist/env-file.d.ts.map +1 -1
  88. package/dist/env-file.js +73 -1
  89. package/dist/env-file.js.map +1 -1
  90. package/dist/fix-recipes.d.ts.map +1 -1
  91. package/dist/fix-recipes.js +48 -22
  92. package/dist/fix-recipes.js.map +1 -1
  93. package/dist/frontend-guidance.js +5 -5
  94. package/dist/frontend-guidance.js.map +1 -1
  95. package/dist/i18n-check.d.ts +16 -0
  96. package/dist/i18n-check.d.ts.map +1 -0
  97. package/dist/i18n-check.js +154 -0
  98. package/dist/i18n-check.js.map +1 -0
  99. package/dist/init-agents.d.ts +49 -13
  100. package/dist/init-agents.d.ts.map +1 -1
  101. package/dist/init-agents.js +239 -34
  102. package/dist/init-agents.js.map +1 -1
  103. package/dist/internal/code-unit-order.d.ts +4 -0
  104. package/dist/internal/code-unit-order.d.ts.map +1 -0
  105. package/dist/internal/code-unit-order.js +6 -0
  106. package/dist/internal/code-unit-order.js.map +1 -0
  107. package/dist/internal/script-kind.d.ts +7 -0
  108. package/dist/internal/script-kind.d.ts.map +1 -0
  109. package/dist/internal/script-kind.js +12 -0
  110. package/dist/internal/script-kind.js.map +1 -0
  111. package/dist/internal/source-facts.d.ts +5 -0
  112. package/dist/internal/source-facts.d.ts.map +1 -1
  113. package/dist/internal/source-facts.js +61 -5
  114. package/dist/internal/source-facts.js.map +1 -1
  115. package/dist/internal/typescript-import.d.ts +49 -24
  116. package/dist/internal/typescript-import.d.ts.map +1 -1
  117. package/dist/internal/typescript-import.js +507 -67
  118. package/dist/internal/typescript-import.js.map +1 -1
  119. package/dist/introspect.d.ts +5 -1
  120. package/dist/introspect.d.ts.map +1 -1
  121. package/dist/introspect.js +92 -27
  122. package/dist/introspect.js.map +1 -1
  123. package/dist/learn.js +3 -3
  124. package/dist/learn.js.map +1 -1
  125. package/dist/levels-tool.d.ts +10 -0
  126. package/dist/levels-tool.d.ts.map +1 -1
  127. package/dist/levels-tool.js +33 -3
  128. package/dist/levels-tool.js.map +1 -1
  129. package/dist/load.d.ts +67 -17
  130. package/dist/load.d.ts.map +1 -1
  131. package/dist/load.js +78 -18
  132. package/dist/load.js.map +1 -1
  133. package/dist/manifest-tool.d.ts.map +1 -1
  134. package/dist/manifest-tool.js +3 -2
  135. package/dist/manifest-tool.js.map +1 -1
  136. package/dist/mcp-app-tool.d.ts.map +1 -1
  137. package/dist/mcp-app-tool.js +2 -0
  138. package/dist/mcp-app-tool.js.map +1 -1
  139. package/dist/mcp-context.js +1 -1
  140. package/dist/mcp-context.js.map +1 -1
  141. package/dist/mcp-delegate.d.ts +57 -0
  142. package/dist/mcp-delegate.d.ts.map +1 -0
  143. package/dist/mcp-delegate.js +130 -0
  144. package/dist/mcp-delegate.js.map +1 -0
  145. package/dist/mcp-docs-tools.d.ts.map +1 -1
  146. package/dist/mcp-docs-tools.js +23 -5
  147. package/dist/mcp-docs-tools.js.map +1 -1
  148. package/dist/mcp-exec.d.ts +2 -0
  149. package/dist/mcp-exec.d.ts.map +1 -1
  150. package/dist/mcp-exec.js +132 -108
  151. package/dist/mcp-exec.js.map +1 -1
  152. package/dist/mcp-http.d.ts.map +1 -1
  153. package/dist/mcp-http.js +17 -5
  154. package/dist/mcp-http.js.map +1 -1
  155. package/dist/mcp-io.d.ts +14 -0
  156. package/dist/mcp-io.d.ts.map +1 -1
  157. package/dist/mcp-io.js +45 -0
  158. package/dist/mcp-io.js.map +1 -1
  159. package/dist/mcp-isolate.d.ts +48 -0
  160. package/dist/mcp-isolate.d.ts.map +1 -0
  161. package/dist/mcp-isolate.js +222 -0
  162. package/dist/mcp-isolate.js.map +1 -0
  163. package/dist/mcp-project-child.d.ts +74 -0
  164. package/dist/mcp-project-child.d.ts.map +1 -0
  165. package/dist/mcp-project-child.js +130 -0
  166. package/dist/mcp-project-child.js.map +1 -0
  167. package/dist/mcp-render.js +2 -2
  168. package/dist/mcp-render.js.map +1 -1
  169. package/dist/mcp-root.d.ts +37 -9
  170. package/dist/mcp-root.d.ts.map +1 -1
  171. package/dist/mcp-root.js +110 -23
  172. package/dist/mcp-root.js.map +1 -1
  173. package/dist/mcp-run.d.ts +18 -1
  174. package/dist/mcp-run.d.ts.map +1 -1
  175. package/dist/mcp-run.js +82 -9
  176. package/dist/mcp-run.js.map +1 -1
  177. package/dist/mcp-ws.js +4 -1
  178. package/dist/mcp-ws.js.map +1 -1
  179. package/dist/mcp.d.ts +16 -3
  180. package/dist/mcp.d.ts.map +1 -1
  181. package/dist/mcp.js +81 -53
  182. package/dist/mcp.js.map +1 -1
  183. package/dist/migrate-layout.d.ts +44 -0
  184. package/dist/migrate-layout.d.ts.map +1 -0
  185. package/dist/migrate-layout.js +1155 -0
  186. package/dist/migrate-layout.js.map +1 -0
  187. package/dist/openapi-tool.d.ts +2 -2
  188. package/dist/openapi-tool.d.ts.map +1 -1
  189. package/dist/openapi-tool.js.map +1 -1
  190. package/dist/openapi-types.d.ts +2 -1
  191. package/dist/openapi-types.d.ts.map +1 -1
  192. package/dist/openapi-types.js +240 -12
  193. package/dist/openapi-types.js.map +1 -1
  194. package/dist/pipeline-report.d.ts +3 -2
  195. package/dist/pipeline-report.d.ts.map +1 -1
  196. package/dist/pipeline-report.js +19 -16
  197. package/dist/pipeline-report.js.map +1 -1
  198. package/dist/port.d.ts +5 -4
  199. package/dist/port.d.ts.map +1 -1
  200. package/dist/port.js +46 -29
  201. package/dist/port.js.map +1 -1
  202. package/dist/project-facts.d.ts +5 -0
  203. package/dist/project-facts.d.ts.map +1 -1
  204. package/dist/project-facts.js.map +1 -1
  205. package/dist/recipes/4.0.0.d.ts +9 -0
  206. package/dist/recipes/4.0.0.d.ts.map +1 -0
  207. package/dist/recipes/4.0.0.js +36 -0
  208. package/dist/recipes/4.0.0.js.map +1 -0
  209. package/dist/recipes/index.d.ts.map +1 -1
  210. package/dist/recipes/index.js +2 -0
  211. package/dist/recipes/index.js.map +1 -1
  212. package/dist/release-verification.d.ts +11 -1
  213. package/dist/release-verification.d.ts.map +1 -1
  214. package/dist/release-verification.js +47 -4
  215. package/dist/release-verification.js.map +1 -1
  216. package/dist/review.d.ts.map +1 -1
  217. package/dist/review.js +12 -8
  218. package/dist/review.js.map +1 -1
  219. package/dist/route-types.d.ts +28 -0
  220. package/dist/route-types.d.ts.map +1 -0
  221. package/dist/route-types.js +106 -0
  222. package/dist/route-types.js.map +1 -0
  223. package/dist/rules/codes.d.ts +9 -0
  224. package/dist/rules/codes.d.ts.map +1 -1
  225. package/dist/rules/codes.js +9 -0
  226. package/dist/rules/codes.js.map +1 -1
  227. package/dist/rules/data-guard.d.ts +12 -0
  228. package/dist/rules/data-guard.d.ts.map +1 -0
  229. package/dist/rules/data-guard.js +213 -0
  230. package/dist/rules/data-guard.js.map +1 -0
  231. package/dist/rules/index.d.ts +3 -0
  232. package/dist/rules/index.d.ts.map +1 -1
  233. package/dist/rules/index.js +17 -5
  234. package/dist/rules/index.js.map +1 -1
  235. package/dist/rules/islands.d.ts.map +1 -1
  236. package/dist/rules/islands.js +7 -4
  237. package/dist/rules/islands.js.map +1 -1
  238. package/dist/rules/legacy.d.ts.map +1 -1
  239. package/dist/rules/legacy.js +71 -38
  240. package/dist/rules/legacy.js.map +1 -1
  241. package/dist/rules/nano.d.ts.map +1 -1
  242. package/dist/rules/nano.js +15 -6
  243. package/dist/rules/nano.js.map +1 -1
  244. package/dist/rules/pages.d.ts +15 -0
  245. package/dist/rules/pages.d.ts.map +1 -0
  246. package/dist/rules/pages.js +88 -0
  247. package/dist/rules/pages.js.map +1 -0
  248. package/dist/rules/routes.d.ts +11 -0
  249. package/dist/rules/routes.d.ts.map +1 -1
  250. package/dist/rules/routes.js +180 -2
  251. package/dist/rules/routes.js.map +1 -1
  252. package/dist/rules/secrets.d.ts +10 -0
  253. package/dist/rules/secrets.d.ts.map +1 -0
  254. package/dist/rules/secrets.js +169 -0
  255. package/dist/rules/secrets.js.map +1 -0
  256. package/dist/rules/security.d.ts +7 -0
  257. package/dist/rules/security.d.ts.map +1 -1
  258. package/dist/rules/security.js +171 -65
  259. package/dist/rules/security.js.map +1 -1
  260. package/dist/rules/typescript.d.ts +16 -0
  261. package/dist/rules/typescript.d.ts.map +1 -0
  262. package/dist/rules/typescript.js +59 -0
  263. package/dist/rules/typescript.js.map +1 -0
  264. package/dist/rules/zones.d.ts +17 -0
  265. package/dist/rules/zones.d.ts.map +1 -0
  266. package/dist/rules/zones.js +174 -0
  267. package/dist/rules/zones.js.map +1 -0
  268. package/dist/scaffold.d.ts +25 -12
  269. package/dist/scaffold.d.ts.map +1 -1
  270. package/dist/scaffold.js +132 -87
  271. package/dist/scaffold.js.map +1 -1
  272. package/dist/sdk.d.ts +17 -3
  273. package/dist/sdk.d.ts.map +1 -1
  274. package/dist/sdk.js +941 -153
  275. package/dist/sdk.js.map +1 -1
  276. package/dist/search-terms.d.ts +2 -0
  277. package/dist/search-terms.d.ts.map +1 -1
  278. package/dist/search-terms.js +23 -8
  279. package/dist/search-terms.js.map +1 -1
  280. package/dist/smoke.d.ts +79 -0
  281. package/dist/smoke.d.ts.map +1 -0
  282. package/dist/smoke.js +494 -0
  283. package/dist/smoke.js.map +1 -0
  284. package/dist/sync-manifest.d.ts +10 -2
  285. package/dist/sync-manifest.d.ts.map +1 -1
  286. package/dist/sync-manifest.js +44 -19
  287. package/dist/sync-manifest.js.map +1 -1
  288. package/dist/sync-routes.d.ts +4 -3
  289. package/dist/sync-routes.d.ts.map +1 -1
  290. package/dist/sync-routes.js +4 -3
  291. package/dist/sync-routes.js.map +1 -1
  292. package/dist/test-tool.d.ts.map +1 -1
  293. package/dist/test-tool.js +30 -11
  294. package/dist/test-tool.js.map +1 -1
  295. package/dist/types-search.d.ts.map +1 -1
  296. package/dist/types-search.js +11 -5
  297. package/dist/types-search.js.map +1 -1
  298. package/dist/upgrade.d.ts +36 -6
  299. package/dist/upgrade.d.ts.map +1 -1
  300. package/dist/upgrade.js +167 -29
  301. package/dist/upgrade.js.map +1 -1
  302. package/dist/verification-plan.d.ts.map +1 -1
  303. package/dist/verification-plan.js +4 -0
  304. package/dist/verification-plan.js.map +1 -1
  305. package/dist/verification.d.ts.map +1 -1
  306. package/dist/verification.js +45 -12
  307. package/dist/verification.js.map +1 -1
  308. package/dist/web-app-options.d.ts +19 -0
  309. package/dist/web-app-options.d.ts.map +1 -0
  310. package/dist/web-app-options.js +49 -0
  311. package/dist/web-app-options.js.map +1 -0
  312. package/dist/work-graph.d.ts.map +1 -1
  313. package/dist/work-graph.js +29 -13
  314. package/dist/work-graph.js.map +1 -1
  315. package/docs/examples.json +185 -29
  316. package/docs/llms-full.txt +3807 -580
  317. package/docs/types.json +14229 -10939
  318. package/package.json +19 -12
  319. package/src/app-files.ts +40 -0
  320. package/src/assure-hydration.ts +139 -46
  321. package/src/assure.ts +17 -2
  322. package/src/capabilities-tool.ts +35 -9
  323. package/src/cdn-check.ts +268 -0
  324. package/src/check-diagnostics.ts +17 -0
  325. package/src/check-scan.ts +358 -63
  326. package/src/check.ts +97 -62
  327. package/src/cli.ts +296 -87
  328. package/src/command-catalog.ts +389 -48
  329. package/src/config-target.ts +47 -0
  330. package/src/contracts.ts +54 -12
  331. package/src/db-audit.ts +128 -0
  332. package/src/db-child.ts +285 -0
  333. package/src/db-config.ts +224 -0
  334. package/src/db-tool.ts +690 -0
  335. package/src/dev-bun-config.ts +116 -40
  336. package/src/dev-feed-tool.ts +912 -0
  337. package/src/dev-server-client.ts +267 -0
  338. package/src/diff-tool.ts +6 -5
  339. package/src/docs-search.ts +10 -3
  340. package/src/doctor.ts +98 -15
  341. package/src/env-file.ts +78 -1
  342. package/src/fix-recipes.ts +53 -32
  343. package/src/frontend-guidance.ts +5 -5
  344. package/src/i18n-check.ts +179 -0
  345. package/src/init-agents.ts +301 -38
  346. package/src/internal/code-unit-order.ts +5 -0
  347. package/src/internal/script-kind.ts +11 -0
  348. package/src/internal/source-facts.ts +96 -22
  349. package/src/internal/typescript-import.ts +663 -68
  350. package/src/introspect.ts +90 -27
  351. package/src/learn.ts +3 -3
  352. package/src/levels-tool.ts +47 -2
  353. package/src/load.ts +140 -33
  354. package/src/manifest-tool.ts +3 -2
  355. package/src/mcp-app-tool.ts +2 -0
  356. package/src/mcp-context.ts +1 -1
  357. package/src/mcp-delegate.ts +162 -0
  358. package/src/mcp-docs-tools.ts +23 -5
  359. package/src/mcp-exec.ts +160 -132
  360. package/src/mcp-http.ts +19 -5
  361. package/src/mcp-io.ts +57 -0
  362. package/src/mcp-isolate.ts +287 -0
  363. package/src/mcp-project-child.ts +182 -0
  364. package/src/mcp-render.ts +2 -2
  365. package/src/mcp-root.ts +117 -22
  366. package/src/mcp-run.ts +104 -10
  367. package/src/mcp-ws.ts +4 -1
  368. package/src/mcp.ts +106 -64
  369. package/src/migrate-layout.ts +1338 -0
  370. package/src/openapi-tool.ts +7 -3
  371. package/src/openapi-types.ts +315 -13
  372. package/src/pipeline-report.ts +22 -18
  373. package/src/port.ts +53 -30
  374. package/src/project-facts.ts +5 -0
  375. package/src/recipes/4.0.0.ts +37 -0
  376. package/src/recipes/index.ts +2 -0
  377. package/src/release-verification.ts +74 -5
  378. package/src/review.ts +13 -8
  379. package/src/route-types.ts +133 -0
  380. package/src/rules/codes.ts +9 -0
  381. package/src/rules/data-guard.ts +230 -0
  382. package/src/rules/index.ts +18 -5
  383. package/src/rules/islands.ts +12 -4
  384. package/src/rules/legacy.ts +71 -39
  385. package/src/rules/nano.ts +18 -6
  386. package/src/rules/pages.ts +99 -0
  387. package/src/rules/routes.ts +181 -2
  388. package/src/rules/secrets.ts +174 -0
  389. package/src/rules/security.ts +198 -70
  390. package/src/rules/typescript.ts +77 -0
  391. package/src/rules/zones.ts +195 -0
  392. package/src/scaffold.ts +147 -95
  393. package/src/sdk.ts +1215 -158
  394. package/src/search-terms.ts +24 -7
  395. package/src/smoke.ts +607 -0
  396. package/src/sync-manifest.ts +50 -19
  397. package/src/sync-routes.ts +4 -3
  398. package/src/test-tool.ts +32 -11
  399. package/src/types-search.ts +11 -4
  400. package/src/upgrade.ts +205 -25
  401. package/src/verification-plan.ts +13 -0
  402. package/src/verification.ts +50 -12
  403. package/src/web-app-options.ts +57 -0
  404. package/src/work-graph.ts +27 -13
@@ -1,9 +1,12 @@
1
1
  import { existsSync } from "node:fs";
2
2
  import { resolve } from "node:path";
3
+ import { reservedKeyFor } from "@nifrajs/client";
3
4
  import { snapshotProjectEvidence } from "@nifrajs/core/evidence";
4
5
  import { SINGLE_COPY_REGISTER_SPECIFIER } from "@nifrajs/core/single-copy";
5
- import { IDENT, parseSimpleFetchCall, REMOVED_IMPORTS, SIMPLE_REWRITE_METHODS, } from "../check-scan.js";
6
+ import { IDENT, movedExportSites, parseSimpleFetchCall, REMOVED_IMPORTS, SIMPLE_REWRITE_METHODS, } from "../check-scan.js";
6
7
  import { diagnostic, diagnosticWithCompatibility, } from "../diagnostics.js";
8
+ import { codeUnitOrder } from "../internal/code-unit-order.js";
9
+ import { unsupportedTypeScriptDiagnostic } from "../internal/typescript-import.js";
7
10
  /** Legacy rule name → stable NF- code. Exported so `nifra.check.json` rule overrides can be keyed
8
11
  * by either name and still hit both diagnostic views. */
9
12
  export const LEGACY_RULE_CODES = Object.freeze({
@@ -66,7 +69,7 @@ export const LEGACY_RULE_ORDER = Object.freeze([
66
69
  ]);
67
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";
68
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";
69
- const SERVER_IMPORT_HINT = "server-only import in a route module (bundled for the browser) - reach it via c.db / ctx.api inside a loader, never a top-level import";
72
+ 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";
70
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";
71
74
  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.";
72
75
  const UNDECLARED_DEP_HINT = "imported package is not declared in package.json dependencies - run bun add to declare it";
@@ -93,7 +96,7 @@ function legacyDiagnostic(rule, fields) {
93
96
  if (code === undefined)
94
97
  throw new Error(`unknown legacy rule ${rule}`);
95
98
  const evidence = fields.evidence ?? fields.chain;
96
- const fix = canonicalRecipe(rule);
99
+ const fix = fields.recipe ?? canonicalRecipe(rule);
97
100
  const canonical = {
98
101
  code,
99
102
  severity: fields.severity === "warning" ? "warn" : fields.severity,
@@ -113,7 +116,7 @@ function legacyDiagnostic(rule, fields) {
113
116
  };
114
117
  return diagnosticWithCompatibility(canonical, compatibility);
115
118
  }
116
- const bySite = (a, b) => a.file.localeCompare(b.file) || a.line - b.line;
119
+ const bySite = (a, b) => codeUnitOrder(a.file, b.file) || a.line - b.line;
117
120
  function oneLineDiff(file, line, before, after) {
118
121
  return `--- ${file}:${line}\n+++ ${file}:${line}\n@@\n-${before}\n+${after}`;
119
122
  }
@@ -145,7 +148,12 @@ function typedClientCall(method, path) {
145
148
  chain += ".index";
146
149
  else {
147
150
  for (const seg of segs) {
148
- chain += IDENT.test(seg) ? `.${seg}` : `[${JSON.stringify(seg)}]`;
151
+ // The proxy answers a reserved name (`post`, `index`, `then`...) itself, so that segment is
152
+ // appended by a call instead of a property read.
153
+ if (reservedKeyFor(seg) !== undefined)
154
+ chain += `(${JSON.stringify(seg)})`;
155
+ else
156
+ chain += IDENT.test(seg) ? `.${seg}` : `[${JSON.stringify(seg)}]`;
149
157
  }
150
158
  }
151
159
  return `${chain}.${method.toLowerCase()}()`;
@@ -224,12 +232,13 @@ function serverImportSuggestion(specifier, chain, fallback) {
224
232
  : undefined;
225
233
  return {
226
234
  kind: "manual",
227
- title: "Move server-only code behind the route server boundary",
235
+ title: "Move server-only code behind the route's backend half",
228
236
  steps: [
229
237
  ...(chainStep === undefined ? [] : [chainStep]),
230
- `Remove the top-level \`import … from "${specifier}"\` from this route module (it's bundled for the browser).`,
231
- "Access backend/data work through the route `loader`/`action` context (`api`, `env`, or project server context).",
232
- `If a direct module import is unavoidable, lazy-load it (\`await import("${specifier}")\`) inside the server-only loader/action path.`,
238
+ `Remove the import of "${specifier}" from this module: it is browser code, bundled for the browser.`,
239
+ "Do the backend work in the route's backend half (`x.backend.ts` - its `loader` or `action`) and pass the result as loader data, or call a server function (`*.fn.ts`).",
240
+ "Code both sides need belongs in `shared/`, which may import only shared code and third-party packages.",
241
+ "A dynamic `import()` does not keep code off the client: the build bundles its target as a lazy chunk.",
233
242
  ],
234
243
  };
235
244
  }
@@ -323,7 +332,7 @@ const typedClientRule = {
323
332
  fix: STREAM_HINT,
324
333
  suggestion: ownStreamSuggestion(),
325
334
  }));
326
- return [...fetchFindings, ...streamFindings].sort((a, b) => (a.file ?? "").localeCompare(b.file ?? "") || (a.line ?? 0) - (b.line ?? 0));
335
+ return [...fetchFindings, ...streamFindings].sort((a, b) => codeUnitOrder(a.file ?? "", b.file ?? "") || (a.line ?? 0) - (b.line ?? 0));
327
336
  },
328
337
  };
329
338
  const removedImportRule = {
@@ -331,6 +340,18 @@ const removedImportRule = {
331
340
  title: TITLES["removed-import"],
332
341
  async scan(ctx) {
333
342
  return [...ctx.project.sourceFindings.removedImports].sort(bySite).map((finding) => {
343
+ const moved = movedExportSites(finding.snippet)[0];
344
+ if (moved !== undefined) {
345
+ const names = moved.moved.map((binding) => `\`${binding.split(/\s+/)[0]}\``).join(", ");
346
+ return legacyDiagnostic("removed-import", {
347
+ severity: "error",
348
+ file: finding.file,
349
+ line: finding.line,
350
+ message: `${finding.snippet} - ${names} moved from "${moved.from}" to "${moved.to}"`,
351
+ fix: `import ${names} from "${moved.to}" - \`nifra fix --code NF-C005\` rewrites it`,
352
+ recipe: { recipe: "imports.moved-export", command: "nifra fix --code NF-C005" },
353
+ });
354
+ }
334
355
  const entry = REMOVED_IMPORTS.find((candidate) => finding.snippet.includes(`"${candidate.specifier}`) ||
335
356
  finding.snippet.includes(`'${candidate.specifier}`));
336
357
  const replacement = entry?.replacement ?? "see the changelog";
@@ -382,7 +403,10 @@ const interpolatedSqlRule = {
382
403
  title: TITLES["interpolated-sql"],
383
404
  async scan(ctx) {
384
405
  const findings = [];
385
- if (!ctx.project.check.sqlCompilerAvailable) {
406
+ if (ctx.project.check.unsupportedTypeScriptVersion !== undefined) {
407
+ findings.push(unsupportedTypeScriptDiagnostic(ctx.project.check.unsupportedTypeScriptVersion));
408
+ }
409
+ else if (!ctx.project.check.sqlCompilerAvailable) {
386
410
  findings.push(legacyDiagnostic("interpolated-sql", {
387
411
  severity: "warning",
388
412
  message: SQL_COMPILER_MISSING_HINT,
@@ -433,7 +457,7 @@ const responseRouteRule = {
433
457
  },
434
458
  };
435
459
  function copyLines(finding) {
436
- return finding.copies.map((copy) => `${finding.package}@${copy.version} at ${copy.absolutePath ?? copy.path} - pulled in by ${copy.importers.join(", ")}`);
460
+ 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(", ")}`}`);
437
461
  }
438
462
  function duplicateSuggestion(finding) {
439
463
  const lines = copyLines(finding);
@@ -450,6 +474,9 @@ function duplicateSuggestion(finding) {
450
474
  ].join("\n"),
451
475
  steps: [
452
476
  ...lines.map((line) => `Copy: ${line}`),
477
+ ...(finding.provenance === undefined
478
+ ? []
479
+ : [`Planted links: ${finding.provenance} Try this before the fixes below.`]),
453
480
  "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.",
454
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." : ""}`,
455
482
  "Re-run `nifra check`; the gate stays failing until one fix lands.",
@@ -496,14 +523,6 @@ const doctorRules = Object.freeze([
496
523
  suggestion: duplicateSuggestion(finding),
497
524
  }));
498
525
  }
499
- for (const finding of doctor.deduplicatedInstalls ?? []) {
500
- const paths = finding.copies.map((copy) => copy.path).join("; ");
501
- findings.push(legacyDiagnostic("duplicate-install", {
502
- severity: "warning",
503
- message: `${finding.package} is installed at ${finding.copies.length} paths (${paths}) and is declared single-copy - nifra resolves every duplicate to this app's copy`,
504
- fix: finding.remediation,
505
- }));
506
- }
507
526
  return findings;
508
527
  },
509
528
  },
@@ -613,6 +632,10 @@ const capabilityAssuranceRule = {
613
632
  const seamFix = finding.code === "unmatched-provenance-seam"
614
633
  ? "Write the seam exactly as the code imports it, or delete the rule."
615
634
  : undefined;
635
+ const mountFix = finding.code === "opaque-mount-undeclared"
636
+ ? 'merge() a nifra server() instead of mounting it, or add { opaque: "<why it cannot be analyzed>" } to the mount.'
637
+ : undefined;
638
+ const ownFix = seamFix ?? mountFix;
616
639
  findings.push(legacyDiagnostic("capability-assurance", {
617
640
  severity: "error",
618
641
  ...(violation === undefined
@@ -620,29 +643,39 @@ const capabilityAssuranceRule = {
620
643
  ? {}
621
644
  : { chain: truncation.chain }
622
645
  : { file: violation.module, chain: violation.chain }),
623
- message: `${finding.message}${seamFix === undefined ? ` - ${CAPABILITY_HINT}` : ""}`,
624
- fix: seamFix ?? CAPABILITY_HINT,
625
- suggestion: seamFix === undefined
646
+ message: `${finding.message}${ownFix === undefined ? ` - ${CAPABILITY_HINT}` : ""}`,
647
+ fix: ownFix ?? CAPABILITY_HINT,
648
+ suggestion: mountFix !== undefined
626
649
  ? {
627
650
  kind: "manual",
628
- title: "Restore declared effect provenance",
651
+ title: "Analyze the mounted routes, or state why they cannot be",
629
652
  steps: [
630
- "Route effectful work through an import listed in capabilities.provenance.imports.",
631
- "Declare the exact capability token on the route; do not widen unrelated routes in the same file.",
632
- "For domain writes, add the adapter the capability definition requires: `schema.idempotency` for the `request` tier, `.use(durableCommand({ journal }))` from @nifrajs/middleware for the `durable` tier.",
633
- "Run `nifra capabilities snapshot` only after assurance passes, then review the lockfile diff.",
653
+ "If the child is a nifra server() you own, merge() it so its routes join the analyzed app.",
654
+ 'If its effects live in code nifra cannot follow (a handler closure from another package), add { opaque: "<reason>" } to the mount.',
655
+ "A declared opaque mount is listed as a known gap on every run; it no longer fails assurance.",
634
656
  ],
635
657
  }
636
- : {
637
- kind: "manual",
638
- title: "Point the provenance rule at a module that exists",
639
- steps: [
640
- "Copy the specifier from the import statement itself - it is matched as written, with no extension or index resolution.",
641
- "Use a trailing `/*` when the seam is a directory of modules (`@myorg/db/*`).",
642
- "For a routeModules entry, give the project-relative path of the file that implements the route.",
643
- "Delete the rule if the seam it governed is gone; leaving it in place proves nothing.",
644
- ],
645
- },
658
+ : seamFix === undefined
659
+ ? {
660
+ kind: "manual",
661
+ title: "Restore declared effect provenance",
662
+ steps: [
663
+ "Route effectful work through an import listed in capabilities.provenance.imports.",
664
+ "Declare the exact capability token on the route; do not widen unrelated routes in the same file.",
665
+ "For domain writes, add the adapter the capability definition requires: `schema.idempotency` for the `request` tier, `.use(durableCommand({ journal }))` from @nifrajs/middleware for the `durable` tier.",
666
+ "Run `nifra capabilities snapshot` only after assurance passes, then review the lockfile diff.",
667
+ ],
668
+ }
669
+ : {
670
+ kind: "manual",
671
+ title: "Point the provenance rule at a module that exists",
672
+ steps: [
673
+ "Copy the specifier from the import statement itself - it is matched as written, with no extension or index resolution.",
674
+ "Use a trailing `/*` when the seam is a directory of modules (`@myorg/db/*`).",
675
+ "For a routeModules entry, give the project-relative path of the file that implements the route.",
676
+ "Delete the rule if the seam it governed is gone; leaving it in place proves nothing.",
677
+ ],
678
+ },
646
679
  }));
647
680
  }
648
681
  return findings;
@@ -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 +1 @@
1
- {"version":3,"file":"nano.d.ts","sourceRoot":"","sources":["../../src/rules/nano.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,YAAY,CAAA;AAgKxD,eAAO,MAAM,mBAAmB,EAAE,SAsCjC,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,SAuC7B,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,SAgDlC,CAAA;AAED,eAAO,MAAM,SAAS,sBAA8E,CAAA"}
1
+ {"version":3,"file":"nano.d.ts","sourceRoot":"","sources":["../../src/rules/nano.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,YAAY,CAAA;AAsKxD,eAAO,MAAM,mBAAmB,EAAE,SAwCjC,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,SAyC7B,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,SAkDlC,CAAA;AAED,eAAO,MAAM,SAAS,sBAA8E,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { diagnostic } from "../diagnostics.js";
2
- import { importProjectTypeScript } from "../internal/typescript-import.js";
2
+ import { scriptKindOf } from "../internal/script-kind.js";
3
+ import { loadRuleTypeScript } from "./typescript.js";
3
4
  /**
4
5
  * The nano lane lints (`@nifrajs/web/nano`). nano is deliberately explicit - every reactive edge is a
5
6
  * `bind`/`bindList` call or a `computed(fn, [deps])` - and that is exactly what makes its three
@@ -27,8 +28,7 @@ function parsedTree(ts, sources, file) {
27
28
  files.set(file, null);
28
29
  return undefined;
29
30
  }
30
- const kind = /\.tsx?$/.test(file) ? ts.ScriptKind.TSX : ts.ScriptKind.JS;
31
- const tree = ts.createSourceFile(file, source, ts.ScriptTarget.Latest, true, kind);
31
+ const tree = ts.createSourceFile(file, source, ts.ScriptTarget.Latest, true, scriptKindOf(ts, file));
32
32
  files.set(file, { tree });
33
33
  return tree;
34
34
  }
@@ -143,7 +143,10 @@ export const nanoBindCleanupRule = {
143
143
  code: "NF-C021",
144
144
  title: "nano binding cleanup check",
145
145
  async scan(ctx) {
146
- const ts = await importProjectTypeScript(ctx.root);
146
+ const loaded = await loadRuleTypeScript(ctx);
147
+ if (loaded.diagnostics !== undefined)
148
+ return loaded.diagnostics;
149
+ const ts = loaded.compiler;
147
150
  if (ts === undefined)
148
151
  return [toolchainMissing("NF-C021")];
149
152
  const findings = [];
@@ -180,7 +183,10 @@ export const nanoListKeyRule = {
180
183
  code: "NF-C022",
181
184
  title: "nano bindList key check",
182
185
  async scan(ctx) {
183
- const ts = await importProjectTypeScript(ctx.root);
186
+ const loaded = await loadRuleTypeScript(ctx);
187
+ if (loaded.diagnostics !== undefined)
188
+ return loaded.diagnostics;
189
+ const ts = loaded.compiler;
184
190
  if (ts === undefined)
185
191
  return [toolchainMissing("NF-C022")];
186
192
  const findings = [];
@@ -217,7 +223,10 @@ export const nanoComputedDepsRule = {
217
223
  code: "NF-C023",
218
224
  title: "nano computed deps check",
219
225
  async scan(ctx) {
220
- const ts = await importProjectTypeScript(ctx.root);
226
+ const loaded = await loadRuleTypeScript(ctx);
227
+ if (loaded.diagnostics !== undefined)
228
+ return loaded.diagnostics;
229
+ const ts = loaded.compiler;
221
230
  if (ts === undefined)
222
231
  return [toolchainMissing("NF-C023")];
223
232
  const findings = [];
@@ -1 +1 @@
1
- {"version":3,"file":"nano.js","sourceRoot":"","sources":["../../src/rules/nano.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nano.js","sourceRoot":"","sources":["../../src/rules/nano.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { CheckRule } from "./index.js";
2
+ /** What a static read of a framework config says about `apiPrefix`. */
3
+ export type StaticApiPrefix = {
4
+ readonly kind: "default";
5
+ } | {
6
+ readonly kind: "literal";
7
+ readonly value: string;
8
+ } | {
9
+ readonly kind: "unreadable";
10
+ };
11
+ /** Read `apiPrefix` from a framework config's source without running it. Pure. */
12
+ export declare function readStaticApiPrefix(source: string): StaticApiPrefix;
13
+ export declare const shadowedPageRule: CheckRule;
14
+ export declare const pageRules: readonly CheckRule[];
15
+ //# sourceMappingURL=pages.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * NF-C027: a page file whose URL sits under the backend's mount path.
3
+ *
4
+ * `backend/app.ts`'s backend is mounted at `apiPrefix` (default `/api`) ahead of page routing, and
5
+ * its 404 is final, so `routes/api/report.tsx` never renders - every request for it gets the
6
+ * backend's 404. `createWebApp` refuses such an app at startup and `nifra build` refuses to build
7
+ * it; this reports it earlier, without running app code (check's pre-`loadApp` invariant): the
8
+ * routes come from a scan of `routes/`, and `apiPrefix` is read only when backend/framework.ts
9
+ * declares it as a string literal.
10
+ *
11
+ * Mounts other than the backend's hold `app` objects no static read can see, so they are left to the
12
+ * startup and build checks.
13
+ */
14
+ import { existsSync, readFileSync } from "node:fs";
15
+ import { join } from "node:path";
16
+ import { discoverRoutes } from "@nifrajs/web/fs";
17
+ import { shadowedPages } from "@nifrajs/web/route-manifest";
18
+ import { BACKEND_APP_FILE, CONFIG_FILE, FRAMEWORK_FILE } from "../app-files.js";
19
+ import { stripComments } from "../check-scan.js";
20
+ import { diagnostic } from "../diagnostics.js";
21
+ const LITERAL_EXPORT = /\bexport\s+const\s+apiPrefix\s*(?::\s*string\s*)?=\s*(?:"([^"\\\r\n]*)"|'([^'\\\r\n]*)')\s*(?:as\s+const\s*)?(?:;|\r?\n|$)/;
22
+ const MENTION = /\bapiPrefix\b/;
23
+ const BACKEND_EXPORT = /\bexport\s+(?:const|let|var|function|class)\s+backend\b|\bexport\s*\{[^}]*\bbackend\b[^}]*\}/;
24
+ /** Read `apiPrefix` from a framework config's source without running it. Pure. */
25
+ export function readStaticApiPrefix(source) {
26
+ const code = stripComments(source);
27
+ const literal = LITERAL_EXPORT.exec(code);
28
+ if (literal !== null)
29
+ return { kind: "literal", value: literal[1] ?? literal[2] ?? "" };
30
+ return MENTION.test(code) ? { kind: "unreadable" } : { kind: "default" };
31
+ }
32
+ const CONFIG_FILES = [FRAMEWORK_FILE, CONFIG_FILE];
33
+ export const shadowedPageRule = {
34
+ code: "NF-C027",
35
+ title: "Page route under the backend mount",
36
+ async scan(ctx) {
37
+ const backendFile = join(ctx.root, BACKEND_APP_FILE);
38
+ const routesDir = join(ctx.root, "routes");
39
+ if (!existsSync(backendFile) || !existsSync(routesDir))
40
+ return [];
41
+ if (!BACKEND_EXPORT.test(stripComments(readFileSync(backendFile, "utf8"))))
42
+ return [];
43
+ let apiPrefix = "/api";
44
+ // backend/framework.ts first: the generated server entry imports from it, and the build refuses
45
+ // a nifra.config.ts whose forwarded fields differ from it.
46
+ const configFile = CONFIG_FILES.find((file) => existsSync(join(ctx.root, file)));
47
+ if (configFile !== undefined) {
48
+ const read = readStaticApiPrefix(readFileSync(join(ctx.root, configFile), "utf8"));
49
+ if (read.kind === "unreadable") {
50
+ return [
51
+ diagnostic({
52
+ code: "NF-C027",
53
+ severity: "info",
54
+ file: configFile,
55
+ message: `apiPrefix in ${configFile} is not a string literal, so check cannot tell which page routes sit under the backend mount; createWebApp still refuses a page under it at startup, and nifra build at build time`,
56
+ verify: "nifra build",
57
+ }),
58
+ ];
59
+ }
60
+ if (read.kind === "literal")
61
+ apiPrefix = read.value;
62
+ }
63
+ if (apiPrefix === "")
64
+ return [];
65
+ let manifest;
66
+ try {
67
+ manifest = discoverRoutes(routesDir);
68
+ }
69
+ catch {
70
+ // A routes/ tree the manifest refuses fails dev and build with its own error.
71
+ return [];
72
+ }
73
+ const findings = [];
74
+ for (const page of shadowedPages(manifest, [apiPrefix])) {
75
+ findings.push(diagnostic({
76
+ code: "NF-C027",
77
+ severity: "error",
78
+ file: `routes/${page.file}`,
79
+ message: `routes/${page.file} serves ${page.pattern}, under the backend mounted at ${page.mount} - the backend answers every request there before page routing and its 404 is final, so this page can never render. Move the file out of ${page.mount}, serve the URL from backend/app.ts, or change the mount path with \`export const apiPrefix = "/backend"\` in backend/framework.ts`,
80
+ evidence: [`page: ${page.pattern}`, `mount: ${page.mount}`],
81
+ verify: "nifra check",
82
+ }));
83
+ }
84
+ return findings;
85
+ },
86
+ };
87
+ export const pageRules = Object.freeze([shadowedPageRule]);
88
+ //# sourceMappingURL=pages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/rules/pages.ts"],"names":[],"mappings":"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"}
@@ -8,5 +8,16 @@ export declare const reservedSegmentRule: CheckRule;
8
8
  * apart across files - so cross-file duplicates are NOT flagged rather than guessed at.
9
9
  */
10
10
  export declare const duplicateRouteRule: CheckRule;
11
+ /**
12
+ * NF-C024: two different same-method route patterns in one source file accept at least one of the
13
+ * same paths. This is deliberately file-scoped, like NF-C019: the static scanner cannot prove
14
+ * which application instance owns routes collected from different files in a monorepo.
15
+ */
16
+ export declare const overlappingRouteRule: CheckRule;
17
+ /**
18
+ * NF-C026: a param followed by `?`, `*`, `+`, `{`, `(` or `<` that the router reads as literal text
19
+ * (`/users/:id?/posts`, `/users/:id{int}`). Only a trailing `?` run and a valid `{...}` are syntax.
20
+ */
21
+ export declare const paramModifierRule: CheckRule;
11
22
  export declare const routeRules: readonly CheckRule[];
12
23
  //# sourceMappingURL=routes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/rules/routes.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,YAAY,CAAA;AA4DxD,eAAO,MAAM,mBAAmB,EAAE,SAoCjC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAgChC,CAAA;AAED,eAAO,MAAM,UAAU,sBAA2D,CAAA"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/rules/routes.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,YAAY,CAAA;AAyExD,eAAO,MAAM,mBAAmB,EAAE,SAoCjC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAsChC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAuFlC,CAAA;AAwBD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,SA+B/B,CAAA;AAED,eAAO,MAAM,UAAU,sBAKrB,CAAA"}