@nifrajs/web 5.5.1 → 5.7.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 (481) hide show
  1. package/CHANGELOG.md +243 -0
  2. package/README.md +21 -11
  3. package/dist/boundary.d.ts +67 -7
  4. package/dist/boundary.d.ts.map +1 -1
  5. package/dist/boundary.js +6 -4
  6. package/dist/boundary.js.map +1 -1
  7. package/dist/build-plan.d.ts +3 -0
  8. package/dist/build-plan.d.ts.map +1 -1
  9. package/dist/build-plan.js.map +1 -1
  10. package/dist/build-vite.d.ts.map +1 -1
  11. package/dist/build-vite.js +2 -0
  12. package/dist/build-vite.js.map +1 -1
  13. package/dist/build.d.ts +9 -2
  14. package/dist/build.d.ts.map +1 -1
  15. package/dist/build.js +10 -0
  16. package/dist/build.js.map +1 -1
  17. package/dist/client.d.ts +3 -1
  18. package/dist/client.d.ts.map +1 -1
  19. package/dist/client.js +174 -23
  20. package/dist/client.js.map +1 -1
  21. package/dist/csp.d.ts +8 -0
  22. package/dist/csp.d.ts.map +1 -1
  23. package/dist/csp.js +11 -2
  24. package/dist/csp.js.map +1 -1
  25. package/dist/deferred.d.ts +6 -4
  26. package/dist/deferred.d.ts.map +1 -1
  27. package/dist/deferred.js +10 -6
  28. package/dist/deferred.js.map +1 -1
  29. package/dist/dev-feed.d.ts.map +1 -1
  30. package/dist/dev-feed.js +11 -2
  31. package/dist/dev-feed.js.map +1 -1
  32. package/dist/dev-session.d.ts.map +1 -1
  33. package/dist/dev-session.js +13 -6
  34. package/dist/dev-session.js.map +1 -1
  35. package/dist/dev.d.ts +4 -1
  36. package/dist/dev.d.ts.map +1 -1
  37. package/dist/dev.js +12 -5
  38. package/dist/dev.js.map +1 -1
  39. package/dist/diagnostic-catalog.d.ts +4 -0
  40. package/dist/diagnostic-catalog.d.ts.map +1 -1
  41. package/dist/diagnostic-catalog.js +48 -0
  42. package/dist/diagnostic-catalog.js.map +1 -1
  43. package/dist/diagnostic.d.ts +1 -1
  44. package/dist/diagnostic.d.ts.map +1 -1
  45. package/dist/diagnostic.js +1 -1
  46. package/dist/diagnostic.js.map +1 -1
  47. package/dist/fn.d.ts +5 -3
  48. package/dist/fn.d.ts.map +1 -1
  49. package/dist/fn.js +20 -5
  50. package/dist/fn.js.map +1 -1
  51. package/dist/fs.d.ts.map +1 -1
  52. package/dist/fs.js +13 -3
  53. package/dist/fs.js.map +1 -1
  54. package/dist/identity.d.ts +22 -0
  55. package/dist/identity.d.ts.map +1 -0
  56. package/dist/identity.js +60 -0
  57. package/dist/identity.js.map +1 -0
  58. package/dist/index.d.ts +8 -6
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +6 -3
  61. package/dist/index.js.map +1 -1
  62. package/dist/internal/cdn/cloudflare.d.ts +2 -1
  63. package/dist/internal/cdn/cloudflare.d.ts.map +1 -1
  64. package/dist/internal/cdn/cloudflare.js +2 -1
  65. package/dist/internal/cdn/cloudflare.js.map +1 -1
  66. package/dist/internal/certified-components.d.ts +1 -1
  67. package/dist/internal/certified-components.js +1 -1
  68. package/dist/internal/codegen.d.ts +11 -10
  69. package/dist/internal/codegen.d.ts.map +1 -1
  70. package/dist/internal/codegen.js +73 -10
  71. package/dist/internal/codegen.js.map +1 -1
  72. package/dist/internal/dev-websocket.d.ts +73 -0
  73. package/dist/internal/dev-websocket.d.ts.map +1 -0
  74. package/dist/internal/dev-websocket.js +145 -0
  75. package/dist/internal/dev-websocket.js.map +1 -0
  76. package/dist/internal/hole-runtime.d.ts +66 -0
  77. package/dist/internal/hole-runtime.d.ts.map +1 -0
  78. package/dist/internal/hole-runtime.js +211 -0
  79. package/dist/internal/hole-runtime.js.map +1 -0
  80. package/dist/internal/identity-epoch.d.ts +50 -0
  81. package/dist/internal/identity-epoch.d.ts.map +1 -0
  82. package/dist/internal/identity-epoch.js +180 -0
  83. package/dist/internal/identity-epoch.js.map +1 -0
  84. package/dist/internal/invalidation-contract.d.ts +23 -0
  85. package/dist/internal/invalidation-contract.d.ts.map +1 -0
  86. package/dist/internal/invalidation-contract.js +11 -0
  87. package/dist/internal/invalidation-contract.js.map +1 -0
  88. package/dist/internal/invalidation.d.ts +62 -0
  89. package/dist/internal/invalidation.d.ts.map +1 -0
  90. package/dist/internal/invalidation.js +149 -0
  91. package/dist/internal/invalidation.js.map +1 -0
  92. package/dist/internal/island-bindings.d.ts +51 -0
  93. package/dist/internal/island-bindings.d.ts.map +1 -0
  94. package/dist/internal/island-bindings.js +147 -0
  95. package/dist/internal/island-bindings.js.map +1 -0
  96. package/dist/internal/island-list.d.ts +26 -0
  97. package/dist/internal/island-list.d.ts.map +1 -0
  98. package/dist/internal/island-list.js +78 -0
  99. package/dist/internal/island-list.js.map +1 -0
  100. package/dist/internal/island-mount.d.ts +4 -0
  101. package/dist/internal/island-mount.d.ts.map +1 -0
  102. package/dist/internal/island-mount.js +66 -0
  103. package/dist/internal/island-mount.js.map +1 -0
  104. package/dist/internal/island-owner.d.ts +5 -0
  105. package/dist/internal/island-owner.d.ts.map +1 -0
  106. package/dist/internal/island-owner.js +20 -0
  107. package/dist/internal/island-owner.js.map +1 -0
  108. package/dist/internal/island-resource.d.ts +30 -0
  109. package/dist/internal/island-resource.d.ts.map +1 -0
  110. package/dist/internal/island-resource.js +57 -0
  111. package/dist/internal/island-resource.js.map +1 -0
  112. package/dist/internal/island-signals.d.ts +51 -0
  113. package/dist/internal/island-signals.d.ts.map +1 -0
  114. package/dist/internal/island-signals.js +220 -0
  115. package/dist/internal/island-signals.js.map +1 -0
  116. package/dist/internal/keep-alive-table.d.ts +23 -0
  117. package/dist/internal/keep-alive-table.d.ts.map +1 -0
  118. package/dist/internal/keep-alive-table.js +53 -0
  119. package/dist/internal/keep-alive-table.js.map +1 -0
  120. package/dist/internal/live-contract.d.ts +101 -0
  121. package/dist/internal/live-contract.d.ts.map +1 -0
  122. package/dist/internal/live-contract.js +5 -0
  123. package/dist/internal/live-contract.js.map +1 -0
  124. package/dist/internal/live-queries.d.ts +22 -0
  125. package/dist/internal/live-queries.d.ts.map +1 -0
  126. package/dist/internal/live-queries.js +54 -0
  127. package/dist/internal/live-queries.js.map +1 -0
  128. package/dist/internal/page-events.d.ts +10 -0
  129. package/dist/internal/page-events.d.ts.map +1 -0
  130. package/dist/internal/page-events.js +26 -0
  131. package/dist/internal/page-events.js.map +1 -0
  132. package/dist/internal/page-execution.d.ts +16 -1
  133. package/dist/internal/page-execution.d.ts.map +1 -1
  134. package/dist/internal/page-execution.js +432 -31
  135. package/dist/internal/page-execution.js.map +1 -1
  136. package/dist/internal/parity.d.ts +3 -0
  137. package/dist/internal/parity.d.ts.map +1 -1
  138. package/dist/internal/parity.js +28 -5
  139. package/dist/internal/parity.js.map +1 -1
  140. package/dist/internal/ppr/admission.d.ts +83 -0
  141. package/dist/internal/ppr/admission.d.ts.map +1 -0
  142. package/dist/internal/ppr/admission.js +221 -0
  143. package/dist/internal/ppr/admission.js.map +1 -0
  144. package/dist/internal/ppr/canary.d.ts +24 -0
  145. package/dist/internal/ppr/canary.d.ts.map +1 -0
  146. package/dist/internal/ppr/canary.js +102 -0
  147. package/dist/internal/ppr/canary.js.map +1 -0
  148. package/dist/internal/ppr/compile-shell.d.ts +39 -0
  149. package/dist/internal/ppr/compile-shell.d.ts.map +1 -0
  150. package/dist/internal/ppr/compile-shell.js +298 -0
  151. package/dist/internal/ppr/compile-shell.js.map +1 -0
  152. package/dist/internal/ppr/contract.d.ts +177 -0
  153. package/dist/internal/ppr/contract.d.ts.map +1 -0
  154. package/dist/internal/ppr/contract.js +80 -0
  155. package/dist/internal/ppr/contract.js.map +1 -0
  156. package/dist/internal/ppr/frames.d.ts +71 -0
  157. package/dist/internal/ppr/frames.d.ts.map +1 -0
  158. package/dist/internal/ppr/frames.js +119 -0
  159. package/dist/internal/ppr/frames.js.map +1 -0
  160. package/dist/internal/ppr/integration.d.ts +19 -0
  161. package/dist/internal/ppr/integration.d.ts.map +1 -0
  162. package/dist/internal/ppr/integration.js +106 -0
  163. package/dist/internal/ppr/integration.js.map +1 -0
  164. package/dist/internal/ppr/options.d.ts +96 -0
  165. package/dist/internal/ppr/options.d.ts.map +1 -0
  166. package/dist/internal/ppr/options.js +125 -0
  167. package/dist/internal/ppr/options.js.map +1 -0
  168. package/dist/internal/ppr/route-rules.d.ts +12 -0
  169. package/dist/internal/ppr/route-rules.d.ts.map +1 -0
  170. package/dist/internal/ppr/route-rules.js +53 -0
  171. package/dist/internal/ppr/route-rules.js.map +1 -0
  172. package/dist/internal/ppr/runtime.d.ts +29 -0
  173. package/dist/internal/ppr/runtime.d.ts.map +1 -0
  174. package/dist/internal/ppr/runtime.js +35 -0
  175. package/dist/internal/ppr/runtime.js.map +1 -0
  176. package/dist/internal/ppr/server.d.ts +29 -0
  177. package/dist/internal/ppr/server.d.ts.map +1 -0
  178. package/dist/internal/ppr/server.js +1409 -0
  179. package/dist/internal/ppr/server.js.map +1 -0
  180. package/dist/internal/ppr/shell-store.d.ts +39 -0
  181. package/dist/internal/ppr/shell-store.d.ts.map +1 -0
  182. package/dist/internal/ppr/shell-store.js +106 -0
  183. package/dist/internal/ppr/shell-store.js.map +1 -0
  184. package/dist/internal/prerendered-pages.d.ts +1 -1
  185. package/dist/internal/prerendered-pages.d.ts.map +1 -1
  186. package/dist/internal/prerendered-pages.js +7 -4
  187. package/dist/internal/prerendered-pages.js.map +1 -1
  188. package/dist/internal/present.d.ts +11 -0
  189. package/dist/internal/present.d.ts.map +1 -0
  190. package/dist/internal/present.js +13 -0
  191. package/dist/internal/present.js.map +1 -0
  192. package/dist/internal/query-digest.d.ts +9 -0
  193. package/dist/internal/query-digest.d.ts.map +1 -0
  194. package/dist/internal/query-digest.js +23 -0
  195. package/dist/internal/query-digest.js.map +1 -0
  196. package/dist/internal/query-runtime.d.ts +6 -1
  197. package/dist/internal/query-runtime.d.ts.map +1 -1
  198. package/dist/internal/query-runtime.js +9 -0
  199. package/dist/internal/query-runtime.js.map +1 -1
  200. package/dist/internal/query-seam.d.ts +29 -0
  201. package/dist/internal/query-seam.d.ts.map +1 -0
  202. package/dist/internal/query-seam.js +23 -0
  203. package/dist/internal/query-seam.js.map +1 -0
  204. package/dist/internal/render-document.d.ts +34 -64
  205. package/dist/internal/render-document.d.ts.map +1 -1
  206. package/dist/internal/render-document.js +82 -64
  207. package/dist/internal/render-document.js.map +1 -1
  208. package/dist/internal/request-abort.d.ts +8 -0
  209. package/dist/internal/request-abort.d.ts.map +1 -0
  210. package/dist/internal/request-abort.js +22 -0
  211. package/dist/internal/request-abort.js.map +1 -0
  212. package/dist/internal/server-boundary.d.ts +2 -0
  213. package/dist/internal/server-boundary.d.ts.map +1 -1
  214. package/dist/internal/server-boundary.js +8 -1
  215. package/dist/internal/server-boundary.js.map +1 -1
  216. package/dist/internal/share-data.d.ts +10 -0
  217. package/dist/internal/share-data.d.ts.map +1 -0
  218. package/dist/internal/share-data.js +135 -0
  219. package/dist/internal/share-data.js.map +1 -0
  220. package/dist/internal/status-page.d.ts +68 -0
  221. package/dist/internal/status-page.d.ts.map +1 -0
  222. package/dist/internal/status-page.js +66 -0
  223. package/dist/internal/status-page.js.map +1 -0
  224. package/dist/internal/store-signature.d.ts +15 -0
  225. package/dist/internal/store-signature.d.ts.map +1 -0
  226. package/dist/internal/store-signature.js +114 -0
  227. package/dist/internal/store-signature.js.map +1 -0
  228. package/dist/internal/vite-plugin-compat.d.ts +2 -2
  229. package/dist/internal/vite-plugin-compat.js +2 -2
  230. package/dist/internal/web-app.d.ts +26 -0
  231. package/dist/internal/web-app.d.ts.map +1 -1
  232. package/dist/internal/web-app.js +79 -3
  233. package/dist/internal/web-app.js.map +1 -1
  234. package/dist/islands-swap.d.ts +41 -0
  235. package/dist/islands-swap.d.ts.map +1 -0
  236. package/dist/islands-swap.js +270 -0
  237. package/dist/islands-swap.js.map +1 -0
  238. package/dist/islands.d.ts +86 -24
  239. package/dist/islands.d.ts.map +1 -1
  240. package/dist/islands.js +138 -78
  241. package/dist/islands.js.map +1 -1
  242. package/dist/isr.d.ts +67 -13
  243. package/dist/isr.d.ts.map +1 -1
  244. package/dist/isr.js +247 -99
  245. package/dist/isr.js.map +1 -1
  246. package/dist/keep-alive.d.ts +147 -0
  247. package/dist/keep-alive.d.ts.map +1 -0
  248. package/dist/keep-alive.js +1102 -0
  249. package/dist/keep-alive.js.map +1 -0
  250. package/dist/live/bus.d.ts +70 -0
  251. package/dist/live/bus.d.ts.map +1 -0
  252. package/dist/live/bus.js +55 -0
  253. package/dist/live/bus.js.map +1 -0
  254. package/dist/live/core.d.ts +25 -0
  255. package/dist/live/core.d.ts.map +1 -0
  256. package/dist/live/core.js +29 -0
  257. package/dist/live/core.js.map +1 -0
  258. package/dist/live/history.d.ts +38 -0
  259. package/dist/live/history.d.ts.map +1 -0
  260. package/dist/live/history.js +104 -0
  261. package/dist/live/history.js.map +1 -0
  262. package/dist/live/hub-protocol.d.ts +46 -0
  263. package/dist/live/hub-protocol.d.ts.map +1 -0
  264. package/dist/live/hub-protocol.js +108 -0
  265. package/dist/live/hub-protocol.js.map +1 -0
  266. package/dist/live/hub.d.ts +185 -0
  267. package/dist/live/hub.d.ts.map +1 -0
  268. package/dist/live/hub.js +544 -0
  269. package/dist/live/hub.js.map +1 -0
  270. package/dist/live/keyring.d.ts +92 -0
  271. package/dist/live/keyring.d.ts.map +1 -0
  272. package/dist/live/keyring.js +265 -0
  273. package/dist/live/keyring.js.map +1 -0
  274. package/dist/live/read-capped.d.ts +6 -0
  275. package/dist/live/read-capped.d.ts.map +1 -0
  276. package/dist/live/read-capped.js +42 -0
  277. package/dist/live/read-capped.js.map +1 -0
  278. package/dist/live/revocations.d.ts +52 -0
  279. package/dist/live/revocations.d.ts.map +1 -0
  280. package/dist/live/revocations.js +116 -0
  281. package/dist/live/revocations.js.map +1 -0
  282. package/dist/live/settings.d.ts +14 -0
  283. package/dist/live/settings.d.ts.map +1 -0
  284. package/dist/live/settings.js +38 -0
  285. package/dist/live/settings.js.map +1 -0
  286. package/dist/live-client.d.ts +34 -0
  287. package/dist/live-client.d.ts.map +1 -0
  288. package/dist/live-client.js +878 -0
  289. package/dist/live-client.js.map +1 -0
  290. package/dist/live-hub.d.ts +130 -0
  291. package/dist/live-hub.d.ts.map +1 -0
  292. package/dist/live-hub.js +507 -0
  293. package/dist/live-hub.js.map +1 -0
  294. package/dist/live-redis.d.ts +60 -0
  295. package/dist/live-redis.d.ts.map +1 -0
  296. package/dist/live-redis.js +212 -0
  297. package/dist/live-redis.js.map +1 -0
  298. package/dist/live.d.ts +150 -0
  299. package/dist/live.d.ts.map +1 -0
  300. package/dist/live.js +972 -0
  301. package/dist/live.js.map +1 -0
  302. package/dist/manifest.d.ts +113 -2
  303. package/dist/manifest.d.ts.map +1 -1
  304. package/dist/manifest.js +109 -5
  305. package/dist/manifest.js.map +1 -1
  306. package/dist/navigation.d.ts +9 -3
  307. package/dist/navigation.d.ts.map +1 -1
  308. package/dist/navigation.js +13 -3
  309. package/dist/navigation.js.map +1 -1
  310. package/dist/plugins/vite-zone-guard.d.ts +6 -0
  311. package/dist/plugins/vite-zone-guard.d.ts.map +1 -1
  312. package/dist/plugins/vite-zone-guard.js +8 -2
  313. package/dist/plugins/vite-zone-guard.js.map +1 -1
  314. package/dist/ppr.d.ts +73 -0
  315. package/dist/ppr.d.ts.map +1 -0
  316. package/dist/ppr.js +76 -0
  317. package/dist/ppr.js.map +1 -0
  318. package/dist/query.d.ts +8 -13
  319. package/dist/query.d.ts.map +1 -1
  320. package/dist/query.js +112 -18
  321. package/dist/query.js.map +1 -1
  322. package/dist/render-seam.d.ts +32 -0
  323. package/dist/render-seam.d.ts.map +1 -1
  324. package/dist/render-seam.js +7 -0
  325. package/dist/render-seam.js.map +1 -1
  326. package/dist/route-types.d.ts.map +1 -1
  327. package/dist/route-types.js +2 -2
  328. package/dist/route-types.js.map +1 -1
  329. package/dist/router.d.ts +72 -4
  330. package/dist/router.d.ts.map +1 -1
  331. package/dist/router.js +416 -129
  332. package/dist/router.js.map +1 -1
  333. package/dist/server-components/build.d.ts.map +1 -1
  334. package/dist/server-components/build.js +3 -3
  335. package/dist/server-components/build.js.map +1 -1
  336. package/dist/server-components/client.d.ts +23 -1
  337. package/dist/server-components/client.d.ts.map +1 -1
  338. package/dist/server-components/client.js +92 -5
  339. package/dist/server-components/client.js.map +1 -1
  340. package/dist/server-components/definition.d.ts.map +1 -1
  341. package/dist/server-components/definition.js +2 -1
  342. package/dist/server-components/definition.js.map +1 -1
  343. package/dist/server-components/hole.d.ts +8 -0
  344. package/dist/server-components/hole.d.ts.map +1 -0
  345. package/dist/server-components/hole.js +20 -0
  346. package/dist/server-components/hole.js.map +1 -0
  347. package/dist/server-components/html-policy.d.ts.map +1 -1
  348. package/dist/server-components/html-policy.js +62 -4
  349. package/dist/server-components/html-policy.js.map +1 -1
  350. package/dist/server-components/html-scan.d.ts +17 -0
  351. package/dist/server-components/html-scan.d.ts.map +1 -0
  352. package/dist/server-components/html-scan.js +180 -0
  353. package/dist/server-components/html-scan.js.map +1 -0
  354. package/dist/server-components/html.d.ts.map +1 -1
  355. package/dist/server-components/html.js +19 -4
  356. package/dist/server-components/html.js.map +1 -1
  357. package/dist/server-components/router-integration.d.ts +4 -1
  358. package/dist/server-components/router-integration.d.ts.map +1 -1
  359. package/dist/server-components/router-integration.js +23 -2
  360. package/dist/server-components/router-integration.js.map +1 -1
  361. package/dist/server-components/runtime.d.ts +6 -1
  362. package/dist/server-components/runtime.d.ts.map +1 -1
  363. package/dist/server-components/runtime.js +88 -29
  364. package/dist/server-components/runtime.js.map +1 -1
  365. package/dist/server-components/state.d.ts +3 -1
  366. package/dist/server-components/state.d.ts.map +1 -1
  367. package/dist/server-components/state.js +50 -38
  368. package/dist/server-components/state.js.map +1 -1
  369. package/dist/server-components/types.d.ts +9 -0
  370. package/dist/server-components/types.d.ts.map +1 -1
  371. package/dist/server-components/vite.d.ts.map +1 -1
  372. package/dist/server-components/vite.js +26 -9
  373. package/dist/server-components/vite.js.map +1 -1
  374. package/dist/vite.d.ts +5 -1
  375. package/dist/vite.d.ts.map +1 -1
  376. package/dist/vite.js +58 -4
  377. package/dist/vite.js.map +1 -1
  378. package/package.json +48 -8
  379. package/src/boundary.ts +77 -5
  380. package/src/build-plan.ts +3 -0
  381. package/src/build-vite.ts +2 -0
  382. package/src/build.ts +20 -1
  383. package/src/client.ts +183 -23
  384. package/src/csp.ts +16 -2
  385. package/src/deferred.ts +11 -5
  386. package/src/dev-feed.ts +11 -2
  387. package/src/dev-session.ts +22 -11
  388. package/src/dev.ts +29 -8
  389. package/src/diagnostic-catalog.ts +53 -0
  390. package/src/diagnostic.ts +1 -0
  391. package/src/fn.ts +24 -7
  392. package/src/fs.ts +22 -8
  393. package/src/identity.ts +61 -0
  394. package/src/index.ts +20 -4
  395. package/src/internal/cdn/cloudflare.ts +2 -1
  396. package/src/internal/certified-components.ts +1 -1
  397. package/src/internal/codegen.ts +95 -9
  398. package/src/internal/dev-websocket.ts +230 -0
  399. package/src/internal/hole-runtime.ts +286 -0
  400. package/src/internal/identity-epoch.ts +239 -0
  401. package/src/internal/invalidation-contract.ts +35 -0
  402. package/src/internal/invalidation.ts +213 -0
  403. package/src/internal/island-bindings.ts +191 -0
  404. package/src/internal/island-list.ts +92 -0
  405. package/src/internal/island-mount.ts +68 -0
  406. package/src/internal/island-owner.ts +20 -0
  407. package/src/internal/island-resource.ts +76 -0
  408. package/src/internal/island-signals.ts +249 -0
  409. package/src/internal/keep-alive-table.ts +72 -0
  410. package/src/internal/live-contract.ts +111 -0
  411. package/src/internal/live-queries.ts +60 -0
  412. package/src/internal/page-events.ts +27 -0
  413. package/src/internal/page-execution.ts +605 -45
  414. package/src/internal/parity.ts +35 -6
  415. package/src/internal/ppr/admission.ts +300 -0
  416. package/src/internal/ppr/canary.ts +122 -0
  417. package/src/internal/ppr/compile-shell.ts +379 -0
  418. package/src/internal/ppr/contract.ts +265 -0
  419. package/src/internal/ppr/frames.ts +170 -0
  420. package/src/internal/ppr/integration.ts +137 -0
  421. package/src/internal/ppr/options.ts +221 -0
  422. package/src/internal/ppr/route-rules.ts +77 -0
  423. package/src/internal/ppr/runtime.ts +39 -0
  424. package/src/internal/ppr/server.ts +1766 -0
  425. package/src/internal/ppr/shell-store.ts +152 -0
  426. package/src/internal/prerendered-pages.ts +7 -4
  427. package/src/internal/present.ts +20 -0
  428. package/src/internal/query-digest.ts +34 -0
  429. package/src/internal/query-runtime.ts +14 -1
  430. package/src/internal/query-seam.ts +48 -0
  431. package/src/internal/render-document.ts +158 -113
  432. package/src/internal/request-abort.ts +26 -0
  433. package/src/internal/server-boundary.ts +10 -1
  434. package/src/internal/share-data.ts +136 -0
  435. package/src/internal/status-page.ts +95 -0
  436. package/src/internal/store-signature.ts +149 -0
  437. package/src/internal/vite-plugin-compat.ts +2 -2
  438. package/src/internal/web-app.ts +123 -3
  439. package/src/islands-swap.ts +283 -0
  440. package/src/islands.ts +169 -72
  441. package/src/isr.ts +348 -106
  442. package/src/keep-alive.ts +1354 -0
  443. package/src/live/bus.ts +104 -0
  444. package/src/live/core.ts +52 -0
  445. package/src/live/history.ts +109 -0
  446. package/src/live/hub-protocol.ts +133 -0
  447. package/src/live/hub.ts +620 -0
  448. package/src/live/keyring.ts +384 -0
  449. package/src/live/read-capped.ts +36 -0
  450. package/src/live/revocations.ts +155 -0
  451. package/src/live/settings.ts +46 -0
  452. package/src/live-client.ts +1011 -0
  453. package/src/live-hub.ts +658 -0
  454. package/src/live-redis.ts +284 -0
  455. package/src/live.ts +1257 -0
  456. package/src/manifest.ts +274 -6
  457. package/src/navigation.ts +14 -2
  458. package/src/plugins/vite-zone-guard.ts +15 -2
  459. package/src/ppr.ts +153 -0
  460. package/src/query.ts +147 -20
  461. package/src/render-seam.ts +37 -0
  462. package/src/route-types.ts +3 -1
  463. package/src/router.ts +534 -132
  464. package/src/server-components/build.ts +9 -3
  465. package/src/server-components/client.ts +89 -5
  466. package/src/server-components/definition.ts +2 -1
  467. package/src/server-components/hole.ts +23 -0
  468. package/src/server-components/html-policy.ts +63 -4
  469. package/src/server-components/html-scan.ts +159 -0
  470. package/src/server-components/html.ts +18 -4
  471. package/src/server-components/router-integration.ts +21 -2
  472. package/src/server-components/runtime.ts +114 -31
  473. package/src/server-components/state.ts +66 -44
  474. package/src/server-components/types.ts +16 -0
  475. package/src/server-components/vite.ts +33 -14
  476. package/src/vite.ts +75 -6
  477. package/dist/nano.d.ts +0 -125
  478. package/dist/nano.d.ts.map +0 -1
  479. package/dist/nano.js +0 -190
  480. package/dist/nano.js.map +0 -1
  481. package/src/nano.ts +0 -246
