@nifrajs/cli 3.3.0 → 4.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 (425) 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 +7 -15
  22. package/dist/check-diagnostics.d.ts.map +1 -1
  23. package/dist/check-diagnostics.js +162 -713
  24. package/dist/check-diagnostics.js.map +1 -1
  25. package/dist/check-scan.d.ts +58 -7
  26. package/dist/check-scan.d.ts.map +1 -1
  27. package/dist/check-scan.js +323 -62
  28. package/dist/check-scan.js.map +1 -1
  29. package/dist/check.d.ts +1 -0
  30. package/dist/check.d.ts.map +1 -1
  31. package/dist/check.js +145 -54
  32. package/dist/check.js.map +1 -1
  33. package/dist/cli.d.ts +42 -16
  34. package/dist/cli.d.ts.map +1 -1
  35. package/dist/cli.js +306 -87
  36. package/dist/cli.js.map +1 -1
  37. package/dist/command-catalog.d.ts +60 -5
  38. package/dist/command-catalog.d.ts.map +1 -1
  39. package/dist/command-catalog.js +298 -33
  40. package/dist/command-catalog.js.map +1 -1
  41. package/dist/config-target.d.ts +8 -0
  42. package/dist/config-target.d.ts.map +1 -0
  43. package/dist/config-target.js +45 -0
  44. package/dist/config-target.js.map +1 -0
  45. package/dist/contracts.d.ts +3 -2
  46. package/dist/contracts.d.ts.map +1 -1
  47. package/dist/contracts.js +56 -16
  48. package/dist/contracts.js.map +1 -1
  49. package/dist/db-audit.d.ts +37 -0
  50. package/dist/db-audit.d.ts.map +1 -0
  51. package/dist/db-audit.js +99 -0
  52. package/dist/db-audit.js.map +1 -0
  53. package/dist/db-child.d.ts +64 -0
  54. package/dist/db-child.d.ts.map +1 -0
  55. package/dist/db-child.js +213 -0
  56. package/dist/db-child.js.map +1 -0
  57. package/dist/db-config.d.ts +60 -0
  58. package/dist/db-config.d.ts.map +1 -0
  59. package/dist/db-config.js +176 -0
  60. package/dist/db-config.js.map +1 -0
  61. package/dist/db-tool.d.ts +84 -0
  62. package/dist/db-tool.d.ts.map +1 -0
  63. package/dist/db-tool.js +537 -0
  64. package/dist/db-tool.js.map +1 -0
  65. package/dist/dev-bun-config.d.ts +20 -13
  66. package/dist/dev-bun-config.d.ts.map +1 -1
  67. package/dist/dev-bun-config.js +98 -41
  68. package/dist/dev-bun-config.js.map +1 -1
  69. package/dist/dev-feed-tool.d.ts +106 -0
  70. package/dist/dev-feed-tool.d.ts.map +1 -0
  71. package/dist/dev-feed-tool.js +713 -0
  72. package/dist/dev-feed-tool.js.map +1 -0
  73. package/dist/dev-server-client.d.ts +67 -0
  74. package/dist/dev-server-client.d.ts.map +1 -0
  75. package/dist/dev-server-client.js +195 -0
  76. package/dist/dev-server-client.js.map +1 -0
  77. package/dist/diagnostics.d.ts +86 -0
  78. package/dist/diagnostics.d.ts.map +1 -1
  79. package/dist/diagnostics.js +85 -0
  80. package/dist/diagnostics.js.map +1 -1
  81. package/dist/diff-tool.d.ts +3 -3
  82. package/dist/diff-tool.d.ts.map +1 -1
  83. package/dist/diff-tool.js +6 -5
  84. package/dist/diff-tool.js.map +1 -1
  85. package/dist/docs-search.d.ts.map +1 -1
  86. package/dist/docs-search.js +12 -4
  87. package/dist/docs-search.js.map +1 -1
  88. package/dist/doctor.d.ts +17 -0
  89. package/dist/doctor.d.ts.map +1 -1
  90. package/dist/doctor.js +76 -15
  91. package/dist/doctor.js.map +1 -1
  92. package/dist/env-file.d.ts +15 -0
  93. package/dist/env-file.d.ts.map +1 -1
  94. package/dist/env-file.js +73 -1
  95. package/dist/env-file.js.map +1 -1
  96. package/dist/fix-recipes.d.ts.map +1 -1
  97. package/dist/fix-recipes.js +41 -21
  98. package/dist/fix-recipes.js.map +1 -1
  99. package/dist/frontend-guidance.js +5 -5
  100. package/dist/frontend-guidance.js.map +1 -1
  101. package/dist/i18n-check.d.ts +16 -0
  102. package/dist/i18n-check.d.ts.map +1 -0
  103. package/dist/i18n-check.js +154 -0
  104. package/dist/i18n-check.js.map +1 -0
  105. package/dist/init-agents.d.ts +49 -13
  106. package/dist/init-agents.d.ts.map +1 -1
  107. package/dist/init-agents.js +239 -34
  108. package/dist/init-agents.js.map +1 -1
  109. package/dist/internal/code-unit-order.d.ts +4 -0
  110. package/dist/internal/code-unit-order.d.ts.map +1 -0
  111. package/dist/internal/code-unit-order.js +6 -0
  112. package/dist/internal/code-unit-order.js.map +1 -0
  113. package/dist/internal/script-kind.d.ts +7 -0
  114. package/dist/internal/script-kind.d.ts.map +1 -0
  115. package/dist/internal/script-kind.js +12 -0
  116. package/dist/internal/script-kind.js.map +1 -0
  117. package/dist/internal/source-facts.d.ts +5 -0
  118. package/dist/internal/source-facts.d.ts.map +1 -1
  119. package/dist/internal/source-facts.js +61 -5
  120. package/dist/internal/source-facts.js.map +1 -1
  121. package/dist/internal/typescript-import.d.ts +49 -24
  122. package/dist/internal/typescript-import.d.ts.map +1 -1
  123. package/dist/internal/typescript-import.js +507 -67
  124. package/dist/internal/typescript-import.js.map +1 -1
  125. package/dist/introspect.d.ts +6 -4
  126. package/dist/introspect.d.ts.map +1 -1
  127. package/dist/introspect.js +93 -74
  128. package/dist/introspect.js.map +1 -1
  129. package/dist/learn.js +3 -3
  130. package/dist/learn.js.map +1 -1
  131. package/dist/levels-tool.d.ts +10 -0
  132. package/dist/levels-tool.d.ts.map +1 -1
  133. package/dist/levels-tool.js +33 -3
  134. package/dist/levels-tool.js.map +1 -1
  135. package/dist/load.d.ts +71 -16
  136. package/dist/load.d.ts.map +1 -1
  137. package/dist/load.js +78 -18
  138. package/dist/load.js.map +1 -1
  139. package/dist/manifest-tool.d.ts.map +1 -1
  140. package/dist/manifest-tool.js +3 -2
  141. package/dist/manifest-tool.js.map +1 -1
  142. package/dist/mcp-app-tool.d.ts.map +1 -1
  143. package/dist/mcp-app-tool.js +2 -0
  144. package/dist/mcp-app-tool.js.map +1 -1
  145. package/dist/mcp-context.d.ts.map +1 -1
  146. package/dist/mcp-context.js +5 -6
  147. package/dist/mcp-context.js.map +1 -1
  148. package/dist/mcp-delegate.d.ts +57 -0
  149. package/dist/mcp-delegate.d.ts.map +1 -0
  150. package/dist/mcp-delegate.js +130 -0
  151. package/dist/mcp-delegate.js.map +1 -0
  152. package/dist/mcp-docs-tools.d.ts.map +1 -1
  153. package/dist/mcp-docs-tools.js +23 -5
  154. package/dist/mcp-docs-tools.js.map +1 -1
  155. package/dist/mcp-exec.d.ts +3 -0
  156. package/dist/mcp-exec.d.ts.map +1 -1
  157. package/dist/mcp-exec.js +263 -131
  158. package/dist/mcp-exec.js.map +1 -1
  159. package/dist/mcp-http.d.ts.map +1 -1
  160. package/dist/mcp-http.js +20 -5
  161. package/dist/mcp-http.js.map +1 -1
  162. package/dist/mcp-io.d.ts +26 -0
  163. package/dist/mcp-io.d.ts.map +1 -1
  164. package/dist/mcp-io.js +113 -0
  165. package/dist/mcp-io.js.map +1 -1
  166. package/dist/mcp-isolate.d.ts +48 -0
  167. package/dist/mcp-isolate.d.ts.map +1 -0
  168. package/dist/mcp-isolate.js +222 -0
  169. package/dist/mcp-isolate.js.map +1 -0
  170. package/dist/mcp-path.d.ts +10 -0
  171. package/dist/mcp-path.d.ts.map +1 -0
  172. package/dist/mcp-path.js +51 -0
  173. package/dist/mcp-path.js.map +1 -0
  174. package/dist/mcp-project-child.d.ts +74 -0
  175. package/dist/mcp-project-child.d.ts.map +1 -0
  176. package/dist/mcp-project-child.js +130 -0
  177. package/dist/mcp-project-child.js.map +1 -0
  178. package/dist/mcp-reflect.d.ts.map +1 -1
  179. package/dist/mcp-reflect.js +2 -2
  180. package/dist/mcp-reflect.js.map +1 -1
  181. package/dist/mcp-render.d.ts.map +1 -1
  182. package/dist/mcp-render.js +64 -45
  183. package/dist/mcp-render.js.map +1 -1
  184. package/dist/mcp-root.d.ts +37 -9
  185. package/dist/mcp-root.d.ts.map +1 -1
  186. package/dist/mcp-root.js +124 -25
  187. package/dist/mcp-root.js.map +1 -1
  188. package/dist/mcp-run.d.ts +18 -1
  189. package/dist/mcp-run.d.ts.map +1 -1
  190. package/dist/mcp-run.js +159 -55
  191. package/dist/mcp-run.js.map +1 -1
  192. package/dist/mcp-ws.js +4 -1
  193. package/dist/mcp-ws.js.map +1 -1
  194. package/dist/mcp.d.ts +18 -5
  195. package/dist/mcp.d.ts.map +1 -1
  196. package/dist/mcp.js +165 -82
  197. package/dist/mcp.js.map +1 -1
  198. package/dist/migrate-layout.d.ts +44 -0
  199. package/dist/migrate-layout.d.ts.map +1 -0
  200. package/dist/migrate-layout.js +982 -0
  201. package/dist/migrate-layout.js.map +1 -0
  202. package/dist/openapi-tool.d.ts +2 -2
  203. package/dist/openapi-tool.d.ts.map +1 -1
  204. package/dist/openapi-tool.js.map +1 -1
  205. package/dist/openapi-types.d.ts +2 -1
  206. package/dist/openapi-types.d.ts.map +1 -1
  207. package/dist/openapi-types.js +240 -12
  208. package/dist/openapi-types.js.map +1 -1
  209. package/dist/pipeline-report.d.ts +3 -2
  210. package/dist/pipeline-report.d.ts.map +1 -1
  211. package/dist/pipeline-report.js +19 -16
  212. package/dist/pipeline-report.js.map +1 -1
  213. package/dist/port.d.ts +5 -4
  214. package/dist/port.d.ts.map +1 -1
  215. package/dist/port.js +46 -29
  216. package/dist/port.js.map +1 -1
  217. package/dist/project-facts.d.ts +28 -4
  218. package/dist/project-facts.d.ts.map +1 -1
  219. package/dist/project-facts.js +12 -2
  220. package/dist/project-facts.js.map +1 -1
  221. package/dist/recipes/4.0.0.d.ts +9 -0
  222. package/dist/recipes/4.0.0.d.ts.map +1 -0
  223. package/dist/recipes/4.0.0.js +34 -0
  224. package/dist/recipes/4.0.0.js.map +1 -0
  225. package/dist/recipes/index.d.ts.map +1 -1
  226. package/dist/recipes/index.js +2 -0
  227. package/dist/recipes/index.js.map +1 -1
  228. package/dist/release-verification.d.ts +11 -1
  229. package/dist/release-verification.d.ts.map +1 -1
  230. package/dist/release-verification.js +47 -4
  231. package/dist/release-verification.js.map +1 -1
  232. package/dist/review.d.ts +21 -0
  233. package/dist/review.d.ts.map +1 -0
  234. package/dist/review.js +823 -0
  235. package/dist/review.js.map +1 -0
  236. package/dist/route-types.d.ts +28 -0
  237. package/dist/route-types.d.ts.map +1 -0
  238. package/dist/route-types.js +106 -0
  239. package/dist/route-types.js.map +1 -0
  240. package/dist/rules/codes.d.ts +9 -0
  241. package/dist/rules/codes.d.ts.map +1 -1
  242. package/dist/rules/codes.js +9 -0
  243. package/dist/rules/codes.js.map +1 -1
  244. package/dist/rules/data-guard.d.ts +12 -0
  245. package/dist/rules/data-guard.d.ts.map +1 -0
  246. package/dist/rules/data-guard.js +213 -0
  247. package/dist/rules/data-guard.js.map +1 -0
  248. package/dist/rules/index.d.ts +3 -0
  249. package/dist/rules/index.d.ts.map +1 -1
  250. package/dist/rules/index.js +17 -5
  251. package/dist/rules/index.js.map +1 -1
  252. package/dist/rules/islands.d.ts.map +1 -1
  253. package/dist/rules/islands.js +7 -4
  254. package/dist/rules/islands.js.map +1 -1
  255. package/dist/rules/legacy.d.ts +3 -1
  256. package/dist/rules/legacy.d.ts.map +1 -1
  257. package/dist/rules/legacy.js +829 -34
  258. package/dist/rules/legacy.js.map +1 -1
  259. package/dist/rules/nano.d.ts.map +1 -1
  260. package/dist/rules/nano.js +15 -6
  261. package/dist/rules/nano.js.map +1 -1
  262. package/dist/rules/pages.d.ts +15 -0
  263. package/dist/rules/pages.d.ts.map +1 -0
  264. package/dist/rules/pages.js +88 -0
  265. package/dist/rules/pages.js.map +1 -0
  266. package/dist/rules/routes.d.ts +11 -0
  267. package/dist/rules/routes.d.ts.map +1 -1
  268. package/dist/rules/routes.js +180 -2
  269. package/dist/rules/routes.js.map +1 -1
  270. package/dist/rules/secrets.d.ts +10 -0
  271. package/dist/rules/secrets.d.ts.map +1 -0
  272. package/dist/rules/secrets.js +169 -0
  273. package/dist/rules/secrets.js.map +1 -0
  274. package/dist/rules/security.d.ts +7 -0
  275. package/dist/rules/security.d.ts.map +1 -1
  276. package/dist/rules/security.js +171 -65
  277. package/dist/rules/security.js.map +1 -1
  278. package/dist/rules/typescript.d.ts +16 -0
  279. package/dist/rules/typescript.d.ts.map +1 -0
  280. package/dist/rules/typescript.js +59 -0
  281. package/dist/rules/typescript.js.map +1 -0
  282. package/dist/rules/zones.d.ts +17 -0
  283. package/dist/rules/zones.d.ts.map +1 -0
  284. package/dist/rules/zones.js +174 -0
  285. package/dist/rules/zones.js.map +1 -0
  286. package/dist/scaffold.d.ts +25 -12
  287. package/dist/scaffold.d.ts.map +1 -1
  288. package/dist/scaffold.js +154 -90
  289. package/dist/scaffold.js.map +1 -1
  290. package/dist/sdk.d.ts +17 -3
  291. package/dist/sdk.d.ts.map +1 -1
  292. package/dist/sdk.js +941 -153
  293. package/dist/sdk.js.map +1 -1
  294. package/dist/search-terms.d.ts +2 -0
  295. package/dist/search-terms.d.ts.map +1 -1
  296. package/dist/search-terms.js +23 -8
  297. package/dist/search-terms.js.map +1 -1
  298. package/dist/smoke.d.ts +79 -0
  299. package/dist/smoke.d.ts.map +1 -0
  300. package/dist/smoke.js +494 -0
  301. package/dist/smoke.js.map +1 -0
  302. package/dist/sync-manifest.d.ts.map +1 -1
  303. package/dist/sync-manifest.js +2 -1
  304. package/dist/sync-manifest.js.map +1 -1
  305. package/dist/sync-routes.d.ts +4 -3
  306. package/dist/sync-routes.d.ts.map +1 -1
  307. package/dist/sync-routes.js +4 -3
  308. package/dist/sync-routes.js.map +1 -1
  309. package/dist/test-tool.d.ts.map +1 -1
  310. package/dist/test-tool.js +30 -11
  311. package/dist/test-tool.js.map +1 -1
  312. package/dist/types-search.d.ts.map +1 -1
  313. package/dist/types-search.js +11 -5
  314. package/dist/types-search.js.map +1 -1
  315. package/dist/upgrade.d.ts +36 -6
  316. package/dist/upgrade.d.ts.map +1 -1
  317. package/dist/upgrade.js +167 -29
  318. package/dist/upgrade.js.map +1 -1
  319. package/dist/verification-plan.d.ts.map +1 -1
  320. package/dist/verification-plan.js +8 -0
  321. package/dist/verification-plan.js.map +1 -1
  322. package/dist/verification.d.ts.map +1 -1
  323. package/dist/verification.js +45 -12
  324. package/dist/verification.js.map +1 -1
  325. package/dist/web-app-options.d.ts +19 -0
  326. package/dist/web-app-options.d.ts.map +1 -0
  327. package/dist/web-app-options.js +49 -0
  328. package/dist/web-app-options.js.map +1 -0
  329. package/dist/work-graph.d.ts +3 -0
  330. package/dist/work-graph.d.ts.map +1 -1
  331. package/dist/work-graph.js +33 -16
  332. package/dist/work-graph.js.map +1 -1
  333. package/docs/examples.json +185 -29
  334. package/docs/llms-full.txt +4123 -548
  335. package/docs/types.json +14391 -10060
  336. package/package.json +19 -11
  337. package/src/app-files.ts +40 -0
  338. package/src/assure-hydration.ts +139 -46
  339. package/src/assure.ts +17 -2
  340. package/src/capabilities-tool.ts +35 -9
  341. package/src/cdn-check.ts +268 -0
  342. package/src/check-diagnostics.ts +199 -797
  343. package/src/check-scan.ts +394 -63
  344. package/src/check.ts +146 -58
  345. package/src/cli.ts +347 -92
  346. package/src/command-catalog.ts +407 -45
  347. package/src/config-target.ts +47 -0
  348. package/src/contracts.ts +66 -15
  349. package/src/db-audit.ts +128 -0
  350. package/src/db-child.ts +285 -0
  351. package/src/db-config.ts +224 -0
  352. package/src/db-tool.ts +690 -0
  353. package/src/dev-bun-config.ts +116 -40
  354. package/src/dev-feed-tool.ts +912 -0
  355. package/src/dev-server-client.ts +267 -0
  356. package/src/diagnostics.ts +179 -0
  357. package/src/diff-tool.ts +6 -5
  358. package/src/docs-search.ts +10 -3
  359. package/src/doctor.ts +98 -15
  360. package/src/env-file.ts +78 -1
  361. package/src/fix-recipes.ts +44 -31
  362. package/src/frontend-guidance.ts +5 -5
  363. package/src/i18n-check.ts +179 -0
  364. package/src/init-agents.ts +301 -38
  365. package/src/internal/code-unit-order.ts +5 -0
  366. package/src/internal/script-kind.ts +11 -0
  367. package/src/internal/source-facts.ts +96 -22
  368. package/src/internal/typescript-import.ts +663 -68
  369. package/src/introspect.ts +93 -82
  370. package/src/learn.ts +3 -3
  371. package/src/levels-tool.ts +47 -2
  372. package/src/load.ts +144 -32
  373. package/src/manifest-tool.ts +3 -2
  374. package/src/mcp-app-tool.ts +2 -0
  375. package/src/mcp-context.ts +5 -7
  376. package/src/mcp-delegate.ts +162 -0
  377. package/src/mcp-docs-tools.ts +23 -5
  378. package/src/mcp-exec.ts +301 -161
  379. package/src/mcp-http.ts +22 -5
  380. package/src/mcp-io.ts +130 -0
  381. package/src/mcp-isolate.ts +287 -0
  382. package/src/mcp-path.ts +50 -0
  383. package/src/mcp-project-child.ts +182 -0
  384. package/src/mcp-reflect.ts +3 -2
  385. package/src/mcp-render.ts +72 -42
  386. package/src/mcp-root.ts +130 -24
  387. package/src/mcp-run.ts +190 -56
  388. package/src/mcp-ws.ts +4 -1
  389. package/src/mcp.ts +193 -91
  390. package/src/migrate-layout.ts +1121 -0
  391. package/src/openapi-tool.ts +7 -3
  392. package/src/openapi-types.ts +315 -13
  393. package/src/pipeline-report.ts +22 -18
  394. package/src/port.ts +53 -30
  395. package/src/project-facts.ts +42 -8
  396. package/src/recipes/4.0.0.ts +35 -0
  397. package/src/recipes/index.ts +2 -0
  398. package/src/release-verification.ts +74 -5
  399. package/src/review.ts +988 -0
  400. package/src/route-types.ts +133 -0
  401. package/src/rules/codes.ts +9 -0
  402. package/src/rules/data-guard.ts +230 -0
  403. package/src/rules/index.ts +18 -5
  404. package/src/rules/islands.ts +12 -4
  405. package/src/rules/legacy.ts +947 -35
  406. package/src/rules/nano.ts +18 -6
  407. package/src/rules/pages.ts +99 -0
  408. package/src/rules/routes.ts +181 -2
  409. package/src/rules/secrets.ts +174 -0
  410. package/src/rules/security.ts +198 -70
  411. package/src/rules/typescript.ts +77 -0
  412. package/src/rules/zones.ts +195 -0
  413. package/src/scaffold.ts +175 -98
  414. package/src/sdk.ts +1215 -158
  415. package/src/search-terms.ts +24 -7
  416. package/src/smoke.ts +607 -0
  417. package/src/sync-manifest.ts +2 -1
  418. package/src/sync-routes.ts +4 -3
  419. package/src/test-tool.ts +32 -11
  420. package/src/types-search.ts +11 -4
  421. package/src/upgrade.ts +205 -25
  422. package/src/verification-plan.ts +27 -0
  423. package/src/verification.ts +50 -12
  424. package/src/web-app-options.ts +57 -0
  425. package/src/work-graph.ts +40 -16
