@nifrajs/web 5.5.1 → 5.6.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 (457) hide show
  1. package/CHANGELOG.md +154 -0
  2. package/dist/boundary.d.ts +67 -7
  3. package/dist/boundary.d.ts.map +1 -1
  4. package/dist/boundary.js +6 -4
  5. package/dist/boundary.js.map +1 -1
  6. package/dist/build-plan.d.ts +3 -0
  7. package/dist/build-plan.d.ts.map +1 -1
  8. package/dist/build-plan.js.map +1 -1
  9. package/dist/build-vite.d.ts.map +1 -1
  10. package/dist/build-vite.js +2 -0
  11. package/dist/build-vite.js.map +1 -1
  12. package/dist/build.d.ts +9 -2
  13. package/dist/build.d.ts.map +1 -1
  14. package/dist/build.js +9 -0
  15. package/dist/build.js.map +1 -1
  16. package/dist/client.d.ts +2 -1
  17. package/dist/client.d.ts.map +1 -1
  18. package/dist/client.js +140 -12
  19. package/dist/client.js.map +1 -1
  20. package/dist/csp.d.ts +8 -0
  21. package/dist/csp.d.ts.map +1 -1
  22. package/dist/csp.js +11 -2
  23. package/dist/csp.js.map +1 -1
  24. package/dist/deferred.d.ts +6 -4
  25. package/dist/deferred.d.ts.map +1 -1
  26. package/dist/deferred.js +10 -6
  27. package/dist/deferred.js.map +1 -1
  28. package/dist/dev-feed.d.ts.map +1 -1
  29. package/dist/dev-feed.js +11 -2
  30. package/dist/dev-feed.js.map +1 -1
  31. package/dist/dev-session.d.ts.map +1 -1
  32. package/dist/dev-session.js +13 -6
  33. package/dist/dev-session.js.map +1 -1
  34. package/dist/dev.d.ts +4 -1
  35. package/dist/dev.d.ts.map +1 -1
  36. package/dist/dev.js +12 -5
  37. package/dist/dev.js.map +1 -1
  38. package/dist/diagnostic-catalog.d.ts +4 -0
  39. package/dist/diagnostic-catalog.d.ts.map +1 -1
  40. package/dist/diagnostic-catalog.js +48 -0
  41. package/dist/diagnostic-catalog.js.map +1 -1
  42. package/dist/diagnostic.d.ts +1 -1
  43. package/dist/diagnostic.d.ts.map +1 -1
  44. package/dist/diagnostic.js +1 -1
  45. package/dist/diagnostic.js.map +1 -1
  46. package/dist/fn.d.ts +5 -3
  47. package/dist/fn.d.ts.map +1 -1
  48. package/dist/fn.js +20 -5
  49. package/dist/fn.js.map +1 -1
  50. package/dist/fs.d.ts.map +1 -1
  51. package/dist/fs.js +13 -3
  52. package/dist/fs.js.map +1 -1
  53. package/dist/identity.d.ts +22 -0
  54. package/dist/identity.d.ts.map +1 -0
  55. package/dist/identity.js +60 -0
  56. package/dist/identity.js.map +1 -0
  57. package/dist/index.d.ts +7 -6
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +4 -2
  60. package/dist/index.js.map +1 -1
  61. package/dist/internal/cdn/cloudflare.d.ts +2 -1
  62. package/dist/internal/cdn/cloudflare.d.ts.map +1 -1
  63. package/dist/internal/cdn/cloudflare.js +2 -1
  64. package/dist/internal/cdn/cloudflare.js.map +1 -1
  65. package/dist/internal/certified-components.d.ts +1 -1
  66. package/dist/internal/certified-components.js +1 -1
  67. package/dist/internal/codegen.d.ts +11 -10
  68. package/dist/internal/codegen.d.ts.map +1 -1
  69. package/dist/internal/codegen.js +65 -8
  70. package/dist/internal/codegen.js.map +1 -1
  71. package/dist/internal/dev-websocket.d.ts +73 -0
  72. package/dist/internal/dev-websocket.d.ts.map +1 -0
  73. package/dist/internal/dev-websocket.js +145 -0
  74. package/dist/internal/dev-websocket.js.map +1 -0
  75. package/dist/internal/hole-runtime.d.ts +66 -0
  76. package/dist/internal/hole-runtime.d.ts.map +1 -0
  77. package/dist/internal/hole-runtime.js +211 -0
  78. package/dist/internal/hole-runtime.js.map +1 -0
  79. package/dist/internal/identity-epoch.d.ts +50 -0
  80. package/dist/internal/identity-epoch.d.ts.map +1 -0
  81. package/dist/internal/identity-epoch.js +179 -0
  82. package/dist/internal/identity-epoch.js.map +1 -0
  83. package/dist/internal/invalidation-contract.d.ts +23 -0
  84. package/dist/internal/invalidation-contract.d.ts.map +1 -0
  85. package/dist/internal/invalidation-contract.js +11 -0
  86. package/dist/internal/invalidation-contract.js.map +1 -0
  87. package/dist/internal/invalidation.d.ts +62 -0
  88. package/dist/internal/invalidation.d.ts.map +1 -0
  89. package/dist/internal/invalidation.js +149 -0
  90. package/dist/internal/invalidation.js.map +1 -0
  91. package/dist/internal/island-bindings.d.ts +51 -0
  92. package/dist/internal/island-bindings.d.ts.map +1 -0
  93. package/dist/internal/island-bindings.js +147 -0
  94. package/dist/internal/island-bindings.js.map +1 -0
  95. package/dist/internal/island-list.d.ts +26 -0
  96. package/dist/internal/island-list.d.ts.map +1 -0
  97. package/dist/internal/island-list.js +78 -0
  98. package/dist/internal/island-list.js.map +1 -0
  99. package/dist/internal/island-mount.d.ts +4 -0
  100. package/dist/internal/island-mount.d.ts.map +1 -0
  101. package/dist/internal/island-mount.js +66 -0
  102. package/dist/internal/island-mount.js.map +1 -0
  103. package/dist/internal/island-owner.d.ts +5 -0
  104. package/dist/internal/island-owner.d.ts.map +1 -0
  105. package/dist/internal/island-owner.js +20 -0
  106. package/dist/internal/island-owner.js.map +1 -0
  107. package/dist/internal/island-resource.d.ts +30 -0
  108. package/dist/internal/island-resource.d.ts.map +1 -0
  109. package/dist/internal/island-resource.js +57 -0
  110. package/dist/internal/island-resource.js.map +1 -0
  111. package/dist/internal/island-signals.d.ts +51 -0
  112. package/dist/internal/island-signals.d.ts.map +1 -0
  113. package/dist/internal/island-signals.js +220 -0
  114. package/dist/internal/island-signals.js.map +1 -0
  115. package/dist/internal/keep-alive-table.d.ts +23 -0
  116. package/dist/internal/keep-alive-table.d.ts.map +1 -0
  117. package/dist/internal/keep-alive-table.js +53 -0
  118. package/dist/internal/keep-alive-table.js.map +1 -0
  119. package/dist/internal/live-contract.d.ts +96 -0
  120. package/dist/internal/live-contract.d.ts.map +1 -0
  121. package/dist/internal/live-contract.js +5 -0
  122. package/dist/internal/live-contract.js.map +1 -0
  123. package/dist/internal/live-queries.d.ts +22 -0
  124. package/dist/internal/live-queries.d.ts.map +1 -0
  125. package/dist/internal/live-queries.js +54 -0
  126. package/dist/internal/live-queries.js.map +1 -0
  127. package/dist/internal/page-events.d.ts +10 -0
  128. package/dist/internal/page-events.d.ts.map +1 -0
  129. package/dist/internal/page-events.js +26 -0
  130. package/dist/internal/page-events.js.map +1 -0
  131. package/dist/internal/page-execution.d.ts +14 -1
  132. package/dist/internal/page-execution.d.ts.map +1 -1
  133. package/dist/internal/page-execution.js +415 -31
  134. package/dist/internal/page-execution.js.map +1 -1
  135. package/dist/internal/ppr/admission.d.ts +83 -0
  136. package/dist/internal/ppr/admission.d.ts.map +1 -0
  137. package/dist/internal/ppr/admission.js +221 -0
  138. package/dist/internal/ppr/admission.js.map +1 -0
  139. package/dist/internal/ppr/canary.d.ts +24 -0
  140. package/dist/internal/ppr/canary.d.ts.map +1 -0
  141. package/dist/internal/ppr/canary.js +102 -0
  142. package/dist/internal/ppr/canary.js.map +1 -0
  143. package/dist/internal/ppr/compile-shell.d.ts +39 -0
  144. package/dist/internal/ppr/compile-shell.d.ts.map +1 -0
  145. package/dist/internal/ppr/compile-shell.js +298 -0
  146. package/dist/internal/ppr/compile-shell.js.map +1 -0
  147. package/dist/internal/ppr/contract.d.ts +177 -0
  148. package/dist/internal/ppr/contract.d.ts.map +1 -0
  149. package/dist/internal/ppr/contract.js +80 -0
  150. package/dist/internal/ppr/contract.js.map +1 -0
  151. package/dist/internal/ppr/frames.d.ts +71 -0
  152. package/dist/internal/ppr/frames.d.ts.map +1 -0
  153. package/dist/internal/ppr/frames.js +119 -0
  154. package/dist/internal/ppr/frames.js.map +1 -0
  155. package/dist/internal/ppr/integration.d.ts +19 -0
  156. package/dist/internal/ppr/integration.d.ts.map +1 -0
  157. package/dist/internal/ppr/integration.js +106 -0
  158. package/dist/internal/ppr/integration.js.map +1 -0
  159. package/dist/internal/ppr/options.d.ts +96 -0
  160. package/dist/internal/ppr/options.d.ts.map +1 -0
  161. package/dist/internal/ppr/options.js +125 -0
  162. package/dist/internal/ppr/options.js.map +1 -0
  163. package/dist/internal/ppr/route-rules.d.ts +12 -0
  164. package/dist/internal/ppr/route-rules.d.ts.map +1 -0
  165. package/dist/internal/ppr/route-rules.js +53 -0
  166. package/dist/internal/ppr/route-rules.js.map +1 -0
  167. package/dist/internal/ppr/runtime.d.ts +29 -0
  168. package/dist/internal/ppr/runtime.d.ts.map +1 -0
  169. package/dist/internal/ppr/runtime.js +32 -0
  170. package/dist/internal/ppr/runtime.js.map +1 -0
  171. package/dist/internal/ppr/server.d.ts +29 -0
  172. package/dist/internal/ppr/server.d.ts.map +1 -0
  173. package/dist/internal/ppr/server.js +1407 -0
  174. package/dist/internal/ppr/server.js.map +1 -0
  175. package/dist/internal/ppr/shell-store.d.ts +38 -0
  176. package/dist/internal/ppr/shell-store.d.ts.map +1 -0
  177. package/dist/internal/ppr/shell-store.js +90 -0
  178. package/dist/internal/ppr/shell-store.js.map +1 -0
  179. package/dist/internal/prerendered-pages.d.ts +1 -1
  180. package/dist/internal/prerendered-pages.d.ts.map +1 -1
  181. package/dist/internal/prerendered-pages.js +7 -4
  182. package/dist/internal/prerendered-pages.js.map +1 -1
  183. package/dist/internal/query-digest.d.ts +9 -0
  184. package/dist/internal/query-digest.d.ts.map +1 -0
  185. package/dist/internal/query-digest.js +23 -0
  186. package/dist/internal/query-digest.js.map +1 -0
  187. package/dist/internal/query-runtime.d.ts +6 -1
  188. package/dist/internal/query-runtime.d.ts.map +1 -1
  189. package/dist/internal/query-runtime.js +9 -0
  190. package/dist/internal/query-runtime.js.map +1 -1
  191. package/dist/internal/query-seam.d.ts +29 -0
  192. package/dist/internal/query-seam.d.ts.map +1 -0
  193. package/dist/internal/query-seam.js +23 -0
  194. package/dist/internal/query-seam.js.map +1 -0
  195. package/dist/internal/render-document.d.ts +28 -1
  196. package/dist/internal/render-document.d.ts.map +1 -1
  197. package/dist/internal/render-document.js +83 -18
  198. package/dist/internal/render-document.js.map +1 -1
  199. package/dist/internal/request-abort.d.ts +8 -0
  200. package/dist/internal/request-abort.d.ts.map +1 -0
  201. package/dist/internal/request-abort.js +22 -0
  202. package/dist/internal/request-abort.js.map +1 -0
  203. package/dist/internal/server-boundary.d.ts +2 -0
  204. package/dist/internal/server-boundary.d.ts.map +1 -1
  205. package/dist/internal/server-boundary.js +8 -1
  206. package/dist/internal/server-boundary.js.map +1 -1
  207. package/dist/internal/share-data.d.ts +10 -0
  208. package/dist/internal/share-data.d.ts.map +1 -0
  209. package/dist/internal/share-data.js +135 -0
  210. package/dist/internal/share-data.js.map +1 -0
  211. package/dist/internal/store-signature.d.ts +15 -0
  212. package/dist/internal/store-signature.d.ts.map +1 -0
  213. package/dist/internal/store-signature.js +114 -0
  214. package/dist/internal/store-signature.js.map +1 -0
  215. package/dist/internal/vite-plugin-compat.d.ts +2 -2
  216. package/dist/internal/vite-plugin-compat.js +2 -2
  217. package/dist/internal/web-app.d.ts +25 -0
  218. package/dist/internal/web-app.d.ts.map +1 -1
  219. package/dist/internal/web-app.js +78 -3
  220. package/dist/internal/web-app.js.map +1 -1
  221. package/dist/islands-swap.d.ts +41 -0
  222. package/dist/islands-swap.d.ts.map +1 -0
  223. package/dist/islands-swap.js +270 -0
  224. package/dist/islands-swap.js.map +1 -0
  225. package/dist/islands.d.ts +86 -24
  226. package/dist/islands.d.ts.map +1 -1
  227. package/dist/islands.js +138 -78
  228. package/dist/islands.js.map +1 -1
  229. package/dist/isr.d.ts +67 -13
  230. package/dist/isr.d.ts.map +1 -1
  231. package/dist/isr.js +247 -99
  232. package/dist/isr.js.map +1 -1
  233. package/dist/keep-alive.d.ts +147 -0
  234. package/dist/keep-alive.d.ts.map +1 -0
  235. package/dist/keep-alive.js +1069 -0
  236. package/dist/keep-alive.js.map +1 -0
  237. package/dist/live/bus.d.ts +56 -0
  238. package/dist/live/bus.d.ts.map +1 -0
  239. package/dist/live/bus.js +32 -0
  240. package/dist/live/bus.js.map +1 -0
  241. package/dist/live/core.d.ts +25 -0
  242. package/dist/live/core.d.ts.map +1 -0
  243. package/dist/live/core.js +29 -0
  244. package/dist/live/core.js.map +1 -0
  245. package/dist/live/history.d.ts +38 -0
  246. package/dist/live/history.d.ts.map +1 -0
  247. package/dist/live/history.js +104 -0
  248. package/dist/live/history.js.map +1 -0
  249. package/dist/live/hub-protocol.d.ts +46 -0
  250. package/dist/live/hub-protocol.d.ts.map +1 -0
  251. package/dist/live/hub-protocol.js +108 -0
  252. package/dist/live/hub-protocol.js.map +1 -0
  253. package/dist/live/hub.d.ts +181 -0
  254. package/dist/live/hub.d.ts.map +1 -0
  255. package/dist/live/hub.js +539 -0
  256. package/dist/live/hub.js.map +1 -0
  257. package/dist/live/keyring.d.ts +87 -0
  258. package/dist/live/keyring.d.ts.map +1 -0
  259. package/dist/live/keyring.js +260 -0
  260. package/dist/live/keyring.js.map +1 -0
  261. package/dist/live/read-capped.d.ts +6 -0
  262. package/dist/live/read-capped.d.ts.map +1 -0
  263. package/dist/live/read-capped.js +42 -0
  264. package/dist/live/read-capped.js.map +1 -0
  265. package/dist/live/revocations.d.ts +52 -0
  266. package/dist/live/revocations.d.ts.map +1 -0
  267. package/dist/live/revocations.js +116 -0
  268. package/dist/live/revocations.js.map +1 -0
  269. package/dist/live/settings.d.ts +14 -0
  270. package/dist/live/settings.d.ts.map +1 -0
  271. package/dist/live/settings.js +38 -0
  272. package/dist/live/settings.js.map +1 -0
  273. package/dist/live-client.d.ts +34 -0
  274. package/dist/live-client.d.ts.map +1 -0
  275. package/dist/live-client.js +840 -0
  276. package/dist/live-client.js.map +1 -0
  277. package/dist/live-hub.d.ts +130 -0
  278. package/dist/live-hub.d.ts.map +1 -0
  279. package/dist/live-hub.js +507 -0
  280. package/dist/live-hub.js.map +1 -0
  281. package/dist/live-redis.d.ts +48 -0
  282. package/dist/live-redis.d.ts.map +1 -0
  283. package/dist/live-redis.js +201 -0
  284. package/dist/live-redis.js.map +1 -0
  285. package/dist/live.d.ts +94 -0
  286. package/dist/live.d.ts.map +1 -0
  287. package/dist/live.js +869 -0
  288. package/dist/live.js.map +1 -0
  289. package/dist/manifest.d.ts +113 -2
  290. package/dist/manifest.d.ts.map +1 -1
  291. package/dist/manifest.js +109 -5
  292. package/dist/manifest.js.map +1 -1
  293. package/dist/navigation.d.ts +9 -3
  294. package/dist/navigation.d.ts.map +1 -1
  295. package/dist/navigation.js +13 -3
  296. package/dist/navigation.js.map +1 -1
  297. package/dist/plugins/vite-zone-guard.d.ts +6 -0
  298. package/dist/plugins/vite-zone-guard.d.ts.map +1 -1
  299. package/dist/plugins/vite-zone-guard.js +8 -2
  300. package/dist/plugins/vite-zone-guard.js.map +1 -1
  301. package/dist/ppr.d.ts +73 -0
  302. package/dist/ppr.d.ts.map +1 -0
  303. package/dist/ppr.js +76 -0
  304. package/dist/ppr.js.map +1 -0
  305. package/dist/query.d.ts +8 -13
  306. package/dist/query.d.ts.map +1 -1
  307. package/dist/query.js +112 -18
  308. package/dist/query.js.map +1 -1
  309. package/dist/render-seam.d.ts +30 -0
  310. package/dist/render-seam.d.ts.map +1 -1
  311. package/dist/render-seam.js +5 -0
  312. package/dist/render-seam.js.map +1 -1
  313. package/dist/route-types.d.ts.map +1 -1
  314. package/dist/route-types.js +2 -2
  315. package/dist/route-types.js.map +1 -1
  316. package/dist/router.d.ts +72 -4
  317. package/dist/router.d.ts.map +1 -1
  318. package/dist/router.js +374 -99
  319. package/dist/router.js.map +1 -1
  320. package/dist/server-components/build.d.ts.map +1 -1
  321. package/dist/server-components/build.js +3 -3
  322. package/dist/server-components/build.js.map +1 -1
  323. package/dist/server-components/client.d.ts +23 -1
  324. package/dist/server-components/client.d.ts.map +1 -1
  325. package/dist/server-components/client.js +92 -5
  326. package/dist/server-components/client.js.map +1 -1
  327. package/dist/server-components/hole.d.ts +8 -0
  328. package/dist/server-components/hole.d.ts.map +1 -0
  329. package/dist/server-components/hole.js +20 -0
  330. package/dist/server-components/hole.js.map +1 -0
  331. package/dist/server-components/html-policy.d.ts.map +1 -1
  332. package/dist/server-components/html-policy.js +62 -4
  333. package/dist/server-components/html-policy.js.map +1 -1
  334. package/dist/server-components/html-scan.d.ts +17 -0
  335. package/dist/server-components/html-scan.d.ts.map +1 -0
  336. package/dist/server-components/html-scan.js +180 -0
  337. package/dist/server-components/html-scan.js.map +1 -0
  338. package/dist/server-components/html.d.ts.map +1 -1
  339. package/dist/server-components/html.js +19 -4
  340. package/dist/server-components/html.js.map +1 -1
  341. package/dist/server-components/router-integration.d.ts +4 -1
  342. package/dist/server-components/router-integration.d.ts.map +1 -1
  343. package/dist/server-components/router-integration.js +23 -2
  344. package/dist/server-components/router-integration.js.map +1 -1
  345. package/dist/server-components/runtime.d.ts +6 -1
  346. package/dist/server-components/runtime.d.ts.map +1 -1
  347. package/dist/server-components/runtime.js +86 -28
  348. package/dist/server-components/runtime.js.map +1 -1
  349. package/dist/server-components/state.d.ts +3 -1
  350. package/dist/server-components/state.d.ts.map +1 -1
  351. package/dist/server-components/state.js +50 -38
  352. package/dist/server-components/state.js.map +1 -1
  353. package/dist/server-components/types.d.ts +9 -0
  354. package/dist/server-components/types.d.ts.map +1 -1
  355. package/dist/vite.d.ts +5 -1
  356. package/dist/vite.d.ts.map +1 -1
  357. package/dist/vite.js +58 -4
  358. package/dist/vite.js.map +1 -1
  359. package/package.json +48 -8
  360. package/src/boundary.ts +77 -5
  361. package/src/build-plan.ts +3 -0
  362. package/src/build-vite.ts +2 -0
  363. package/src/build.ts +19 -1
  364. package/src/client.ts +147 -10
  365. package/src/csp.ts +16 -2
  366. package/src/deferred.ts +11 -5
  367. package/src/dev-feed.ts +11 -2
  368. package/src/dev-session.ts +22 -11
  369. package/src/dev.ts +29 -8
  370. package/src/diagnostic-catalog.ts +53 -0
  371. package/src/diagnostic.ts +1 -0
  372. package/src/fn.ts +24 -7
  373. package/src/fs.ts +22 -8
  374. package/src/identity.ts +61 -0
  375. package/src/index.ts +19 -0
  376. package/src/internal/cdn/cloudflare.ts +2 -1
  377. package/src/internal/certified-components.ts +1 -1
  378. package/src/internal/codegen.ts +87 -8
  379. package/src/internal/dev-websocket.ts +230 -0
  380. package/src/internal/hole-runtime.ts +286 -0
  381. package/src/internal/identity-epoch.ts +235 -0
  382. package/src/internal/invalidation-contract.ts +35 -0
  383. package/src/internal/invalidation.ts +213 -0
  384. package/src/internal/island-bindings.ts +191 -0
  385. package/src/internal/island-list.ts +92 -0
  386. package/src/internal/island-mount.ts +68 -0
  387. package/src/internal/island-owner.ts +20 -0
  388. package/src/internal/island-resource.ts +76 -0
  389. package/src/internal/island-signals.ts +249 -0
  390. package/src/internal/keep-alive-table.ts +72 -0
  391. package/src/internal/live-contract.ts +106 -0
  392. package/src/internal/live-queries.ts +60 -0
  393. package/src/internal/page-events.ts +27 -0
  394. package/src/internal/page-execution.ts +579 -40
  395. package/src/internal/ppr/admission.ts +300 -0
  396. package/src/internal/ppr/canary.ts +122 -0
  397. package/src/internal/ppr/compile-shell.ts +379 -0
  398. package/src/internal/ppr/contract.ts +265 -0
  399. package/src/internal/ppr/frames.ts +170 -0
  400. package/src/internal/ppr/integration.ts +137 -0
  401. package/src/internal/ppr/options.ts +221 -0
  402. package/src/internal/ppr/route-rules.ts +77 -0
  403. package/src/internal/ppr/runtime.ts +36 -0
  404. package/src/internal/ppr/server.ts +1764 -0
  405. package/src/internal/ppr/shell-store.ts +139 -0
  406. package/src/internal/prerendered-pages.ts +7 -4
  407. package/src/internal/query-digest.ts +34 -0
  408. package/src/internal/query-runtime.ts +14 -1
  409. package/src/internal/query-seam.ts +48 -0
  410. package/src/internal/render-document.ts +149 -22
  411. package/src/internal/request-abort.ts +26 -0
  412. package/src/internal/server-boundary.ts +10 -1
  413. package/src/internal/share-data.ts +136 -0
  414. package/src/internal/store-signature.ts +149 -0
  415. package/src/internal/vite-plugin-compat.ts +2 -2
  416. package/src/internal/web-app.ts +121 -3
  417. package/src/islands-swap.ts +283 -0
  418. package/src/islands.ts +169 -72
  419. package/src/isr.ts +348 -106
  420. package/src/keep-alive.ts +1315 -0
  421. package/src/live/bus.ts +77 -0
  422. package/src/live/core.ts +52 -0
  423. package/src/live/history.ts +109 -0
  424. package/src/live/hub-protocol.ts +133 -0
  425. package/src/live/hub.ts +615 -0
  426. package/src/live/keyring.ts +379 -0
  427. package/src/live/read-capped.ts +36 -0
  428. package/src/live/revocations.ts +155 -0
  429. package/src/live/settings.ts +46 -0
  430. package/src/live-client.ts +973 -0
  431. package/src/live-hub.ts +658 -0
  432. package/src/live-redis.ts +259 -0
  433. package/src/live.ts +1096 -0
  434. package/src/manifest.ts +274 -6
  435. package/src/navigation.ts +14 -2
  436. package/src/plugins/vite-zone-guard.ts +15 -2
  437. package/src/ppr.ts +153 -0
  438. package/src/query.ts +147 -20
  439. package/src/render-seam.ts +35 -0
  440. package/src/route-types.ts +3 -1
  441. package/src/router.ts +494 -101
  442. package/src/server-components/build.ts +9 -3
  443. package/src/server-components/client.ts +89 -5
  444. package/src/server-components/hole.ts +23 -0
  445. package/src/server-components/html-policy.ts +63 -4
  446. package/src/server-components/html-scan.ts +159 -0
  447. package/src/server-components/html.ts +18 -4
  448. package/src/server-components/router-integration.ts +21 -2
  449. package/src/server-components/runtime.ts +112 -30
  450. package/src/server-components/state.ts +66 -44
  451. package/src/server-components/types.ts +16 -0
  452. package/src/vite.ts +75 -6
  453. package/dist/nano.d.ts +0 -125
  454. package/dist/nano.d.ts.map +0 -1
  455. package/dist/nano.js +0 -190
  456. package/dist/nano.js.map +0 -1
  457. package/src/nano.ts +0 -246