package/dist/index.js CHANGED
@@ -23,7 +23,9 @@ export { fontFace, fontPreload, } from "./fonts.js";
23
23
  export { createHostPolicy, isHostPolicy, } from "./host-policy.js";
24
24
  export { generateClientEntry, generateRouteSearchTypes, generateServerManifest, } from "./internal/codegen.js";
25
25
  export { mergeHeads, resolveChainMeta, resolveMeta } from "./internal/head-merge.js";
26
- export { gone, notFound, redirect, renderPage, renderPageResult, revalidate, serializeData, statusPage, unsafeInlineScript, } from "./internal/render-document.js";
26
+ // The server half of the identity epoch that drops kept pages on a sign-in or sign-out.
27
+ export { rotateIdentityEpoch, } from "./internal/identity-epoch.js";
28
+ export { redirect, renderPage, renderPageResult, revalidate, serializeData, unsafeInlineScript, } from "./internal/render-document.js";
27
29
  export { DEFAULT_DEV_PORT, PRE_HYDRATION_GUARD, } from "./internal/runtime-contract.js";
28
30
  /**
29
31
  * The `*.fn` server-function convention: the browser build REPLACES such a module with client stubs.
@@ -32,6 +34,7 @@ export { DEFAULT_DEV_PORT, PRE_HYDRATION_GUARD, } from "./internal/runtime-contr
32
34
  * stubbed by both build pipelines and waved through by the guard meant to stop it leaking.
33
35
  */
