@nifrajs/web 5.5.0 → 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 +162 -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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live.js","sourceRoot":"","sources":["../src/live.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { CookieOptions, ResponseResult, StandardSchemaV1 } from "@nifrajs/core/server";
2
- import type { BoundaryDescriptor, BoundaryRegistration } from "./boundary.js";
2
+ import type { BoundaryDescriptor, BoundaryRegistration, BoundaryRequestCtx, SharedHoleCtx, ShellCtx, StaticCtx } from "./boundary.js";
3
3
  import type { RevalidateTags } from "./isr.js";
4
4
  /**
5
5
  * Response controls a loader or action reaches as `ctx.set` - the page counterpart of a route
@@ -44,6 +44,12 @@ export interface LoaderContext {
44
44
  readonly search: Record<string, unknown>;
45
45
  /** Response headers and cookies for this page request. */
46
46
  readonly set: LoaderResponseControls;
47
+ /**
48
+ * Declare what this loader's data depends on, as keys in the cache-tag charset. In a live load
49
+ * (`createWebApp({ live })`) the page reloads this data when one of them changes; elsewhere it does
50
+ * nothing. Keys count only when the loader resolves, and must be declared before it does.
51
+ */
52
+ readonly live: (...keys: string[]) => void;
47
53
  }
48
54
  /** A route's optional data loader: params/request in, data out. */
49
55
  export type Loader = (ctx: LoaderContext) => unknown | Promise<unknown>;
@@ -124,10 +130,22 @@ export interface ClientActionResult {
124
130
  }
125
131
  /** A client-only action wrapper; it never replaces the server action. */
126
132
  export type ClientAction = (args: ClientActionArgs) => ClientActionResult | undefined | Promise<ClientActionResult | undefined>;
133
+ /** A page's `keepAlive` export as an object. */
134
+ export interface KeepAliveOptions {
135
+ /** Reload the page's data when it is shown again (default `true`). A page marked stale while it was
136
+ * hidden reloads anyway. */
137
+ readonly revalidate?: boolean;
138
+ /** Longest the page may stay hidden before it is dropped, in milliseconds (default 10 minutes). */
139
+ readonly maxAge?: number;
140
+ }
127
141
  /** Client hooks populated by the generated route entry after a route chunk loads. */