package/dist/client.js CHANGED
@@ -23,6 +23,7 @@ export function currentDocumentNonce() {
23
23
  return property;
24
24
  return script.getAttribute("nonce") ?? undefined;
25
25
  }
26
+ export { identityChanged } from "./identity.js";
26
27
  /**
27
28
  * Everything the generated client entry needs, re-exported here so that entry imports ONE module and
28
29
  * that module is DOM-only. It used to take these from `@nifrajs/web`, whose graph includes `renderPage`
@@ -31,7 +32,7 @@ export function currentDocumentNonce() {
31
32
  * before hydrating. The fix is for the entry not to name the server module in the first place.
32
33
  */
33
34
  export { mergeHeads, resolveChainMeta, resolveMeta } from "./internal/head-merge.js";
34
- export { getBrowserNavigate, IDLE_BLOCKER, registerBlocker, resolveNavigate, } from "./navigation.js";
35
+ export { closeBoundary, getBrowserNavigate, IDLE_BLOCKER, registerBlocker, resolveNavigate, } from "./navigation.js";
35
36
  export { createMutation, createQueryClient } from "./query.js";
36
37
  export { localeOfProps } from "./render-seam.js";
37
38
  export { createClientRouter, createMatcher } from "./router.js";
@@ -194,6 +195,45 @@ export function installHistory(router, options = {}) {
194
195
  let reversing = false;
195
196
  // The path the router was last seen loading, so a redirect it follows shows up as a change.
196
197
  let expected;
198
+ // The entry holding the page last shown without an intercept boundary, so closing a boundary opened
199
+ // over it can go back there. Cleared once that entry is replaced or cut off by a push.
200
+ let pageEntry = index;
201
+ // Before writing the entry at `index` (replace) or pushing past it, which drops every later entry.
202
+ const writingEntry = (mode) => {
203
+ if (mode === "replace" ? pageEntry === index : pageEntry !== undefined && pageEntry > index)
204
+ pageEntry = undefined;
205
+ };
206
+ // Every entry this document owns carries its index, the first one included, so an entry without one
207
+ // is one the browser pushed itself: a same-page fragment link, which this router leaves native.
208
+ // Number it as the push it was, or index deltas (a guard's reversal, closeBoundary) count wrong.
209
+ const numbered = () => {
210
+ const current = history.state;
211
+ return (typeof current === "object" &&
212
+ current !== null &&
213
+ "nifraIndex" in current &&
214
+ typeof current.nifraIndex === "number");
215
+ };
216
+ const stampEntry = () => {
217
+ const current = history.state;
218
+ history.replaceState(Object.assign({}, typeof current === "object" ? current : null, { nifraIndex: index }), "");
219
+ };
220
+ const adoptNativeEntry = () => {
221
+ if (numbered())
222
+ return false;
223
+ writingEntry("push");
224
+ index += 1;
225
+ stampEntry();
226
+ here = location.pathname + location.search + (location.hash ?? "");
227
+ return true;
228
+ };
229
+ // An opaque or file: document routes nothing, so its history is left alone. A refused write (a
230
+ // browser's rate limit) only leaves fragment entries uncounted, as before.
231
+ if (location.origin !== "null" && location.protocol !== "file:" && !numbered()) {
232
+ try {
233
+ stampEntry();
234
+ }
235
+ catch { }
236
+ }
197
237
  // A single active guard (like react-router, one blocker at a time); the latest registration wins.
198
238
  let registration;
199
239
  const scrollOf = (state) => {
@@ -216,6 +256,20 @@ export function installHistory(router, options = {}) {
216
256
  return null;
217
257
  return document.getElementById(id);
218
258
  };
259
+ // A navigation that loads takes the page from a partially prerendered first document, which then
260
+ // stops filling its holes and cancels the ones still loading on the server. `navigate` publishes
261
+ // its `pendingPath` before its first await; a client-only search change, or a boundary already
262
+ // showing its target, loads nothing, so the holes still pending keep filling.
263
+ const navigateFrom = (routePath, from) => {
264
+ const run = router.navigate(routePath).catch((error) => leave(error, from));
265
+ const ppr = Reflect.get(globalThis, "__nifraPpr");
266
+ if (router.snapshot().pendingPath === routePath &&
267
+ typeof ppr === "function" &&
268
+ "leave" in ppr &&
269
+ typeof ppr.leave === "function")
270
+ ppr.leave();
271
+ return run;
272
+ };
219
273
  const transition = (run) => {
220
274
  const doc = document;
221
275
  if (typeof doc.startViewTransition !== "function") {
@@ -288,6 +342,7 @@ export function installHistory(router, options = {}) {
288
342
  // collide with the router's bookkeeping (`nifraIndex`/`nifraScroll`); the browser restores the
289
343
  // whole object on back/forward for free.
290
344
  const entryState = state !== undefined ? { nifraIndex: index, nifraState: state } : { nifraIndex: index };
345
+ writingEntry(mode);
291
346
  if (mode === "replace") {
292
347
  // Replace the current entry (same index) with the new URL. The entry we're leaving is discarded, so
293
348
  // its scroll isn't worth saving; the new route scrolls to its fragment target, else the top.
@@ -306,7 +361,7 @@ export function installHistory(router, options = {}) {
306
361
  here = url.pathname + url.search + url.hash;
307
362
  expected = routePath;
308
363
  // The data layer fetches by path+search; the #hash is client-only (never sent to the server).
309
- transition(() => router.navigate(routePath).catch((error) => leave(error, path)));
364
+ transition(() => navigateFrom(routePath, path));
310
365
  settle();
311
366
  };
312
367
  // A redirect out of the app replaces the entry it answered, as the browser's own redirect would; any
@@ -342,7 +397,18 @@ export function installHistory(router, options = {}) {
342
397
  }
343
398
  go(to, navOptions?.replace === true ? "replace" : "push", navOptions?.state);
344
399
  };
345
- setBrowserNavigate(navigate, router);
400
+ // Back through the entries the boundary added to the page underneath; without that entry, replace
401
+ // the boundary's URL with the page's.
402
+ const closeBoundary = (name) => {
403
+ const intercepted = router.snapshot().intercepted;
404
+ if (intercepted === undefined || intercepted.boundary !== name)
405
+ return;
406
+ if (pageEntry !== undefined && pageEntry < index)
407
+ history.go(pageEntry - index);
408
+ else
409
+ go(intercepted.pagePath, "replace");
410
+ };
411
+ setBrowserNavigate(navigate, router, closeBoundary);
346
412
  // Publish the guard registry through the DOM-free bridge (`@nifrajs/web`'s `registerBlocker`, which an
347
413
  // adapter's `useBlocker` calls). One slot, latest registration wins; the unregister clears it only if
348
414
  // it's still the current one (so a stale unmount doesn't wipe a newer guard).
@@ -445,10 +511,12 @@ export function installHistory(router, options = {}) {
445
511
  reversing = false;
446
512
  return;
447
513
  }
514
+ adoptNativeEntry();
448
515
  const newIndex = history.state?.nifraIndex ?? 0;
449
516
  const dest = location.pathname + location.search + (location.hash ?? "");
450
517
  const delta = newIndex - index;
451
- if (guard(dest, () => history.go(delta))) {
518
+ // A fragment entry the browser just pushed is not a move between entries to reverse.
519
+ if (delta !== 0 && guard(dest, () => history.go(delta))) {
452
520
  reversing = true;
453
521
  history.go(-delta);
454
522
  return;
@@ -458,7 +526,7 @@ export function installHistory(router, options = {}) {
458
526
  pendingScroll = { pos: scrollOf(history.state) };
459
527
  const routePath = location.pathname + location.search;
460
528
  expected = routePath;
461
- transition(() => router.navigate(routePath).catch((error) => leave(error, dest)));
529
+ transition(() => navigateFrom(routePath, dest));
462
530
  settle();
463
531
  };
464
532
  // Close / reload / hard navigation away: no in-app destination exists, so consult the guard with the
@@ -482,6 +550,7 @@ export function installHistory(router, options = {}) {
482
550
  // form post back to the page it was on adds nothing.
483
551
  const follow = (path) => {
484
552
  if (path !== location.pathname + location.search) {
553
+ writingEntry(expected === undefined ? "push" : "replace");
485
554
  if (expected === undefined) {
486
555
  history.replaceState({ ...(history.state ?? {}), nifraScroll: [scrollX, scrollY] }, "");
487
556
  index += 1;
@@ -500,14 +569,17 @@ export function installHistory(router, options = {}) {
500
569
  // A settle with no navigation (a submit's revalidation) scrolls nothing. Either way the rendered
501
570
  // page is then scanned for links to warm.
502
571
  const settled = () => {
503
- const { pending, pendingPath } = router.snapshot();
572
+ const { pending, pendingPath, intercepted } = router.snapshot();
504
573
  if (pending) {
505
574
  if (pendingPath !== undefined && pendingPath !== expected)
506
575
  follow(pendingPath);
507
576
  return;
508
577
  }
509
578
  expected = undefined;
510
- const target = pendingScroll;
579
+ if (intercepted === undefined)
580
+ pageEntry = index;
581
+ // A boundary opened over the page leaves the page where it was scrolled.
582
+ const target = intercepted === undefined ? pendingScroll : null;
511
583
  pendingScroll = null;
512
584
  requestAnimationFrame(() => {
513
585
  if (target !== null && "hash" in target) {
@@ -529,6 +601,8 @@ export function installHistory(router, options = {}) {
529
601
  document.addEventListener("pointerover", onPrefetch);
530
602
  document.addEventListener("focusin", onPrefetch);
531
603
  window.addEventListener("popstate", onPopState);
604
+ // Where a fragment link fires no popstate, its entry is still numbered here.
605
+ window.addEventListener("hashchange", adoptNativeEntry);
532
606
  window.addEventListener("beforeunload", onBeforeUnload);
533
607
  return () => {
534
608
  unsubscribe();
@@ -539,6 +613,7 @@ export function installHistory(router, options = {}) {
539
613
  document.removeEventListener("pointerover", onPrefetch);
540
614
  document.removeEventListener("focusin", onPrefetch);
541
615
  window.removeEventListener("popstate", onPopState);
616
+ window.removeEventListener("hashchange", adoptNativeEntry);
542
617
  window.removeEventListener("beforeunload", onBeforeUnload);
543
618
  };
544
619
  }
@@ -623,6 +698,41 @@ export function applyHead(head, path) {
623
698
  document.head.appendChild(el);
624
699
  }
625
700
  }
701
+ /**
702
+ * The route path a form with no action posts to while an intercept boundary holds a target. The
703
+ * document URL is then the target's, but the form belongs to whichever route rendered it: the target
704
+ * when it sits inside the boundary's `data-nifra-boundary="<name>"` element, otherwise the page
705
+ * underneath. `undefined` when the form names its action, or no boundary holds a target.
706
+ */
707
+ function implicitActionOwner(router, form, actionFrom) {
708
+ const { intercepted, path } = router.snapshot();
709
+ if (intercepted === undefined)
710
+ return undefined;
711
+ const named = Element.prototype.getAttribute.call(actionFrom, actionAttribute(actionFrom, form));
712
+ if (named !== null && named.trim() !== "")
713
+ return undefined;
714
+ // Any ancestor marking the open boundary owns it, so a marker nested inside the modal (another
715
+ // boundary's) does not hand the form to the page. Boundary names are validated identifiers; the
716
+ // check keeps the selector literal regardless.
717
+ const inside = BOUNDARY_NAME.test(intercepted.boundary) &&
718
+ Element.prototype.closest.call(form, `[data-nifra-boundary="${intercepted.boundary}"]`) !== null;
719
+ return inside ? path : intercepted.pagePath;
720
+ }
721
+ const BOUNDARY_NAME = /^[A-Za-z][A-Za-z0-9_-]*$/;
722
+ const actionAttribute = (actionFrom, form) => actionFrom === form ? "action" : "formaction";
723
+ // Point the implicit action at `href` for one native submission; the returned function puts the
724
+ // attribute back, so a form that outlives the boundary (one in a layout) keeps posting to its page.
725
+ function pointAction(actionFrom, form, href) {
726
+ const name = actionAttribute(actionFrom, form);
727
+ const previous = Element.prototype.getAttribute.call(actionFrom, name);
728
+ Element.prototype.setAttribute.call(actionFrom, name, href);
729
+ return () => {
730
+ if (previous === null)
731
+ Element.prototype.removeAttribute.call(actionFrom, name);
732
+ else
733
+ Element.prototype.setAttribute.call(actionFrom, name, previous);
734
+ };
735
+ }
626
736
  // A control named like a form property shadows it (`<input name="target">` makes `form.target` that
627
737
  // input), so the form's own state is read through the prototype accessors.
628
738
  function formProperty(form, name) {
@@ -652,15 +762,26 @@ export function installForms(router) {
652
762
  const method = submitter?.hasAttribute("formmethod")
653
763
  ? submitter.formMethod
654
764
  : formProperty(form, "method");
655
- if (method.toLowerCase() !== "post")
656
- return; // GET forms submit natively
765
+ const actionFrom = submitter?.hasAttribute("formaction") ? submitter : form;
766
+ const owner = implicitActionOwner(router, form, actionFrom);
767
+ if (method.toLowerCase() !== "post") {
768
+ // GET forms submit natively. The browser reads the action after this event, so one the page
769
+ // rendered under a boundary is pointed at the page for this submission, then restored.
770
+ if (owner !== undefined)
771
+ setTimeout(pointAction(actionFrom, form, new URL(appUrl(owner), location.href).href), 0);
772
+ return;
773
+ }
657
774
  const target = submitter?.hasAttribute("formtarget")
658
775
  ? submitter.formTarget
659
776
  : formProperty(form, "target");
660
777
  if (target !== "" && target !== "_self")
661
778
  return; // it loads in another browsing context
662
779
  // Resolved (or the current document URL if unset).
663
- const url = sameDocumentUrl(submitter?.hasAttribute("formaction") ? submitter.formAction : formProperty(form, "action"));
780
+ const url = sameDocumentUrl(owner !== undefined
781
+ ? appUrl(owner)
782
+ : actionFrom === submitter
783
+ ? submitter.formAction
784
+ : formProperty(form, "action"));
664
785
  if (url === null)
665
786
  return;
666
787
  if (router.match(url.pathname) === null)
@@ -676,9 +797,16 @@ export function installForms(router) {
676
797
  if (to !== undefined)
677
798
  location.assign(to);
678
799
  else {
679
- // Nothing reached the server - post natively, through the same button.
800
+ // Nothing reached the server - post natively, through the same button, to the same route.
680
801
  native.add(form);
681
- HTMLFormElement.prototype.requestSubmit.call(form, submitter);
802
+ // requestSubmit reads the action synchronously, so the attribute is restored right after.
803
+ const restore = owner === undefined ? undefined : pointAction(actionFrom, form, url.href);
804
+ try {
805
+ HTMLFormElement.prototype.requestSubmit.call(form, submitter);
806
+ }
807
+ finally {
808
+ restore?.();
809
+ }
682
810
  }
683
811
  });
684
812
  };
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/csp.d.ts CHANGED
@@ -67,6 +67,9 @@ export interface CspPolicy {
67
67
  export declare function createCspPolicy(options: CreateCspPolicyOptions): CspPolicy;
68
68
  /** True for a value made by {@link createCspPolicy}. */
69
69
  export declare const isCspPolicy: (value: unknown) => value is CspPolicy;
70
+ /** A CSP hash source for one inline script body: `'sha256-<base64 of the UTF-8 bytes>'`. Shared with
71
+ * the PPR runtime; `index.ts` does not re-export it. */
72
+ export declare function hashSource(body: string): Promise<string>;
70
73
  /**
71
74
  * The `'sha256-…'` sources for the constant inline scripts nifra writes into a document rendered
72
75
  * with `adapter`: the pre-hydration form guard and the adapter's hydration head. For a CSP set outside
@@ -78,6 +81,11 @@ export declare function nifraScriptHashes(adapter: RenderAdapter): Promise<reado
78
81
  * the renderer stays synchronous after the first document.
79
82
  */
80
83
  export declare function prepareCspPolicy(policy: CspPolicy, adapter: RenderAdapter): Promise<void> | undefined;
84
+ /**
85
+ * The policy value for a partially prerendered document: the adapter's hash sources plus `extra`
86
+ * (the PPR runtime and invoker hashes), with no nonce. Prepare the policy for `adapter` first.
87
+ */
88
+ export declare function cspHeaderWithSources(policy: CspPolicy, adapter: RenderAdapter, extra: string): string | undefined;
81
89
  /**
82
90
  * The nonce one document carries under `policy`: `undefined` unless the document needs one -
83
91
  * `needsNonce` (a deferred value or a head tag naming the nonce), or an adapter whose hydration head
package/dist/csp.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"csp.d.ts","sourceRoot":"","sources":["../src/csp.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAErD,4EAA4E;AAC5E,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,yFAAyF;IACzF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,MAAM,GAAG,SAAS,CAAA;IAClE,mGAAmG;IACnG,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAA;CACjC;AAED,QAAA,MAAM,UAAU,EAAE,OAAO,MAA0C,CAAA;AAEnE;0FAC0F;AAC1F,eAAO,MAAM,eAAe,EAAE,OAAO,MAA+C,CAAA;AAEpF,wFAAwF;AACxF,UAAU,cAAc;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,UAAU,cAAc;IACtB,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,MAAM,GAAG,SAAS,CAAA;IAClE,QAAQ,CAAC,QAAQ,EAAE,MAAM,MAAM,CAAA;IAC/B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAA;CACpF;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,cAAc,CAAA;CACtC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,SAAS,CAa1E;AAED,wDAAwD;AACxD,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,SACc,CAAA;AA2BpE;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAG1F;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAc3B;AAUD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,OAAO,EACnB,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,MAAM,GAAG,SAAS,CAIpB;AAED,qGAAqG;AACrG,eAAO,MAAM,iBAAiB,GAAI,QAAQ,SAAS,EAAE,WAAW,MAAM,GAAG,SAAS,KAAG,MACzC,CAAA;AAE5C,qGAAqG;AACrG,wBAAgB,cAAc,CAC5B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,MAAM,GAAG,SAAS,CAMpB;AAED;sGACsG;AACtG,eAAO,MAAM,gBAAgB,GAAI,QAAQ,SAAS,KAAG,aACmB,CAAA"}
1
+ {"version":3,"file":"csp.d.ts","sourceRoot":"","sources":["../src/csp.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAErD,4EAA4E;AAC5E,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,yFAAyF;IACzF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,MAAM,GAAG,SAAS,CAAA;IAClE,mGAAmG;IACnG,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAA;CACjC;AAED,QAAA,MAAM,UAAU,EAAE,OAAO,MAA0C,CAAA;AAEnE;0FAC0F;AAC1F,eAAO,MAAM,eAAe,EAAE,OAAO,MAA+C,CAAA;AAEpF,wFAAwF;AACxF,UAAU,cAAc;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,UAAU,cAAc;IACtB,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,MAAM,GAAG,SAAS,CAAA;IAClE,QAAQ,CAAC,QAAQ,EAAE,MAAM,MAAM,CAAA;IAC/B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAA;CACpF;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,cAAc,CAAA;CACtC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,SAAS,CAa1E;AAED,wDAAwD;AACxD,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,SACc,CAAA;AAmBpE;wDACwD;AACxD,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAK9D;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAG1F;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAc3B;AAUD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,MAAM,GACZ,MAAM,GAAG,SAAS,CAGpB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,OAAO,EACnB,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,MAAM,GAAG,SAAS,CAIpB;AAED,qGAAqG;AACrG,eAAO,MAAM,iBAAiB,GAAI,QAAQ,SAAS,EAAE,WAAW,MAAM,GAAG,SAAS,KAAG,MACzC,CAAA;AAE5C,qGAAqG;AACrG,wBAAgB,cAAc,CAC5B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,MAAM,GAAG,SAAS,CAMpB;AAED;sGACsG;AACtG,eAAO,MAAM,gBAAgB,GAAI,QAAQ,SAAS,KAAG,aACmB,CAAA"}
package/dist/csp.js CHANGED
@@ -53,8 +53,9 @@ const inlineScriptBodies = (html) => {
53
53
  return bodies;
54
54
  };
55
55
  const ENCODER = new TextEncoder();
56
- /** A CSP hash source for one inline script body: `'sha256-<base64 of the UTF-8 bytes>'`. */
57
- async function hashSource(body) {
56
+ /** A CSP hash source for one inline script body: `'sha256-<base64 of the UTF-8 bytes>'`. Shared with
57
+ * the PPR runtime; `index.ts` does not re-export it. */
58
+ export async function hashSource(body) {
58
59
  const digest = new Uint8Array(await crypto.subtle.digest("SHA-256", ENCODER.encode(body)));
59
60
  let binary = "";
60
61
  for (const byte of digest)
@@ -97,6 +98,14 @@ const preparedSources = (policy, adapter) => {
97
98
  }
98
99
  return known;
99
100
  };
101
+ /**
102
+ * The policy value for a partially prerendered document: the adapter's hash sources plus `extra`
103
+ * (the PPR runtime and invoker hashes), with no nonce. Prepare the policy for `adapter` first.
104
+ */
105
+ export function cspHeaderWithSources(policy, adapter, extra) {
106
+ const { sources } = preparedSources(policy, adapter);
107
+ return policy[CSP_POLICY].header({ sources: sources === "" ? extra : `${sources} ${extra}` });
108
+ }
100
109
  /**
101
110
  * The nonce one document carries under `policy`: `undefined` unless the document needs one -
102
111
  * `needsNonce` (a deferred value or a head tag naming the nonce), or an adapter whose hydration head
package/dist/csp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"csp.js","sourceRoot":"","sources":["../src/csp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"csp.js","sourceRoot":"","sources":["../src/csp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,mBAAmB,EAAsB,MAAM,YAAY,CAAA;AA6BpE,MAAM,UAAU,GAAkB,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;AAEnE;0FAC0F;AAC1F,MAAM,CAAC,MAAM,eAAe,GAAkB,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;AAsBpF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,eAAe,CAAC,OAA+B;IAC7D,IAAI,OAAO,OAAO,EAAE,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1C,MAAM,IAAI,SAAS,CAAC,wDAAwD,CAAC,CAAA;IAC/E,CAAC;IACD,OAAO;QACL,CAAC,UAAU,CAAC,EAAE;YACZ,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,+FAA+F;YAC/F,2DAA2D;YAC3D,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC7E,QAAQ,EAAE,IAAI,OAAO,EAAE;SACxB;KACF,CAAA;AACH,CAAC;AAED,wDAAwD;AACxD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAc,EAAsB,EAAE,CAChE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,UAAU,IAAI,KAAK,CAAA;AAEpE,uFAAuF;AACvF,MAAM,aAAa,GAAG,wDAAwD,CAAA;AAE9E,qGAAqG;AACrG,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAY,EAAE;IACpD,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAC5B,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,6CAA6C,CAAC,IAAI,CAAC,KAAK,CAAC;YACvF,SAAQ;QACV,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAC7B,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;AAEjC;wDACwD;AACxD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY;IAC3C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC1F,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,KAAK,MAAM,IAAI,IAAI,MAAM;QAAE,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IAC9D,OAAO,WAAW,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA;AACnC,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAsB;IAC5D,MAAM,MAAM,GAAG,CAAC,mBAAmB,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAA;IACpF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAA;AAC1D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAiB,EACjB,OAAsB;IAEtB,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACzC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,YAAY,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAClG,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,EAAE,CAAA;IACpC,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACzD,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;QACnD,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACpC,OAAO,OAAO,CAAA;IAChB,CAAC,CAAC,CAAA;IACF,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACpC,8EAA8E;IAC9E,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;IACnD,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;AACtC,CAAC;AAED,MAAM,eAAe,GAAG,CAAC,MAAiB,EAAE,OAAsB,EAAkB,EAAE;IACpF,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACtD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;IACjF,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAiB,EACjB,OAAsB,EACtB,KAAa;IAEb,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpD,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,KAAK,EAAE,EAAE,CAAC,CAAA;AAC/F,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAiB,EACjB,OAAsB,EACtB,OAAgB,EAChB,UAAmB,EACnB,SAA6B;IAE7B,MAAM,MAAM,GAAG,OAAO,IAAI,OAAO,CAAC,aAAa,EAAE,KAAK,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAA;IAC3F,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAA;IAC5C,OAAO,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAA;AACnD,CAAC;AAED,qGAAqG;AACrG,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAiB,EAAE,SAA6B,EAAU,EAAE,CAC5F,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAA;AAE5C,qGAAqG;AACrG,MAAM,UAAU,cAAc,CAC5B,MAAiB,EACjB,OAAsB,EACtB,KAAyB;IAEzB,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;IAChC,OAAO,KAAK,KAAK,SAAS;QACxB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;QAC3B,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,WAAW,KAAK,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;AACrE,CAAC;AAED;sGACsG;AACtG,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAiB,EAAiB,EAAE,CACnE,mBAAmB,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA"}
@@ -57,15 +57,17 @@ export declare const DEFERRED_ERROR_CODE = "deferred_error";
57
57
  * `{__nifra_deferred: id}` placeholders (`forClient`), then one line per deferred as its promise
58
58
  * settles - `{"i": id, "v": value}` on resolve, `{"i": id, "e": "deferred_error"}` on reject (a
59
59
  * rejection is data, not a stream error; the opaque code never leaks the raw reason). Closes when all
60
- * settle. The client (`defaultFetchData`) returns the
60
+ * settle. The client (`fetchRouteData`) returns the
61
61
  * data after line 1 and settles `<Await>`'s markers as the resolution lines arrive. `JSON.stringify`
62
62
  * escapes newlines in values, so each line is NDJSON-safe; no HTML escaping (this is a fetch body,
63
- * parsed with `JSON.parse`, never injected into markup).
63
+ * parsed with `JSON.parse`, never injected into markup). A rejection is logged to `logError`, the
64
+ * app's error log (the console without one), unless the request `signal` aborting caused it: that is
65
+ * the client leaving, not a failure.
64
66
  */
65
67
  export declare function ndjsonStream(forClient: unknown, deferred: ReadonlyArray<{
66
68
  readonly id: number;
67
69
  readonly promise: Promise<unknown>;
68
- }>, codec?: TransportCodec): ReadableStream<Uint8Array>;
70
+ }>, codec?: TransportCodec, signal?: AbortSignal, logError?: (error: unknown) => void): ReadableStream<Uint8Array>;
69
71
  /**
70
72
  * Inline client runtime injected into the shell `<head>` when a page has deferred data: a per-id
71
73
  * promise registry that streamed `__nifraResolve(id, value)` / `__nifraReject(id, err)` scripts settle
@@ -81,7 +83,7 @@ export declare const DEFERRED_RUNTIME = "(() => {\n const reg = new Map();\n c
81
83
  */
82
84
  export declare const MAP_DEFERRED_SOURCE = "const mapDeferred = (d) => {\n if (!d || typeof d !== \"object\") return d\n if (typeof d.__nifra_deferred === \"number\") return { __nifra_deferred: true, id: d.__nifra_deferred, promise: window.__nifraDeferred(d.__nifra_deferred) }\n if (typeof d.__nifra_date === \"string\" && Object.keys(d).length === 1) return new Date(d.__nifra_date)\n if (Array.isArray(d)) return d.map(mapDeferred)\n const out = {}\n for (const k of Object.keys(d)) Object.defineProperty(out, k, { value: mapDeferred(d[k]), enumerable: true, writable: true, configurable: true })\n return out\n}";
83
85
  /**
84
- * Client side of {@link ndjsonStream} (used by the router's `defaultFetchData` on a soft nav): read
86
+ * Client side of {@link ndjsonStream} (used by the router's `fetchRouteData` on a soft nav): read
85
87
  * the NDJSON body into a data object whose deferred markers settle as resolution lines arrive.
86
88
  * Returns after **line 1** so the router can apply the critical data + render immediately; the
87
89
  * markers' promises settle/reject in the background. If the stream ends (or `signal` aborts) with
@@ -1 +1 @@
1
- {"version":3,"file":"deferred.d.ts","sourceRoot":"","sources":["../src/deferred.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAInF;;;;GAIG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC;IACzB,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAA;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CAC7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAKzD;AA0BD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,OAAO,EACb,QAAQ,SAAI,GACX;IACD,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC,CAAA;CAC9F,CA4EA;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,mBAAmB,CAAA;AAInD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,aAAa,CAAC;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC,EACpF,KAAK,GAAE,cAA+B,GACrC,cAAc,CAAC,UAAU,CAAC,CA0B5B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,wqDA8BvB,CAAA;AAEN;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,ukBAQ9B,CAAA;AA0DF;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAClC,MAAM,CAAC,EAAE,WAAW,EACpB,KAAK,GAAE,cAA+B,GACrC,OAAO,CAAC,OAAO,CAAC,CA8ElB"}
1
+ {"version":3,"file":"deferred.d.ts","sourceRoot":"","sources":["../src/deferred.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAKnF;;;;GAIG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC;IACzB,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAA;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CAC7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAKzD;AA0BD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,OAAO,EACb,QAAQ,SAAI,GACX;IACD,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC,CAAA;CAC9F,CA4EA;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,mBAAmB,CAAA;AAInD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,aAAa,CAAC;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC,EACpF,KAAK,GAAE,cAA+B,EACtC,MAAM,CAAC,EAAE,WAAW,EACpB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAClC,cAAc,CAAC,UAAU,CAAC,CA0B5B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,wqDA8BvB,CAAA;AAEN;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,ukBAQ9B,CAAA;AA0DF;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAClC,MAAM,CAAC,EAAE,WAAW,EACpB,KAAK,GAAE,cAA+B,GACrC,OAAO,CAAC,OAAO,CAAC,CA+ElB"}
package/dist/deferred.js CHANGED
@@ -7,6 +7,7 @@
7
7
  */
8
8
  import { plainJsonCodec } from "@nifrajs/core/transport-codec";
9
9
  import { isDeferredFree } from "./internal/deferred-free.js";
10
+ import { reportDeferredRejection } from "./internal/request-abort.js";
10
11
  import { parsePageData } from "./internal/revive-dates.js";
11
12
  /**
12
13
  * Mark a loader value as deferred - it streams in after the shell instead of blocking it. Works
@@ -150,12 +151,14 @@ const NDJSON_ENCODER = new TextEncoder();
150
151
  * `{__nifra_deferred: id}` placeholders (`forClient`), then one line per deferred as its promise
151
152
  * settles - `{"i": id, "v": value}` on resolve, `{"i": id, "e": "deferred_error"}` on reject (a
152
153
  * rejection is data, not a stream error; the opaque code never leaks the raw reason). Closes when all
153
- * settle. The client (`defaultFetchData`) returns the
154
+ * settle. The client (`fetchRouteData`) returns the
154
155
  * data after line 1 and settles `<Await>`'s markers as the resolution lines arrive. `JSON.stringify`
155
156
  * escapes newlines in values, so each line is NDJSON-safe; no HTML escaping (this is a fetch body,
156
- * parsed with `JSON.parse`, never injected into markup).
157
+ * parsed with `JSON.parse`, never injected into markup). A rejection is logged to `logError`, the
158
+ * app's error log (the console without one), unless the request `signal` aborting caused it: that is
159
+ * the client leaving, not a failure.
157
160
  */
158
- export function ndjsonStream(forClient, deferred, codec = plainJsonCodec) {
161
+ export function ndjsonStream(forClient, deferred, codec = plainJsonCodec, signal, logError) {
159
162
  // A client that goes away cancels the body; a value settling after that has nowhere to go.
160
163
  let cancelled = false;
161
164
  return new ReadableStream({
@@ -169,7 +172,7 @@ export function ndjsonStream(forClient, deferred, codec = plainJsonCodec) {
169
172
  catch (err) {
170
173
  // Redact: stream a stable opaque code, never the raw error text; log the real reason
171
174
  // server-side. The client's <Await> errorFallback receives this code.
172
- console.error("[nifra/web] deferred value rejected:", err);
175
+ reportDeferredRejection(signal, err, logError);
173
176
  line = codec.encode({ i: d.id, e: DEFERRED_ERROR_CODE });
174
177
  }
175
178
  if (!cancelled)
@@ -289,7 +292,7 @@ function markersFromPlaceholders(data, pending) {
289
292
  return walk(data);
290
293
  }
291
294
  /**
292
- * Client side of {@link ndjsonStream} (used by the router's `defaultFetchData` on a soft nav): read
295
+ * Client side of {@link ndjsonStream} (used by the router's `fetchRouteData` on a soft nav): read
293
296
  * the NDJSON body into a data object whose deferred markers settle as resolution lines arrive.
294
297
  * Returns after **line 1** so the router can apply the critical data + render immediately; the
295
298
  * markers' promises settle/reject in the background. If the stream ends (or `signal` aborts) with
@@ -301,7 +304,8 @@ export async function parseNdjsonData(stream, signal, codec = plainJsonCodec) {
301
304
  let buffer = "";
302
305
  // `{ once: true }` + explicit removal in the drain's `finally` so a reused long-lived signal doesn't
303
306
  // accumulate listeners across navigations (a per-nav signal would be GC'd, but don't rely on it).
304
- const onAbort = () => void reader.cancel();
307
+ // A body the abort has already errored (WebKit errors it first) rejects the cancel.
308
+ const onAbort = () => void reader.cancel().catch(() => { });
305
309
  if (signal)
306
310
  signal.addEventListener("abort", onAbort, { once: true });
307
311
  let ended = false;
@@ -1 +1 @@
1
- {"version":3,"file":"deferred.js","sourceRoot":"","sources":["../src/deferred.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deferred.js","sourceRoot":"","sources":["../src/deferred.ts"],"names":[],"mappings":"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"}