@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
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities-tool.js","sourceRoot":"","sources":["../src/capabilities-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities-tool.js","sourceRoot":"","sources":["../src/capabilities-tool.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@
7
7
  import type { AssuranceConfig, AssuranceReport } from "@nifrajs/core/assurance";
8
8
  import type { CapabilityGap } from "@nifrajs/core/capabilities";
9
9
  import type { ProjectEvidenceSnapshot } from "@nifrajs/core/evidence";
10
+ import type { ReflectedHookReport } from "@nifrajs/core/reflection";
10
11
  import type { CapabilityProjectReport } from "./capabilities-tool.js";
11
12
  import { type Diagnostic, type DiagnosticSuggestion } from "./diagnostics.js";
12
13
  import type { DuplicateInstallFinding } from "./doctor.js";
@@ -51,8 +52,9 @@ export type CheckSuggestion = DiagnosticSuggestion;
51
52
  export interface CheckResult {
52
53
  readonly ok: boolean;
53
54
  readonly typecheck: "pass" | "fail" | "skipped";
54
- /** Why `typecheck` is `"skipped"` (no tsconfig.json, typescript not installed, lints-only mode).
55
- * Absent when the typecheck ran. Echoed in the human report so a skip is never a dim mystery. */
55
+ /** Why `typecheck` is `"skipped"` (no tsconfig.json, typescript not installed, lints-only mode), or
56
+ * why it failed when the compiler itself passed (zoned files outside its program). Echoed in the
57
+ * human report so a skip is never a dim mystery. */
56
58
  readonly typecheckNote?: string;
57
59
  readonly diagnostics: readonly CheckDiagnostic[];
58
60
  /** Normalized diagnostics with stable codes for agents and external renderers. */
@@ -90,6 +92,13 @@ export interface CheckResult {
90
92
  * the `duplicate-install` diagnostics; this field is what `--json` consumers parse instead.
91
93
  */
92
94
  readonly identityPreflight?: IdentityPreflightResult;
95
+ /**
96
+ * The hooks each backend route and each prefix's unmatched paths run (`nifra routes --hooks`), read
97
+ * from the `source` of `nifra.assurance.ts`, which check already loads - check runs no other app
98
+ * code. Omitted without that config, and when `maxDiagnostics` caps the output for the MCP transport,
99
+ * where `nifra_routes` with `hooks` returns it.
100
+ */
101
+ readonly hooks?: ReflectedHookReport;
93
102
  }
94
103
  /** The `identityPreflight` slice of {@link CheckResult}. */
95
104
  export interface IdentityPreflightResult {
@@ -139,12 +148,21 @@ export interface RuleOverride {
139
148
  readonly severity?: "error" | "warn" | "info" | "off";
140
149
  readonly ignore?: readonly string[];
141
150
  }
151
+ /**
152
+ * Match the small file-glob language used by check overrides without compiling user input into a
153
+ * regular expression. `nifra.check.json` is commonly supplied by a project or CI wrapper, so an
154
+ * attacker who can influence it must not be able to turn a diagnostic filter into a ReDoS input.
155
+ * The matcher supports the portable glob forms users expect here: `*`, `?`, `**`, character
156
+ * classes, and brace alternatives.
157
+ */
158
+ export declare function safeIgnoreGlobMatch(pattern: string, file: string): boolean;
142
159
  export interface CheckTypecheckResult {
143
160
  readonly ran: boolean;
144
161
  readonly ok: boolean;
145
162
  readonly note?: string;
146
163
  readonly output?: string;
147
164
  readonly missingTypeScript?: boolean;
165
+ readonly outsideProgram?: readonly string[];
148
166
  }
149
167
  export interface CheckAnalysisInput {
150
168
  readonly facts: ProjectFactsSeed;
@@ -1 +1 @@
1
- {"version":3,"file":"check-diagnostics.d.ts","sourceRoot":"","sources":["../src/check-diagnostics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check-diagnostics.d.ts","sourceRoot":"","sources":["../src/check-diagnostics.ts"],"names":[],"mappings":"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"}
@@ -6,11 +6,14 @@
6
6
  */
7
7
  import { existsSync } from "node:fs";
8
8
  import { join } from "node:path";
9
+ import { scanFetchText, scanStreamText } from "./check-scan.js";
9
10
  import { diagnostic, diagnosticCompatibilityOf, } from "./diagnostics.js";
10
11
  import { freezeProjectFacts } from "./project-facts.js";
12
+ import { contractVisibilityRule } from "./rules/contract-visibility.js";
11
13
  import { dataGuardRules } from "./rules/data-guard.js";
12
14
  import { parseRulePacks, runRuleRegistry } from "./rules/index.js";
13
15
  import { islandRules } from "./rules/islands.js";
16
+ import { retiredLayoutRule } from "./rules/layout.js";
14
17
  import { LEGACY_RULE_CODES, LEGACY_RULE_ORDER, legacyRules } from "./rules/legacy.js";
15
18
  import { nanoRules } from "./rules/nano.js";
16
19
  import { pageRules } from "./rules/pages.js";
@@ -27,7 +30,7 @@ const MAX_IGNORE_GLOB_ALTERNATIVES = 64;
27
30
  * The matcher supports the portable glob forms users expect here: `*`, `?`, `**`, character
28
31
  * classes, and brace alternatives.
29
32
  */
30
- function safeIgnoreGlobMatch(pattern, file) {
33
+ export function safeIgnoreGlobMatch(pattern, file) {
31
34
  if (pattern.length === 0 || pattern.length > MAX_IGNORE_GLOB_LENGTH)
32
35
  return false;
33
36
  for (const alternative of expandIgnoreGlobBraces(pattern)) {
@@ -216,6 +219,17 @@ function matchIgnoreGlobClass(spec, value) {
216
219
  }
217
220
  return negated ? !matched : matched;
218
221
  }
222
+ /**
223
+ * The prefixes of the mounts the assurance source declares `opaque` (a better-auth handler nifra
224
+ * cannot read): no typed client covers them, so a hand-written fetch into one is deliberate, exactly
225
+ * like a `nifra.check.json` `externalMounts` entry. A mount without that declaration stays checked.
226
+ */
227
+ async function mountPrefixes(source) {
228
+ if (source === undefined)
229
+ return [];
230
+ const { reflectMounts } = await import("@nifrajs/core/reflection");
231
+ return reflectMounts(source).flatMap((mount) => mount.opaque === undefined || mount.path === "/*" ? [] : [mount.path.slice(0, -"/*".length)]);
232
+ }
219
233
  export async function collectCheckDiagnostics(cwd, scan, opts = {}) {
220
234
  // The rule registry is the only diagnostic producer. This preparation phase may load executable
221
235
  // assurance configuration because rules need its reflected facts, but it never formats findings.
@@ -269,6 +283,27 @@ export async function collectCheckDiagnostics(cwd, scan, opts = {}) {
269
283
  rulePacks: applicationRulePacks,
270
284
  },
271
285
  };
286
+ const configuredMounts = factsSeed.policies.checkConfig.externalMounts;
287
+ const appMounts = (await mountPrefixes(loadedPolicy?.config?.source)).filter((prefix) => !configuredMounts.includes(prefix));
288
+ if (appMounts.length > 0) {
289
+ const externalMounts = [...configuredMounts, ...appMounts];
290
+ const files = factsSeed.source.files.map((file) => ({
291
+ file,
292
+ content: factsSeed.source.read(file) ?? "",
293
+ }));
294
+ factsSeed = {
295
+ ...factsSeed,
296
+ policies: {
297
+ ...factsSeed.policies,
298
+ checkConfig: { ...factsSeed.policies.checkConfig, externalMounts },
299
+ },
300
+ sourceFindings: {
301
+ ...factsSeed.sourceFindings,
302
+ fetches: files.flatMap(({ file, content }) => scanFetchText(file, content, externalMounts)),
303
+ streams: files.flatMap(({ file, content }) => scanStreamText(file, content, externalMounts)),
304
+ },
305
+ };
306
+ }
272
307
  const projectFacts = freezeProjectFacts(factsSeed);
273
308
  const ruleContext = {
274
309
  root: cwd,
@@ -279,9 +314,11 @@ export async function collectCheckDiagnostics(cwd, scan, opts = {}) {
279
314
  : { typescriptSession: projectFacts.check.typescriptSession }),
280
315
  };
281
316
  const builtInRules = [
317
+ retiredLayoutRule,
282
318
  ...legacyRules,
283
319
  ...securityRules,
284
320
  ...routeRules,
321
+ contractVisibilityRule,
285
322
  ...pageRules,
286
323
  ...zoneRules,
287
324
  ...dataGuardRules,
@@ -356,7 +393,7 @@ export async function collectCheckDiagnostics(cwd, scan, opts = {}) {
356
393
  continue;
357
394
  compatibilityRows.push({
358
395
  rule: item.code,
359
- severity: item.severity === "error" ? "error" : "warning",
396
+ severity: item.severity === "warn" ? "warning" : item.severity,
360
397
  code: item.code,
361
398
  ...(item.file === undefined ? {} : { file: item.file }),
362
399
  ...(item.line === undefined ? {} : { line: item.line }),
@@ -419,17 +456,26 @@ export async function collectCheckDiagnostics(cwd, scan, opts = {}) {
419
456
  const nonLegacyStructuredCount = finalStructured.filter((value) => knownLegacyCodes.has(value.code) && diagnosticCompatibilityOf(value) === undefined).length;
420
457
  const structuredLimit = shown.length < total ? shown.length + nonLegacyStructuredCount : finalStructured.length;
421
458
  const doctor = projectFacts.packages.doctor;
459
+ const outsideProgram = projectFacts.check.typecheck.outsideProgram?.length ?? 0;
422
460
  const knownGaps = projectFacts.policies.capability?.report.gaps ?? [];
461
+ const hookSource = projectFacts.policies.assurance?.config?.source;
462
+ const hooks = hookSource === undefined || opts.maxDiagnostics !== undefined
463
+ ? undefined
464
+ : (await import("@nifrajs/core/reflection")).reflectHooks(hookSource);
423
465
  const result = {
424
466
  ok: !finalDiagnostics.some((value) => value.severity === "error"),
425
- typecheck: projectFacts.check.typecheck.ran
426
- ? projectFacts.check.typecheck.ok
467
+ typecheck: !projectFacts.check.typecheck.ran
468
+ ? "skipped"
469
+ : projectFacts.check.typecheck.ok && outsideProgram === 0
427
470
  ? "pass"
428
- : "fail"
429
- : "skipped",
471
+ : "fail",
430
472
  ...(!projectFacts.check.typecheck.ran && projectFacts.check.typecheck.note !== undefined
431
473
  ? { typecheckNote: projectFacts.check.typecheck.note }
432
- : {}),
474
+ : outsideProgram > 0
475
+ ? {
476
+ typecheckNote: `${outsideProgram} file(s) in zone folders are outside tsc's program, so the typecheck never read them`,
477
+ }
478
+ : {}),
433
479
  diagnostics: shown,
434
480
  ...(projectFacts.pipeline !== undefined ? { pipeline: projectFacts.pipeline } : {}),
435
481
  ...(doctor.ran
@@ -446,6 +492,7 @@ export async function collectCheckDiagnostics(cwd, scan, opts = {}) {
446
492
  ? {}
447
493
  : { externalMounts: checkConfig.externalMounts }),
448
494
  ...(knownGaps.length === 0 ? {} : { knownGaps }),
495
+ ...(hooks === undefined ? {} : { hooks }),
449
496
  ...(Object.keys(checkConfig.rules).length === 0 ? {} : { ruleOverrides: checkConfig.rules }),
450
497
  ...(shown.length < total ? { truncated: { shown: shown.length, total } } : {}),
451
498
  };
@@ -1 +1 @@
1
- {"version":3,"file":"check-diagnostics.js","sourceRoot":"","sources":["../src/check-diagnostics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check-diagnostics.js","sourceRoot":"","sources":["../src/check-diagnostics.ts"],"names":[],"mappings":"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"}
@@ -12,12 +12,24 @@ export interface SourceFinding {
12
12
  readonly line: number;
13
13
  readonly snippet: string;
14
14
  }
15
+ /** An interpolated-SQL site, with the reason a `nifra-expect NF-C006: <reason>` comment gives for it. */
16
+ export interface SqlFinding extends SourceFinding {
17
+ readonly expected?: string;
18
+ }
15
19
  /** A server-only-import finding, carrying the offending module specifier on top of the base location so
16
20
  * the diagnostic can show the import chain `routeFile → specifier` (the direct edge the regex scan sees). */
17
21
  export interface ServerImportFinding extends SourceFinding {
18
22
  /** The server-only module specifier the route top-level-imports (e.g. `pg`, `node:fs`, `../db`). */
19
23
  readonly specifier: string;
20
24
  }
25
+ /** A hand-rolled call to the app's own API, with the `// nifra-expect NF-C002` comment covering it. */
26
+ export interface TypedClientFinding extends SourceFinding {
27
+ /** Present when such a comment covers the call. `reason` is `undefined` when it gives none after
28
+ * its colon, and then it silences nothing. */
29
+ readonly expected?: {
30
+ readonly reason: string | undefined;
31
+ };
32
+ }
21
33
  export declare const SIMPLE_REWRITE_METHODS: Set<string>;
22
34
  /** Whether a project file is browser code: a route's frontend half, `frontend/` or `shared/`. Pure. */
23
35
  export declare function isBrowserSource(file: string): boolean;
@@ -26,6 +38,11 @@ export interface StaticRouteFinding extends SourceFinding {
26
38
  readonly method: string;
27
39
  readonly path: string;
28
40
  }
41
+ /** A route registration whose path argument the static scan cannot read, with that argument's text. */
42
+ export interface UnresolvedRoutePathFinding extends SourceFinding {
43
+ readonly method: string;
44
+ readonly expression: string;
45
+ }
29
46
  interface SimpleFetchCall {
30
47
  readonly path: string;
31
48
  readonly method: string;
@@ -38,13 +55,12 @@ export declare function parseSimpleFetchCall(snippet: string): SimpleFetchCall |
38
55
  * - `//` line comments and block comments;
39
56
  * - the CONTENTS of backtick template literals - code-as-text (doc `CodeBlock` examples, code
40
57
  * generators), never a real statement to lint.
41
- * Single/double-quoted strings are KEPT (a real import/Response specifier lives in one). A small
42
- * char-state machine, not a full lexer: it doesn't model regex literals, so a regex containing a quote
43
- * could mis-skip - in practice the constructs these scanners look for sit before any such regex.
58
+ * Single/double-quoted strings are KEPT (a real import/Response specifier lives in one); a regex
59
+ * literal keeps its slashes and loses its contents, so a quote inside one cannot open a string.
44
60
  * Shared by the source scanners here and by `nifra doctor` ({@link ./doctor.ts}).
45
61
  */
46
62
  export declare function stripComments(src: string): string;
47
- /** Blank comments and every quoted/template literal while preserving offsets. Unlike
63
+ /** Blank comments and every quoted/template/regex literal while preserving offsets. Unlike
48
64
  * {@link stripComments}, this is a code-position mask: scanners use it to find a call expression in
49
65
  * executable code, then inspect the original source for the call's literal argument. That prevents
50
66
  * documentation strings such as `const example = 'client("/")'` from becoming diagnostics. */
@@ -54,7 +70,7 @@ export declare function codePositionMask(src: string): string;
54
70
  * `/auth/**`) - a relative fetch into one is deliberate, not drift, so it's skipped. A fetch with an
55
71
  * inline literal `x-nifra-data` header is Nifra's page-loader transport, not a backend API call, and is
56
72
  * skipped too. */
57
- export declare function scanFetchText(file: string, content: string, externalMounts?: readonly string[]): SourceFinding[];
73
+ export declare function scanFetchText(file: string, content: string, externalMounts?: readonly string[]): TypedClientFinding[];
58
74
  /** Scan one file's text for hand-rolled own-API `EventSource`/`WebSocket` constructions. Pure +
59
75
  * line-accurate. Same contract as {@link scanFetchText}: only a relative-path first argument
60
76
  * (`"/…"` not `"//…"`, no scheme) is this app's API, so absolute `ws(s)://` / `http(s)://` URLs
@@ -63,9 +79,17 @@ export declare function scanFetchText(file: string, content: string, externalMou
63
79
  * absolute URL), so a hit is either broken or bypassing `api.*.ws()` - either way the typed call
64
80
  * (`api.*.subscribe()` for `app.sse()` routes, `api.*.ws()` for `app.ws()` routes) is the fix, and
65
81
  * it keeps the compiler catching drift. */
66
- export declare function scanStreamText(file: string, content: string, externalMounts?: readonly string[]): SourceFinding[];
82
+ export declare function scanStreamText(file: string, content: string, externalMounts?: readonly string[]): TypedClientFinding[];
67
83
  /** Statically collect simple Nifra route registrations from source, without importing app code. */
68
- export declare function scanStaticRouteText(file: string, content: string, facts?: SourceFacts): StaticRouteFinding[];
84
+ export declare function scanStaticRouteText(file: string, content: string, facts?: SourceFacts,
85
+ /** Project files by forward-slash relative path, to resolve a path constant imported from one. */
86
+ project?: ReadonlyMap<string, string>): StaticRouteFinding[];
87
+ /** Route registrations whose path the static scan cannot resolve - see {@link scanRouteArguments}. */
88
+ export declare function scanUnresolvedRoutePaths(file: string, content: string, project?: ReadonlyMap<string, string>, facts?: SourceFacts): UnresolvedRoutePathFinding[];
89
+ /** `app.ws("/path", ...)` registrations, as routes under the pseudo-method `"WS"` reflection uses. */
90
+ export declare function scanStaticSocketText(file: string, content: string, facts?: SourceFacts,
91
+ /** Project files by forward-slash relative path, to resolve a path constant imported from one. */
92
+ project?: ReadonlyMap<string, string>): StaticRouteFinding[];
69
93
  /** Module-scope `const` initializers by name - the one binding form the SQL scanner resolves. */
70
94
  type ModuleConsts = ReadonlyMap<string, TSApi.Expression>;
71
95
  /** A name some other module exports, named exactly as the edge that reaches it writes it. */
@@ -129,6 +153,8 @@ export declare const createSqlImports: (load: SqlModuleLoader) => SqlImports;
129
153
  * to offer gets. With it, only what {@link createProjectSqlImports} will hand back is followed.
130
154
  */
131
155
  export declare function scanInterpolatedSql(file: string, content: string, ts: TypeScriptApi, imports?: SqlImports): SourceFinding[];
156
+ /** {@link scanInterpolatedSql}, keeping the sites an expectation comment silences, with its reason. */
157
+ export declare function scanSqlSites(file: string, content: string, ts: TypeScriptApi, imports?: SqlImports): SqlFinding[];
132
158
  /**
133
159
  * Collect interpolated-SQL findings across the project.
134
160
  *
@@ -234,37 +260,51 @@ export interface TransitiveServerImportFinding extends ServerImportFinding {
234
260
  /** `[routeFile, ...as-written specifiers…, sink]` - the shortest path the walk found. Length 2 means
235
261
  * the route imports the sink directly (same as the regex scan's direct edge). */
236
262
  readonly chain: readonly string[];
263
+ /** The project files the chain runs through, as `resolve` named them: the route, each module the
264
+ * walk entered, and the sink when it is a project file. A change to any of them can make the chain. */
265
+ readonly modules: readonly string[];
237
266
  /** True when a precise transitive resolve wasn't possible for the first hop (a bare pkg / path alias),
238
267
  * so the chain is the honest direct edge rather than a fabricated deeper path. */
239
268
  readonly fallback: boolean;
240
269
  }
241
- /** A resolver from `(fromFile, specifier)` to an absolute module path, or `undefined` when it can't be
242
- * resolved precisely (bare pkg, path alias, missing file). Abstracted so the BFS is unit-testable with a
243
- * fake graph (no real fs). The production resolver wraps `Bun.resolveSync`. */
270
+ /** A resolver from `(fromFile, specifier)` to a project module path, or `undefined` when it names no
271
+ * project file (a package, a missing file). Abstracted so the BFS is unit-testable with a fake graph (no
272
+ * real fs). The production resolver follows relative paths, tsconfig `paths` and package.json `imports`. */
244
273
  export type ModuleResolver = (fromFile: string, specifier: string) => string | undefined;
245
274
  /** Reads a resolved module's source, or `undefined` if unreadable. Abstracted for the same reason. */
246
275
  export type ModuleReader = (absPath: string) => string | undefined;
276
+ /** What a server-only chain search reads the project through. */
277
+ export interface ServerOnlyChainSource {
278
+ readonly resolve: ModuleResolver;
279
+ readonly read: ModuleReader;
280
+ readonly facts?: SourceFacts | undefined;
281
+ readonly componentReceipts?: ReadonlySet<string>;
282
+ /** Whether a bare specifier `resolve` leaves unanswered names an installed package that declares
283
+ * `"nifra": { "environment": "backend" }`, which the browser build refuses. */
284
+ readonly backendPackage?: (fromFile: string, specifier: string) => boolean;
285
+ }
247
286
  /**
248
- * BFS the LOCAL module graph from a route file for the SHORTEST import chain that reaches a server-only
249
- * sink, returning `[routeFile, …as-written specifiers…, sink]` or `undefined` if none is reachable. A
250
- * node's outgoing edges are its static and literal dynamic imports; an edge is followed only when it's a RELATIVE specifier
251
- * that `resolve` maps to a readable local file (so the walk never descends into node_modules or chases an
252
- * unresolvable alias). At each node, a by-name sink import (`node:fs`, `postgres`) OR a resolved
253
- * `server-only`-marked dependency terminates the chain; a `*.server` dependency is never entered, since
254
- * the client build empties it. Bounded by depth + a visited set, so
255
- * it's linear and cycle-free. `routeFile`/`routeContent` seed the walk; `resolve`/`read` supply the graph
256
- * - pure given those, so it's unit-testable with a fake graph.
287
+ * The shortest import chain from `routeFile` to a server-only sink, `[routeFile, ...as-written
288
+ * specifiers, sink]`, or `undefined` when none is reachable. Pure given `resolve`/`read`, so a fake
289
+ * graph tests it.
257
290
  */
258
- export declare function walkServerOnlyChain(routeFile: string, routeContent: string, resolve: ModuleResolver, read: ModuleReader, facts?: SourceFacts): readonly string[] | undefined;
291
+ export declare function walkServerOnlyChain(routeFile: string, routeContent: string, resolve: ModuleResolver, read: ModuleReader, facts?: SourceFacts, componentReceipts?: ReadonlySet<string>): readonly string[] | undefined;
292
+ /**
293
+ * The server-only chain finder for one check: called per browser module, it returns that module's
294
+ * findings, reusing every module and chain an earlier call already searched.
295
+ */
296
+ export declare function createServerOnlyChains(source: ServerOnlyChainSource): (file: string, content: string, browserRoot?: boolean) => TransitiveServerImportFinding[];
259
297
  /**
260
298
  * Resolve the FULL transitive server-only chain(s) for a route module, given a real fs-backed resolver +
261
299
  * reader. For each of the route's top-level imports, if a precise transitive walk finds a sink, the
262
300
  * finding carries the full chain; otherwise - when the first hop is itself a direct by-name sink the
263
301
  * regex scan already flags, or when a relative import can't be resolved - it falls back to the DIRECT
264
302
  * edge (`fallback: true`), never a fabricated chain. Returns one finding per offending top-level import,
265
- * de-duplicated to the shortest chain per first-hop specifier. Non-route files yield `[]`.
303
+ * de-duplicated to the shortest chain per first-hop specifier. A file that is not browser source
304
+ * yields `[]`, unless `browserRoot` says the browser bundle loads it anyway (an app's `clientModule`).
305
+ * One check should use {@link createServerOnlyChains}, which shares the work across modules.
266
306
  */
267
- export declare function resolveServerOnlyChains(file: string, content: string, resolve: ModuleResolver, read: ModuleReader, facts?: SourceFacts): TransitiveServerImportFinding[];
307
+ export declare function resolveServerOnlyChains(file: string, content: string, resolve: ModuleResolver, read: ModuleReader, facts?: SourceFacts, componentReceipts?: ReadonlySet<string>, browserRoot?: boolean): TransitiveServerImportFinding[];
268
308
  /** Scan a backend module (one that calls `server(`) for handlers returning a raw `Response`, which collapses
269
309
  * the typed client's `data` to `never`. Pure + line-accurate; returns `[]` for files with no `server(` call. */
270
310
  export declare function scanResponseRoutes(file: string, content: string, facts?: SourceFacts): SourceFinding[];
@@ -272,7 +312,20 @@ export declare function walkSource(cwd: string, visit: (rel: string, content: st
272
312
  readonly includeTests?: boolean;
273
313
  /** Additional project-relative paths to exclude from this scan. */
274
314
  readonly ignore?: (relativePath: string) => boolean;
315
+ /**
316
+ * Also visit the other files a build loads: every `.jsx`, `.svelte` and `.vue` file, and `.js`
317
+ * files in a zone. A `.svelte`/`.vue` file is visited as {@link componentScripts}.
318
+ */
319
+ readonly scripts?: boolean;
275
320
  }): Promise<void>;
321
+ /** A single-file component: its `<script>` blocks are the code a build compiles. */
322
+ export declare const COMPONENT_FILE: RegExp;
323
+ /**
324
+ * A `.svelte` or `.vue` file as the source scanners read it: the text of its `<script>` blocks where
325
+ * they stand, and every other character blanked to a space with line breaks kept, so a finding's line
326
+ * and column are the file's own. An unclosed `<script>` runs to the end of the file. Pure.
327
+ */
328
+ export declare function componentScripts(text: string): string;
276
329
  /** Collect own-API `fetch()` findings across the project. */
277
330
  export declare function scanProject(cwd: string): Promise<SourceFinding[]>;
278
331
  export interface ManifestDriftFinding {