128
142
  export interface ClientRouteHooks {
129
143
  readonly clientLoader?: ClientLoader;
130
144
  readonly clientAction?: ClientAction;
145
+ /** The page's `shareData` export: `false` gives every reload of it fresh data. */
146
+ readonly shareData?: boolean;
147
+ /** The page's `keepAlive` export: the page stays mounted after a visitor leaves it. */
148
+ readonly keepAlive?: true | KeepAliveOptions;
131
149
  /** Neutral boundary descriptors needed for soft-navigation interception. A boundary's loader lives in
132
150
  * the route's backend half, so the browser never learns whether one exists. */
133
151
  readonly boundaries?: ReadonlyArray<Omit<BoundaryDescriptor, "hasLoad">>;
@@ -309,6 +327,19 @@ export interface RouteModule {
309
327
  readonly loaderOutput?: StandardSchemaV1;
310
328
  /** Backend half only: the schema of what {@link action} sends back, held to the same rule. */
311
329
  readonly actionOutput?: StandardSchemaV1;
330
+ /**
331
+ * Experimental, backend half only: the loader of a partially prerendered page's shared shell. It
332
+ * receives no request, so its output is the same for every visitor and the shell is cached.
333
+ */
334
+ readonly shellLoader?: (ctx: ShellCtx) => unknown;
335
+ /** Experimental, backend half only: the schema of what {@link shellLoader} returns. */
336
+ readonly shellOutput?: StandardSchemaV1;
337
+ /**
338
+ * Experimental, backend half only: query parameters that select a different shell, each with its
339
+ * closed set of values (`{ search: { color: ["red", "blue"] } }`). Any other parameter, or a value
340
+ * outside its set, builds the default shell; holes still read the whole query.
341
+ */
342
+ readonly shellVariations?: ShellVariations;
312
343
  /** Optional client-only loader. It runs after hydration and on client navigations. */
313
344
  readonly clientLoader?: ClientLoader;
314
345
  /** Optional client-only submit wrapper. The server action remains mandatory for mutations. */
@@ -329,6 +360,25 @@ export interface RouteModule {
329
360
  * Any other key change revalidates as usual - so omitting a data-affecting key here can never serve
330
361
  * stale data, it only forgoes the optimization. Client-only: the server always renders fresh. */
331
362
  readonly searchClientKeys?: readonly string[];
363
+ /**
364
+ * `false` gives every client reload of this page (an action's revalidation, `invalidate()`, a live
365
+ * refresh) fresh data. By default a reload keeps the identity of the parts of `data` and the layouts'
366
+ * data that it did not change, so an unchanged row keeps its DOM and component state, and a renderer
367
+ * that memoizes on identity skips it. Not every unchanged row, though: an array whose first 32
368
+ * elements all changed is taken whole, later unchanged elements included, so code that needs a row's
369
+ * identity must not count on it. Opt out for a page whose code compares `data` against its value
370
+ * from before the reload, or whose rows re-render whatever their identity, which then pay the
371
+ * comparison for nothing. Client-only.
372
+ */
373
+ readonly shareData?: boolean;
374
+ /**
375
+ * Keep this page mounted after the visitor leaves it, so back and forward show it again as it was
376
+ * left: its component state, form fields, inner scroll offsets and focus. At most three pages are
377
+ * kept per tab, each for at most 10 minutes; a kept page is shown again only by a back or forward to
378
+ * its own history entry, and its data reloads in place. A sign-in or sign-out drops every kept page.
379
+ * Client-only.
380
+ */
381
+ readonly keepAlive?: true | KeepAliveOptions;
332
382
  readonly meta?: MetaInput;
333
383
  /**
334
384
  * Opt this route out of nifra's full-document client hydration. The server still renders the full
@@ -408,7 +458,48 @@ export interface BoundaryLoaderEntry {
408
458
  readonly load: NonNullable<BoundaryRegistration["load"]>;
409
459
  /** The boundary data's output schema. Required whenever `load` returns data. */
410
460
  readonly output?: StandardSchemaV1;
461
+ /**
462
+ * A `shared` boundary's freshness in seconds, required for one and refused for any other: an older
463
+ * entry is served while one rebuild runs. Write the entry inline, so the build can find it.
464
+ */
465
+ readonly revalidate?: number;
466
+ /** A `shared` boundary's tags, as a route's `revalidateTags`: purging one drops its entries. */
467
+ readonly revalidateTags?: RevalidateTags;
411
468
  }
469
+ type DeclaredBoundaryOf<Frontend> = Frontend extends {
470
+ readonly boundaries: readonly (infer Declared)[];
471
+ } ? Declared : never;
472
+ type BoundaryNameOf<Declared> = Declared extends {
473
+ readonly name: infer Name extends string;
474
+ } ? Name : never;
475
+ type HoleNameOf<Declared> = Declared extends {
476
+ readonly load: (...args: never[]) => unknown;
477
+ } ? never : Declared extends {
478
+ readonly mode: "dynamic" | "shared";
479
+ } ? BoundaryNameOf<Declared> : never;
480
+ type LoaderEntryOf<Declared> = Declared extends {
481
+ readonly mode: "shared";
482
+ } ? Omit<BoundaryLoaderEntry, "load" | "revalidate"> & {
483
+ readonly load: (ctx: SharedHoleCtx) => unknown;
484
+ readonly revalidate: number;
485
+ } : Omit<BoundaryLoaderEntry, "load" | "revalidate" | "revalidateTags"> & {
486
+ readonly load: (ctx: Declared extends {
487
+ readonly mode: "static";
488
+ } ? StaticCtx : BoundaryRequestCtx) => unknown;
489
+ };
490
+ /**
491
+ * The `boundaryLoaders` a backend half may export, from the module types of both halves: an entry
492
+ * names a boundary the page declares, and a route with a `shellLoader` needs one for each hole.
493
+ * Unchecked when TypeScript cannot read the page (`.svelte`, `.vue`) or its boundary names are not
494
+ * literal types, which `as const` on each boundary gives.
495
+ */
496
+ export type BoundaryLoadersOf<Frontend, Backend> = unknown extends Frontend ? Readonly<Record<string, BoundaryLoaderEntry>> : string extends BoundaryNameOf<DeclaredBoundaryOf<Frontend>> ? Readonly<Record<string, BoundaryLoaderEntry>> : {
497
+ readonly [Declared in DeclaredBoundaryOf<Frontend> as BoundaryNameOf<Declared>]?: LoaderEntryOf<Declared>;
498
+ } & (Backend extends {
499
+ readonly shellLoader: unknown;
500
+ } ? {
501
+ readonly [Declared in DeclaredBoundaryOf<Frontend> as HoleNameOf<Declared>]: LoaderEntryOf<Declared>;
502
+ } : unknown);
412
503
  /** A layout (or `_404`/`_error`) entry: its source file (for client codegen) + a lazy loader.
413
504
  *
414
505
  * A `_layout.tsx` may export `meta` (static {@link Meta} or a function of the loader data + params,
@@ -458,6 +549,9 @@ export interface RouteEntry {
458
549
  readonly loadingIds?: readonly string[];
459
550
  /** The frontend half: the file the browser bundle imports. */
460
551
  readonly file: string;
552
+ /** Set when the frontend half exports `keepAlive` (found by a scan of its source): its page renders
553
+ * inside the slot wrappers a kept page needs, on the server and in the browser. */
554
+ readonly keepAlive?: true;
461
555
  /** The backend half (`x.backend.ts`), when the route has one. Server-only. */
462
556
  readonly backend?: string;
463
557
  /** Both halves, merged and checked. */
@@ -538,6 +632,10 @@ export declare const isRouteBackendFile: (file: string) => boolean;
538
632
  export declare const backendFileFor: (file: string) => string;
539
633
  /** Exports the browser runs or reads. They live in a route's frontend file, which ships whole. */
540
634
  export declare const FRONTEND_ROUTE_EXPORTS: ReadonlySet<string>;
635
+ /** Query parameters that select a shell variant, each with its closed set of values. */
636
+ export interface ShellVariations {
637
+ readonly search?: Readonly<Record<string, readonly string[]>>;
638
+ }
541
639
  /** Exports only the server or the build reads. They live in the route's `x.backend.ts`. */
542
640
  export declare const BACKEND_ROUTE_EXPORTS: ReadonlySet<string>;
543
641
  /**
@@ -572,6 +670,18 @@ export declare function filePathToRoutes(file: string): FileRoutePattern[];
572
670
  * expand the set).
573
671
  */
574
672
  export declare function filePathToPattern(file: string): string;
673
+ /** Options for {@link buildManifest}. */
674
+ export interface BuildManifestOptions {
675
+ /** Route files (as in `files`) whose frontend half exports `keepAlive`: see {@link exportsKeepAlive}. */
676
+ readonly keepAlive?: readonly string[];
677
+ }
678
+ /**
679
+ * Whether a route file's source exports `keepAlive`, read without running it: the server and the
680
+ * client build both need the answer for every route, before any route module has loaded. A `.svelte`
681
+ * or `.vue` file exports it from its module script the same way. An export the scan cannot see (an
682
+ * `export *`) keeps nothing.
683
+ */
684
+ export declare const exportsKeepAlive: (source: string) => boolean;
575
685
  /**
576
686
  * Build a manifest from route file paths (relative to the routes dir) + an `importer` that
577
687
  * turns a path into a lazy module loader. Pure - no fs. Throws at boot (the loud-and-early
@@ -581,7 +691,7 @@ export declare function filePathToPattern(file: string): string;
581
691
  * omits the half serves the page without its loader and guards; `discoverRoutes` from
582
692
  * `@nifrajs/web/fs` scans a routes dir and never does.
583
693
  */
584
- export declare function buildManifest(files: readonly string[], importer: (file: string) => () => Promise<RouteModule>): Manifest;
694
+ export declare function buildManifest(files: readonly string[], importer: (file: string) => () => Promise<RouteModule>, options?: BuildManifestOptions): Manifest;
585
695
  /**
586
696
  * Substitute a route pattern's `:param` segments with concrete values: `/users/:id` + `{id:"7"}` →
587
697
  * `/users/7`. Returns the filled path plus any params that had no value (a `getStaticPaths` bug) so
@@ -611,4 +721,5 @@ export interface StaticRoutes {
611
721
  * `getStaticPaths` are omitted from `paths`.
612
722
  */
613
723
  export declare function enumerateStaticRoutes(routes: readonly RouteEntry[]): Promise<StaticRoutes>;
724
+ export {};
614
725
  //# sourceMappingURL=manifest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
package/dist/manifest.js CHANGED
@@ -49,11 +49,74 @@ export const FRONTEND_ROUTE_EXPORTS = new Set([
49
49
  "HydrateFallback",
50
50
  "searchSchema",
51
51
  "searchClientKeys",
52
+ "shareData",
53
+ "keepAlive",
52
54
  "clientLoader",
53
55
  "clientAction",
54
56
  "boundaries",
55
57
  "ssr",
56
58
  ]);
59
+ const VARIATION_NAME = /^[A-Za-z0-9_.-]{1,64}$/;
60
+ const MAX_VARIATION_KEYS = 8;
61
+ const MAX_VARIATION_VALUES = 32;
62
+ const MAX_VARIATION_VALUE_LENGTH = 128;
63
+ /** A closed, small set, so no client can mint unbounded shell keys. */
64
+ function assertShellVariations(backend, value) {
65
+ const fail = (why) => {
66
+ throw routeError(`"${backend}" exports shellVariations ${why}`);
67
+ };
68
+ if (typeof value !== "object" || value === null || Array.isArray(value))
69
+ fail("that is not an object");
70
+ // biome-ignore lint/plugin/requireSafetyCommentForTypeAssertion: checked just above to be a non-null object that is not an array.
71
+ const record = value;
72
+ for (const key of Object.keys(record))
73
+ if (key !== "search")
74
+ fail(`with "${key}"; only "search" is read`);
75
+ const search = record.search;
76
+ if (search === undefined)
77
+ return;
78
+ if (typeof search !== "object" || search === null || Array.isArray(search))
79
+ fail("whose search is not an object of value lists");
80
+ // biome-ignore lint/plugin/requireSafetyCommentForTypeAssertion: checked just above to be a non-null object that is not an array.
81
+ const entries = Object.entries(search);
82
+ if (entries.length > MAX_VARIATION_KEYS)
83
+ fail(`with more than ${MAX_VARIATION_KEYS} parameters`);
84
+ for (const [name, values] of entries) {
85
+ if (!VARIATION_NAME.test(name))
86
+ fail(`with a parameter name "${name}" outside ${VARIATION_NAME.source}`);
87
+ if (!Array.isArray(values) || values.length === 0 || values.length > MAX_VARIATION_VALUES)
88
+ fail(`whose "${name}" is not a list of 1 to ${MAX_VARIATION_VALUES} values`);
89
+ // biome-ignore lint/plugin/requireSafetyCommentForTypeAssertion: checked just above to be an array.
90
+ const list = values;
91
+ if (new Set(list).size !== list.length ||
92
+ list.some((item) => typeof item !== "string" || item.length === 0 || item.length > MAX_VARIATION_VALUE_LENGTH))
93
+ fail(`whose "${name}" values are not distinct strings of 1 to ${MAX_VARIATION_VALUE_LENGTH} characters`);
94
+ }
95
+ }
96
+ // A year: past it, an entry may as well never refresh.
97
+ const MAX_SHARED_REVALIDATE_SECONDS = 365 * 24 * 60 * 60;
98
+ /** A `shared` boundary's entry carries its own freshness; any other boundary's carries none. */
99
+ function assertSharedEntry(backend, name, shared, entry) {
100
+ const key = `boundaryLoaders["${name}"]`;
101
+ if (!shared) {
102
+ if (entry.revalidate !== undefined || entry.revalidateTags !== undefined) {
103
+ throw routeError(`${key} in "${backend}" has revalidate or revalidateTags, which only a shared boundary's entry takes`);
104
+ }
105
+ return;
106
+ }
107
+ const { revalidate, revalidateTags } = entry;
108
+ if (typeof revalidate !== "number" ||
109
+ !Number.isInteger(revalidate) ||
110
+ revalidate < 1 ||
111
+ revalidate > MAX_SHARED_REVALIDATE_SECONDS) {
112
+ throw routeError(`${key} in "${backend}" is for a shared boundary, so it needs revalidate: a whole number of seconds from 1 to ${MAX_SHARED_REVALIDATE_SECONDS}`);
113
+ }
114
+ if (revalidateTags !== undefined &&
115
+ typeof revalidateTags !== "function" &&
116
+ !(Array.isArray(revalidateTags) && revalidateTags.every((tag) => typeof tag === "string"))) {
117
+ throw routeError(`${key}.revalidateTags in "${backend}" must be a list of tags or a function`);
118
+ }
119
+ }
57
120
  /** Exports only the server or the build reads. They live in the route's `x.backend.ts`. */
58
121
  export const BACKEND_ROUTE_EXPORTS = new Set([
59
122
  "loader",
@@ -71,6 +134,9 @@ export const BACKEND_ROUTE_EXPORTS = new Set([
71
134
  "gate",
72
135
  "shouldRevalidate",
73
136
  "allowedOrigins",
137
+ "shellLoader",
138
+ "shellOutput",
139
+ "shellVariations",
74
140
  ]);
75
141
  const routeError = (message) => new Error(`[nifra/web] ${message}`);
76
142
  /** The frontend export names a backend-only name was found under, for the move-it message. */
@@ -114,16 +180,32 @@ export function mergeRouteHalves(file, front, backend, back) {
114
180
  if (cached !== undefined && cached.back === back)
115
181
  return cached.module;
116
182
  assertFrontendHalf(file, front);
183
+ const shared = front.boundaries?.find((boundary) => boundary.mode === "shared");
184
+ if (shared !== undefined && back?.shellLoader === undefined) {
185
+ throw routeError(`boundary "${shared.name}" in "${file}" is shared, which only a partially prerendered page has: its backend half must export shellLoader`);
186
+ }
117
187
  if (back === undefined || backend === undefined) {
118
188
  mergedHalves.set(front, { back, module: front });
119
189
  return front;
120
190
  }
121
191
  assertBackendHalf(file, backend, back, stripExt(baseName(file)) === "_layout");
122
- const { middleware: _middleware, boundaryLoaders, loader, action, loaderOutput, actionOutput, ...server } = back;
192
+ const { middleware: _middleware, boundaryLoaders, loader, action, loaderOutput, actionOutput, shellLoader, shellOutput, ...server } = back;
193
+ if (shellLoader !== undefined && loader !== undefined) {
194
+ throw routeError(`"${backend}" exports both shellLoader and loader. A partially prerendered page's per-visitor data comes from its dynamic boundaries' loaders`);
195
+ }
196
+ if (server.shellVariations !== undefined) {
197
+ if (shellLoader === undefined)
198
+ throw routeError(`"${backend}" exports shellVariations but no shellLoader for them to vary`);
199
+ assertShellVariations(backend, server.shellVariations);
200
+ }
201
+ if (shellLoader !== undefined && server.prerender === true) {
202
+ throw routeError(`"${backend}" exports shellLoader with prerender = true. A page with no per-visitor part needs no shellLoader`);
203
+ }
123
204
  const guarded = {};
124
205
  for (const [name, fn, schema, schemaName] of [
125
206
  ["loader", loader, loaderOutput, "loaderOutput"],
126
207
  ["action", action, actionOutput, "actionOutput"],
208
+ ["shellLoader", shellLoader, shellOutput, "shellOutput"],
127
209
  ]) {
128
210
  if (fn === undefined) {
129
211
  if (schema !== undefined) {
@@ -146,14 +228,16 @@ export function mergeRouteHalves(file, front, backend, back) {
146
228
  throw routeError(`"${backend}" exports boundaryLoaders that is not an object of loaders`);
147
229
  }
148
230
  const loaders = boundaryLoaders;
149
- const declared = new Set((front.boundaries ?? []).map((boundary) => boundary.name));
231
+ const declared = new Map((front.boundaries ?? []).map((boundary) => [boundary.name, boundary]));
150
232
  for (const [name, entry] of Object.entries(loaders)) {
151
- if (!declared.has(name)) {
233
+ const boundary = declared.get(name);
234
+ if (boundary === undefined) {
152
235
  throw routeError(`"${backend}" has boundaryLoaders["${name}"], but "${file}" declares no boundary named "${name}"`);
153
236
  }
154
237
  if (typeof entry?.load !== "function") {
155
238
  throw routeError(`boundaryLoaders["${name}"].load in "${backend}" must be a function`);
156
239
  }
240
+ assertSharedEntry(backend, name, boundary.mode === "shared", entry);
157
241
  }
158
242
  boundaries = front.boundaries?.map((boundary) => {
159
243
  const entry = loaders[boundary.name];
@@ -167,7 +251,15 @@ export function mergeRouteHalves(file, front, backend, back) {
167
251
  : outputGuard(entry.output, `"${backend}"`, `${key}.output`),
168
252
  missing: `${key}.output in "${backend}"`,
169
253
  });
170
- return { ...boundary, load };
254
+ const merged = boundary.mode === "shared"
255
+ ? {
256
+ ...boundary,
257
+ load,
258
+ revalidate: entry.revalidate,
259
+ revalidateTags: entry.revalidateTags,
260
+ }
261
+ : { ...boundary, load };
262
+ return merged;
171
263
  });
172
264
  }
173
265
  const module = {
@@ -367,6 +459,16 @@ const ancestorDirs = (file) => {
367
459
  }
368
460
  return dirs;
369
461
  };
462
+ // A declaration or an export list naming `keepAlive`, at the start of a line: a comment or a string
463
+ // that mentions one does not start a line with `export`.
464
+ const KEEP_ALIVE_EXPORT = /^[ \t]*export[ \t]+(?:const|let|var)[ \t]+keepAlive\b|^[ \t]*export[ \t]*\{[^}]*\bkeepAlive\b[^}]*\}/m;
465
+ /**
466
+ * Whether a route file's source exports `keepAlive`, read without running it: the server and the
467
+ * client build both need the answer for every route, before any route module has loaded. A `.svelte`
468
+ * or `.vue` file exports it from its module script the same way. An export the scan cannot see (an
469
+ * `export *`) keeps nothing.
470
+ */
471
+ export const exportsKeepAlive = (source) => KEEP_ALIVE_EXPORT.test(source);
370
472
  /**
371
473
  * Build a manifest from route file paths (relative to the routes dir) + an `importer` that
372
474
  * turns a path into a lazy module loader. Pure - no fs. Throws at boot (the loud-and-early
@@ -376,7 +478,8 @@ const ancestorDirs = (file) => {
376
478
  * omits the half serves the page without its loader and guards; `discoverRoutes` from
377
479
  * `@nifrajs/web/fs` scans a routes dir and never does.
378
480
  */
379
- export function buildManifest(files, importer) {
481
+ export function buildManifest(files, importer, options = {}) {
482
+ const keepAliveFiles = new Set(options.keepAlive);
380
483
  const layoutDirs = new Set();
381
484
  const layouts = {};
382
485
  const errorDirs = new Set();
@@ -525,6 +628,7 @@ export function buildManifest(files, importer) {
525
628
  ...(notFoundIds.length > 0 ? { notFoundIds } : {}),
526
629
  ...(loadingIds.length > 0 ? { loadingIds } : {}),
527
630
  file,
631
+ ...(keepAliveFiles.has(file) ? { keepAlive: true } : {}),
528
632
  ...(backend === undefined ? {} : { backend }),
529
633
  load,
530
634
  });