@@ -10,15 +10,16 @@
10
10
  * Text, not types, so the rules are chosen for the ones that survive being read rather than run:
11
11
  *
12
12
  * - Which pipeline the app is on. `chooseBuildPipeline` decides from whether the plugin slots are
13
- * empty, and "does this file declare a non-empty `vitePlugins`" is a question the source answers.
14
- * - The adapter-entry hazard. `nifra build` imports the adapter from `framework.ts`, or from
15
- * `nifra.config.ts` when there is no `framework.ts`, and bundles everything that file imports into
16
- * the production server. A Vite plugin or an SFC compiler reached that way builds cleanly and then
17
- * dies at startup on a missing native binding. Nothing runtime-side catches it: by then the build
18
- * has already succeeded.
19
- * - A plugin in the wrong slot, for the subset whose import specifier names its pipeline. The load
20
- * guard classifies by hook shape and is authoritative; this catches the same thing earlier, before
21
- * anything is installed or started.
13
+ * empty, and "does this file declare a non-empty `vitePlugins`" is a question the source
14
+ * answers.
15
+ * - The adapter-entry hazard. `nifra build` imports the adapter from `backend/framework.ts`, or
16
+ * from `nifra.config.ts` when there is no `backend/framework.ts`, and bundles everything that
17
+ * file imports into the production server. A Vite plugin or an SFC compiler reached that way
18
+ * builds cleanly and then dies at startup on a missing native binding. Nothing runtime-side
19
+ * catches it: by then the build has already succeeded.
20
+ * - A plugin in the wrong slot, for the subset whose import specifier names its pipeline. The
21
+ * load guard classifies by hook shape and is authoritative; this catches the same thing
22
+ * earlier, before anything is installed or started.
22
23
  * - `conditions` on the Bun pipeline, which reach SSR and cannot reach the dev client bundle.
