@nifrajs/web 3.5.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 (390) hide show
  1. package/dist/backend-only.d.ts +15 -0
  2. package/dist/backend-only.d.ts.map +1 -0
  3. package/dist/backend-only.js +16 -0
  4. package/dist/backend-only.js.map +1 -0
  5. package/dist/boundary.d.ts +5 -0
  6. package/dist/boundary.d.ts.map +1 -1
  7. package/dist/boundary.js +11 -2
  8. package/dist/boundary.js.map +1 -1
  9. package/dist/build-plan.d.ts +18 -6
  10. package/dist/build-plan.d.ts.map +1 -1
  11. package/dist/build-plan.js +82 -34
  12. package/dist/build-plan.js.map +1 -1
  13. package/dist/build-vite.d.ts +4 -0
  14. package/dist/build-vite.d.ts.map +1 -1
  15. package/dist/build-vite.js +68 -13
  16. package/dist/build-vite.js.map +1 -1
  17. package/dist/build.d.ts +57 -23
  18. package/dist/build.d.ts.map +1 -1
  19. package/dist/build.js +356 -85
  20. package/dist/build.js.map +1 -1
  21. package/dist/bun-dev-entry.d.ts +1 -1
  22. package/dist/bun-dev-entry.js +1 -1
  23. package/dist/cdn.d.ts +74 -0
  24. package/dist/cdn.d.ts.map +1 -0
  25. package/dist/cdn.js +132 -0
  26. package/dist/cdn.js.map +1 -0
  27. package/dist/client.d.ts +3 -1
  28. package/dist/client.d.ts.map +1 -1
  29. package/dist/client.js +111 -15
  30. package/dist/client.js.map +1 -1
  31. package/dist/conformance.d.ts +4 -3
  32. package/dist/conformance.d.ts.map +1 -1
  33. package/dist/conformance.js +12 -3
  34. package/dist/conformance.js.map +1 -1
  35. package/dist/csp.d.ts +93 -0
  36. package/dist/csp.d.ts.map +1 -0
  37. package/dist/csp.js +122 -0
  38. package/dist/csp.js.map +1 -0
  39. package/dist/dev-client.d.ts +76 -0
  40. package/dist/dev-client.d.ts.map +1 -0
  41. package/dist/dev-client.js +280 -0
  42. package/dist/dev-client.js.map +1 -0
  43. package/dist/dev-diagnostics.d.ts +26 -2
  44. package/dist/dev-diagnostics.d.ts.map +1 -1
  45. package/dist/dev-diagnostics.js +38 -7
  46. package/dist/dev-diagnostics.js.map +1 -1
  47. package/dist/dev-error.d.ts +4 -13
  48. package/dist/dev-error.d.ts.map +1 -1
  49. package/dist/dev-error.js +46 -4
  50. package/dist/dev-error.js.map +1 -1
  51. package/dist/dev-feed.d.ts +298 -0
  52. package/dist/dev-feed.d.ts.map +1 -0
  53. package/dist/dev-feed.js +797 -0
  54. package/dist/dev-feed.js.map +1 -0
  55. package/dist/dev-indicator.d.ts +38 -0
  56. package/dist/dev-indicator.d.ts.map +1 -0
  57. package/dist/dev-indicator.js +93 -0
  58. package/dist/dev-indicator.js.map +1 -0
  59. package/dist/dev-session.d.ts +77 -0
  60. package/dist/dev-session.d.ts.map +1 -0
  61. package/dist/dev-session.js +580 -0
  62. package/dist/dev-session.js.map +1 -0
  63. package/dist/dev-sourcemap.d.ts +27 -0
  64. package/dist/dev-sourcemap.d.ts.map +1 -0
  65. package/dist/dev-sourcemap.js +235 -0
  66. package/dist/dev-sourcemap.js.map +1 -0
  67. package/dist/dev-ssr-graph.d.ts.map +1 -1
  68. package/dist/dev-ssr-graph.js +13 -5
  69. package/dist/dev-ssr-graph.js.map +1 -1
  70. package/dist/dev.d.ts +15 -2
  71. package/dist/dev.d.ts.map +1 -1
  72. package/dist/dev.js +69 -44
  73. package/dist/dev.js.map +1 -1
  74. package/dist/diagnostic-catalog.d.ts +35 -0
  75. package/dist/diagnostic-catalog.d.ts.map +1 -0
  76. package/dist/diagnostic-catalog.js +203 -0
  77. package/dist/diagnostic-catalog.js.map +1 -0
  78. package/dist/diagnostic-prompt.d.ts +49 -0
  79. package/dist/diagnostic-prompt.d.ts.map +1 -0
  80. package/dist/diagnostic-prompt.js +303 -0
  81. package/dist/diagnostic-prompt.js.map +1 -0
  82. package/dist/diagnostic.d.ts +17 -23
  83. package/dist/diagnostic.d.ts.map +1 -1
  84. package/dist/diagnostic.js +31 -39
  85. package/dist/diagnostic.js.map +1 -1
  86. package/dist/draft.d.ts.map +1 -1
  87. package/dist/draft.js +4 -1
  88. package/dist/draft.js.map +1 -1
  89. package/dist/fn.d.ts +5 -0
  90. package/dist/fn.d.ts.map +1 -1
  91. package/dist/fn.js +13 -3
  92. package/dist/fn.js.map +1 -1
  93. package/dist/fs.d.ts.map +1 -1
  94. package/dist/fs.js +4 -2
  95. package/dist/fs.js.map +1 -1
  96. package/dist/index.d.ts +13 -15
  97. package/dist/index.d.ts.map +1 -1
  98. package/dist/index.js +11 -12
  99. package/dist/index.js.map +1 -1
  100. package/dist/internal/cdn/cloudflare.d.ts +48 -0
  101. package/dist/internal/cdn/cloudflare.d.ts.map +1 -0
  102. package/dist/internal/cdn/cloudflare.js +94 -0
  103. package/dist/internal/cdn/cloudflare.js.map +1 -0
  104. package/dist/internal/cdn/core.d.ts +91 -0
  105. package/dist/internal/cdn/core.d.ts.map +1 -0
  106. package/dist/internal/cdn/core.js +220 -0
  107. package/dist/internal/cdn/core.js.map +1 -0
  108. package/dist/internal/cdn/fastly.d.ts +17 -0
  109. package/dist/internal/cdn/fastly.d.ts.map +1 -0
  110. package/dist/internal/cdn/fastly.js +43 -0
  111. package/dist/internal/cdn/fastly.js.map +1 -0
  112. package/dist/internal/cdn/vercel.d.ts +31 -0
  113. package/dist/internal/cdn/vercel.d.ts.map +1 -0
  114. package/dist/internal/cdn/vercel.js +56 -0
  115. package/dist/internal/cdn/vercel.js.map +1 -0
  116. package/dist/internal/code-unit-order.d.ts +4 -0
  117. package/dist/internal/code-unit-order.d.ts.map +1 -0
  118. package/dist/internal/code-unit-order.js +6 -0
  119. package/dist/internal/code-unit-order.js.map +1 -0
  120. package/dist/internal/codegen.d.ts.map +1 -1
  121. package/dist/internal/codegen.js +141 -25
  122. package/dist/internal/codegen.js.map +1 -1
  123. package/dist/internal/dev-csp.d.ts +24 -0
  124. package/dist/internal/dev-csp.d.ts.map +1 -0
  125. package/dist/internal/dev-csp.js +160 -0
  126. package/dist/internal/dev-csp.js.map +1 -0
  127. package/dist/internal/dev-reserved.d.ts +25 -0
  128. package/dist/internal/dev-reserved.d.ts.map +1 -0
  129. package/dist/internal/dev-reserved.js +39 -0
  130. package/dist/internal/dev-reserved.js.map +1 -0
  131. package/dist/internal/html-spans.d.ts +10 -0
  132. package/dist/internal/html-spans.d.ts.map +1 -0
  133. package/dist/internal/html-spans.js +46 -0
  134. package/dist/internal/html-spans.js.map +1 -0
  135. package/dist/internal/loading-runtime.d.ts +44 -0
  136. package/dist/internal/loading-runtime.d.ts.map +1 -0
  137. package/dist/internal/loading-runtime.js +206 -0
  138. package/dist/internal/loading-runtime.js.map +1 -0
  139. package/dist/internal/matches-runtime.d.ts +8 -0
  140. package/dist/internal/matches-runtime.d.ts.map +1 -0
  141. package/dist/internal/matches-runtime.js +61 -0
  142. package/dist/internal/matches-runtime.js.map +1 -0
  143. package/dist/internal/mount-shadow.d.ts +36 -0
  144. package/dist/internal/mount-shadow.d.ts.map +1 -0
  145. package/dist/internal/mount-shadow.js +65 -0
  146. package/dist/internal/mount-shadow.js.map +1 -0
  147. package/dist/internal/node-builtins.d.ts +3 -0
  148. package/dist/internal/node-builtins.d.ts.map +1 -0
  149. package/dist/internal/node-builtins.js +79 -0
  150. package/dist/internal/node-builtins.js.map +1 -0
  151. package/dist/internal/output-guard.d.ts +65 -0
  152. package/dist/internal/output-guard.d.ts.map +1 -0
  153. package/dist/internal/output-guard.js +630 -0
  154. package/dist/internal/output-guard.js.map +1 -0
  155. package/dist/internal/page-execution.d.ts +20 -8
  156. package/dist/internal/page-execution.d.ts.map +1 -1
  157. package/dist/internal/page-execution.js +571 -105
  158. package/dist/internal/page-execution.js.map +1 -1
  159. package/dist/internal/parity.d.ts +21 -0
  160. package/dist/internal/parity.d.ts.map +1 -1
  161. package/dist/internal/parity.js +104 -22
  162. package/dist/internal/parity.js.map +1 -1
  163. package/dist/internal/private-env.d.ts +12 -0
  164. package/dist/internal/private-env.d.ts.map +1 -0
  165. package/dist/internal/private-env.js +335 -0
  166. package/dist/internal/private-env.js.map +1 -0
  167. package/dist/internal/public-url.d.ts +3 -0
  168. package/dist/internal/public-url.d.ts.map +1 -0
  169. package/dist/internal/public-url.js +18 -0
  170. package/dist/internal/public-url.js.map +1 -0
  171. package/dist/internal/render-document.d.ts +25 -19
  172. package/dist/internal/render-document.d.ts.map +1 -1
  173. package/dist/internal/render-document.js +77 -61
  174. package/dist/internal/render-document.js.map +1 -1
  175. package/dist/internal/response-controls.d.ts +75 -0
  176. package/dist/internal/response-controls.d.ts.map +1 -0
  177. package/dist/internal/response-controls.js +256 -0
  178. package/dist/internal/response-controls.js.map +1 -0
  179. package/dist/internal/runtime-contract.d.ts +11 -16
  180. package/dist/internal/runtime-contract.d.ts.map +1 -1
  181. package/dist/internal/runtime-contract.js.map +1 -1
  182. package/dist/internal/secret-scan.d.ts +104 -0
  183. package/dist/internal/secret-scan.d.ts.map +1 -0
  184. package/dist/internal/secret-scan.js +485 -0
  185. package/dist/internal/secret-scan.js.map +1 -0
  186. package/dist/internal/server-boundary.d.ts +6 -29
  187. package/dist/internal/server-boundary.d.ts.map +1 -1
  188. package/dist/internal/server-boundary.js +6 -66
  189. package/dist/internal/server-boundary.js.map +1 -1
  190. package/dist/internal/source-map.d.ts +47 -0
  191. package/dist/internal/source-map.d.ts.map +1 -0
  192. package/dist/internal/source-map.js +225 -0
  193. package/dist/internal/source-map.js.map +1 -0
  194. package/dist/internal/target-compat.d.ts +27 -0
  195. package/dist/internal/target-compat.d.ts.map +1 -0
  196. package/dist/internal/target-compat.js +77 -0
  197. package/dist/internal/target-compat.js.map +1 -0
  198. package/dist/internal/timing-safe-equal.d.ts +6 -0
  199. package/dist/internal/timing-safe-equal.d.ts.map +1 -1
  200. package/dist/internal/timing-safe-equal.js +10 -0
  201. package/dist/internal/timing-safe-equal.js.map +1 -1
  202. package/dist/internal/vitals-runtime.d.ts +18 -0
  203. package/dist/internal/vitals-runtime.d.ts.map +1 -0
  204. package/dist/internal/vitals-runtime.js +38 -0
  205. package/dist/internal/vitals-runtime.js.map +1 -0
  206. package/dist/internal/web-app.d.ts +38 -9
  207. package/dist/internal/web-app.d.ts.map +1 -1
  208. package/dist/internal/web-app.js +199 -59
  209. package/dist/internal/web-app.js.map +1 -1
  210. package/dist/internal/zone-graph.d.ts +89 -0
  211. package/dist/internal/zone-graph.d.ts.map +1 -0
  212. package/dist/internal/zone-graph.js +492 -0
  213. package/dist/internal/zone-graph.js.map +1 -0
  214. package/dist/isr.d.ts +83 -6
  215. package/dist/isr.d.ts.map +1 -1
  216. package/dist/isr.js +263 -36
  217. package/dist/isr.js.map +1 -1
  218. package/dist/llms-txt.d.ts.map +1 -1
  219. package/dist/llms-txt.js +31 -6
  220. package/dist/llms-txt.js.map +1 -1
  221. package/dist/manifest.d.ts +220 -13
  222. package/dist/manifest.d.ts.map +1 -1
  223. package/dist/manifest.js +386 -9
  224. package/dist/manifest.js.map +1 -1
  225. package/dist/module-graph.d.ts +26 -5
  226. package/dist/module-graph.d.ts.map +1 -1
  227. package/dist/module-graph.js +17 -7
  228. package/dist/module-graph.js.map +1 -1
  229. package/dist/navigation.d.ts +17 -3
  230. package/dist/navigation.d.ts.map +1 -1
  231. package/dist/navigation.js +11 -5
  232. package/dist/navigation.js.map +1 -1
  233. package/dist/nonce.d.ts +47 -0
  234. package/dist/nonce.d.ts.map +1 -0
  235. package/dist/nonce.js +63 -0
  236. package/dist/nonce.js.map +1 -0
  237. package/dist/plugins/css-modules.d.ts.map +1 -1
  238. package/dist/plugins/css-modules.js +4 -3
  239. package/dist/plugins/css-modules.js.map +1 -1
  240. package/dist/plugins/kit.d.ts +9 -0
  241. package/dist/plugins/kit.d.ts.map +1 -1
  242. package/dist/plugins/kit.js +18 -0
  243. package/dist/plugins/kit.js.map +1 -1
  244. package/dist/plugins/svg.d.ts +22 -3
  245. package/dist/plugins/svg.d.ts.map +1 -1
  246. package/dist/plugins/svg.js +112 -1
  247. package/dist/plugins/svg.js.map +1 -1
  248. package/dist/plugins/vite-leak-guard.d.ts +107 -3
  249. package/dist/plugins/vite-leak-guard.d.ts.map +1 -1
  250. package/dist/plugins/vite-leak-guard.js +378 -17
  251. package/dist/plugins/vite-leak-guard.js.map +1 -1
  252. package/dist/plugins/vite-zone-guard.d.ts +61 -0
  253. package/dist/plugins/vite-zone-guard.d.ts.map +1 -0
  254. package/dist/plugins/vite-zone-guard.js +208 -0
  255. package/dist/plugins/vite-zone-guard.js.map +1 -0
  256. package/dist/plugins/zone-guard.d.ts +27 -0
  257. package/dist/plugins/zone-guard.d.ts.map +1 -0
  258. package/dist/plugins/zone-guard.js +72 -0
  259. package/dist/plugins/zone-guard.js.map +1 -0
  260. package/dist/prerender.d.ts +10 -0
  261. package/dist/prerender.d.ts.map +1 -1
  262. package/dist/prerender.js +35 -3
  263. package/dist/prerender.js.map +1 -1
  264. package/dist/public-dir.d.ts +9 -0
  265. package/dist/public-dir.d.ts.map +1 -1
  266. package/dist/public-dir.js +67 -9
  267. package/dist/public-dir.js.map +1 -1
  268. package/dist/pwa-manifest.d.ts +68 -0
  269. package/dist/pwa-manifest.d.ts.map +1 -0
  270. package/dist/pwa-manifest.js +178 -0
  271. package/dist/pwa-manifest.js.map +1 -0
  272. package/dist/query.js +4 -4
  273. package/dist/query.js.map +1 -1
  274. package/dist/render-seam.d.ts +42 -2
  275. package/dist/render-seam.d.ts.map +1 -1
  276. package/dist/render-seam.js +6 -0
  277. package/dist/render-seam.js.map +1 -1
  278. package/dist/route-manifest.d.ts +3 -0
  279. package/dist/route-manifest.d.ts.map +1 -1
  280. package/dist/route-manifest.js +26 -3
  281. package/dist/route-manifest.js.map +1 -1
  282. package/dist/route-types.d.ts +24 -0
  283. package/dist/route-types.d.ts.map +1 -0
  284. package/dist/route-types.js +195 -0
  285. package/dist/route-types.js.map +1 -0
  286. package/dist/router.d.ts +28 -6
  287. package/dist/router.d.ts.map +1 -1
  288. package/dist/router.js +129 -40
  289. package/dist/router.js.map +1 -1
  290. package/dist/vitals.d.ts +33 -0
  291. package/dist/vitals.d.ts.map +1 -0
  292. package/dist/vitals.js +16 -0
  293. package/dist/vitals.js.map +1 -0
  294. package/dist/vite.d.ts +16 -1
  295. package/dist/vite.d.ts.map +1 -1
  296. package/dist/vite.js +187 -36
  297. package/dist/vite.js.map +1 -1
  298. package/dist/zones.d.ts +70 -0
  299. package/dist/zones.d.ts.map +1 -0
  300. package/dist/zones.js +365 -0
  301. package/dist/zones.js.map +1 -0
  302. package/package.json +67 -14
  303. package/src/backend-only.ts +16 -0
  304. package/src/boundary.ts +18 -5
  305. package/src/build-plan.ts +90 -35
  306. package/src/build-vite.ts +77 -11
  307. package/src/build.ts +466 -96
  308. package/src/bun-dev-entry.ts +1 -1
  309. package/src/cdn.ts +216 -0
  310. package/src/client.ts +111 -18
  311. package/src/conformance.ts +16 -3
  312. package/src/csp.ts +194 -0
  313. package/src/dev-client.ts +349 -0
  314. package/src/dev-diagnostics.ts +60 -7
  315. package/src/dev-error.ts +49 -5
  316. package/src/dev-feed.ts +1140 -0
  317. package/src/dev-indicator.ts +113 -0
  318. package/src/dev-session.ts +729 -0
  319. package/src/dev-sourcemap.ts +281 -0
  320. package/src/dev-ssr-graph.ts +16 -5
  321. package/src/dev.ts +86 -43
  322. package/src/diagnostic-catalog.ts +243 -0
  323. package/src/diagnostic-prompt.ts +355 -0
  324. package/src/diagnostic.ts +63 -66
  325. package/src/draft.ts +4 -1
  326. package/src/fn.ts +19 -3
  327. package/src/fs.ts +13 -2
  328. package/src/index.ts +42 -10
  329. package/src/internal/cdn/cloudflare.ts +146 -0
  330. package/src/internal/cdn/core.ts +316 -0
  331. package/src/internal/cdn/fastly.ts +62 -0
  332. package/src/internal/cdn/vercel.ts +95 -0
  333. package/src/internal/code-unit-order.ts +5 -0
  334. package/src/internal/codegen.ts +161 -24
  335. package/src/internal/dev-csp.ts +176 -0
  336. package/src/internal/dev-reserved.ts +52 -0
  337. package/src/internal/html-spans.ts +50 -0
  338. package/src/internal/loading-runtime.ts +244 -0
  339. package/src/internal/matches-runtime.ts +62 -0
  340. package/src/internal/mount-shadow.ts +88 -0
  341. package/src/internal/node-builtins.ts +79 -0
  342. package/src/internal/output-guard.ts +701 -0
  343. package/src/internal/page-execution.ts +795 -185
  344. package/src/internal/parity.ts +150 -36
  345. package/src/internal/private-env.ts +334 -0
  346. package/src/internal/public-url.ts +22 -0
  347. package/src/internal/render-document.ts +114 -67
  348. package/src/internal/response-controls.ts +284 -0
  349. package/src/internal/runtime-contract.ts +10 -15
  350. package/src/internal/secret-scan.ts +623 -0
  351. package/src/internal/server-boundary.ts +6 -69
  352. package/src/internal/source-map.ts +256 -0
  353. package/src/internal/target-compat.ts +92 -0
  354. package/src/internal/timing-safe-equal.ts +13 -0
  355. package/src/internal/vitals-runtime.ts +53 -0
  356. package/src/internal/web-app.ts +262 -84
  357. package/src/internal/zone-graph.ts +593 -0
  358. package/src/isr.ts +325 -37
  359. package/src/llms-txt.ts +28 -4
  360. package/src/manifest.ts +670 -16
  361. package/src/module-graph.ts +53 -9
  362. package/src/navigation.ts +29 -6
  363. package/src/nonce.ts +104 -0
  364. package/src/plugins/css-modules.ts +5 -3
  365. package/src/plugins/kit.ts +24 -0
  366. package/src/plugins/svg.ts +135 -4
  367. package/src/plugins/vite-leak-guard.ts +529 -16
  368. package/src/plugins/vite-zone-guard.ts +263 -0
  369. package/src/plugins/zone-guard.ts +110 -0
  370. package/src/prerender.ts +49 -3
  371. package/src/public-dir.ts +69 -8
  372. package/src/pwa-manifest.ts +226 -0
  373. package/src/query.ts +4 -4
  374. package/src/render-seam.ts +46 -1
  375. package/src/route-manifest.ts +15 -3
  376. package/src/route-types.ts +264 -0
  377. package/src/router.ts +163 -63
  378. package/src/vitals.ts +44 -0
  379. package/src/vite.ts +207 -36
  380. package/src/zones.ts +430 -0
  381. package/dist/plugins/vite-server-only.d.ts +0 -49
  382. package/dist/plugins/vite-server-only.d.ts.map +0 -1
  383. package/dist/plugins/vite-server-only.js +0 -57
  384. package/dist/plugins/vite-server-only.js.map +0 -1
  385. package/dist/server-only.d.ts +0 -21
  386. package/dist/server-only.d.ts.map +0 -1
  387. package/dist/server-only.js +0 -25
  388. package/dist/server-only.js.map +0 -1
  389. package/src/plugins/vite-server-only.ts +0 -75
  390. package/src/server-only.ts +0 -25