34
36
  export { SERVER_FN_MODULE } from "./internal/server-boundary.js";
37
+ export { gone, notFound, statusPage } from "./internal/status-page.js";
35
38
  export { createWebApp, webProjectEvidence, } from "./internal/web-app.js";
36
39
  // ISR (incremental static regeneration): a pluggable cache store + the `withISR` stale-while-revalidate
37
40
  // wrapper for rendered SSR responses.
@@ -40,7 +43,7 @@ export { ISR_REVALIDATE_HEADER, ISR_REVALIDATE_TAGS_HEADER, ISR_STATUS_HEADER, i
40
43
  export { buildManifest, enumerateStaticRoutes, filePathToPattern, filePathToPatterns, } from "./manifest.js";
41
44
  // Navigation bridge - a DOM-free seam the browser layer (`installHistory`) populates so an adapter's
42
45
  // `useNavigate` (a route component, importing only this agnostic entry) reaches history-aware nav.
43
- export { getBrowserNavigate, IDLE_BLOCKER, registerBlocker, resolveNavigate, setBlockerController, setBrowserNavigate, } from "./navigation.js";
46
+ export { closeBoundary, getBrowserNavigate, IDLE_BLOCKER, registerBlocker, resolveNavigate, setBlockerController, setBrowserNavigate, } from "./navigation.js";
44
47
  export { createNonceResolver, } from "./nonce.js";
45
48
  // public/ - user-authored static files, served identically in dev and production by one handler.
46
49
  export { prerenderedPageReader, resolvePublicPath, servePublicDir, } from "./public-dir.js";
@@ -50,7 +53,7 @@ export { createMutation, createQueryClient, hashQueryKey, } from "./query.js";
50
53
  export { ACTION_GLOBAL, BOUNDARY_GLOBAL, DATA_GLOBAL, HANDOVER_ID, LAYOUT_DATA_GLOBAL, LOCALES_GLOBAL, localeOfProps, pageLocaleIn, ROOT_ATTRIBUTE, ROUTE_GLOBAL, setSsrModuleLoader, ssrModuleLoader, } from "./render-seam.js";
51
54
  // Agnostic client-side router core (pure + DOM-free) - consumed by per-adapter Router bindings.
52
55
  // `DATA_HEADER` marks a navigation's data-only GET; `createWebApp` answers it with loader JSON.
53
- export { createClientRouter, createMatcher, DATA_HEADER, NAV_FROM_HEADER, REDIRECT_HEADER, RETAIN_HEADER, REVALIDATE_HEADER, STATUS_HEADER, } from "./router.js";
56
+ export { createClientRouter, createMatcher, DATA_HEADER, NAV_FROM_HEADER, PREFETCH_HEADER, REDIRECT_HEADER, RETAIN_HEADER, REVALIDATE_HEADER, STATUS_HEADER, } from "./router.js";
54
57
  // The search-derivation primitive: parse a URL query, validate it against a route's `searchSchema`
55
58
  // (fail-closed to defaults), or return the raw parsed query when there is none. Both the server (loader
56
59
  // ctx + `renderPage`) and a client adapter mount call this with the same URL + schema, so the two sides
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,8 @@ export interface CloudflareZoneOptions {
17
17
  /**
18
18
  * A Cloudflare zone proxying the origin. HTML is only cached by a Cache Rule that makes it eligible,
19
19
  * and the zone's cache ignores `Vary`: the rule must also bypass the cache when the request carries
20
- * `x-nifra-data` (soft navigations fetch the page URL with that header). `nifra cdn-check` tests both.
20
+ * `x-nifra-data` or `x-nifra-swap` (soft navigations and slot swaps fetch the page URL with those
21
+ * headers). `nifra cdn-check` tests all three.
21
22
  */
22
23
  export declare function cloudflareZone(options: CloudflareZoneOptions): CdnProvider;
23
24
  /** The Worker's cache binding: `import { cache } from "cloudflare:workers"`, or `ctx.cache`. */
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflare.d.ts","sourceRoot":"","sources":["../../../src/internal/cdn/cloudflare.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAGL,KAAK,WAAW,EAGhB,KAAK,iBAAiB,EACvB,MAAM,WAAW,CAAA;AAQlB,MAAM,WAAW,qBAAqB;IACpC,oEAAoE;IACpE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,0FAA0F;IAC1F,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAA;IAClC,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,CAkD1E;AAED,gGAAgG;AAChG,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC;QACpE,OAAO,EAAE,OAAO,CAAA;QAChB,MAAM,CAAC,EAAE,SAAS;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KACxD,CAAC,CAAA;CACH;AAED,MAAM,WAAW,6BAA6B;IAC5C,iGAAiG;IACjG,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAA;IAChC;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAA;CACnC;AAED,yGAAyG;AACzG,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,6BAA6B,GAAG,WAAW,CAqC1F"}
1
+ {"version":3,"file":"cloudflare.d.ts","sourceRoot":"","sources":["../../../src/internal/cdn/cloudflare.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAGL,KAAK,WAAW,EAGhB,KAAK,iBAAiB,EACvB,MAAM,WAAW,CAAA;AAQlB,MAAM,WAAW,qBAAqB;IACpC,oEAAoE;IACpE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,0FAA0F;IAC1F,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAA;IAClC,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;CAC9B;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,CAkD1E;AAED,gGAAgG;AAChG,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC;QACpE,OAAO,EAAE,OAAO,CAAA;QAChB,MAAM,CAAC,EAAE,SAAS;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KACxD,CAAC,CAAA;CACH;AAED,MAAM,WAAW,6BAA6B;IAC5C,iGAAiG;IACjG,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAA;IAChC;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAA;CACnC;AAED,yGAAyG;AACzG,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,6BAA6B,GAAG,WAAW,CAqC1F"}
@@ -13,7 +13,8 @@ const NO_STORE = { "cloudflare-cdn-cache-control": "no-store" };
13
13
  /**
14
14
  * A Cloudflare zone proxying the origin. HTML is only cached by a Cache Rule that makes it eligible,
15
15
  * and the zone's cache ignores `Vary`: the rule must also bypass the cache when the request carries
16
- * `x-nifra-data` (soft navigations fetch the page URL with that header). `nifra cdn-check` tests both.
16
+ * `x-nifra-data` or `x-nifra-swap` (soft navigations and slot swaps fetch the page URL with those
17
+ * headers). `nifra cdn-check` tests all three.
17
18
  */
18
19
  export function cloudflareZone(options) {
19
20
  if (!/^[a-f0-9]{32}$/.test(options.zoneId)) {
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflare.js","sourceRoot":"","sources":["../../../src/internal/cdn/cloudflare.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloudflare.js","sourceRoot":"","sources":["../../../src/internal/cdn/cloudflare.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,6 @@
3
3
  * guard and the consumer check read these; `component-certification.test.ts` holds the exact pins
4
4
  * in every manifest that runs the pipeline to them, so a range bump cannot drift past the guard.
5
5
  */
6
- export declare const CERTIFIED_COMPONENT_VITE = "8.2.1";
6
+ export declare const CERTIFIED_COMPONENT_VITE = "8.3.4";
7
7
  export declare const CERTIFIED_COMPONENT_REACT = "19.3.1";
8
8
  //# sourceMappingURL=certified-components.d.ts.map
@@ -3,6 +3,6 @@
3
3
  * guard and the consumer check read these; `component-certification.test.ts` holds the exact pins
4
4
  * in every manifest that runs the pipeline to them, so a range bump cannot drift past the guard.
5
5
  */
6
- export const CERTIFIED_COMPONENT_VITE = "8.2.1";
6
+ export const CERTIFIED_COMPONENT_VITE = "8.3.4";
7
7
  export const CERTIFIED_COMPONENT_REACT = "19.3.1";
8
8
  //# sourceMappingURL=certified-components.js.map
@@ -20,17 +20,18 @@ export interface GenerateClientEntryOptions {
20
20
  /** The build moved copy tables into per-locale chunks: the handover carries the chunk URLs, and a
21
21
  * navigation loads the copy of the URL it goes to beside the route's code. */
22
22
  readonly copyChunks?: boolean;
23
+ /**
24
+ * The server runs `createWebApp({ live })`: route loads go through its live load endpoint and the
25
+ * entry keeps what is on screen fresh (`@nifrajs/web/live-client`). Absent, the entry is exactly the
26
+ * non-live one.
27
+ */
28
+ readonly live?: LiveClientEntry | undefined;
29
+ }
30
+ /** A client entry for a live server: `{}`, or the endpoints when the runtime moves them. */
31
+ export interface LiveClientEntry {
32
+ readonly path?: string;
33
+ readonly loadPath?: string;
23
34
  }
24
- /**
25
- * Codegen: emit a client-entry module (as source) that lazily imports each route's layout chain
26
- * (so `Bun.build` with `splitting` code-splits one chunk per route), builds a `patterns` list,
27
- * then creates the agnostic router store (with a `loadModule` hook), installs history + form
28
- * interception, loads the initial route's chunk, and hydrates the adapter's stateful Router. The
29
- * initial route is derived from the URL (falling back to the server-injected route id, e.g.
30
- * `_404`), so after hydration the Router owns navigation and swaps routes without full reloads.
31
- * Bun has no `import.meta.glob`, so file-based routing needs this. Write the result to a file and
32
- * bundle it with `buildClient` / `Bun.build` (+ the adapter's transform).
33
- */
34
35
  export declare function generateClientEntry(manifest: Manifest, options: GenerateClientEntryOptions): string;
35
36
  export interface GenerateRouteSearchTypesOptions {
36
37
  /** Turn a route source file into a module specifier for a `typeof import(...)` type - the same contract
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/internal/codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAA4C,MAAM,oBAAoB,CAAA;AAElG,OAAO,KAAK,EAAe,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAiB3D,qGAAqG;AACrG,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,OAAO,GAAG,SAAS,CAIlE;AAaD,MAAM,WAAW,0BAA0B;IACzC;;;;;;;;;OASG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,6FAA6F;IAC7F,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAC1C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IACnC;kFAC8E;IAC9E,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAC9B;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,0BAA0B,GAClC,MAAM,CAyVR;AAED,MAAM,WAAW,+BAA+B;IAC9C;;qEAEiE;IACjE,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAC1C;gHAC4G;IAC5G,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,+BAA+B,GACvC,MAAM,CAuBR;AAED,MAAM,WAAW,6BAA6B;IAC5C;6DACyD;IACzD,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAC1C;4EACwE;IACxE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B;;+FAE2F;IAC3F,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IAC/C;uFACmF;IACnF,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,GAAG,SAAS,CAAA;IAC9E,+FAA+F;IAC/F,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,CAAA;IACpC;gGAC4F;IAC5F,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAA;IAClE;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IACpD;;;2FAGuF;IACvF,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CACxB;AAgCD,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,6BAA6B,GACrC,MAAM,CAoGR"}
1
+ {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/internal/codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAA4C,MAAM,oBAAoB,CAAA;AAElG,OAAO,KAAK,EAAe,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAmB3D,qGAAqG;AACrG,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,OAAO,GAAG,SAAS,CAIlE;AAaD,MAAM,WAAW,0BAA0B;IACzC;;;;;;;;;OASG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,6FAA6F;IAC7F,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAC1C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IACnC;kFAC8E;IAC9E,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,SAAS,CAAA;CAC5C;AAMD,4FAA4F;AAC5F,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B;AAqBD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,0BAA0B,GAClC,MAAM,CA6YR;AAED,MAAM,WAAW,+BAA+B;IAC9C;;qEAEiE;IACjE,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAC1C;gHAC4G;IAC5G,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,+BAA+B,GACvC,MAAM,CAuBR;AAED,MAAM,WAAW,6BAA6B;IAC5C;6DACyD;IACzD,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAC1C;4EACwE;IACxE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B;;+FAE2F;IAC3F,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IAC/C;uFACmF;IACnF,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,GAAG,SAAS,CAAA;IAC9E,+FAA+F;IAC/F,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,CAAA;IACpC;gGAC4F;IAC5F,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAA;IAClE;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IACpD;;;2FAGuF;IACvF,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CACxB;AAuCD,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,6BAA6B,GACrC,MAAM,CAoGR"}
@@ -1,8 +1,9 @@
1
1
  import { DEFAULT_CSS_LOADING, normalizeCssLoading } from "../css-contract.js";
2
2
  import { MAP_DEFERRED_SOURCE } from "../deferred.js";
3
- import { ACTION_GLOBAL, BOUNDARY_GLOBAL, COMPONENT_GLOBAL, COPY_CHUNKS_GLOBAL, COPY_REALM, DATA_GLOBAL, HANDOVER_ID, LAYOUT_DATA_GLOBAL, LOCALES_GLOBAL, ROOT_ATTRIBUTE, ROUTE_GLOBAL, } from "../render-seam.js";
3
+ import { ACTION_GLOBAL, BOUNDARY_GLOBAL, COMPONENT_GLOBAL, COPY_CHUNKS_GLOBAL, COPY_REALM, DATA_GLOBAL, HANDOVER_ID, LAYOUT_DATA_GLOBAL, LIVE_GLOBAL, LOCALES_GLOBAL, ROOT_ATTRIBUTE, ROUTE_GLOBAL, } from "../render-seam.js";
4
4
  import { PRERENDERED_GLOBAL } from "../router.js";
5
5
  import { jsStringLiteral, jsValueLiteral } from "./js-string.js";
6
+ import { keepAliveTable } from "./keep-alive-table.js";
6
7
  /** The refusal for a server build given no client entry, shared by the codegen and `buildServer`. */
7
8
  export function missingClientEntry(clientEntry) {
8
9
  return new TypeError(`[nifra/web] the server build needs the client build: pass client (the manifest buildClient returned) or clientEntry (its entry URL), got clientEntry ${clientEntry === null ? "null" : typeof clientEntry}; pass clientEntry "" for an app with no client script`);
@@ -18,6 +19,8 @@ const HANDOVER_GLOBALS = [
18
19
  PRERENDERED_GLOBAL,
19
20
  LOCALES_GLOBAL,
20
21
  ];
22
+ // The router as the entry names it: in a keep-alive app, the keep-alive layer over `router`.
23
+ const keepAround = (keep, router) => keep === undefined ? `const router = ${router}` : `const router = __keep.attach(${router})`;
21
24
  /**
22
25
  * Codegen: emit a client-entry module (as source) that lazily imports each route's layout chain
23
26
  * (so `Bun.build` with `splitting` code-splits one chunk per route), builds a `patterns` list,
@@ -28,8 +31,24 @@ const HANDOVER_GLOBALS = [
28
31
  * Bun has no `import.meta.glob`, so file-based routing needs this. Write the result to a file and
29
32
  * bundle it with `buildClient` / `Bun.build` (+ the adapter's transform).
30
33
  */
34
+ /** The client modules whose package has a keep-alive mount beside them, at `<package>/keep-alive`. */
35
+ const KEEP_ALIVE_ADAPTERS = [
36
+ "@nifrajs/web-react/client",
37
+ "@nifrajs/web-svelte/client",
38
+ "@nifrajs/web-preact/client",
39
+ "@nifrajs/web-solid/client",
40
+ "@nifrajs/web-vue/client",
41
+ ];
31
42
  export function generateClientEntry(manifest, options) {
32
- const { clientModule, resolve } = options;
43
+ const { resolve } = options;
44
+ const keep = keepAliveTable(manifest);
45
+ if (keep !== undefined && !KEEP_ALIVE_ADAPTERS.includes(options.clientModule)) {
46
+ throw new Error(`[nifra/web] ${keep.routes.map((id) => `"${id}"`).join(", ")} export keepAlive, which needs the React, Preact, Solid, Svelte or Vue adapter; this app's client module is ${jsStringLiteral(options.clientModule)}. Remove the keepAlive export or switch the adapter.`);
47
+ }
48
+ // A keep-alive app mounts through the adapter's keep-alive module, which re-exports its client.
49
+ const clientModule = keep === undefined
50
+ ? options.clientModule
51
+ : options.clientModule.replace(/\/client$/, "/keep-alive");
33
52
  const loaderRows = [];
34
53
  const patternRows = [];
35
54
  const statusRoutes = {};
@@ -106,6 +125,12 @@ export function generateClientEntry(manifest, options) {
106
125
  }
107
126
  loadingLines.push("const loadingModules = {", ...loadings.map(([id, entry]) => ` ${jsStringLiteral(id)}: () => import(${jsStringLiteral(resolve(entry.file))}),`), "}", "const loadingRoutes = {", ...routeRows.values(), "}");
108
127
  }
128
+ const live = options.live;
129
+ const liveFetch = keep !== undefined
130
+ ? ", fetchData: __keep.fetchData"
131
+ : live === undefined
132
+ ? ""
133
+ : ", fetchData: __live.fetchData";
109
134
  return `${[
110
135
  // `/client`, never the root: the root's graph carries the server (renderPage, the static-file
111
136
  // server), and Vite's dev server evaluates what it is given instead of tree-shaking it.
@@ -114,6 +139,8 @@ export function generateClientEntry(manifest, options) {
114
139
  ...(options.serverComponents
115
140
  ? ['import { bindComponentRouter } from "@nifrajs/web/server-components/client"']
116
141
  : []),
142
+ ...(live === undefined ? [] : ['import { liveClient } from "@nifrajs/web/live-client"']),
143
+ ...(keep === undefined ? [] : ['import { keepAliveClient } from "@nifrajs/web/keep-alive"']),
117
144
  // Namespace import: `errorBoundary` is optional (an adapter may not export it). A namespace member
118
145
  // access yields `undefined` if absent - unlike a named import, which would be a link error.
119
146
  ...(loadings.length > 0
@@ -174,7 +201,22 @@ export function generateClientEntry(manifest, options) {
174
201
  "const holds = {}",
175
202
  // routeId → the ids and `handle` exports `useMatches` reports (layouts, then the page).
176
203
  `const layoutIdsOf = ${jsValueLiteral(layoutIdsOf)}`,
204
+ ...(live === undefined
205
+ ? []
206
+ : [
207
+ `const __live = liveClient({ ${[
208
+ "layoutIdsOf",
209
+ ...(live.path === undefined ? [] : [`path: ${jsStringLiteral(live.path)}`]),
210
+ ...(live.loadPath === undefined ? [] : [`loadPath: ${jsStringLiteral(live.loadPath)}`]),
211
+ ].join(", ")} })`,
212
+ ]),
177
213
  "const matchChains = {}",
214
+ ...(keep === undefined
215
+ ? []
216
+ : [
217
+ `const keepAliveTable = ${jsValueLiteral(keep)}`,
218
+ `const __keep = keepAliveClient({ table: keepAliveTable, routeHooks, matchChains${live === undefined ? "" : ", fetchData: __live.fetchData"} })`,
219
+ ]),
178
220
  `const ${options.copyChunks === true ? "loadRoute" : "loadModule"} = async (id) => {`,
179
221
  " if (chains[id]) return",
180
222
  " const mods = await loaders[id]()",
@@ -210,7 +252,7 @@ export function generateClientEntry(manifest, options) {
210
252
  // backend half, which no browser bundle contains.
211
253
  " const boundaryMods = errorRouteIds.has(id) ? mods.slice(0, -1) : mods",
212
254
  " const boundaries = boundaryMods.flatMap((m) => (m.boundaries ?? []).map((b) => ({ name: b.name, mode: b.mode, ...(b.errorId === undefined ? {} : { errorId: b.errorId }) })))",
213
- " routeHooks[id] = { clientLoader: page.clientLoader, clientAction: page.clientAction, boundaries }",
255
+ ` routeHooks[id] = { clientLoader: page.clientLoader, clientAction: page.clientAction, shareData: page.shareData, ${keep === undefined ? "" : "keepAlive: page.keepAlive, "}boundaries }`,
214
256
  " if (page.ssr === false) holds[id] = [...chains[id].slice(0, -1), page.HydrateFallback ?? (() => null)]",
215
257
  "}",
216
258
  ...(options.copyChunks === true
@@ -232,7 +274,11 @@ export function generateClientEntry(manifest, options) {
232
274
  "const handover = handovers[handovers.length - 1]",
233
275
  "if (handover !== undefined) {",
234
276
  ' const state = JSON.parse(handover.textContent || "{}")',
235
- ` for (const key of ${jsValueLiteral(options.copyChunks === true ? [...HANDOVER_GLOBALS, COPY_CHUNKS_GLOBAL] : HANDOVER_GLOBALS)}) {`,
277
+ ` for (const key of ${jsValueLiteral([
278
+ ...HANDOVER_GLOBALS,
279
+ ...(options.copyChunks === true ? [COPY_CHUNKS_GLOBAL] : []),
280
+ ...(live === undefined ? [] : [LIVE_GLOBAL]),
281
+ ])}) {`,
236
282
  " if (Object.prototype.hasOwnProperty.call(state, key)) Reflect.set(window, key, state[key])",
237
283
  " }",
238
284
  "}",
@@ -264,6 +310,8 @@ export function generateClientEntry(manifest, options) {
264
310
  ` layoutData: window.${LAYOUT_DATA_GLOBAL} && window.${LAYOUT_DATA_GLOBAL}.map(mapDeferred),`,
265
311
  ` boundaries: mapDeferred(window.${BOUNDARY_GLOBAL}),`,
266
312
  ` serverComponents: window.${COMPONENT_GLOBAL},`,
313
+ // The seed the server rendered the page with: the live client exchanges it for its first grant.
314
+ ...(live === undefined ? [] : [` live: window.${LIVE_GLOBAL},`]),
267
315
  // actionData (only set after a form POST) is in the initial state so the binding hydrates
268
316
  // consistently with the server-rendered markup; mapped through `mapDeferred` too so a deferred
269
317
  // action's placeholders become registry markers (a no-op when the action didn't defer).
@@ -273,9 +321,15 @@ export function generateClientEntry(manifest, options) {
273
321
  ...loadingLines,
274
322
  // With `_loading` pages the store is wrapped: a slow navigation then names a loading chain (the
275
323
  // shared layouts + the `_loading` component) for the mounted view to render in the meantime.
276
- loadings.length > 0
277
- ? `const router = withLoading(createClientRouter({ patterns, initial, loadModule, statusRoutes${routerStatusOption}, searchClientKeys, routeHooks }), { routes: loadingRoutes, modules: loadingModules, chains, searchSchemas, matchChains })`
278
- : `const router = createClientRouter({ patterns, initial, loadModule, statusRoutes${routerStatusOption}, searchClientKeys, routeHooks })`,
324
+ keepAround(keep, loadings.length > 0
325
+ ? `withLoading(createClientRouter({ patterns, initial, loadModule, statusRoutes${routerStatusOption}, searchClientKeys, routeHooks${liveFetch} }), { routes: loadingRoutes, modules: loadingModules, chains, searchSchemas, matchChains })`
326
+ : `createClientRouter({ patterns, initial, loadModule, statusRoutes${routerStatusOption}, searchClientKeys, routeHooks${liveFetch} })`),
327
+ // Kept pages hold the code they were rendered with: a hot update drops them.
328
+ ...(keep === undefined
329
+ ? []
330
+ : [
331
+ 'if (import.meta.hot) for (const event of ["bun:afterUpdate", "vite:afterUpdate"]) import.meta.hot.on(event, () => router.dropKept("hot-update"))',
332
+ ]),
279
333
  ...(options.serverComponents ? ["bindComponentRouter(router)"] : []),
280
334
  "installHistory(router)",
281
335
  "installForms(router)",
@@ -329,11 +383,13 @@ export function generateClientEntry(manifest, options) {
329
383
  " for (const listener of [...listeners]) listener()",
330
384
  " }, 0)",
331
385
  " }",
332
- " mountRouter({ router: view, routes: chains, searchSchemas, matchChains, container: root })",
386
+ ` mountRouter({ router: view, routes: chains, searchSchemas, matchChains, container: root${keep === undefined ? "" : ", keepAlive: keepAliveTable"} })`,
333
387
  // Run the optional client loader only after the adapter has mounted the SSR tree. The initial
334
388
  // server data is already in `window.__NIFRA_DATA__`, so `serverLoader()` reuses it and cannot
335
389
  // duplicate the first request.
336
390
  " router.hydrate().catch((error) => console.error('[nifra/web] clientLoader failed:', error))",
391
+ // Once mounted: the first live load and the socket must not race the hydration.
392
+ ...(live === undefined ? [] : [" __live.attach(router)"]),
337
393
  // Next frame: the adapter has committed its initial hydration, so handlers are attached. Flip the
338
394
  // document to interactive (`data-nifra-hydrated` + `nifra:hydrated`) for apps to gate pre-hydration UI.
339
395
  " requestAnimationFrame(signalHydrated)",
@@ -407,6 +463,13 @@ function moduleSpecifier(resolved) {
407
463
  // A route's namespace is not assignable to `RouteModule` under a strict `tsc` (a backend half has no
408
464
  // `default`, a typed `meta` narrows its data), so the table holds plain objects and the cast happens at
409
465
  // `buildManifest`'s boundary - the same cast `discoverRoutes` applies to its dynamic import.
466
+ // The routes the scan found exporting `keepAlive`, which a disk-less server cannot scan again.
467
+ const keepAliveArg = (manifest) => {
468
+ const files = [
469
+ ...new Set(manifest.routes.filter((route) => route.keepAlive).map((route) => route.file)),
470
+ ];
471
+ return files.length === 0 ? "" : `, { keepAlive: ${jsValueLiteral(files)} }`;
472
+ };
410
473
  const LAZY_IMPORTER = "(file) => loaders[file] as () => Promise<RouteModule>";
411
474
  const EAGER_IMPORTER = "(file) => () => Promise.resolve(modules[file] as RouteModule)";
412
475
  export function generateServerManifest(manifest, options) {
@@ -469,7 +532,7 @@ export function generateServerManifest(manifest, options) {
469
532
  cssLoadingLine,
470
533
  ...copyChunksLines,
471
534
  ...buildAssetsLines,
472
- `export const manifest = buildManifest(Object.keys(loaders), ${LAZY_IMPORTER})`,
535
+ `export const manifest = buildManifest(Object.keys(loaders), ${LAZY_IMPORTER}${keepAliveArg(manifest)})`,
473
536
  ].join("\n")}\n`;
474
537
  }
475
538
  // Eager: `import * as` per route (all bundled into the entry, parsed at boot). Index-based
@@ -488,7 +551,7 @@ export function generateServerManifest(manifest, options) {
488
551
  cssLoadingLine,
489
552
  ...copyChunksLines,
490
553
  ...buildAssetsLines,
491
- `export const manifest = buildManifest(Object.keys(modules), ${EAGER_IMPORTER})`,
554
+ `export const manifest = buildManifest(Object.keys(modules), ${EAGER_IMPORTER}${keepAliveArg(manifest)})`,
492
555
  ].join("\n")}\n`;
493
556
  }
494
557
  //# sourceMappingURL=codegen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/internal/codegen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/internal/codegen.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * The app's WebSocket routes under the dev servers. Neither dev server is the app's own listener, so
3
+ * neither gets the upgrades `app.listen()` and the adapters wire: each hands the handshake to the
4
+ * app's `resolveWebSocketUpgrade` seam - the route's `upgrade()` guard and Origin check included - and
5
+ * wires an accepted socket with the runtime's own `attach`, so a dev socket behaves as a served one.
6
+ */
7
+ import type { WebSocketUpgradeOutcome } from "@nifrajs/core";
8
+ type Upgrade = Extract<WebSocketUpgradeOutcome, {
9
+ readonly kind: "upgrade";
10
+ }>;
11
+ /** A nifra app's handshake seam; a plain `{ fetch }` handler has none and takes no upgrades. */
12
+ export interface UpgradableApp {
13
+ resolveWebSocketUpgrade?(request: Request): WebSocketUpgradeOutcome | Promise<WebSocketUpgradeOutcome>;
14
+ }
15
+ export declare function isWebSocketUpgrade(request: Request): boolean;
16
+ /** What a dev socket carries from its handshake to `open`, and the view its events go to after. */
17
+ export interface BunDevSocketData {
18
+ readonly outcome: Upgrade;
19
+ emit?: (type: string, event: unknown) => void;
20
+ }
21
+ /** The part of Bun's `ServerWebSocket` used here. */
22
+ interface BunDevSocket {
23
+ send(data: string | ArrayBufferView | ArrayBuffer): unknown;
24
+ close(code?: number, reason?: string): void;
25
+ readonly readyState: number;
26
+ readonly data: BunDevSocketData;
27
+ }
28
+ export interface BunUpgradeServer {
29
+ upgrade(request: Request, options: {
30
+ data: BunDevSocketData;
31
+ }): boolean;
32
+ }
33
+ /** `Bun.serve`'s `websocket` option for a dev server whose upgrades go through {@link upgradeOnBun}. */
34
+ export declare const bunDevWebSocket: {
35
+ open(socket: BunDevSocket): void;
36
+ message(socket: BunDevSocket, message: string | Uint8Array): void;
37
+ close(socket: BunDevSocket, code: number, reason: string): void;
38
+ };
39
+ /**
40
+ * Run the handshake through the app. `undefined` when the socket was upgraded; a `Response` for a
41
+ * refusal; `"pass"` when no WebSocket route takes the path, for the dev server to answer as HTTP.
42
+ */
43
+ export declare function upgradeOnBun(app: UpgradableApp, request: Request, server: BunUpgradeServer): Promise<Response | "pass" | undefined>;
44
+ /** The part of a Node socket an upgrade writes to. */
45
+ export interface UpgradeSocket {
46
+ write(chunk: string): unknown;
47
+ destroy(): void;
48
+ on(event: "error", listener: () => void): unknown;
49
+ }
50
+ /** The part of the `ws` package's `WebSocketServer` used here (no `@types/ws` dependency). */
51
+ export interface WsServer {
52
+ handleUpgrade(request: unknown, socket: UpgradeSocket, head: unknown, done: (ws: WsSocket) => void): void;
53
+ }
54
+ /** The part of a `ws` socket used here. Its own events, not its `addEventListener`: Bun's `ws`
55
+ * shim hands text frames to that as bytes. The shim also gives a close reason as a string where
56
+ * `ws` gives bytes. */
57
+ interface WsSocket {
58
+ send(data: string | ArrayBufferView | ArrayBuffer): void;
59
+ close(code?: number, reason?: string): void;
60
+ readonly readyState: number;
61
+ on(event: "message", listener: (data: string | Uint8Array, isBinary: boolean) => void): void;
62
+ on(event: "close", listener: (code: number, reason: string | Uint8Array) => void): void;
63
+ on(event: "error", listener: (error: Error) => void): void;
64
+ }
65
+ /** A noServer `ws` server from `specifier`; undefined when it cannot be loaded or has none. */
66
+ export declare function wsServerFrom(specifier: string): Promise<WsServer | undefined>;
67
+ /**
68
+ * Answer a Node `upgrade` event through the app. Resolves `false` when no WebSocket route takes the
69
+ * path, leaving the socket to the other listeners (Vite's HMR among them).
70
+ */
71
+ export declare function upgradeOnNode(app: UpgradableApp, request: Request, nodeRequest: unknown, socket: UpgradeSocket, head: unknown, wsServerOf?: () => Promise<WsServer | undefined>): Promise<boolean>;
72
+ export {};
73
+ //# sourceMappingURL=dev-websocket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-websocket.d.ts","sourceRoot":"","sources":["../../src/internal/dev-websocket.ts"],"names":[],"mappings":"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"}