23
24
  *
24
25
  * Everything here degrades to silence rather than guessing. A config that computes its plugins, or
@@ -27,6 +28,7 @@
27
28
  */
28
29
  import { existsSync } from "node:fs";
29
30
  import { join } from "node:path";
31
+ import { CONFIG_FILE, FRAMEWORK_FILE } from "./app-files.js";
30
32
  import { codePositionMask, stripComments } from "./check.js";
31
33
  /** A plugin slot, and the pipeline it feeds. */
32
34
  const SLOT_PIPELINE = {
@@ -180,13 +182,13 @@ async function readSource(path) {
180
182
  * Total: a missing or unreadable config yields `ran: false`, never a throw.
181
183
  */
182
184
  export async function collectPipelineReport(cwd) {
183
- const configFile = existsSync(join(cwd, "nifra.config.ts")) ? "nifra.config.ts" : "framework.ts";
185
+ const configFile = existsSync(join(cwd, CONFIG_FILE)) ? CONFIG_FILE : FRAMEWORK_FILE;
184
186
  const source = await readSource(join(cwd, configFile));
185
187
  if (source === undefined) {
186
188
  return {
187
189
  ran: false,
188
190
  pipeline: "unknown",
189
- reason: "no nifra.config.ts or framework.ts here",
191
+ reason: "no nifra.config.ts or backend/framework.ts here",
190
192
  certain: false,
191
193
  findings: [],
192
194
  };
@@ -229,8 +231,9 @@ export async function collectPipelineReport(cwd) {
229
231
  : slots.clientPlugins.present || slots.serverPlugins.present
230
232
  ? "default: this app declares Bun plugins, so both phases stay on Bun"
231
233
  : "default: no transforms to place, so both phases stay on Bun";
232
- // The adapter entry is bundled into every `nifra build` server entry. Whatever it imports goes with it.
233
- const adapterEntry = existsSync(join(cwd, "framework.ts")) ? "framework.ts" : configFile;
234
+ // The adapter entry is bundled into every `nifra build` server entry. Whatever it imports goes
235
+ // with it.
236
+ const adapterEntry = existsSync(join(cwd, FRAMEWORK_FILE)) ? FRAMEWORK_FILE : configFile;
234
237
  const entrySource = adapterEntry === configFile ? source : await readSource(join(cwd, adapterEntry));
235
238
  if (entrySource !== undefined) {
236
239
  const seen = new Set();
@@ -245,11 +248,11 @@ export async function collectPipelineReport(cwd) {
245
248
  line: lineAt(entrySource, index),
246
249
  message: `${adapterEntry} imports "${specifier}", and \`nifra build\` imports the adapter from ${adapterEntry} - ` +
247
250
  "so the dev toolchain is bundled into the production server entry. The build succeeds and the server then fails at startup on a dependency of the bundler (a missing native binding, typically), which reads like a broken install rather than a config split.",
248
- fix: adapterEntry === "framework.ts"
251
+ fix: adapterEntry === FRAMEWORK_FILE
249
252
  ? 'move "' +
250
253
  specifier +
251
- '" to `nifra.config.ts`, which only the CLI imports, and keep `framework.ts` to the adapter'
252
- : 'add a `framework.ts` exporting just the adapter, re-export it from `nifra.config.ts` (`export { adapter } from "./framework"`), and leave the toolchain imports in the config',
254
+ '" to `nifra.config.ts`, which only the CLI imports, and keep `backend/framework.ts` to the adapter'
255
+ : 'add a `backend/framework.ts` exporting just the adapter, re-export it from `nifra.config.ts` (`export { adapter } from "./backend/framework"`), and leave the toolchain imports in the config',
253
256
  });
254
257
  }
255
258
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline-report.js","sourceRoot":"","sources":["../src/pipeline-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline-report.js","sourceRoot":"","sources":["../src/pipeline-report.ts"],"names":[],"mappings":"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"}
package/dist/port.d.ts CHANGED
@@ -14,7 +14,7 @@
14
14
  * per hit. The pure scanners are unit-tested; correctness of detection IS the product for a linter.
15
15
  */
16
16
  /** The five deploy targets a nifra `site` app can build for (mirrors create-nifra's DEPLOY presets). */
17
- export declare const TARGETS: readonly ["bun", "node", "deno", "cf-pages", "vercel"];
17
+ export declare const TARGETS: readonly ["bun", "node", "deno", "cloudflare", "vercel"];
18
18
  export type Target = (typeof TARGETS)[number];
19
19
  /** The portability hazards `port` detects. Stable ids - they're part of the `--json` contract. */
20
20
  export declare const FEATURE_IDS: readonly ["in-memory-session-store", "in-memory-isr-cache", "in-memory-rate-limit", "in-process-cron", "in-process-websocket", "bun-runtime-api", "deno-runtime-api", "node-builtin"];
@@ -71,11 +71,12 @@ export declare function detectFeatures(cwd: string): Promise<DetectedFeature[]>;
71
71
  export interface ResolvedTarget {
72
72
  readonly target: Target;
73
73
  /** How the target was determined - surfaced so the report explains itself. */
74
- readonly source: "flag" | "package-json-build" | "package-json-deploy" | "wrangler" | "vercel";
74
+ readonly source: "flag" | "config" | "package-json-build" | "package-json-deploy" | "wrangler" | "vercel";
75
75
  }
76
76
  /**
77
- * Resolve the app's deploy target. `--target` (validated) always wins. Otherwise infer it, in priority
78
- * order, from: the canonical `build` script (create-nifra's `build-<target>.ts`), the `deploy` script
77
+ * Resolve the app's deploy target. `--target` (validated) always wins, then the `target` that
78
+ * `nifra.config.ts` exports. Otherwise infer it, in priority order, from: the canonical `build` script
79
+ * (an older create-nifra's `build-<target>.ts`), the `deploy` script
79
80
  * (the vendor CLI it shells out to), a `wrangler.toml` (Cloudflare Pages), or a `vercel.json`. Returns
80
81
  * `undefined` when nothing signals a target (the matrix still prints; CI gating needs an explicit one).
81
82
  */
@@ -1 +1 @@
1
- {"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../src/port.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../src/port.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,wGAAwG;AACxG,eAAO,MAAM,OAAO,0DAA2D,CAAA;AAC/E,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAA;AAI7C,kGAAkG;AAClG,eAAO,MAAM,WAAW,uLASd,CAAA;AACV,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAEpD,iGAAiG;AACjG,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG,QAAQ,GAAG,aAAa,CAAA;AAErD,2GAA2G;AAC3G,UAAU,WAAW;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,2GAA2G;IAC3G,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IACpD,kFAAkF;IAClF,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACnD;AAmBD;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAsH7D,CAAA;AAED,0DAA0D;AAC1D,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,yFAAyF;AACzF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,QAAQ,EAAE,CAAA;IACtC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CACrD;AAwDD;;;GAGG;AACH,UAAU,SAAS;IACjB,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC7C,wGAAwG;IACxG,eAAe,EAAE,OAAO,CAAA;CACzB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CA2BzF;AAyBD,6FAA6F;AAC7F,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAoB5E;AAID,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EACX,MAAM,GACN,QAAQ,GACR,oBAAoB,GACpB,qBAAqB,GACrB,UAAU,GACV,QAAQ,CAAA;CACb;AAqBD;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAsCrC;AAaD,4GAA4G;AAC5G,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CACrD;AAED,iGAAiG;AACjG,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,QAAQ,CAAC,CAAA;IAC5D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;CACrC;AAED,2FAA2F;AAC3F,MAAM,WAAW,QAAQ;IACvB,8FAA8F;IAC9F,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA;IACtD,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAA;IAC7C,iGAAiG;IACjG,QAAQ,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,CAAA;IACtC,sGAAsG;IACtG,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAA;CACrB;AAKD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IAC7C,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAA;IAC7C,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CACxB;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,IAAI,GAAE;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACjE,OAAO,CAAC,UAAU,CAAC,CAkCrB;AAaD,oFAAoF;AACpF,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAkF5F;AAmBD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;IACvB,2GAA2G;IAC3G,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAA;IACrB,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED;;;;;;GAMG;AACH,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAwBtF"}
package/dist/port.js CHANGED
@@ -16,8 +16,10 @@
16
16
  import { join } from "node:path";
17
17
  import { Glob } from "bun";
18
18
  import { stripComments } from "./check.js";
19
+ import { readConfigTarget } from "./config-target.js";
20
+ import { codeUnitOrder } from "./internal/code-unit-order.js";
19
21
  /** The five deploy targets a nifra `site` app can build for (mirrors create-nifra's DEPLOY presets). */
20
- export const TARGETS = ["bun", "node", "deno", "cf-pages", "vercel"];
22
+ export const TARGETS = ["bun", "node", "deno", "cloudflare", "vercel"];
21
23
  const isTarget = (value) => TARGETS.includes(value);
22
24
  /** The portability hazards `port` detects. Stable ids - they're part of the `--json` contract. */
23
25
  export const FEATURE_IDS = [
@@ -36,14 +38,14 @@ const inMemoryVerdicts = {
36
38
  bun: "caveat",
37
39
  node: "caveat",
38
40
  deno: "caveat",
39
- "cf-pages": "unsupported",
41
+ cloudflare: "unsupported",
40
42
  vercel: "unsupported",
41
43
  };
42
44
  const inMemoryReasons = (shared) => ({
43
45
  bun: "ok single-instance; state is lost on restart and not shared across instances",
44
46
  node: "ok single-instance; state is lost on restart and not shared across instances",
45
47
  deno: "ok single-instance; state is lost on restart and not shared across instances",
46
- "cf-pages": shared,
48
+ cloudflare: shared,
47
49
  vercel: shared,
48
50
  });
49
51
  /**
@@ -78,14 +80,14 @@ export const FEATURES = {
78
80
  bun: "ok",
79
81
  node: "ok",
80
82
  deno: "ok",
81
- "cf-pages": "caveat",
83
+ cloudflare: "caveat",
82
84
  vercel: "unsupported",
83
85
  },
84
86
  reasons: {
85
87
  bun: "long-lived process runs the scheduler loop",
86
88
  node: "long-lived process runs the scheduler loop",
87
89
  deno: "long-lived process runs the scheduler loop",
88
- "cf-pages": "no long-lived loop on Workers - use the platform `scheduled` trigger via toFetchHandler(app, { scheduled }) and a wrangler [triggers] cron",
90
+ cloudflare: "no long-lived loop on Workers - use the platform `scheduled` trigger via toFetchHandler(app, { scheduled }) and a wrangler [triggers] cron",
89
91
  vercel: "no long-lived process - use a Vercel Cron Job hitting an endpoint",
90
92
  },
91
93
  },
@@ -96,14 +98,14 @@ export const FEATURES = {
96
98
  bun: "ok",
97
99
  node: "ok",
98
100
  deno: "ok",
99
- "cf-pages": "caveat",
101
+ cloudflare: "caveat",
100
102
  vercel: "unsupported",
101
103
  },
102
104
  reasons: {
103
105
  bun: "all sockets live in one process; app.publish broadcasts to every client",
104
106
  node: "all sockets live in one process; app.publish broadcasts to every client",
105
107
  deno: "all sockets live in one process; app.publish broadcasts to every client",
106
- "cf-pages": "a stateless fetch can't broadcast across isolates - wrap the app in createWebSocketHub (a Durable Object) from @nifrajs/workers",
108
+ cloudflare: "a stateless fetch can't broadcast across isolates - wrap the app in createWebSocketHub (a Durable Object) from @nifrajs/workers",
107
109
  vercel: "Vercel's serverless functions don't hold long-lived WebSocket connections",
108
110
  },
109
111
  },
@@ -114,14 +116,14 @@ export const FEATURES = {
114
116
  bun: "ok",
115
117
  node: "unsupported",
116
118
  deno: "unsupported",
117
- "cf-pages": "unsupported",
119
+ cloudflare: "unsupported",
118
120
  vercel: "unsupported",
119
121
  },
120
122
  reasons: {
121
123
  bun: "the Bun runtime provides the Bun global",
122
124
  node: "no Bun global on Node - use the node: / Web equivalents",
123
125
  deno: "no Bun global on Deno - use the Deno / Web equivalents",
124
- "cf-pages": "no Bun global in the Workers runtime",
126
+ cloudflare: "no Bun global in the Workers runtime",
125
127
  vercel: "no Bun global in the Vercel runtime",
126
128
  },
127
129
  },
@@ -132,14 +134,14 @@ export const FEATURES = {
132
134
  bun: "unsupported",
133
135
  node: "unsupported",
134
136
  deno: "ok",
135
- "cf-pages": "unsupported",
137
+ cloudflare: "unsupported",
136
138
  vercel: "unsupported",
137
139
  },
138
140
  reasons: {
139
141
  bun: "no Deno global on Bun - use the Bun / Web equivalents",
140
142
  node: "no Deno global on Node - use the node: / Web equivalents",
141
143
  deno: "the Deno runtime provides the Deno global",
142
- "cf-pages": "no Deno global in the Workers runtime",
144
+ cloudflare: "no Deno global in the Workers runtime",
143
145
  vercel: "no Deno global in the Vercel runtime",
144
146
  },
145
147
  },
@@ -150,14 +152,14 @@ export const FEATURES = {
150
152
  bun: "ok",
151
153
  node: "ok",
152
154
  deno: "ok",
153
- "cf-pages": "caveat",
155
+ cloudflare: "caveat",
154
156
  vercel: "caveat",
155
157
  },
156
158
  reasons: {
157
159
  bun: "Bun implements the node: builtins",
158
160
  node: "native node: builtins",
159
161
  deno: "Deno implements the node: builtins",
160
- "cf-pages": 'Workers needs `compatibility_flags = ["nodejs_compat"]` in wrangler.toml (and not every builtin is covered)',
162
+ cloudflare: 'Workers needs `compatibility_flags = ["nodejs_compat"]` in wrangler.toml (and not every builtin is covered)',
161
163
  vercel: "needs the Node.js runtime (not the Edge runtime) so node: builtins resolve",
162
164
  },
163
165
  },
@@ -191,8 +193,9 @@ const WS_ROUTE = /\.ws\s*\(/g;
191
193
  const WS_HUB = /(?<![.\w$])createWebSocketHub\b/;
192
194
  // `Bun.` / `Deno.` runtime globals. `(?<![.\w$])` rejects `myBun.x`, `globalThis.Bun` stays a real use
193
195
  // (we want it), and `obj.Bun.` won't match because the char before `Bun` would be `.`.
194
- const BUN_GLOBAL = /(?<![.\w$])Bun\s*\./g;
195
- const DENO_GLOBAL = /(?<![.\w$])Deno\s*\./g;
196
+ const BUN_GLOBAL = /(?<![.\w$])(?:globalThis\.)?Bun\s*\./g;
197
+ const DENO_GLOBAL = /(?<![.\w$])(?:globalThis\.)?Deno\s*\./g;
198
+ const BUN_MODULE_IMPORT = /(?:from|import)\s*\(?\s*["'`]bun(?:\/[^"'`]*)?["'`]/g;
196
199
  // `node:` builtin specifier in any import/require/export-from form.
197
200
  const NODE_BUILTIN = /(?:from|import|require)\s*\(?\s*["'`](node:[A-Za-z0-9/_-]+)["'`]/g;
198
201
  const pushHits = (out, file, content, code, rx) => {
@@ -229,8 +232,12 @@ export function scanFileForFeatures(file, content, state) {
229
232
  // WS routes are collected unconditionally; the hub-presence post-pass decides whether they're a hazard.
230
233
  pushHits(add("in-process-websocket"), file, content, code, WS_ROUTE);
231
234
  pushHits(add("bun-runtime-api"), file, content, code, BUN_GLOBAL);
235
+ pushHits(add("bun-runtime-api"), file, content, code, BUN_MODULE_IMPORT);
232
236
  pushHits(add("deno-runtime-api"), file, content, code, DENO_GLOBAL);
233
237
  pushHits(add("node-builtin"), file, content, code, NODE_BUILTIN);
238
+ for (const evidence of state.evidence.values()) {
239
+ evidence.sort((a, b) => codeUnitOrder(a.file, b.file) || a.line - b.line);
240
+ }
234
241
  }
235
242
  // Mirror nifra check/doctor's ignore set: deps, build output, generated/per-runtime dist dirs, VCS.
236
243
  // PLUS *.config.* and obvious build scripts (build*.ts) - `port` scans request/app source, not tooling.
@@ -247,7 +254,7 @@ async function walkPortSource(cwd, visit) {
247
254
  visit(rel, await Bun.file(join(cwd, rel)).text());
248
255
  }
249
256
  }
250
- const byEvidence = (a, b) => a.file.localeCompare(b.file) || a.line - b.line;
257
+ const byEvidence = (a, b) => codeUnitOrder(a.file, b.file) || a.line - b.line;
251
258
  /** Run every detector over the project and return the detected features (sorted, stable). */
252
259
  export async function detectFeatures(cwd) {
253
260
  const state = { evidence: new Map(), hasWebSocketHub: false };
@@ -273,7 +280,7 @@ export async function detectFeatures(cwd) {
273
280
  }
274
281
  const BUILD_SCRIPT_TARGET = [
275
282
  // create-nifra's canonical per-target build scripts (build-bun.ts / build-node.ts / build-deno.ts /
276
- // build-vercel.ts), plus the bare `build.ts` the cf-pages preset uses.
283
+ // build-vercel.ts), plus the bare `build.ts` the cloudflare preset uses.
277
284
  [/build-vercel\.[cm]?[jt]s\b/, "vercel"],
278
285
  [/build-deno\.[cm]?[jt]s\b/, "deno"],
279
286
  [/build-node\.[cm]?[jt]s\b/, "node"],
@@ -282,21 +289,29 @@ const BUILD_SCRIPT_TARGET = [
282
289
  const DEPLOY_SCRIPT_TARGET = [
283
290
  [/\bvercel\s+deploy\b/, "vercel"],
284
291
  [/\bdeployctl\b/, "deno"],
285
- [/wrangler\s+pages\s+deploy\b/, "cf-pages"],
292
+ [/wrangler\s+pages\s+deploy\b/, "cloudflare"],
286
293
  [/\bdocker\s+build\b/, "node"],
287
294
  ];
288
295
  /**
289
- * Resolve the app's deploy target. `--target` (validated) always wins. Otherwise infer it, in priority
290
- * order, from: the canonical `build` script (create-nifra's `build-<target>.ts`), the `deploy` script
296
+ * Resolve the app's deploy target. `--target` (validated) always wins, then the `target` that
297
+ * `nifra.config.ts` exports. Otherwise infer it, in priority order, from: the canonical `build` script
298
+ * (an older create-nifra's `build-<target>.ts`), the `deploy` script
291
299
  * (the vendor CLI it shells out to), a `wrangler.toml` (Cloudflare Pages), or a `vercel.json`. Returns
292
300
  * `undefined` when nothing signals a target (the matrix still prints; CI gating needs an explicit one).
293
301
  */
294
302
  export async function resolveTarget(cwd, override) {
295
- if (override !== undefined) {
296
- if (!isTarget(override)) {
297
- throw new Error(`[nifra] invalid --target "${override}". options: ${TARGETS.join(", ")}`);
298
- }
299
- return { target: override, source: "flag" };
303
+ const checked = (value, label) => {
304
+ if (isTarget(value))
305
+ return value;
306
+ throw new Error(value === "cf-pages"
307
+ ? `[nifra] the ${label} "cf-pages" is now "cloudflare"`
308
+ : `[nifra] invalid ${label} "${value}". options: ${TARGETS.join(", ")}`);
309
+ };
310
+ if (override !== undefined)
311
+ return { target: checked(override, "--target"), source: "flag" };
312
+ const configured = readConfigTarget(cwd);
313
+ if (configured !== undefined && configured !== "static") {
314
+ return { target: checked(configured, "target in nifra.config.ts"), source: "config" };
300
315
  }
301
316
  const pkg = await readJson(join(cwd, "package.json"));
302
317
  const scripts = pkg?.scripts;
@@ -313,7 +328,7 @@ export async function resolveTarget(cwd, override) {
313
328
  }
314
329
  }
315
330
  if (await Bun.file(join(cwd, "wrangler.toml")).exists()) {
316
- return { target: "cf-pages", source: "wrangler" };
331
+ return { target: "cloudflare", source: "wrangler" };
317
332
  }
318
333
  if ((await Bun.file(join(cwd, "vercel.json")).exists()) ||
319
334
  (await Bun.file(join(cwd, ".vercel", "project.json")).exists())) {
@@ -373,7 +388,7 @@ export async function collectPortResult(cwd, opts = {}) {
373
388
  }
374
389
  // --- Rendering ----------------------------------------------------------------------------------------
375
390
  const CELL = { ok: "✓", caveat: "⚠", unsupported: "✗" };
376
- const COL_WIDTH = 9; // widest target header ("cf-pages") + padding
391
+ const COL_WIDTH = 12; // widest target header ("cloudflare") + padding
377
392
  const padCell = (s, width) => {
378
393
  // Pad accounting for the symbol's display width (✓/⚠/✗ render as 1 cell in a monospace terminal).
379
394
  const len = [...s].length;
@@ -387,7 +402,7 @@ export function renderReport(result, opts) {
387
402
  out.push(`target: ${resolved.target} (detected from ${describeSource(resolved.source)})`);
388
403
  }
389
404
  else {
390
- out.push("target: not detected - pass --target <bun|node|deno|cf-pages|vercel> to gate against one");
405
+ out.push("target: not detected - pass --target <bun|node|deno|cloudflare|vercel> to gate against one");
391
406
  }
392
407
  out.push("");
393
408
  if (detected.length === 0) {
@@ -456,6 +471,8 @@ function describeSource(source) {
456
471
  switch (source) {
457
472
  case "flag":
458
473
  return "--target";
474
+ case "config":
475
+ return "nifra.config.ts";
459
476
  case "package-json-build":
460
477
  return "the package.json build script";
461
478
  case "package-json-deploy":
@@ -490,7 +507,7 @@ export async function runPort(cwd, opts = {}) {
490
507
  return true;
491
508
  if (result.resolved === undefined) {
492
509
  if (!opts.json) {
493
- console.error("\n[nifra] --ci needs a deploy target to gate against, and none was detected. Pass --target <bun|node|deno|cf-pages|vercel>.");
510
+ console.error("\n[nifra] --ci needs a deploy target to gate against, and none was detected. Pass --target <bun|node|deno|cloudflare|vercel>.");
494
511
  }
495
512
  return false;
496
513
  }
package/dist/port.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"port.js","sourceRoot":"","sources":["../src/port.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE1C,wGAAwG;AACxG,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAU,CAAA;AAG7E,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAmB,EAAE,CAAE,OAA6B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAEnG,kGAAkG;AAClG,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,yBAAyB;IACzB,qBAAqB;IACrB,sBAAsB;IACtB,iBAAiB;IACjB,sBAAsB;IACtB,iBAAiB;IACjB,kBAAkB;IAClB,cAAc;CACN,CAAA;AAgBV,wGAAwG;AACxG,wGAAwG;AACxG,MAAM,gBAAgB,GAAsC;IAC1D,GAAG,EAAE,QAAQ;IACb,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE,aAAa;IACzB,MAAM,EAAE,aAAa;CACtB,CAAA;AACD,MAAM,eAAe,GAAG,CAAC,MAAc,EAAoC,EAAE,CAAC,CAAC;IAC7E,GAAG,EAAE,8EAA8E;IACnF,IAAI,EAAE,8EAA8E;IACpF,IAAI,EAAE,8EAA8E;IACpF,UAAU,EAAE,MAAM;IAClB,MAAM,EAAE,MAAM;CACf,CAAC,CAAA;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAA6C;IAChE,yBAAyB,EAAE;QACzB,KAAK,EAAE,yBAAyB;QAChC,OAAO,EAAE,gEAAgE;QACzE,QAAQ,EAAE,gBAAgB;QAC1B,OAAO,EAAE,eAAe,CACtB,8GAA8G,CAC/G;KACF;IACD,qBAAqB,EAAE;QACrB,KAAK,EAAE,qBAAqB;QAC5B,OAAO,EAAE,oEAAoE;QAC7E,QAAQ,EAAE,gBAAgB;QAC1B,OAAO,EAAE,eAAe,CACtB,iIAAiI,CAClI;KACF;IACD,sBAAsB,EAAE;QACtB,KAAK,EAAE,sBAAsB;QAC7B,OAAO,EAAE,4DAA4D;QACrE,QAAQ,EAAE,gBAAgB;QAC1B,OAAO,EAAE,eAAe,CACtB,yGAAyG,CAC1G;KACF;IACD,iBAAiB,EAAE;QACjB,KAAK,EAAE,iBAAiB;QACxB,OAAO,EAAE,mEAAmE;QAC5E,QAAQ,EAAE;YACR,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,aAAa;SACtB;QACD,OAAO,EAAE;YACP,GAAG,EAAE,4CAA4C;YACjD,IAAI,EAAE,4CAA4C;YAClD,IAAI,EAAE,4CAA4C;YAClD,UAAU,EACR,4IAA4I;YAC9I,MAAM,EAAE,mEAAmE;SAC5E;KACF;IACD,sBAAsB,EAAE;QACtB,KAAK,EAAE,sBAAsB;QAC7B,OAAO,EAAE,wEAAwE;QACjF,QAAQ,EAAE;YACR,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,aAAa;SACtB;QACD,OAAO,EAAE;YACP,GAAG,EAAE,yEAAyE;YAC9E,IAAI,EAAE,yEAAyE;YAC/E,IAAI,EAAE,yEAAyE;YAC/E,UAAU,EACR,iIAAiI;YACnI,MAAM,EAAE,2EAA2E;SACpF;KACF;IACD,iBAAiB,EAAE;QACjB,KAAK,EAAE,mBAAmB;QAC1B,OAAO,EAAE,sEAAsE;QAC/E,QAAQ,EAAE;YACR,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,aAAa;YACnB,UAAU,EAAE,aAAa;YACzB,MAAM,EAAE,aAAa;SACtB;QACD,OAAO,EAAE;YACP,GAAG,EAAE,yCAAyC;YAC9C,IAAI,EAAE,yDAAyD;YAC/D,IAAI,EAAE,wDAAwD;YAC9D,UAAU,EAAE,sCAAsC;YAClD,MAAM,EAAE,qCAAqC;SAC9C;KACF;IACD,kBAAkB,EAAE;QAClB,KAAK,EAAE,oBAAoB;QAC3B,OAAO,EAAE,+CAA+C;QACxD,QAAQ,EAAE;YACR,GAAG,EAAE,aAAa;YAClB,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,aAAa;YACzB,MAAM,EAAE,aAAa;SACtB;QACD,OAAO,EAAE;YACP,GAAG,EAAE,uDAAuD;YAC5D,IAAI,EAAE,0DAA0D;YAChE,IAAI,EAAE,2CAA2C;YACjD,UAAU,EAAE,uCAAuC;YACnD,MAAM,EAAE,sCAAsC;SAC/C;KACF;IACD,cAAc,EAAE;QACd,KAAK,EAAE,eAAe;QACtB,OAAO,EAAE,0EAA0E;QACnF,QAAQ,EAAE;YACR,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,QAAQ;SACjB;QACD,OAAO,EAAE;YACP,GAAG,EAAE,mCAAmC;YACxC,IAAI,EAAE,uBAAuB;YAC7B,IAAI,EAAE,oCAAoC;YAC1C,UAAU,EACR,6GAA6G;YAC/G,MAAM,EAAE,4EAA4E;SACrF;KACF;CACF,CAAA;AAkBD,+CAA+C;AAC/C,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,KAAa,EAAU,EAAE,CACxD,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAA;AAE5C,+GAA+G;AAE/G,0GAA0G;AAC1G,gGAAgG;AAChG,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,GAAW,EAAW,EAAE;IACzD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAA;IAC3D,iGAAiG;IACjG,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,oCAAoC,OAAO,sBAAsB,CAAC,CAAA;IACxF,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACtB,CAAC,CAAA;AAED,uGAAuG;AACvG,mFAAmF;AACnF,MAAM,aAAa,GAAG,kCAAkC,CAAA;AACxD,MAAM,SAAS,GAAG,gCAAgC,CAAA;AAClD,sGAAsG;AACtG,6EAA6E;AAC7E,MAAM,UAAU,GAAG,2BAA2B,CAAA;AAC9C,gFAAgF;AAChF,MAAM,cAAc,GAAG,kCAAkC,CAAA;AACzD,kGAAkG;AAClG,kGAAkG;AAClG,qGAAqG;AACrG,uGAAuG;AACvG,wEAAwE;AACxE,MAAM,QAAQ,GAAG,YAAY,CAAA;AAC7B,MAAM,MAAM,GAAG,iCAAiC,CAAA;AAChD,uGAAuG;AACvG,uFAAuF;AACvF,MAAM,UAAU,GAAG,sBAAsB,CAAA;AACzC,MAAM,WAAW,GAAG,uBAAuB,CAAA;AAC3C,oEAAoE;AACpE,MAAM,YAAY,GAAG,mEAAmE,CAAA;AAExF,MAAM,QAAQ,GAAG,CACf,GAAe,EACf,IAAY,EACZ,OAAe,EACf,IAAY,EACZ,EAAU,EACJ,EAAE;IACR,EAAE,CAAC,SAAS,GAAG,CAAC,CAAA;IAChB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACjC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;QAClC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACnE,CAAC;AACH,CAAC,CAAA;AAYD;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,OAAe,EAAE,KAAgB;IACjF,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IACnC,MAAM,GAAG,GAAG,CAAC,EAAa,EAAc,EAAE;QACxC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAA;QACzC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QACzD,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,KAAK,CAAC,eAAe,GAAG,IAAI,CAAA;IAEnD,IAAI,WAAW,CAAC,IAAI,EAAE,eAAe,CAAC;QACpC,QAAQ,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,CAAA;IAC9E,IAAI,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC;QACnC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;IACtE,IAAI,WAAW,CAAC,IAAI,EAAE,qBAAqB,CAAC;QAC1C,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;IACxE,IAAI,WAAW,CAAC,IAAI,EAAE,eAAe,CAAC;QACpC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,CAAA;IACvE,wGAAwG;IACxG,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IACpE,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;IACjE,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;IACnE,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,CAAA;AAClE,CAAC;AAED,oGAAoG;AACpG,wGAAwG;AACxG,MAAM,OAAO,GACX,kLAAkL,CAAA;AAEpL,+FAA+F;AAC/F,KAAK,UAAU,cAAc,CAC3B,GAAW,EACX,KAA6C;IAE7C,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,CAAC,sCAAsC,CAAC,CAAC,IAAI,CAAC;QAC/E,GAAG;QACH,GAAG,EAAE,KAAK;KACX,CAAC,EAAE,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACxC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,SAAQ;QAC/B,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IACnD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,CAAW,EAAE,CAAW,EAAU,EAAE,CACtD,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAA;AAEjD,6FAA6F;AAC7F,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW;IAC9C,MAAM,KAAK,GAAc,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,CAAA;IACxE,MAAM,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;IAErF,MAAM,QAAQ,GAAsB,EAAE,CAAA;IACtC,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,SAAQ;QAC7D,iGAAiG;QACjG,8FAA8F;QAC9F,IAAI,EAAE,KAAK,sBAAsB,IAAI,KAAK,CAAC,eAAe;YAAE,SAAQ;QACpE,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;QACzB,QAAQ,CAAC,IAAI,CAAC;YACZ,EAAE;YACF,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAUD,MAAM,mBAAmB,GAA6C;IACpE,oGAAoG;IACpG,uEAAuE;IACvE,CAAC,4BAA4B,EAAE,QAAQ,CAAC;IACxC,CAAC,0BAA0B,EAAE,MAAM,CAAC;IACpC,CAAC,0BAA0B,EAAE,MAAM,CAAC;IACpC,CAAC,yBAAyB,EAAE,KAAK,CAAC;CACnC,CAAA;AACD,MAAM,oBAAoB,GAA6C;IACrE,CAAC,qBAAqB,EAAE,QAAQ,CAAC;IACjC,CAAC,eAAe,EAAE,MAAM,CAAC;IACzB,CAAC,6BAA6B,EAAE,UAAU,CAAC;IAC3C,CAAC,oBAAoB,EAAE,MAAM,CAAC;CAC/B,CAAA;AAMD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAW,EACX,QAAiB;IAEjB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,eAAe,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC3F,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;IAC7C,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAqB,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAA;IACzE,MAAM,OAAO,GAAG,GAAG,EAAE,OAAO,CAAA;IAC5B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAA;QACjC,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,mBAAmB,EAAE,CAAC;YAC/C,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAA;QACrE,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAA;QACnC,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,oBAAoB,EAAE,CAAC;YAChD,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;gBAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAA;QACvE,CAAC;IACH,CAAC;IAED,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACxD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,CAAA;IACnD,CAAC;IACD,IACE,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACnD,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAC/D,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;IAC/C,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,KAAK,UAAU,QAAQ,CAAI,IAAY;IACrC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAY,CAAA;QACjE,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAE,MAAY,CAAC,CAAC,CAAC,SAAS,CAAA;IAClF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAgCD,MAAM,eAAe,GAAG,CAAC,QAA6B,EAAY,EAAE,CAClE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AAQ5C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAW,EACX,OAAgE,EAAE;IAElE,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC7C,cAAc,CAAC,GAAG,CAAC;QACnB,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;KAChC,CAAC,CAAA;IAEF,MAAM,OAAO,GAAgB,EAAE,CAAA;IAC/B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YACjD,MAAM,MAAM,GAAG,OAAO,KAAK,aAAa,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,CAAA;YAC1F,IAAI,CAAC,MAAM;gBAAE,SAAQ;YACrB,OAAO,CAAC,IAAI,CAAC;gBACX,OAAO,EAAE,OAAO,CAAC,EAAE;gBACnB,OAAO;gBACP,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACrD,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC;aAC5C,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAa;QACrB,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,IAAI;QAChC,YAAY,EAAE,QAAQ,EAAE,MAAM,IAAI,IAAI;QACtC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7B,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC;YACrC,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC,CAAC;QACH,OAAO;QACP,EAAE,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC;KACzB,CAAA;IACD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;AACrC,CAAC;AAED,yGAAyG;AAEzG,MAAM,IAAI,GAAsC,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,CAAA;AAC1F,MAAM,SAAS,GAAG,CAAC,CAAA,CAAC,8CAA8C;AAElE,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,KAAa,EAAU,EAAE;IACnD,kGAAkG;IAClG,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAA;IACzB,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,oFAAoF;AACpF,MAAM,UAAU,YAAY,CAAC,MAAkB,EAAE,IAAmC;IAClF,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,MAAM,CAAA;IAC3C,MAAM,GAAG,GAAa,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAA;IAE7D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,GAAG,CAAC,IAAI,CAAC,WAAW,QAAQ,CAAC,MAAM,mBAAmB,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC3F,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,IAAI,CACN,0FAA0F,CAC3F,CAAA;IACH,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEZ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,GAAG,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAA;QACxF,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;IAED,cAAc;IACd,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAA;IAC3E,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAClG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAChB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;IACnC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACxF,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,CAAA;IACtD,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACZ,GAAG,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAA;IACzE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEZ,iCAAiC;IACjC,GAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAA;IACzC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,GAAG,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,EAAE,GAAG,CAAC,CAAA;QAChD,GAAG,CAAC,IAAI,CAAC,cAAc,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;QACtD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACjC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;QACrD,CAAC;IACH,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEZ,6BAA6B;IAC7B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,GAAG,CAAC,IAAI,CACN,KAAK,QAAQ,CAAC,MAAM,4EAA4E;YAC9F,6BAA6B,CAChC,CAAA;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,gGAAgG;QAChG,oGAAoG;QACpG,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAA;QACnF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,GAAG,CAAC,IAAI,CAAC,iBAAiB,QAAQ,CAAC,MAAM,8CAA8C,CAAC,CAAA;QAC1F,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CACN,qBAAqB,QAAQ,CAAC,MAAM,SAAS,UAAU,CAAC,MAAM,kCAAkC,CACjG,CAAA;YACD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBAC3B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,MAAM,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACzE,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAA;QAC3F,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,aAAa,CAAC,CAAA;IAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAA;IAClE,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,kCAAkC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;IACtF,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;QACpD,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,OAAO,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;QACvF,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;QAClC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACjD,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAA;IACnE,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACvB,CAAC;AAED,SAAS,cAAc,CAAC,MAAgC;IACtD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,OAAO,UAAU,CAAA;QACnB,KAAK,oBAAoB;YACvB,OAAO,+BAA+B,CAAA;QACxC,KAAK,qBAAqB;YACxB,OAAO,gCAAgC,CAAA;QACzC,KAAK,UAAU;YACb,OAAO,eAAe,CAAA;QACxB,KAAK,QAAQ;YACX,OAAO,eAAe,CAAA;IAC1B,CAAC;AACH,CAAC;AAWD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,OAAuB,EAAE;IAClE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE;QAC1C,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzC,CAAC,CAAA;IACF,8DAA8D;IAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAA;IAE5D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IACnD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC,CAAA;IACrE,CAAC;IAED,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IACxB,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,6HAA6H,CAC9H,CAAA;QACH,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAA;AACzC,CAAC"}
1
+ {"version":3,"file":"port.js","sourceRoot":"","sources":["../src/port.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,14 @@
1
1
  import type { CapabilityProjectReport } from "./capabilities-tool.js";
2
- import type { CheckAssuranceContext, CheckConfig, CheckDiagnostic } from "./check-diagnostics.js";
2
+ import type { CheckAssuranceContext, CheckConfig, CheckTypecheckResult } from "./check-diagnostics.js";
3
3
  import type { ManifestDriftFinding, SourceFinding, StaticRouteFinding, TransitiveServerImportFinding } from "./check-scan.js";
4
4
  import type { DoctorResult } from "./doctor.js";
5
+ import type { TypeScriptSession } from "./internal/typescript-import.js";
5
6
  import type { PipelineReport } from "./pipeline-report.js";
6
7
  import type { RulePack, SourceIndex } from "./rules/index.js";
7
8
  export interface ProjectSourceFindings {
8
9
  readonly fetches: readonly SourceFinding[];
10
+ /** Hand-rolled `new EventSource("/…")` / `new WebSocket("/…")` to the app's own streaming surface. */
11
+ readonly streams: readonly SourceFinding[];
9
12
  readonly untypedClients: readonly SourceFinding[];
10
13
  readonly removedImports: readonly SourceFinding[];
11
14
  readonly responseRoutes: readonly SourceFinding[];
@@ -21,6 +24,27 @@ export interface ProjectPolicyFacts {
21
24
  readonly checkConfig: CheckConfig;
22
25
  readonly rulePacks: readonly RulePack[];
23
26
  }
27
+ export interface ContractCheckFacts {
28
+ readonly present: boolean;
29
+ readonly vacuous: boolean;
30
+ readonly diagnostics: readonly {
31
+ readonly route?: string;
32
+ readonly message: string;
33
+ }[];
34
+ readonly error?: string;
35
+ }
36
+ /** Check-wide inputs that rules format into diagnostics. Scanners populate facts; rules own policy. */
37
+ export interface ProjectCheckFacts {
38
+ readonly typecheck: CheckTypecheckResult;
39
+ readonly sqlCompilerAvailable: boolean;
40
+ /** Set when a project TypeScript install is present but outside the scanner adapter range. */
41
+ readonly unsupportedTypeScriptVersion?: string;
42
+ /** Shared syntax/checker session for built-in rules; omitted from serialized check output. */
43
+ readonly typescriptSession?: TypeScriptSession;
44
+ readonly checkConfigError?: string;
45
+ readonly checkConfigWarnings: readonly string[];
46
+ readonly contracts: ContractCheckFacts;
47
+ }
24
48
  export interface ProjectFacts {
25
49
  readonly source: SourceIndex;
26
50
  readonly routes: readonly StaticRouteFinding[];
@@ -28,14 +52,14 @@ export interface ProjectFacts {
28
52
  readonly packages: ProjectPackageFacts;
29
53
  readonly pipeline?: PipelineReport;
30
54
  readonly policies: ProjectPolicyFacts;
55
+ readonly check: ProjectCheckFacts;
31
56
  readonly sourceFindings: ProjectSourceFindings;
32
- readonly legacyDiagnostics: readonly CheckDiagnostic[];
33
57
  }
34
- export type ProjectFactsSeed = Omit<ProjectFacts, "legacyDiagnostics">;
58
+ export type ProjectFactsSeed = ProjectFacts;
35
59
  /**
36
60
  * Publish the one immutable rule snapshot. The loader owns all mutable scan buffers; rules only see
37
61
  * these copied, frozen collections. Policy/config objects remain caller-owned because assurance config
38
62
  * can contain executable adapters and must not be frozen as a side effect of checking.
39
63
  */
40
- export declare function freezeProjectFacts(seed: ProjectFactsSeed, legacyDiagnostics: readonly CheckDiagnostic[]): ProjectFacts;
64
+ export declare function freezeProjectFacts(seed: ProjectFactsSeed): ProjectFacts;
41
65
  //# sourceMappingURL=project-facts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-facts.d.ts","sourceRoot":"","sources":["../src/project-facts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACjG,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,kBAAkB,EAClB,6BAA6B,EAC9B,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE7D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAA;IAC1C,QAAQ,CAAC,cAAc,EAAE,SAAS,aAAa,EAAE,CAAA;IACjD,QAAQ,CAAC,cAAc,EAAE,SAAS,aAAa,EAAE,CAAA;IACjD,QAAQ,CAAC,cAAc,EAAE,SAAS,aAAa,EAAE,CAAA;IACjD,QAAQ,CAAC,eAAe,EAAE,SAAS,aAAa,EAAE,CAAA;CACnD;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,aAAa,EAAE,SAAS,oBAAoB,EAAE,CAAA;CACxD;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,qBAAqB,CAAA;IAC1C,QAAQ,CAAC,UAAU,CAAC,EAAE,uBAAuB,CAAA;IAC7C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAA;CACxC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAA;IAC9C,QAAQ,CAAC,WAAW,EAAE,SAAS,6BAA6B,EAAE,CAAA;IAC9D,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAA;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAA;IAClC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAA;IACrC,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAA;IAC9C,QAAQ,CAAC,iBAAiB,EAAE,SAAS,eAAe,EAAE,CAAA;CACvD;AAED,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAA;AAMtE;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,gBAAgB,EACtB,iBAAiB,EAAE,SAAS,eAAe,EAAE,GAC5C,YAAY,CA0Bd"}
1
+ {"version":3,"file":"project-facts.d.ts","sourceRoot":"","sources":["../src/project-facts.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,10 @@ function freezeFindings(findings) {
6
6
  * these copied, frozen collections. Policy/config objects remain caller-owned because assurance config
7
7
  * can contain executable adapters and must not be frozen as a side effect of checking.
8
8
  */
9
- export function freezeProjectFacts(seed, legacyDiagnostics) {
9
+ export function freezeProjectFacts(seed) {
10
10
  const sourceFindings = Object.freeze({
11
11
  fetches: freezeFindings(seed.sourceFindings.fetches),
12
+ streams: freezeFindings(seed.sourceFindings.streams),
12
13
  untypedClients: freezeFindings(seed.sourceFindings.untypedClients),
13
14
  removedImports: freezeFindings(seed.sourceFindings.removedImports),
14
15
  responseRoutes: freezeFindings(seed.sourceFindings.responseRoutes),
@@ -18,6 +19,15 @@ export function freezeProjectFacts(seed, legacyDiagnostics) {
18
19
  ...seed.policies,
19
20
  rulePacks: Object.freeze([...seed.policies.rulePacks]),
20
21
  });
22
+ const check = Object.freeze({
23
+ ...seed.check,
24
+ typecheck: Object.freeze({ ...seed.check.typecheck }),
25
+ checkConfigWarnings: Object.freeze([...seed.check.checkConfigWarnings]),
26
+ contracts: Object.freeze({
27
+ ...seed.check.contracts,
28
+ diagnostics: freezeFindings(seed.check.contracts.diagnostics),
29
+ }),
30
+ });
21
31
  return Object.freeze({
22
32
  ...seed,
23
33
  source: Object.freeze(seed.source),
@@ -29,8 +39,8 @@ export function freezeProjectFacts(seed, legacyDiagnostics) {
29
39
  }),
30
40
  ...(seed.pipeline === undefined ? {} : { pipeline: Object.freeze(seed.pipeline) }),
31
41
  policies,
42
+ check,
32
43
  sourceFindings,
33
- legacyDiagnostics: freezeFindings(legacyDiagnostics),
34
44
  });
35
45
  }
36
46
  //# sourceMappingURL=project-facts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-facts.js","sourceRoot":"","sources":["../src/project-facts.ts"],"names":[],"mappings":"AA6CA,SAAS,cAAc,CAAmB,QAAsB;IAC9D,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;AAChF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAsB,EACtB,iBAA6C;IAE7C,MAAM,cAAc,GAA0B,MAAM,CAAC,MAAM,CAAC;QAC1D,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;QACpD,cAAc,EAAE,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;QAClE,cAAc,EAAE,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;QAClE,cAAc,EAAE,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;QAClE,eAAe,EAAE,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;KACrE,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,GAAG,IAAI,CAAC,QAAQ;QAChB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;KACvD,CAAC,CAAA;IACF,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,GAAG,IAAI;QACP,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QAClC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;QACnC,WAAW,EAAE,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC;QAC7C,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;YACtB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAC5B,aAAa,EAAE,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;SAC3D,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClF,QAAQ;QACR,cAAc;QACd,iBAAiB,EAAE,cAAc,CAAC,iBAAiB,CAAC;KACrD,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"project-facts.js","sourceRoot":"","sources":["../src/project-facts.ts"],"names":[],"mappings":"AAwEA,SAAS,cAAc,CAAmB,QAAsB;IAC9D,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;AAChF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAsB;IACvD,MAAM,cAAc,GAA0B,MAAM,CAAC,MAAM,CAAC;QAC1D,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;QACpD,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;QACpD,cAAc,EAAE,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;QAClE,cAAc,EAAE,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;QAClE,cAAc,EAAE,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;QAClE,eAAe,EAAE,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;KACrE,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,GAAG,IAAI,CAAC,QAAQ;QAChB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;KACvD,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,GAAG,IAAI,CAAC,KAAK;QACb,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QACrD,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;YACvB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS;YACvB,WAAW,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC;SAC9D,CAAC;KACH,CAAC,CAAA;IACF,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,GAAG,IAAI;QACP,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QAClC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;QACnC,WAAW,EAAE,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC;QAC7C,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;YACtB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAC5B,aAAa,EAAE,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;SAC3D,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClF,QAAQ;QACR,KAAK;QACL,cAAc;KACf,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { UpgradeRecipe } from "./index.js";
2
+ /**
3
+ * Upgrade recipe for Nifra 4.0.
4
+ *
5
+ * The runner pins the fixed group and moves the retired `server-only` marker import. The layout move
6
+ * is `nifra migrate layout`'s job, so the notes lead with it, then cover what an app may observe.
7
+ */
8
+ export declare const recipe: UpgradeRecipe;
9
+ //# sourceMappingURL=4.0.0.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"4.0.0.d.ts","sourceRoot":"","sources":["../../src/recipes/4.0.0.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,MAAM,EAAE,aA0BpB,CAAA"}