@@ -1 +1 @@
1
- {"version":3,"file":"module-graph.d.ts","sourceRoot":"","sources":["../src/module-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,mDAAmD;AACnD,MAAM,WAAW,WAAW;IAC1B,uDAAuD;IACvD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,6FAA6F;IAC7F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAA;CACzC;AAED,MAAM,WAAW,UAAU;IACzB,+DAA+D;IAC/D,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,4CAA4C;IAC5C,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CACpC;AAED,mFAAmF;AACnF,MAAM,WAAW,iBAAiB;IAChC,2FAA2F;IAC3F,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAA;IACvD,sCAAsC;IACtC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;CACtD;AAOD,mGAAmG;AACnG,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CACxB,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC,CAC3F,CAAA;IACD,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CACzB,MAAM,CACJ,MAAM,EACN;QAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAAE,CACtF,CACF,CAAA;CACF;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,SAAS,GAAG,iBAAiB,CAsBpF;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,uFAAuF;IACvF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,kGAAkG;IAClG,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC,uEAAuE;IACvE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACvC;AACD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAA;AAExE;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,gBAAgB,EACxB,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,SAAS,MAAM,EAAE,GACjD,iBAAiB,CAiCnB"}
1
+ {"version":3,"file":"module-graph.d.ts","sourceRoot":"","sources":["../src/module-graph.ts"],"names":[],"mappings":"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"}
@@ -23,29 +23,35 @@ const normalizeModuleId = (id) => id.replaceAll("\\", "/");
23
23
  /**
24
24
  * Adapt a `Bun.build` metafile to the neutral graph.
25
25
  *
26
- * A total function: an absent or partial metafile yields an empty graph rather than throwing, because
27
- * a guard that crashes on an unexpected build shape fails the build for the wrong reason. An empty
28
- * graph reports no findings, which matches the existing behaviour when the metafile is missing.
26
+ * Fails closed: the graph is the evidence that nothing backend reached the browser, so a build that
27
+ * produced no metafile, or one without inputs or outputs, is an error rather than an empty graph that
28
+ * would report nothing.
29
29
  */
30
30
  export function fromBunMetafile(meta) {
31
+ if (meta?.inputs === undefined || meta.outputs === undefined) {
32
+ throw new Error("[nifra/web] the client build produced no module graph (metafile), so nifra cannot prove what reached the browser. Refusing to write the bundle");
33
+ }
31
34
  const modules = {};
32
- for (const [rawId, input] of Object.entries(meta?.inputs ?? {})) {
35
+ for (const [rawId, input] of Object.entries(meta.inputs)) {
33
36
  const id = normalizeModuleId(rawId);
34
37
  modules[id] = {
35
38
  imports: (input.imports ?? []).map((im) => ({
36
39
  ...(im.path === undefined ? {} : { path: normalizeModuleId(im.path) }),
37
40
  ...(im.original === undefined ? {} : { original: im.original }),
41
+ ...(im.external === true ? { external: true } : {}),
42
+ ...(im.kind === "dynamic-import" ? { dynamic: true } : {}),
38
43
  })),
39
44
  };
40
45
  }
41
46
  const chunks = {};
42
- for (const [rawPath, output] of Object.entries(meta?.outputs ?? {})) {
47
+ for (const [rawPath, output] of Object.entries(meta.outputs)) {
43
48
  const path = normalizeModuleId(rawPath);
44
49
  chunks[path] = {
45
50
  ...(output.entryPoint !== undefined
46
51
  ? { entryPoint: normalizeModuleId(output.entryPoint) }
47
52
  : {}),
48
53
  modules: Object.keys(output.inputs ?? {}).map(normalizeModuleId),
54
+ ...(output.exports !== undefined ? { exports: output.exports } : {}),
49
55
  };
50
56
  }
51
57
  return { modules, chunks };
@@ -60,8 +66,8 @@ export function fromBunMetafile(meta) {
60
66
  * guards read the resolved `path` as their fallback (a `node:` prefix, the `server-only` basename), so
61
67
  * detection is unaffected; only the human-readable chain shows resolved paths instead of as-written ones.
62
68
  *
63
- * Total, like {@link fromBunMetafile}: an empty bundle yields an empty graph (no findings), never a throw
64
- * that would fail a build for the wrong reason.
69
+ * An empty bundle yields an empty graph; the Rollup output always carries its own graph, so there is
70
+ * no missing-evidence case to fail on here.
65
71
  */
66
72
  export function fromRollupBundle(bundle, importsOf) {
67
73
  const modules = {};
@@ -98,6 +104,10 @@ export function fromRollupBundle(bundle, importsOf) {
98
104
  // how a non-entry Bun output omits `entryPoint`, so the guards' entry set stays the real entries.
99
105
  ...(output.facadeModuleId ? { entryPoint: normalizeModuleId(output.facadeModuleId) } : {}),
100
106
  modules: chunkModules,
107
+ ...(output.exports !== undefined ? { exports: output.exports } : {}),
108
+ ...(output.imports !== undefined
109
+ ? { imports: [...output.imports, ...(output.dynamicImports ?? [])] }
110
+ : {}),
101
111
  };
102
112
  }
103
113
  return { modules, chunks };
@@ -1 +1 @@
1
- {"version":3,"file":"module-graph.js","sourceRoot":"","sources":["../src/module-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module-graph.js","sourceRoot":"","sources":["../src/module-graph.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@
11
11
  * On the server (and before hydration) the getter returns `undefined`, so a binding degrades to the
12
12
  * native `<a href>` full-page navigation - progressive enhancement, no throw.
13
13
  */
14
+ import type { ClientRouter } from "./router.js";
14
15
  /** Options for a programmatic navigation. */
15
16
  export interface NavigateOptions {
16
17
  /** Replace the current history entry instead of pushing a new one (like `history.replaceState`). */
@@ -83,15 +84,28 @@ export declare function resolveNavigate(to: string | number | NavigateTargetInpu
83
84
  readonly to: string | number;
84
85
  readonly options: NavigateOptions | undefined;
85
86
  };
87
+ /**
88
+ * When a link warms its route's chunk and loader data ahead of a click. Set it with the
89
+ * `data-nifra-prefetch` attribute on the link or on any ancestor (the nearest wins):
90
+ * - `intent` (the default) - on hover or keyboard focus.
91
+ * - `viewport` - once the link scrolls into view.
92
+ * - `render` - as soon as a page shows the link.
93
+ * - `none` - never; the route loads when the link is followed.
94
+ *
95
+ * A warmed route is used by a click within 30 seconds; after that the click loads it again.
96
+ */
97
+ export type PrefetchMode = "intent" | "viewport" | "render" | "none";
86
98
  /**
87
99
  * A history-aware navigate. A **string** `to` is a same-origin path (`/users/7?tab=a`) navigated to
88
100
  * (push, or replace with `{ replace: true }`); a **number** is a history delta (`-1` back, `1`
89
101
  * forward), matching the browser's `history.go`. Registered by `installHistory`.
90
102
  */
91
103
  export type BrowserNavigate = (to: string | number, options?: NavigateOptions) => void;
92
- /** Register (or clear, with `undefined`) the browser navigate - called by `installHistory`. Not for
93
- * app use. */
94
- export declare function setBrowserNavigate(navigate: BrowserNavigate | undefined): void;
104
+ /** Register (or clear, with `undefined`) the browser navigate and its router - called by
105
+ * `installHistory`. Not for app use. */
106
+ export declare function setBrowserNavigate(navigate: BrowserNavigate | undefined, router?: ClientRouter): void;
107
+ /** The mounted client router, or `undefined` on the server / before `installHistory` has run. */
108
+ export declare function getBrowserRouter(): ClientRouter | undefined;
95
109
  /** The active browser navigate, or `undefined` on the server / before `installHistory` has run. A
96
110
  * binding calls it when present and falls back to native navigation otherwise. */
97
111
  export declare function getBrowserNavigate(): BrowserNavigate | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../src/navigation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../src/navigation.ts"],"names":[],"mappings":"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"}
@@ -31,13 +31,19 @@ export function resolveNavigate(to, options) {
31
31
  resolved.state = to.state;
32
32
  return { to: to.to + query, options: resolved };
33
33
  }
34
- // The active browser navigate (set by `installHistory`, cleared on teardown). Module-scoped: one app
35
- // per page; absent on the server and before hydration.
34
+ // The active browser navigate and the router behind it (set by `installHistory`, cleared on
35
+ // teardown). Module-scoped: one app per page; absent on the server and before hydration.
36
36
  let browserNavigate;
37
- /** Register (or clear, with `undefined`) the browser navigate - called by `installHistory`. Not for
38
- * app use. */
39
- export function setBrowserNavigate(navigate) {
37
+ let browserRouter;
38
+ /** Register (or clear, with `undefined`) the browser navigate and its router - called by
39
+ * `installHistory`. Not for app use. */
40
+ export function setBrowserNavigate(navigate, router) {
40
41
  browserNavigate = navigate;
42
+ browserRouter = router;
43
+ }
44
+ /** The mounted client router, or `undefined` on the server / before `installHistory` has run. */
45
+ export function getBrowserRouter() {
46
+ return browserRouter;
41
47
  }
42
48
  /** The active browser navigate, or `undefined` on the server / before `installHistory` has run. A
43
49
  * binding calls it when present and falls back to native navigation otherwise. */
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../src/navigation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAuE7C;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,EAAyC,EACzC,OAAyB;IAEzB,IAAI,OAAO,EAAE,KAAK,QAAQ;QAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAA;IAClD,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACvE,IAAI,EAAE,CAAC,OAAO,KAAK,IAAI,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAA;IACxF,MAAM,QAAQ,GAA2C,EAAE,GAAG,OAAO,EAAE,CAAA;IACvE,IAAI,EAAE,CAAC,OAAO,KAAK,IAAI;QAAE,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAA;IAChD,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS;QAAE,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAA;IACrD,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAA;AACjD,CAAC;AASD,qGAAqG;AACrG,uDAAuD;AACvD,IAAI,eAA4C,CAAA;AAEhD;cACc;AACd,MAAM,UAAU,kBAAkB,CAAC,QAAqC;IACtE,eAAe,GAAG,QAAQ,CAAA;AAC5B,CAAC;AAED;kFACkF;AAClF,MAAM,UAAU,kBAAkB;IAChC,OAAO,eAAe,CAAA;AACxB,CAAC;AAyCD,8FAA8F;AAC9F,MAAM,CAAC,MAAM,YAAY,GAAY,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;AAYjG,yGAAyG;AACzG,IAAI,iBAAgD,CAAA;AAEpD;cACc;AACd,MAAM,UAAU,oBAAoB,CAAC,UAAyC;IAC5E,iBAAiB,GAAG,UAAU,CAAA;AAChC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,WAA4B,EAC5B,QAAoC;IAEpC,OAAO,iBAAiB,EAAE,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;AACzE,CAAC"}
1
+ {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../src/navigation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAuE7C;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,EAAyC,EACzC,OAAyB;IAEzB,IAAI,OAAO,EAAE,KAAK,QAAQ;QAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAA;IAClD,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACvE,IAAI,EAAE,CAAC,OAAO,KAAK,IAAI,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAA;IACxF,MAAM,QAAQ,GAA2C,EAAE,GAAG,OAAO,EAAE,CAAA;IACvE,IAAI,EAAE,CAAC,OAAO,KAAK,IAAI;QAAE,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAA;IAChD,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS;QAAE,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAA;IACrD,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAA;AACjD,CAAC;AAqBD,4FAA4F;AAC5F,yFAAyF;AACzF,IAAI,eAA4C,CAAA;AAChD,IAAI,aAAuC,CAAA;AAE3C;wCACwC;AACxC,MAAM,UAAU,kBAAkB,CAChC,QAAqC,EACrC,MAAqB;IAErB,eAAe,GAAG,QAAQ,CAAA;IAC1B,aAAa,GAAG,MAAM,CAAA;AACxB,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,gBAAgB;IAC9B,OAAO,aAAa,CAAA;AACtB,CAAC;AAED;kFACkF;AAClF,MAAM,UAAU,kBAAkB;IAChC,OAAO,eAAe,CAAA;AACxB,CAAC;AAyCD,8FAA8F;AAC9F,MAAM,CAAC,MAAM,YAAY,GAAY,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;AAYjG,yGAAyG;AACzG,IAAI,iBAAgD,CAAA;AAEpD;cACc;AACd,MAAM,UAAU,oBAAoB,CAAC,UAAyC;IAC5E,iBAAiB,GAAG,UAAU,CAAA;AAChC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,WAA4B,EAC5B,QAAoC;IAEpC,OAAO,iBAAiB,EAAE,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;AACzE,CAAC"}
@@ -0,0 +1,47 @@
1
+ /** Context supplied while resolving a document's CSP nonce. */
2
+ export interface NonceContext<Env = unknown> {
3
+ readonly request: Request;
4
+ readonly env: Env;
5
+ }
6
+ /** Generate a nonce for one request, or return `undefined` to keep the document nonce-free. */
7
+ export type NonceGenerator<Env = unknown> = (context: NonceContext<Env>) => string | undefined | Promise<string | undefined>;
8
+ /** Context supplied to the optional Content-Security-Policy header callback. */
9
+ export interface NonceHeaderContext {
10
+ readonly nonce: string;
11
+ readonly request: Request;
12
+ readonly response: Response;
13
+ }
14
+ /** Return the complete Content-Security-Policy value for a nonce-bearing document. */
15
+ export type NonceHeader = (context: NonceHeaderContext) => string | undefined;
16
+ /**
17
+ * A request-aware nonce resolver. It is callable so existing `createWebApp({ nonce })` code can pass
18
+ * it directly. When created with a `header` callback, `createWebApp` also installs its response hook
19
+ * automatically and applies that callback's CSP value to the same request that received the nonce.
20
+ */
21
+ export interface NonceResolver<Env = unknown> extends NonceGenerator<Env> {
22
+ /** Read the currently resolved nonce for a request, if one has been generated. */
23
+ readonly get?: (request: Request) => string | undefined;
24
+ /** Internal integration seam used by `createWebApp` when a header callback was supplied. */
25
+ readonly onResponse?: (response: Response, request: Request) => Response;
26
+ }
27
+ export interface CreateNonceResolverOptions<Env = unknown> {
28
+ /** Custom nonce generator. The default is a fresh CSP base64-compatible nonce per request. */
29
+ readonly generate?: NonceGenerator<Env>;
30
+ /** Build the complete CSP value. App-specific sources remain the caller's responsibility. */
31
+ readonly header?: NonceHeader;
32
+ }
33
+ /**
34
+ * Create a request-memoized CSP nonce resolver for `createWebApp`.
35
+ *
36
+ * ```ts
37
+ * const nonce = createNonceResolver({
38
+ * header: ({ nonce }) => `default-src 'self'; script-src 'self' 'nonce-${nonce}'`,
39
+ * })
40
+ * const app = createWebApp({ adapter, manifest, clientEntry, nonce })
41
+ * ```
42
+ *
43
+ * A nonce is generated only when the page executor asks for one. Data-mode/API responses never ask,
44
+ * so the response hook has no value to attach and leaves those responses without a CSP nonce header.
45
+ */
46
+ export declare function createNonceResolver<Env = unknown>(options?: CreateNonceResolverOptions<Env>): NonceResolver<Env>;
47
+ //# sourceMappingURL=nonce.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nonce.d.ts","sourceRoot":"","sources":["../src/nonce.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,MAAM,WAAW,YAAY,CAAC,GAAG,GAAG,OAAO;IACzC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;CAClB;AAED,+FAA+F;AAC/F,MAAM,MAAM,cAAc,CAAC,GAAG,GAAG,OAAO,IAAI,CAC1C,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,KACvB,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;AAErD,gFAAgF;AAChF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;CAC5B;AAED,sFAAsF;AACtF,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,kBAAkB,KAAK,MAAM,GAAG,SAAS,CAAA;AAE7E;;;;GAIG;AACH,MAAM,WAAW,aAAa,CAAC,GAAG,GAAG,OAAO,CAAE,SAAQ,cAAc,CAAC,GAAG,CAAC;IACvE,kFAAkF;IAClF,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,GAAG,SAAS,CAAA;IACvD,4FAA4F;IAC5F,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,KAAK,QAAQ,CAAA;CACzE;AAED,MAAM,WAAW,0BAA0B,CAAC,GAAG,GAAG,OAAO;IACvD,8FAA8F;IAC9F,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,CAAA;IACvC,6FAA6F;IAC7F,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAC9B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,GAAG,OAAO,EAC/C,OAAO,GAAE,0BAA0B,CAAC,GAAG,CAAM,GAC5C,aAAa,CAAC,GAAG,CAAC,CAgDpB"}
package/dist/nonce.js ADDED
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Create a request-memoized CSP nonce resolver for `createWebApp`.
3
+ *
4
+ * ```ts
5
+ * const nonce = createNonceResolver({
6
+ * header: ({ nonce }) => `default-src 'self'; script-src 'self' 'nonce-${nonce}'`,
7
+ * })
8
+ * const app = createWebApp({ adapter, manifest, clientEntry, nonce })
9
+ * ```
10
+ *
11
+ * A nonce is generated only when the page executor asks for one. Data-mode/API responses never ask,
12
+ * so the response hook has no value to attach and leaves those responses without a CSP nonce header.
13
+ */
14
+ export function createNonceResolver(options = {}) {
15
+ const values = new WeakMap();
16
+ const pending = new WeakMap();
17
+ // CSP nonce-source values use the base64-value grammar. A UUID contains hyphens, so remove them
18
+ // before emitting it; the remaining 122 random bits are sufficient for a per-response nonce and
19
+ // stay valid across browsers and all fetch runtimes without a Node-only encoder.
20
+ const generate = options.generate ?? (() => crypto.randomUUID().replaceAll("-", ""));
21
+ const resolve = (context) => {
22
+ const existing = values.get(context.request);
23
+ if (existing !== undefined)
24
+ return existing;
25
+ const ongoing = pending.get(context.request);
26
+ if (ongoing !== undefined)
27
+ return ongoing;
28
+ const generated = (async () => {
29
+ const value = await generate(context);
30
+ if (value === undefined)
31
+ return undefined;
32
+ if (value.trim() === "") {
33
+ throw new TypeError("[nifra/web] createNonceResolver generated an empty CSP nonce");
34
+ }
35
+ values.set(context.request, value);
36
+ return value;
37
+ })();
38
+ pending.set(context.request, generated);
39
+ generated.then(() => pending.delete(context.request), () => pending.delete(context.request));
40
+ return generated;
41
+ };
42
+ const get = (request) => values.get(request);
43
+ if (options.header === undefined)
44
+ return Object.assign(resolve, { get });
45
+ const onResponse = (response, request) => {
46
+ const nonce = values.get(request);
47
+ values.delete(request);
48
+ if (nonce === undefined)
49
+ return response;
50
+ const value = options.header?.({ nonce, request, response });
51
+ if (value === undefined)
52
+ return response;
53
+ const headers = new Headers(response.headers);
54
+ headers.set("content-security-policy", value);
55
+ return new Response(response.body, {
56
+ status: response.status,
57
+ statusText: response.statusText,
58
+ headers,
59
+ });
60
+ };
61
+ return Object.assign(resolve, { get, onResponse });
62
+ }
63
+ //# sourceMappingURL=nonce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nonce.js","sourceRoot":"","sources":["../src/nonce.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"css-modules.d.ts","sourceRoot":"","sources":["../../src/plugins/css-modules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAKpC;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEtE;AAyVD,uGAAuG;AACvG,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAClD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,CAmBpF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAmBtE"}
1
+ {"version":3,"file":"css-modules.d.ts","sourceRoot":"","sources":["../../src/plugins/css-modules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAKpC;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEtE;AA2VD,uGAAuG;AACvG,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAClD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,CAmBpF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAmBtE"}
@@ -25,9 +25,10 @@ function scopedKeyframeName(filePath, name) {
25
25
  }
26
26
  /** Matches `@keyframes name` / `@-webkit-keyframes name` (etc.); captures the leading keyword and name. */
27
27
  const KEYFRAMES_PRELUDE = /(@(?:-\w+-)?keyframes\s+)([A-Za-z_][\w-]*)/i;
28
- /** An `animation` / `animation-name` declaration: capture the `prop:` head + the value (which holds the
29
- * keyframe-name token(s) to remap). */
30
- const ANIMATION_DECL = /^(\s*animation(?:-name)?\s*:\s*)([\s\S]*)$/i;
28
+ /** An `animation` / `animation-name` declaration, vendor-prefixed or after a comment: capture the
29
+ * `prop:` head + the value (which holds the keyframe-name token(s) to remap). A comment cannot hold its
30
+ * own closing delimiter, so each one matches one way - no backtracking across them. */
31
+ const ANIMATION_DECL = /^((?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:-[a-z]+-)?animation(?:-name)?\s*:\s*)([\s\S]*)$/i;
31
32
  const isKeyframesAt = (at) => at === "keyframes" || at.endsWith("-keyframes");
32
33
  /** `s[i]` is a quote: return the index just past the matching close quote (honoring `\` escapes). */
33
34
  function skipString(s, i) {
@@ -1 +1 @@
1
- {"version":3,"file":"css-modules.js","sourceRoot":"","sources":["../../src/plugins/css-modules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"css-modules.js","sourceRoot":"","sources":["../../src/plugins/css-modules.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { BunPlugin } from "bun";
2
+ import { type RawSourceMap } from "../internal/source-map.js";
2
3
  /** The argument Bun passes to a plugin's `setup` - Bun doesn't export the type, so derive it. */
3
4
  export type PluginBuilder = Parameters<BunPlugin["setup"]>[0];
4
5
  /**
@@ -56,6 +57,14 @@ export declare const DEV_HMR_ENV = "NIFRA_DEV_HMR";
56
57
  * registration) so the flag is honoured however late the server sets it.
57
58
  */
58
59
  export declare function devServerCompile(): boolean;
60
+ export { concatSourceMaps, type RawSourceMap } from "../internal/source-map.js";
61
+ /**
62
+ * A compiled module carrying its map back to the file it came from, during a dev server only. The client
63
+ * half gets it inline: Bun's bundler keeps a plugin's output as the bundle map's source, and the dev
64
+ * server's frame mapper follows the inline map from there. The SSR half goes in the process registry
65
+ * instead, because Bun's runtime ignores a plugin's inline map when it reports a stack.
66
+ */
67
+ export declare function withDevSourceMap(code: string, map: RawSourceMap | undefined, path: string, generate: "dom" | "ssr"): string;
59
68
  /**
60
69
  * The app root and the routes directory of the running dev server, for plugins that need to tell one of
61
70
  * the app's own components from a dependency or a route module. Set alongside {@link DEV_HMR_ENV}; read
@@ -1 +1 @@
1
- {"version":3,"file":"kit.d.ts","sourceRoot":"","sources":["../../src/plugins/kit.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAEpC,iGAAiG;AACjG,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAE7D;;;;;;;GAOG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAIvD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgBtD;AAED,gGAAgG;AAChG,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAqBD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAI7D;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI3C;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,kBAAkB,CAAA;AAE1C;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,mBAAmB,CAAA;AAC5C,eAAO,MAAM,cAAc,qBAAqB,CAAA;AAchD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAKrD;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,kGAAkG;IAClG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CACxC;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,MAAM,GAChB,iBAAiB,CAqBnB;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,CAAC,EACjC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC3D,OAAO,CAAC,CAAC,CAAC,CA0BZ"}
1
+ {"version":3,"file":"kit.d.ts","sourceRoot":"","sources":["../../src/plugins/kit.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AACpC,OAAO,EAAE,KAAK,YAAY,EAAiB,MAAM,2BAA2B,CAAA;AAE5E,iGAAiG;AACjG,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAE7D;;;;;;;GAOG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAIvD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgBtD;AAED,gGAAgG;AAChG,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAqBD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAI7D;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI3C;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,kBAAkB,CAAA;AAE1C;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED,OAAO,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE/E;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,YAAY,GAAG,SAAS,EAC7B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,KAAK,GAAG,KAAK,GACtB,MAAM,CAQR;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,mBAAmB,CAAA;AAC5C,eAAO,MAAM,cAAc,qBAAqB,CAAA;AAchD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAKrD;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,kGAAkG;IAClG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CACxC;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,MAAM,GAChB,iBAAiB,CAqBnB;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,CAAC,EACjC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC3D,OAAO,CAAC,CAAC,CAAC,CA0BZ"}
@@ -15,6 +15,7 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
15
15
  import { existsSync } from "node:fs";
16
16
  import { dirname, join, relative } from "node:path";
17
17
  import { fileURLToPath, pathToFileURL } from "node:url";
18
+ import { ssrSourceMaps } from "../internal/source-map.js";
18
19
  /**
19
20
  * Re-keys the app-owned imports of a module the SERVER half of a plugin just compiled, so an edit below
20
21
  * a route reaches SSR instead of being served from Bun's import cache. A plugin that claims a file
@@ -122,6 +123,23 @@ export const DEV_HMR_ENV = "NIFRA_DEV_HMR";
122
123
  export function devServerCompile() {
123
124
  return process.env[DEV_HMR_ENV] === "1";
124
125
  }
126
+ export { concatSourceMaps } from "../internal/source-map.js";
127
+ /**
128
+ * A compiled module carrying its map back to the file it came from, during a dev server only. The client
129
+ * half gets it inline: Bun's bundler keeps a plugin's output as the bundle map's source, and the dev
130
+ * server's frame mapper follows the inline map from there. The SSR half goes in the process registry
131
+ * instead, because Bun's runtime ignores a plugin's inline map when it reports a stack.
132
+ */
133
+ export function withDevSourceMap(code, map, path, generate) {
134
+ if (map === undefined || !devServerCompile())
135
+ return code;
136
+ if (generate === "ssr") {
137
+ ssrSourceMaps().set(portablePath(path), map);
138
+ return code;
139
+ }
140
+ const encoded = Buffer.from(JSON.stringify(map)).toString("base64");
141
+ return `${code}\n//# sourceMappingURL=data:application/json;base64,${encoded}\n`;
142
+ }
125
143
  /**
126
144
  * The app root and the routes directory of the running dev server, for plugins that need to tell one of
127
145
  * the app's own components from a dependency or a route module. Set alongside {@link DEV_HMR_ENV}; read
@@ -1 +1 @@
1
- {"version":3,"file":"kit.js","sourceRoot":"","sources":["../../src/plugins/kit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kit.js","sourceRoot":"","sources":["../../src/plugins/kit.ts"],"names":[],"mappings":"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"}
@@ -11,9 +11,10 @@
11
11
  * is untouched - only the `?component` marker is intercepted.
12
12
  *
13
13
  * Optimization is optional: pass `svgo` (or install the `svgo` peer) to minify/clean the SVG first.
14
- * The transform is regex-based and targets the common icon-set shape (well-formed, self-closed tags);
15
- * it camelCases hyphenated + `xlink:`/`xmlns:` attributes, maps `class` → `className`, parses an inline
16
- * `style="..."` into an object, and drops XML declarations/comments so the result is valid JSX.
14
+ * The file must be one well-formed `<svg>` element; anything else is refused rather than guessed at.
15
+ * Its text reaches JSX as text - a brace in a `<style>` rule or a `<title>` is a character, never an
16
+ * expression. The transform camelCases hyphenated + `xlink:`/`xmlns:` attributes, maps `class` →
17
+ * `className`, parses an inline `style="..."` into an object, and drops XML declarations/comments.
17
18
  */
18
19
  import type { BunPlugin } from "bun";
19
20
  /** The subset of the `svgo` API this plugin uses (structural, so no hard dependency on its types). */
@@ -39,6 +40,24 @@ export interface SvgToJsxOptions {
39
40
  * marker swallows the rest of the input - the correct reading, matching an XML parser.
40
41
  */
41
42
  export declare function stripSvgPreamble(xml: string): string;
43
+ /** How a framework's template must spell an SVG file's text and names, for {@link svgTemplateMarkup}. */
44
+ export interface SvgMarkupRules {
45
+ /** Text content as the template must spell it; `cdata` text arrives as a CDATA section held it. */
46
+ readonly text: (text: string, cdata: boolean) => string;
47
+ /** An attribute value (without its quotes) as the template must spell it. Default as written. */
48
+ readonly attributeValue?: (value: string) => string;
49
+ /** Why the template would read an element or attribute name as more than markup, or `undefined`. */
50
+ readonly refuse?: (name: string, kind: "element" | "attribute") => string | undefined;
51
+ /** Elements whose content the template reads as raw text, copied as it is. */
52
+ readonly rawText?: ReadonlySet<string>;
53
+ }
54
+ /**
55
+ * An SVG file's markup rewritten for a framework template: one `<svg>` root, its text and attribute
56
+ * values put through `rules` so none of it reads as template syntax. Markup a well-formed SVG cannot
57
+ * hold is refused rather than passed on - a brace, a bare name or an unquoted value in a tag, content
58
+ * after the root - since each is a way for the file to reach the template as code.
59
+ */
60
+ export declare function svgTemplateMarkup(xml: string, rules: SvgMarkupRules): string;
42
61
  /** Convert an SVG XML string into a JSX-safe `<svg>…</svg>` element with `{...props}` spread on the root. */
43
62
  export declare function svgToJsx(xml: string, options?: SvgToJsxOptions): string;
44
63
  /** Emit the component module source for a `?component` SVG import. Identical on dom + ssr (isomorphic). */
@@ -1 +1 @@
1
- {"version":3,"file":"svg.d.ts","sourceRoot":"","sources":["../../src/plugins/svg.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAGpC,sGAAsG;AACtG,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CACtF;AAED,MAAM,WAAW,gBAAgB;IAC/B,0GAA0G;IAC1G,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,YAAY,CAAA;CACvC;AA8CD,MAAM,WAAW,eAAe;IAC9B,0FAA0F;IAC1F,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA0BpD;AAED,6GAA6G;AAC7G,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,MAAM,CAmB3E;AAED,2GAA2G;AAC3G,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,MAAM,CAErF;AAED,+FAA+F;AAC/F,eAAO,MAAM,oBAAoB,QAA0B,CAAA;AAG3D;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,KAAK,GAAG,KAAK,EACxB,OAAO,GAAE,gBAAqB,GAC7B,SAAS,CAkCX"}
1
+ {"version":3,"file":"svg.d.ts","sourceRoot":"","sources":["../../src/plugins/svg.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAGpC,sGAAsG;AACtG,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CACtF;AAED,MAAM,WAAW,gBAAgB;IAC/B,0GAA0G;IAC1G,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,YAAY,CAAA;CACvC;AA8CD,MAAM,WAAW,eAAe;IAC9B,0FAA0F;IAC1F,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA0BpD;AAED,yGAAyG;AACzG,MAAM,WAAW,cAAc;IAC7B,mGAAmG;IACnG,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,MAAM,CAAA;IACvD,iGAAiG;IACjG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IACnD,oGAAoG;IACpG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,WAAW,KAAK,MAAM,GAAG,SAAS,CAAA;IACrF,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CACvC;AAQD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,MAAM,CAyC5E;AAgED,6GAA6G;AAC7G,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,MAAM,CAoB3E;AAED,2GAA2G;AAC3G,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,MAAM,CAErF;AAED,+FAA+F;AAC/F,eAAO,MAAM,oBAAoB,QAA0B,CAAA;AAG3D;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,KAAK,GAAG,KAAK,EACxB,OAAO,GAAE,gBAAqB,GAC7B,SAAS,CAkCX"}