@nifrajs/web 4.0.2 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (384) hide show
  1. package/README.md +11 -0
  2. package/dist/build-vite.d.ts +19 -0
  3. package/dist/build-vite.d.ts.map +1 -1
  4. package/dist/build-vite.js +31 -10
  5. package/dist/build-vite.js.map +1 -1
  6. package/dist/build.d.ts +8 -10
  7. package/dist/build.d.ts.map +1 -1
  8. package/dist/build.js +90 -31
  9. package/dist/build.js.map +1 -1
  10. package/dist/cdn.d.ts +8 -0
  11. package/dist/cdn.d.ts.map +1 -1
  12. package/dist/cdn.js +14 -15
  13. package/dist/cdn.js.map +1 -1
  14. package/dist/client.d.ts +1 -1
  15. package/dist/client.d.ts.map +1 -1
  16. package/dist/client.js +25 -7
  17. package/dist/client.js.map +1 -1
  18. package/dist/deferred.d.ts +2 -2
  19. package/dist/deferred.d.ts.map +1 -1
  20. package/dist/deferred.js +28 -7
  21. package/dist/deferred.js.map +1 -1
  22. package/dist/dev-feed.d.ts.map +1 -1
  23. package/dist/dev-feed.js +24 -5
  24. package/dist/dev-feed.js.map +1 -1
  25. package/dist/dev-session.d.ts.map +1 -1
  26. package/dist/dev-session.js +4 -14
  27. package/dist/dev-session.js.map +1 -1
  28. package/dist/dev.d.ts +7 -17
  29. package/dist/dev.d.ts.map +1 -1
  30. package/dist/dev.js +13 -1
  31. package/dist/dev.js.map +1 -1
  32. package/dist/draft.d.ts +8 -5
  33. package/dist/draft.d.ts.map +1 -1
  34. package/dist/draft.js +30 -13
  35. package/dist/draft.js.map +1 -1
  36. package/dist/fonts-google.d.ts.map +1 -1
  37. package/dist/fonts-google.js +7 -0
  38. package/dist/fonts-google.js.map +1 -1
  39. package/dist/index.d.ts +2 -2
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +2 -2
  42. package/dist/index.js.map +1 -1
  43. package/dist/internal/codegen.d.ts +1 -0
  44. package/dist/internal/codegen.d.ts.map +1 -1
  45. package/dist/internal/codegen.js +56 -29
  46. package/dist/internal/codegen.js.map +1 -1
  47. package/dist/internal/disposable-dir.d.ts +8 -0
  48. package/dist/internal/disposable-dir.d.ts.map +1 -0
  49. package/dist/internal/disposable-dir.js +25 -0
  50. package/dist/internal/disposable-dir.js.map +1 -0
  51. package/dist/internal/entry-chunks.d.ts +9 -0
  52. package/dist/internal/entry-chunks.d.ts.map +1 -0
  53. package/dist/internal/entry-chunks.js +15 -0
  54. package/dist/internal/entry-chunks.js.map +1 -0
  55. package/dist/internal/evidence-traversal.d.ts +12 -0
  56. package/dist/internal/evidence-traversal.d.ts.map +1 -0
  57. package/dist/internal/evidence-traversal.js +48 -0
  58. package/dist/internal/evidence-traversal.js.map +1 -0
  59. package/dist/internal/head-merge.d.ts +6 -0
  60. package/dist/internal/head-merge.d.ts.map +1 -1
  61. package/dist/internal/head-merge.js +9 -0
  62. package/dist/internal/head-merge.js.map +1 -1
  63. package/dist/internal/js-string.d.ts +2 -0
  64. package/dist/internal/js-string.d.ts.map +1 -1
  65. package/dist/internal/js-string.js +5 -1
  66. package/dist/internal/js-string.js.map +1 -1
  67. package/dist/internal/mount-shadow.js +1 -1
  68. package/dist/internal/mount-shadow.js.map +1 -1
  69. package/dist/internal/output-guard.d.ts +7 -0
  70. package/dist/internal/output-guard.d.ts.map +1 -1
  71. package/dist/internal/output-guard.js +80 -8
  72. package/dist/internal/output-guard.js.map +1 -1
  73. package/dist/internal/page-execution.d.ts +6 -0
  74. package/dist/internal/page-execution.d.ts.map +1 -1
  75. package/dist/internal/page-execution.js +377 -108
  76. package/dist/internal/page-execution.js.map +1 -1
  77. package/dist/internal/progressive-cookies.d.ts +14 -0
  78. package/dist/internal/progressive-cookies.d.ts.map +1 -0
  79. package/dist/internal/progressive-cookies.js +43 -0
  80. package/dist/internal/progressive-cookies.js.map +1 -0
  81. package/dist/internal/public-env.d.ts +2 -0
  82. package/dist/internal/public-env.d.ts.map +1 -0
  83. package/dist/internal/public-env.js +13 -0
  84. package/dist/internal/public-env.js.map +1 -0
  85. package/dist/internal/render-document.d.ts +1 -0
  86. package/dist/internal/render-document.d.ts.map +1 -1
  87. package/dist/internal/render-document.js +28 -5
  88. package/dist/internal/render-document.js.map +1 -1
  89. package/dist/internal/response-controls.d.ts +2 -0
  90. package/dist/internal/response-controls.d.ts.map +1 -1
  91. package/dist/internal/response-controls.js +26 -16
  92. package/dist/internal/response-controls.js.map +1 -1
  93. package/dist/internal/revive-dates.d.ts +16 -0
  94. package/dist/internal/revive-dates.d.ts.map +1 -0
  95. package/dist/internal/revive-dates.js +32 -0
  96. package/dist/internal/revive-dates.js.map +1 -0
  97. package/dist/internal/route-path.d.ts +8 -0
  98. package/dist/internal/route-path.d.ts.map +1 -0
  99. package/dist/internal/route-path.js +8 -0
  100. package/dist/internal/route-path.js.map +1 -0
  101. package/dist/internal/secret-scan.d.ts.map +1 -1
  102. package/dist/internal/secret-scan.js +88 -20
  103. package/dist/internal/secret-scan.js.map +1 -1
  104. package/dist/internal/server-boundary.d.ts.map +1 -1
  105. package/dist/internal/server-boundary.js +33 -5
  106. package/dist/internal/server-boundary.js.map +1 -1
  107. package/dist/internal/web-app.d.ts +21 -16
  108. package/dist/internal/web-app.d.ts.map +1 -1
  109. package/dist/internal/web-app.js +73 -21
  110. package/dist/internal/web-app.js.map +1 -1
  111. package/dist/internal/wire-date.d.ts +3 -0
  112. package/dist/internal/wire-date.d.ts.map +1 -0
  113. package/dist/internal/wire-date.js +14 -0
  114. package/dist/internal/wire-date.js.map +1 -0
  115. package/dist/internal/zone-graph.d.ts +4 -0
  116. package/dist/internal/zone-graph.d.ts.map +1 -1
  117. package/dist/internal/zone-graph.js +54 -14
  118. package/dist/internal/zone-graph.js.map +1 -1
  119. package/dist/isr.d.ts +58 -2
  120. package/dist/isr.d.ts.map +1 -1
  121. package/dist/isr.js +296 -39
  122. package/dist/isr.js.map +1 -1
  123. package/dist/llms-txt.d.ts +2 -0
  124. package/dist/llms-txt.d.ts.map +1 -1
  125. package/dist/llms-txt.js +29 -3
  126. package/dist/llms-txt.js.map +1 -1
  127. package/dist/manifest.d.ts +28 -4
  128. package/dist/manifest.d.ts.map +1 -1
  129. package/dist/manifest.js +3 -0
  130. package/dist/manifest.js.map +1 -1
  131. package/dist/open-resolved.d.ts +18 -0
  132. package/dist/open-resolved.d.ts.map +1 -0
  133. package/dist/open-resolved.js +62 -0
  134. package/dist/open-resolved.js.map +1 -0
  135. package/dist/plugins/kit.d.ts +1 -0
  136. package/dist/plugins/kit.d.ts.map +1 -1
  137. package/dist/plugins/kit.js +26 -11
  138. package/dist/plugins/kit.js.map +1 -1
  139. package/dist/plugins/vite-leak-guard.d.ts +3 -1
  140. package/dist/plugins/vite-leak-guard.d.ts.map +1 -1
  141. package/dist/plugins/vite-leak-guard.js +4 -0
  142. package/dist/plugins/vite-leak-guard.js.map +1 -1
  143. package/dist/public-dir.d.ts +8 -1
  144. package/dist/public-dir.d.ts.map +1 -1
  145. package/dist/public-dir.js +17 -6
  146. package/dist/public-dir.js.map +1 -1
  147. package/dist/query.d.ts +13 -4
  148. package/dist/query.d.ts.map +1 -1
  149. package/dist/query.js +89 -26
  150. package/dist/query.js.map +1 -1
  151. package/dist/render-seam.d.ts +2 -0
  152. package/dist/render-seam.d.ts.map +1 -1
  153. package/dist/render-seam.js +1 -0
  154. package/dist/render-seam.js.map +1 -1
  155. package/dist/route-types.d.ts.map +1 -1
  156. package/dist/route-types.js +20 -9
  157. package/dist/route-types.js.map +1 -1
  158. package/dist/router.d.ts +9 -2
  159. package/dist/router.d.ts.map +1 -1
  160. package/dist/router.js +39 -46
  161. package/dist/router.js.map +1 -1
  162. package/dist/server-components/build-info.d.ts +3 -0
  163. package/dist/server-components/build-info.d.ts.map +1 -0
  164. package/dist/server-components/build-info.js +7 -0
  165. package/dist/server-components/build-info.js.map +1 -0
  166. package/dist/server-components/build-target.d.ts +12 -0
  167. package/dist/server-components/build-target.d.ts.map +1 -0
  168. package/dist/server-components/build-target.js +153 -0
  169. package/dist/server-components/build-target.js.map +1 -0
  170. package/dist/server-components/build.d.ts +24 -0
  171. package/dist/server-components/build.d.ts.map +1 -0
  172. package/dist/server-components/build.js +366 -0
  173. package/dist/server-components/build.js.map +1 -0
  174. package/dist/server-components/bundle-proof.d.ts +3 -0
  175. package/dist/server-components/bundle-proof.d.ts.map +1 -0
  176. package/dist/server-components/bundle-proof.js +23 -0
  177. package/dist/server-components/bundle-proof.js.map +1 -0
  178. package/dist/server-components/client.d.ts +46 -0
  179. package/dist/server-components/client.d.ts.map +1 -0
  180. package/dist/server-components/client.js +594 -0
  181. package/dist/server-components/client.js.map +1 -0
  182. package/dist/server-components/definition.d.ts +11 -0
  183. package/dist/server-components/definition.d.ts.map +1 -0
  184. package/dist/server-components/definition.js +94 -0
  185. package/dist/server-components/definition.js.map +1 -0
  186. package/dist/server-components/dev-http.d.ts +5 -0
  187. package/dist/server-components/dev-http.d.ts.map +1 -0
  188. package/dist/server-components/dev-http.js +71 -0
  189. package/dist/server-components/dev-http.js.map +1 -0
  190. package/dist/server-components/error.d.ts +9 -0
  191. package/dist/server-components/error.d.ts.map +1 -0
  192. package/dist/server-components/error.js +24 -0
  193. package/dist/server-components/error.js.map +1 -0
  194. package/dist/server-components/frames.d.ts +7 -0
  195. package/dist/server-components/frames.d.ts.map +1 -0
  196. package/dist/server-components/frames.js +169 -0
  197. package/dist/server-components/frames.js.map +1 -0
  198. package/dist/server-components/html-policy.d.ts +6 -0
  199. package/dist/server-components/html-policy.d.ts.map +1 -0
  200. package/dist/server-components/html-policy.js +75 -0
  201. package/dist/server-components/html-policy.js.map +1 -0
  202. package/dist/server-components/html.d.ts +4 -0
  203. package/dist/server-components/html.d.ts.map +1 -0
  204. package/dist/server-components/html.js +67 -0
  205. package/dist/server-components/html.js.map +1 -0
  206. package/dist/server-components/islands.d.ts +44 -0
  207. package/dist/server-components/islands.d.ts.map +1 -0
  208. package/dist/server-components/islands.js +42 -0
  209. package/dist/server-components/islands.js.map +1 -0
  210. package/dist/server-components/native.d.ts +4 -0
  211. package/dist/server-components/native.d.ts.map +1 -0
  212. package/dist/server-components/native.js +81 -0
  213. package/dist/server-components/native.js.map +1 -0
  214. package/dist/server-components/portal.d.ts +6 -0
  215. package/dist/server-components/portal.d.ts.map +1 -0
  216. package/dist/server-components/portal.js +35 -0
  217. package/dist/server-components/portal.js.map +1 -0
  218. package/dist/server-components/props.d.ts +3 -0
  219. package/dist/server-components/props.d.ts.map +1 -0
  220. package/dist/server-components/props.js +14 -0
  221. package/dist/server-components/props.js.map +1 -0
  222. package/dist/server-components/protocol.d.ts +44 -0
  223. package/dist/server-components/protocol.d.ts.map +1 -0
  224. package/dist/server-components/protocol.js +139 -0
  225. package/dist/server-components/protocol.js.map +1 -0
  226. package/dist/server-components/range.d.ts +24 -0
  227. package/dist/server-components/range.d.ts.map +1 -0
  228. package/dist/server-components/range.js +263 -0
  229. package/dist/server-components/range.js.map +1 -0
  230. package/dist/server-components/registry.d.ts +6 -0
  231. package/dist/server-components/registry.d.ts.map +1 -0
  232. package/dist/server-components/registry.js +30 -0
  233. package/dist/server-components/registry.js.map +1 -0
  234. package/dist/server-components/response.d.ts +4 -0
  235. package/dist/server-components/response.d.ts.map +1 -0
  236. package/dist/server-components/response.js +32 -0
  237. package/dist/server-components/response.js.map +1 -0
  238. package/dist/server-components/router-integration.d.ts +9 -0
  239. package/dist/server-components/router-integration.d.ts.map +1 -0
  240. package/dist/server-components/router-integration.js +29 -0
  241. package/dist/server-components/router-integration.js.map +1 -0
  242. package/dist/server-components/runtime.d.ts +14 -0
  243. package/dist/server-components/runtime.d.ts.map +1 -0
  244. package/dist/server-components/runtime.js +276 -0
  245. package/dist/server-components/runtime.js.map +1 -0
  246. package/dist/server-components/scheduler.d.ts +14 -0
  247. package/dist/server-components/scheduler.d.ts.map +1 -0
  248. package/dist/server-components/scheduler.js +74 -0
  249. package/dist/server-components/scheduler.js.map +1 -0
  250. package/dist/server-components/schema.d.ts +4 -0
  251. package/dist/server-components/schema.d.ts.map +1 -0
  252. package/dist/server-components/schema.js +77 -0
  253. package/dist/server-components/schema.js.map +1 -0
  254. package/dist/server-components/server-entry.d.ts +12 -0
  255. package/dist/server-components/server-entry.d.ts.map +1 -0
  256. package/dist/server-components/server-entry.js +90 -0
  257. package/dist/server-components/server-entry.js.map +1 -0
  258. package/dist/server-components/source.d.ts +15 -0
  259. package/dist/server-components/source.d.ts.map +1 -0
  260. package/dist/server-components/source.js +269 -0
  261. package/dist/server-components/source.js.map +1 -0
  262. package/dist/server-components/state.d.ts +4 -0
  263. package/dist/server-components/state.d.ts.map +1 -0
  264. package/dist/server-components/state.js +123 -0
  265. package/dist/server-components/state.js.map +1 -0
  266. package/dist/server-components/stream.d.ts +6 -0
  267. package/dist/server-components/stream.d.ts.map +1 -0
  268. package/dist/server-components/stream.js +70 -0
  269. package/dist/server-components/stream.js.map +1 -0
  270. package/dist/server-components/trusted-html.d.ts +3 -0
  271. package/dist/server-components/trusted-html.d.ts.map +1 -0
  272. package/dist/server-components/trusted-html.js +14 -0
  273. package/dist/server-components/trusted-html.js.map +1 -0
  274. package/dist/server-components/types.d.ts +107 -0
  275. package/dist/server-components/types.d.ts.map +1 -0
  276. package/dist/server-components/types.js +2 -0
  277. package/dist/server-components/types.js.map +1 -0
  278. package/dist/server-components/typescript.d.ts +11 -0
  279. package/dist/server-components/typescript.d.ts.map +1 -0
  280. package/dist/server-components/typescript.js +28 -0
  281. package/dist/server-components/typescript.js.map +1 -0
  282. package/dist/server-components/value.d.ts +5 -0
  283. package/dist/server-components/value.d.ts.map +1 -0
  284. package/dist/server-components/value.js +77 -0
  285. package/dist/server-components/value.js.map +1 -0
  286. package/dist/server-components/vite.d.ts +12 -0
  287. package/dist/server-components/vite.d.ts.map +1 -0
  288. package/dist/server-components/vite.js +197 -0
  289. package/dist/server-components/vite.js.map +1 -0
  290. package/dist/server-components.d.ts +5 -0
  291. package/dist/server-components.d.ts.map +1 -0
  292. package/dist/server-components.js +4 -0
  293. package/dist/server-components.js.map +1 -0
  294. package/dist/service-worker.d.ts +8 -1
  295. package/dist/service-worker.d.ts.map +1 -1
  296. package/dist/service-worker.js +20 -6
  297. package/dist/service-worker.js.map +1 -1
  298. package/dist/vite.d.ts +12 -0
  299. package/dist/vite.d.ts.map +1 -1
  300. package/dist/vite.js +7 -1
  301. package/dist/vite.js.map +1 -1
  302. package/dist/zones.d.ts +40 -0
  303. package/dist/zones.d.ts.map +1 -1
  304. package/dist/zones.js +170 -6
  305. package/dist/zones.js.map +1 -1
  306. package/package.json +97 -4
  307. package/src/build-vite.ts +31 -9
  308. package/src/build.ts +109 -31
  309. package/src/cdn.ts +18 -12
  310. package/src/client.ts +25 -6
  311. package/src/deferred.ts +27 -9
  312. package/src/dev-feed.ts +24 -5
  313. package/src/dev-session.ts +4 -13
  314. package/src/dev.ts +29 -1
  315. package/src/draft.ts +35 -14
  316. package/src/fonts-google.ts +10 -0
  317. package/src/index.ts +3 -2
  318. package/src/internal/codegen.ts +60 -29
  319. package/src/internal/disposable-dir.ts +24 -0
  320. package/src/internal/entry-chunks.ts +18 -0
  321. package/src/internal/evidence-traversal.ts +57 -0
  322. package/src/internal/head-merge.ts +16 -0
  323. package/src/internal/js-string.ts +6 -1
  324. package/src/internal/mount-shadow.ts +1 -1
  325. package/src/internal/output-guard.ts +88 -7
  326. package/src/internal/page-execution.ts +506 -108
  327. package/src/internal/progressive-cookies.ts +60 -0
  328. package/src/internal/public-env.ts +14 -0
  329. package/src/internal/render-document.ts +26 -11
  330. package/src/internal/response-controls.ts +31 -14
  331. package/src/internal/revive-dates.ts +35 -0
  332. package/src/internal/route-path.ts +8 -0
  333. package/src/internal/secret-scan.ts +90 -18
  334. package/src/internal/server-boundary.ts +29 -5
  335. package/src/internal/web-app.ts +116 -37
  336. package/src/internal/wire-date.ts +16 -0
  337. package/src/internal/zone-graph.ts +59 -19
  338. package/src/isr.ts +351 -43
  339. package/src/llms-txt.ts +32 -3
  340. package/src/manifest.ts +28 -4
  341. package/src/open-resolved.ts +64 -0
  342. package/src/plugins/kit.ts +31 -11
  343. package/src/plugins/vite-leak-guard.ts +5 -1
  344. package/src/public-dir.ts +27 -8
  345. package/src/query.ts +107 -26
  346. package/src/render-seam.ts +2 -0
  347. package/src/route-types.ts +34 -7
  348. package/src/router.ts +58 -55
  349. package/src/server-components/build-info.ts +11 -0
  350. package/src/server-components/build-target.ts +194 -0
  351. package/src/server-components/build.ts +419 -0
  352. package/src/server-components/bundle-proof.ts +33 -0
  353. package/src/server-components/client.ts +663 -0
  354. package/src/server-components/definition.ts +125 -0
  355. package/src/server-components/dev-http.ts +75 -0
  356. package/src/server-components/error.ts +24 -0
  357. package/src/server-components/frames.ts +181 -0
  358. package/src/server-components/html-policy.ts +94 -0
  359. package/src/server-components/html.ts +81 -0
  360. package/src/server-components/islands.ts +111 -0
  361. package/src/server-components/native.ts +101 -0
  362. package/src/server-components/portal.ts +42 -0
  363. package/src/server-components/props.ts +19 -0
  364. package/src/server-components/protocol.ts +167 -0
  365. package/src/server-components/range.ts +313 -0
  366. package/src/server-components/registry.ts +34 -0
  367. package/src/server-components/response.ts +44 -0
  368. package/src/server-components/router-integration.ts +40 -0
  369. package/src/server-components/runtime.ts +376 -0
  370. package/src/server-components/scheduler.ts +84 -0
  371. package/src/server-components/schema.ts +69 -0
  372. package/src/server-components/server-entry.ts +98 -0
  373. package/src/server-components/source.ts +324 -0
  374. package/src/server-components/state.ts +143 -0
  375. package/src/server-components/stream.ts +71 -0
  376. package/src/server-components/trusted-html.ts +21 -0
  377. package/src/server-components/types.ts +138 -0
  378. package/src/server-components/typescript.ts +39 -0
  379. package/src/server-components/value.ts +82 -0
  380. package/src/server-components/vite.ts +242 -0
  381. package/src/server-components.ts +32 -0
  382. package/src/service-worker.ts +24 -7
  383. package/src/vite.ts +8 -1
  384. package/src/zones.ts +208 -7
@@ -1,8 +1,8 @@
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, DATA_GLOBAL, HANDOVER_ID, LAYOUT_DATA_GLOBAL, ROOT_ATTRIBUTE, ROUTE_GLOBAL, } from "../render-seam.js";
3
+ import { ACTION_GLOBAL, BOUNDARY_GLOBAL, COMPONENT_GLOBAL, DATA_GLOBAL, HANDOVER_ID, LAYOUT_DATA_GLOBAL, ROOT_ATTRIBUTE, ROUTE_GLOBAL, } from "../render-seam.js";
4
4
  import { PRERENDERED_GLOBAL } from "../router.js";
5
- import { jsStringLiteral } from "./js-string.js";
5
+ import { jsStringLiteral, jsValueLiteral } from "./js-string.js";
6
6
  /** The globals the page-state handover may set - nothing else in it reaches `window`. */
7
7
  const HANDOVER_GLOBALS = [
8
8
  DATA_GLOBAL,
@@ -10,6 +10,7 @@ const HANDOVER_GLOBALS = [
10
10
  ROUTE_GLOBAL,
11
11
  ACTION_GLOBAL,
12
12
  BOUNDARY_GLOBAL,
13
+ COMPONENT_GLOBAL,
13
14
  PRERENDERED_GLOBAL,
14
15
  ];
15
16
  /**
@@ -50,20 +51,40 @@ export function generateClientEntry(manifest, options) {
50
51
  files.push(errorFile);
51
52
  errorRouteIds.push(route.id);
52
53
  }
53
- loaderRows.push(` ${JSON.stringify(route.id)}: ${lazyLoader(files)},`);
54
+ loaderRows.push(` ${jsStringLiteral(route.id)}: ${lazyLoader(files)},`);
54
55
  if (route.layoutIds.length > 0)
55
56
  layoutIdsOf[route.id] = route.layoutIds;
56
- patternRows.push(` { routeId: ${JSON.stringify(route.id)}, pattern: ${JSON.stringify(route.pattern)} },`);
57
+ patternRows.push(` { routeId: ${jsStringLiteral(route.id)}, pattern: ${jsStringLiteral(route.pattern)} },`);
57
58
  }
59
+ // A root status page renders inside the root layout unless it exports `inLayouts = false`, which
60
+ // only its module says - so the layout loads after the page, and only for a page that does not opt out.
61
+ const rootLayout = manifest.layouts._layout;
62
+ const statusLoader = (routeId, file) => rootLayout === undefined
63
+ ? lazyLoader([file])
64
+ : `() => import(${jsStringLiteral(resolve(file))}).then((page) => withRootLayout(${jsStringLiteral(routeId)}, page))`;
58
65
  if (manifest.notFound !== undefined) {
59
- loaderRows.push(` "_404": ${lazyLoader([manifest.notFound.file])},`);
66
+ loaderRows.push(` "_404": ${statusLoader("_404", manifest.notFound.file)},`);
60
67
  statusRoutes[404] = "_404";
61
68
  }
62
69
  for (const [status, entry] of Object.entries(manifest.statusPages ?? {})) {
63
70
  const routeId = `_${status}`;
64
- loaderRows.push(` ${JSON.stringify(routeId)}: ${lazyLoader([entry.file])},`);
71
+ loaderRows.push(` ${jsStringLiteral(routeId)}: ${statusLoader(routeId, entry.file)},`);
65
72
  statusRoutes[Number(status)] = routeId;
66
73
  }
74
+ const layoutStatusLines = rootLayout === undefined || Object.keys(statusRoutes).length === 0
75
+ ? []
76
+ : [
77
+ "const layoutStatusRoutes = {}",
78
+ "const withRootLayout = (id, page) => {",
79
+ " if (page.inLayouts === false) return [page]",
80
+ ` return import(${jsStringLiteral(resolve(rootLayout.file))}).then((layout) => {`,
81
+ " layoutStatusRoutes[id] = true",
82
+ ' layoutIdsOf[id] = ["_layout"]',
83
+ " return [layout, page]",
84
+ " })",
85
+ "}",
86
+ ];
87
+ const routerStatusOption = layoutStatusLines.length === 0 ? "" : ", layoutStatusRoutes";
67
88
  // `_loading` pages. Emitted only when the app has one, so an app without them imports nothing extra.
68
89
  // Each is its own lazy chunk; a route row carries its layout ids and the loading pages above it with
69
90
  // the number of those layouts each sits under - all the runtime needs to choose one.
@@ -76,21 +97,24 @@ export function generateClientEntry(manifest, options) {
76
97
  id,
77
98
  manifest.loadings?.[id]?.layoutIds.length ?? 0,
78
99
  ]);
79
- routeRows.set(route.id, ` ${JSON.stringify(route.id)}: ${JSON.stringify([route.layoutIds, above])},`);
100
+ routeRows.set(route.id, ` ${jsStringLiteral(route.id)}: ${jsValueLiteral([route.layoutIds, above])},`);
80
101
  }
81
- loadingLines.push("const loadingModules = {", ...loadings.map(([id, entry]) => ` ${JSON.stringify(id)}: () => import(${jsStringLiteral(resolve(entry.file))}),`), "}", "const loadingRoutes = {", ...routeRows.values(), "}");
102
+ loadingLines.push("const loadingModules = {", ...loadings.map(([id, entry]) => ` ${jsStringLiteral(id)}: () => import(${jsStringLiteral(resolve(entry.file))}),`), "}", "const loadingRoutes = {", ...routeRows.values(), "}");
82
103
  }
83
104
  return `${[
84
105
  // `/client`, never the root: the root's graph carries the server (renderPage, the static-file
85
106
  // server), and Vite's dev server evaluates what it is given instead of tree-shaking it.
86
- 'import { createClientRouter, createMatcher, mergeHeads, resolveMeta } from "@nifrajs/web/client"',
107
+ 'import { createClientRouter, createMatcher, mergeHeads, resolveChainMeta } from "@nifrajs/web/client"',
87
108
  'import { applyHead, currentDocumentNonce, installForms, installHistory, signalHydrated, waitForStyles } from "@nifrajs/web/client"',
109
+ ...(options.serverComponents
110
+ ? ['import { bindComponentRouter } from "@nifrajs/web/server-components/client"']
111
+ : []),
88
112
  // Namespace import: `errorBoundary` is optional (an adapter may not export it). A namespace member
89
113
  // access yields `undefined` if absent - unlike a named import, which would be a link error.
90
114
  ...(loadings.length > 0
91
115
  ? ['import { withLoading } from "@nifrajs/web/internal/loading-runtime"']
92
116
  : []),
93
- `import * as __adapter from ${JSON.stringify(clientModule)}`,
117
+ `import * as __adapter from ${jsStringLiteral(clientModule)}`,
94
118
  "const { mountRouter } = __adapter",
95
119
  // The assurance hook is optional: ordinary client entries pay only for the namespace lookup, while
96
120
  // hydration runners get a runtime identity from the exact adapter module that mounted the page. The
@@ -106,7 +130,7 @@ export function generateClientEntry(manifest, options) {
106
130
  // names actually exports `mountRouter`. Without this the miss surfaces as
107
131
  // "mountRouter is not a function" from inside a bundled chunk, at first paint, naming neither the
108
132
  // module nor the requirement - a self-executing entry passes every build and fails only here.
109
- `if (typeof mountRouter !== "function") throw new Error(${JSON.stringify(`[nifra/web] clientModule ${JSON.stringify(clientModule)} does not export \`mountRouter\`. ` +
133
+ `if (typeof mountRouter !== "function") throw new Error(${jsValueLiteral(`[nifra/web] clientModule ${jsStringLiteral(clientModule)} does not export \`mountRouter\`. ` +
110
134
  "A client module must export `mountRouter({ router, routes, container })` - it is called by " +
111
135
  "the generated bootstrap, so a self-executing entry will not work. Use your adapter's " +
112
136
  '`/client` entry (e.g. "@nifrajs/web-react/client"), or re-export mountRouter from it.')})`,
@@ -121,10 +145,11 @@ export function generateClientEntry(manifest, options) {
121
145
  // to act on. An adapter that knows its framework is in that position says so, and the entry turns
122
146
  // the swallowed update into an honest full reload.
123
147
  'if (import.meta.hot && __adapter.hotUpdateNeedsReload) import.meta.hot.on("bun:afterUpdate", () => location.reload())',
124
- `const errorRouteIds = new Set(${JSON.stringify(errorRouteIds)})`,
148
+ `const errorRouteIds = new Set(${jsValueLiteral(errorRouteIds)})`,
125
149
  // Each route is a lazy loader: dynamic imports → Bun.build (splitting) emits one chunk per
126
150
  // route, shared layouts/deps deduped into shared chunks, so a route's code loads only when
127
151
  // visited. loadModule caches the [layouts…, page] component chain + the chain's meta list per id.
152
+ ...layoutStatusLines,
128
153
  "const loaders = {",
129
154
  ...loaderRows,
130
155
  "}",
@@ -143,7 +168,7 @@ export function generateClientEntry(manifest, options) {
143
168
  // boundary), with the page's `HydrateFallback` - or an empty leaf - where the component goes.
144
169
  "const holds = {}",
145
170
  // routeId → the ids and `handle` exports `useMatches` reports (layouts, then the page).
146
- `const layoutIdsOf = ${JSON.stringify(layoutIdsOf)}`,
171
+ `const layoutIdsOf = ${jsValueLiteral(layoutIdsOf)}`,
147
172
  "const matchChains = {}",
148
173
  "const loadModule = async (id) => {",
149
174
  " if (chains[id]) return",
@@ -187,11 +212,11 @@ export function generateClientEntry(manifest, options) {
187
212
  // router, the deferred mapper and the adapters read, before any of them runs. Only the LAST
188
213
  // matching <script> counts, and only known keys: page HTML (sanitized user content) can carry an
189
214
  // element with the same id, and arbitrary keys copied onto `window` include `location`.
190
- `const handovers = document.querySelectorAll(${JSON.stringify(`script[type="application/json"][id="${HANDOVER_ID}"]`)})`,
215
+ `const handovers = document.querySelectorAll(${jsValueLiteral(`script[type="application/json"][id="${HANDOVER_ID}"]`)})`,
191
216
  "const handover = handovers[handovers.length - 1]",
192
217
  "if (handover !== undefined) {",
193
218
  ' const state = JSON.parse(handover.textContent || "{}")',
194
- ` for (const key of ${JSON.stringify(HANDOVER_GLOBALS)}) {`,
219
+ ` for (const key of ${jsValueLiteral(HANDOVER_GLOBALS)}) {`,
195
220
  " if (Object.prototype.hasOwnProperty.call(state, key)) Reflect.set(window, key, state[key])",
196
221
  " }",
197
222
  "}",
@@ -201,7 +226,7 @@ export function generateClientEntry(manifest, options) {
201
226
  // Derive the initial route from the URL (correct on refresh/deep-link); fall back to the
202
227
  // server-injected route id for non-pattern routes (e.g. _404, which matches nothing).
203
228
  "const matched = createMatcher(patterns)(location.pathname)",
204
- `const statusRoutes = ${JSON.stringify(statusRoutes)}`,
229
+ `const statusRoutes = ${jsValueLiteral(statusRoutes)}`,
205
230
  `const serverRoute = window.${ROUTE_GLOBAL} ?? ""`,
206
231
  // A terminal status page the server rendered (`_404`, `_410`, ...) outranks the URL match: a
207
232
  // loader that throws notFound() on `/learn/bad-slug` leaves a URL that still matches
@@ -222,6 +247,7 @@ export function generateClientEntry(manifest, options) {
222
247
  // Undefined on a page-only app, which is exactly what the router treats as "no layout data".
223
248
  ` layoutData: window.${LAYOUT_DATA_GLOBAL} && window.${LAYOUT_DATA_GLOBAL}.map(mapDeferred),`,
224
249
  ` boundaries: mapDeferred(window.${BOUNDARY_GLOBAL}),`,
250
+ ` serverComponents: window.${COMPONENT_GLOBAL},`,
225
251
  // actionData (only set after a form POST) is in the initial state so the binding hydrates
226
252
  // consistently with the server-rendered markup; mapped through `mapDeferred` too so a deferred
227
253
  // action's placeholders become registry markers (a no-op when the action didn't defer).
@@ -232,8 +258,9 @@ export function generateClientEntry(manifest, options) {
232
258
  // With `_loading` pages the store is wrapped: a slow navigation then names a loading chain (the
233
259
  // shared layouts + the `_loading` component) for the mounted view to render in the meantime.
234
260
  loadings.length > 0
235
- ? "const router = withLoading(createClientRouter({ patterns, initial, loadModule, statusRoutes, searchClientKeys, routeHooks }), { routes: loadingRoutes, modules: loadingModules, chains, searchSchemas, matchChains })"
236
- : "const router = createClientRouter({ patterns, initial, loadModule, statusRoutes, searchClientKeys, routeHooks })",
261
+ ? `const router = withLoading(createClientRouter({ patterns, initial, loadModule, statusRoutes${routerStatusOption}, searchClientKeys, routeHooks }), { routes: loadingRoutes, modules: loadingModules, chains, searchSchemas, matchChains })`
262
+ : `const router = createClientRouter({ patterns, initial, loadModule, statusRoutes${routerStatusOption}, searchClientKeys, routeHooks })`,
263
+ ...(options.serverComponents ? ["bindComponentRouter(router)"] : []),
237
264
  "installHistory(router)",
238
265
  "installForms(router)",
239
266
  // The container is found in the DOM, not baked in. `rootId` is a per-render option and this entry
@@ -244,7 +271,7 @@ export function generateClientEntry(manifest, options) {
244
271
  `const root = document.querySelector("body > div[${ROOT_ATTRIBUTE}]") ?? document.getElementById("root")`,
245
272
  // Loud, because there is no recoverable case: this entry ships only in a document `renderPage`
246
273
  // opened a container in, so reaching here means the document is not the one it was built for.
247
- `if (!root) throw new Error(${JSON.stringify("[nifra/web] no hydration container found. The generated bootstrap mounts into the element " +
274
+ `if (!root) throw new Error(${jsValueLiteral("[nifra/web] no hydration container found. The generated bootstrap mounts into the element " +
248
275
  `renderPage opened the app in - the one marked \`${ROOT_ATTRIBUTE}\` when a custom \`rootId\` ` +
249
276
  "is set, `#root` otherwise - and this document has neither. If you emit the document yourself, " +
250
277
  'keep `<div id="root">` around the SSR markup.')})`,
@@ -301,8 +328,8 @@ export function generateClientEntry(manifest, options) {
301
328
  // `origin: location.origin` matches the SSR `originOf(req)` (both are `URL.origin` for the same
302
329
  // page URL), so a soft-nav re-resolves the SAME absolute canonical/og:url - no head drift.
303
330
  " const nonce = currentDocumentNonce()",
304
- " const args = { data: s.data, params: s.params, origin: location.origin, ...(nonce === undefined ? {} : { nonce }) }",
305
- " applyHead(mergeHeads((metas[s.routeId] ?? [undefined]).map((m) => resolveMeta(m, args))))",
331
+ " const args = { data: s.data, pageData: s.data, params: s.params, origin: location.origin, ...(nonce === undefined ? {} : { nonce }) }",
332
+ " applyHead(mergeHeads(resolveChainMeta(metas[s.routeId] ?? [undefined], s.layoutData, args)))",
306
333
  " }",
307
334
  " })",
308
335
  "}).catch((error) => console.error('[nifra/web] hydration failed:', error))",
@@ -325,12 +352,12 @@ export function generateRouteSearchTypes(manifest, options) {
325
352
  .filter((route) => !/[:*]/.test(route.pattern))
326
353
  .map((route) => [route.pattern, resolve(route.file)])
327
354
  .sort((a, b) => (a[0] < b[0] ? -1 : 1))
328
- .map(([pattern, spec]) => ` ${JSON.stringify(pattern)}: SearchOf<typeof import(${JSON.stringify(spec)})>`);
355
+ .map(([pattern, spec]) => ` ${jsStringLiteral(pattern)}: SearchOf<typeof import(${jsStringLiteral(spec)})>`);
329
356
  return `${[
330
357
  "// GENERATED by @nifrajs/web generateRouteSearchTypes - typed cross-route navigate({ to, search }).",
331
358
  "// Regenerated from the route files; a stale navigate search shape becomes a tsc error. Do not edit.",
332
359
  'import type { SearchOf } from "@nifrajs/web"',
333
- `declare module ${JSON.stringify(module)} {`,
360
+ `declare module ${jsStringLiteral(module)} {`,
334
361
  " interface RouteSearch {",
335
362
  ...entries,
336
363
  " }",
@@ -395,12 +422,12 @@ export function generateServerManifest(manifest, options) {
395
422
  "// the same pure logic discoverRoutes feeds, so patterns + layout chains match exactly.",
396
423
  'import { buildManifest, type RouteModule } from "@nifrajs/web"',
397
424
  ];
398
- const clientEntryLine = `export const clientEntry = ${JSON.stringify(clientEntry)}`;
425
+ const clientEntryLine = `export const clientEntry = ${jsStringLiteral(clientEntry)}`;
399
426
  // Baked stylesheet URLs so the server entry can pass them to createWebApp → <link rel="stylesheet">.
400
427
  // Always emitted (default empty) so consumers can `import { styles, routeStyles }` unconditionally.
401
- const stylesLine = `export const styles = ${JSON.stringify(styles ?? [])}`;
402
- const routeStylesLine = `export const routeStyles = ${JSON.stringify(routeStyles ?? {})}`;
403
- const cssLoadingLine = `export const cssLoading = ${JSON.stringify(cssLoading)}`;
428
+ const stylesLine = `export const styles = ${jsValueLiteral(styles ?? [])}`;
429
+ const routeStylesLine = `export const routeStyles = ${jsValueLiteral(routeStyles ?? {})}`;
430
+ const cssLoadingLine = `export const cssLoading = ${jsStringLiteral(cssLoading)}`;
404
431
  if (lazy) {
405
432
  // Lazy: `() => import("./routes/x")` per route (static specifier → one chunk per route under a
406
433
  // code-splitting bundler, loaded on first request). The map keys are the route-relative paths
@@ -420,8 +447,8 @@ export function generateServerManifest(manifest, options) {
420
447
  }
421
448
  // Eager: `import * as` per route (all bundled into the entry, parsed at boot). Index-based
422
449
  // identifiers are collision-proof regardless of filename.
423
- const imports = files.map((file, i) => `import * as m${i} from ${JSON.stringify(moduleSpecifier(resolve(file)))}`);
424
- const entries = files.map((file, i) => ` ${JSON.stringify(file)}: m${i},`);
450
+ const imports = files.map((file, i) => `import * as m${i} from ${jsStringLiteral(moduleSpecifier(resolve(file)))}`);
451
+ const entries = files.map((file, i) => ` ${jsStringLiteral(file)}: m${i},`);
425
452
  return `${[
426
453
  ...header,
427
454
  ...imports,
@@ -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,8 @@
1
+ /**
2
+ * Throws unless `dir` is safe to delete recursively: not a filesystem root, and neither equal to nor
3
+ * an ancestor of any path in `keep` (the sources a build reads, the working directory). Both sides are
4
+ * compared after resolving symlinks, so a link pointing at the project is refused too. A `dir` that
5
+ * does not exist yet is always safe.
6
+ */
7
+ export declare function assertDisposableDir(option: string, dir: string, keep: readonly string[]): void;
8
+ //# sourceMappingURL=disposable-dir.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disposable-dir.d.ts","sourceRoot":"","sources":["../../src/internal/disposable-dir.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAc9F"}
@@ -0,0 +1,25 @@
1
+ import { existsSync, realpathSync } from "node:fs";
2
+ import { isAbsolute, parse, relative, sep } from "node:path";
3
+ /**
4
+ * Throws unless `dir` is safe to delete recursively: not a filesystem root, and neither equal to nor
5
+ * an ancestor of any path in `keep` (the sources a build reads, the working directory). Both sides are
6
+ * compared after resolving symlinks, so a link pointing at the project is refused too. A `dir` that
7
+ * does not exist yet is always safe.
8
+ */
9
+ export function assertDisposableDir(option, dir, keep) {
10
+ if (!existsSync(dir))
11
+ return;
12
+ const real = realpathSync.native(dir);
13
+ if (parse(real).root === real)
14
+ throw new Error(`[nifra/web] ${option} (${dir}) is a filesystem root; refusing to clear it.`);
15
+ for (const path of keep) {
16
+ if (!existsSync(path))
17
+ continue;
18
+ const rel = relative(real, realpathSync.native(path));
19
+ if (rel === ".." || rel.startsWith(`..${sep}`) || isAbsolute(rel))
20
+ continue;
21
+ throw new Error(`[nifra/web] ${option} (${dir}) ${rel === "" ? "is" : "contains"} ${path}; the build clears ` +
22
+ `${option} first, which would delete it. Point ${option} at a directory of its own.`);
23
+ }
24
+ }
25
+ //# sourceMappingURL=disposable-dir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disposable-dir.js","sourceRoot":"","sources":["../../src/internal/disposable-dir.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAE5D;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,GAAW,EAAE,IAAuB;IACtF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAM;IAC5B,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACrC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI;QAC3B,MAAM,IAAI,KAAK,CAAC,eAAe,MAAM,KAAK,GAAG,+CAA+C,CAAC,CAAA;IAC/F,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAQ;QAC/B,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QACrD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC;YAAE,SAAQ;QAC3E,MAAM,IAAI,KAAK,CACb,eAAe,MAAM,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,qBAAqB;YAC3F,GAAG,MAAM,wCAAwC,MAAM,6BAA6B,CACvF,CAAA;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Each entry's emitted JS chunk, keyed by the absolute source path the build metafile records for it.
3
+ * Bun's API does not promise that `outputs` follow `entrypoints` order, so a route's preload is read
4
+ * from the output that names the route's own source as its entry, never from a position.
5
+ */
6
+ export declare function entryChunks(outputs: Readonly<Record<string, {
7
+ readonly entryPoint?: string;
8
+ }>>, cwd: string): ReadonlyMap<string, string>;
9
+ //# sourceMappingURL=entry-chunks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entry-chunks.d.ts","sourceRoot":"","sources":["../../src/internal/entry-chunks.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;IAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,EACnE,GAAG,EAAE,MAAM,GACV,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAO7B"}
@@ -0,0 +1,15 @@
1
+ import { resolve } from "node:path";
2
+ /**
3
+ * Each entry's emitted JS chunk, keyed by the absolute source path the build metafile records for it.
4
+ * Bun's API does not promise that `outputs` follow `entrypoints` order, so a route's preload is read
5
+ * from the output that names the route's own source as its entry, never from a position.
6
+ */
7
+ export function entryChunks(outputs, cwd) {
8
+ const chunks = new Map();
9
+ for (const [path, output] of Object.entries(outputs)) {
10
+ if (output.entryPoint !== undefined && /\.[cm]?js$/.test(path))
11
+ chunks.set(resolve(cwd, output.entryPoint), path);
12
+ }
13
+ return chunks;
14
+ }
15
+ //# sourceMappingURL=entry-chunks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entry-chunks.js","sourceRoot":"","sources":["../../src/internal/entry-chunks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,OAAmE,EACnE,GAAW;IAEX,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;IACxC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5D,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAA;IACrD,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { BackendEvidenceProvider } from "@nifrajs/core/mount";
2
+ /** The providers composing the current evidence read, outermost first. */
3
+ export type EvidenceAncestry = ReadonlySet<BackendEvidenceProvider>;
4
+ /**
5
+ * Run `read` with `provider` joined to the providers already composing this read, refusing a
6
+ * provider that is its own ancestor. The async context follows a cycle through any provider; the
7
+ * `passed` chain, which framework providers hand to the providers they compose, is the only record
8
+ * on a runtime without AsyncLocalStorage, where a cap on in-flight reads of one provider stops a
9
+ * cycle the chain cannot see.
10
+ */
11
+ export declare function traverseEvidence<T>(provider: BackendEvidenceProvider, passed: unknown, read: (ancestry: EvidenceAncestry) => Promise<T>): Promise<T>;
12
+ //# sourceMappingURL=evidence-traversal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence-traversal.d.ts","sourceRoot":"","sources":["../../src/internal/evidence-traversal.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAElE,0EAA0E;AAC1E,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC,uBAAuB,CAAC,CAAA;AAoBnE;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,QAAQ,EAAE,uBAAuB,EACjC,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,OAAO,CAAC,CAAC,CAAC,GAC/C,OAAO,CAAC,CAAC,CAAC,CAqBZ"}
@@ -0,0 +1,48 @@
1
+ // Looked up, never imported: a self-contained Worker bundle hoists an import of node:async_hooks,
2
+ // and a Worker on an older compatibility date without nodejs_compat then fails to start. Created
3
+ // on the first evidence read, so serving an app never constructs an AsyncLocalStorage.
4
+ let storage;
5
+ // Without async context, a cycle through a provider that drops the chain reads like concurrent
6
+ // reads. A nested read never settles before its children, so such a cycle piles up in-flight reads
7
+ // of one provider without bound, while real concurrency stays at a handful (llms.txt memoizes).
8
+ const MAX_UNTRACKED_READS = 64;
9
+ const untrackedReads = new WeakMap();
10
+ function ancestryStorage() {
11
+ const hooks = globalThis.process?.getBuiltinModule?.("node:async_hooks");
12
+ if (hooks?.AsyncLocalStorage === undefined)
13
+ return undefined;
14
+ storage ??= new hooks.AsyncLocalStorage();
15
+ return storage;
16
+ }
17
+ /**
18
+ * Run `read` with `provider` joined to the providers already composing this read, refusing a
19
+ * provider that is its own ancestor. The async context follows a cycle through any provider; the
20
+ * `passed` chain, which framework providers hand to the providers they compose, is the only record
21
+ * on a runtime without AsyncLocalStorage, where a cap on in-flight reads of one provider stops a
22
+ * cycle the chain cannot see.
23
+ */
24
+ export async function traverseEvidence(provider, passed, read) {
25
+ const context = ancestryStorage();
26
+ const parents = new Set(context?.getStore());
27
+ if (passed instanceof Set)
28
+ for (const parent of passed)
29
+ parents.add(parent);
30
+ if (parents.has(provider)) {
31
+ throw new Error("[nifra/web] cyclic composed assurance evidence mount");
32
+ }
33
+ const ancestry = parents.add(provider);
34
+ if (context !== undefined)
35
+ return context.run(ancestry, read, ancestry);
36
+ const reads = untrackedReads.get(provider) ?? 0;
37
+ if (reads >= MAX_UNTRACKED_READS) {
38
+ throw new Error(`[nifra/web] cyclic composed assurance evidence mount: more than ${MAX_UNTRACKED_READS} reads of one app in flight. This runtime has no AsyncLocalStorage (on Cloudflare, enable nodejs_compat), so a cycle through a custom provider is caught only by this cap.`);
39
+ }
40
+ untrackedReads.set(provider, reads + 1);
41
+ try {
42
+ return await read(ancestry);
43
+ }
44
+ finally {
45
+ untrackedReads.set(provider, (untrackedReads.get(provider) ?? 1) - 1);
46
+ }
47
+ }
48
+ //# sourceMappingURL=evidence-traversal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence-traversal.js","sourceRoot":"","sources":["../../src/internal/evidence-traversal.ts"],"names":[],"mappings":"AAMA,kGAAkG;AAClG,iGAAiG;AACjG,uFAAuF;AACvF,IAAI,OAAwD,CAAA;AAE5D,+FAA+F;AAC/F,mGAAmG;AACnG,gGAAgG;AAChG,MAAM,mBAAmB,GAAG,EAAE,CAAA;AAC9B,MAAM,cAAc,GAAG,IAAI,OAAO,EAAmC,CAAA;AAErE,SAAS,eAAe;IACtB,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC,kBAAkB,CAAC,CAAA;IACxE,IAAI,KAAK,EAAE,iBAAiB,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAC5D,OAAO,KAAK,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAA;IACzC,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAiC,EACjC,MAAe,EACf,IAAgD;IAEhD,MAAM,OAAO,GAAG,eAAe,EAAE,CAAA;IACjC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC5C,IAAI,MAAM,YAAY,GAAG;QAAE,KAAK,MAAM,MAAM,IAAI,MAAM;YAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3E,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;IACzE,CAAC;IACD,MAAM,QAAQ,GAAqB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACxD,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IACvE,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC/C,IAAI,KAAK,IAAI,mBAAmB,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,mEAAmE,mBAAmB,4KAA4K,CACnQ,CAAA;IACH,CAAC;IACD,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;IACvC,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC7B,CAAC;YAAS,CAAC;QACT,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IACvE,CAAC;AACH,CAAC"}
@@ -16,6 +16,12 @@ import type { Meta, MetaArgs, MetaInput } from "../manifest.js";
16
16
  export declare function isStaticMeta(meta: Meta): boolean;
17
17
  /** Resolve a route's `meta` export - a static object, or a function of the route's data/params. */
18
18
  export declare function resolveMeta(meta: MetaInput | undefined, args: MetaArgs): Meta;
19
+ /**
20
+ * Resolve a route's `meta` chain, outermost layout first and the page last. The page's `meta` gets
21
+ * `args`; a layout's gets its own loader data as `data` (`null` when it has no loader), the value its
22
+ * component renders. The SSR head and a soft navigation both resolve through this, so they match.
23
+ */
24
+ export declare function resolveChainMeta(metas: readonly (MetaInput | undefined)[], layoutData: readonly unknown[] | undefined, args: MetaArgs): Meta[];
19
25
  /**
20
26
  * Merge a layout chain's heads, outermost first: `title`/`lang`/`dir` are nearest-wins, and
21
27
  * `meta`/`link`/`script` concatenate in chain order.
@@ -1 +1 @@
1
- {"version":3,"file":"head-merge.d.ts","sourceRoot":"","sources":["../../src/internal/head-merge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAEV,IAAI,EACJ,QAAQ,EAER,SAAS,EAGV,MAAM,gBAAgB,CAAA;AASvB,+EAA+E;AAC/E,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAEhD;AAED,mGAAmG;AACnG,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,CAS7E;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,IAAI,CAyCvD"}
1
+ {"version":3,"file":"head-merge.d.ts","sourceRoot":"","sources":["../../src/internal/head-merge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAEV,IAAI,EACJ,QAAQ,EAER,SAAS,EAGV,MAAM,gBAAgB,CAAA;AASvB,+EAA+E;AAC/E,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAEhD;AAED,mGAAmG;AACnG,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,CAS7E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,EAAE,EACzC,UAAU,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,EAC1C,IAAI,EAAE,QAAQ,GACb,IAAI,EAAE,CAKR;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,IAAI,CAyCvD"}
@@ -20,6 +20,15 @@ export function resolveMeta(meta, args) {
20
20
  STATIC_META.add(meta);
21
21
  return meta;
22
22
  }
23
+ /**
24
+ * Resolve a route's `meta` chain, outermost layout first and the page last. The page's `meta` gets
25
+ * `args`; a layout's gets its own loader data as `data` (`null` when it has no loader), the value its
26
+ * component renders. The SSR head and a soft navigation both resolve through this, so they match.
27
+ */
28
+ export function resolveChainMeta(metas, layoutData, args) {
29
+ const last = metas.length - 1;
30
+ return metas.map((meta, i) => resolveMeta(meta, i < last ? { ...args, data: layoutData?.[i] ?? null } : args));
31
+ }
23
32
  /**
24
33
  * Merge a layout chain's heads, outermost first: `title`/`lang`/`dir` are nearest-wins, and
25
34
  * `meta`/`link`/`script` concatenate in chain order.
@@ -1 +1 @@
1
- {"version":3,"file":"head-merge.js","sourceRoot":"","sources":["../../src/internal/head-merge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"head-merge.js","sourceRoot":"","sources":["../../src/internal/head-merge.ts"],"names":[],"mappings":"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"}
@@ -6,4 +6,6 @@
6
6
  * literal is inert in every context the generated source can land in.
7
7
  */
8
8
  export declare function jsStringLiteral(value: string): string;
9
+ /** A JSON value embedded in generated source, with the same script-boundary protection. */
10
+ export declare function jsValueLiteral(value: unknown): string;
9
11
  //# sourceMappingURL=js-string.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"js-string.d.ts","sourceRoot":"","sources":["../../src/internal/js-string.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKrD"}
1
+ {"version":3,"file":"js-string.d.ts","sourceRoot":"","sources":["../../src/internal/js-string.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,2FAA2F;AAC3F,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKrD"}
@@ -10,7 +10,11 @@
10
10
  const LINE_SEPARATOR = String.fromCharCode(0x2028);
11
11
  const PARAGRAPH_SEPARATOR = String.fromCharCode(0x2029);
12
12
  export function jsStringLiteral(value) {
13
- return JSON.stringify(value)
13
+ return jsValueLiteral(value);
14
+ }
15
+ /** A JSON value embedded in generated source, with the same script-boundary protection. */
16
+ export function jsValueLiteral(value) {
17
+ return (JSON.stringify(value) ?? "undefined")
14
18
  .replaceAll("<", "\\u003C")
15
19
  .replaceAll(LINE_SEPARATOR, "\\u2028")
16
20
  .replaceAll(PARAGRAPH_SEPARATOR, "\\u2029");
@@ -1 +1 @@
1
- {"version":3,"file":"js-string.js","sourceRoot":"","sources":["../../src/internal/js-string.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,+FAA+F;AAC/F,oFAAoF;AACpF,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;AAClD,MAAM,mBAAmB,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;AAEvD,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SACzB,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC;SAC1B,UAAU,CAAC,cAAc,EAAE,SAAS,CAAC;SACrC,UAAU,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAA;AAC/C,CAAC"}
1
+ {"version":3,"file":"js-string.js","sourceRoot":"","sources":["../../src/internal/js-string.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,+FAA+F;AAC/F,oFAAoF;AACpF,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;AAClD,MAAM,mBAAmB,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;AAEvD,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO,cAAc,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC;SAC1C,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC;SAC1B,UAAU,CAAC,cAAc,EAAE,SAAS,CAAC;SACrC,UAAU,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAA;AAC/C,CAAC"}
@@ -60,6 +60,6 @@ export function formatShadowedPages(pages) {
60
60
  const lines = pages.map((page) => ` ${page.file} serves ${page.pattern}, under the mount at ${page.mount}`);
61
61
  return (`${pages.length === 1 ? "1 page route" : `${pages.length} page routes`} can never render: a mount answers every request under its path before page routing, and its 404 is final.\n` +
62
62
  `${lines.join("\n")}\n` +
63
- 'Move each file out of the mounted path, or serve that URL from the mounted app. The backend\'s mount path is `apiPrefix` (default "/api"; export it from framework.ts, or set it to "" to turn the mount off).');
63
+ "Move each file out of the mounted path, or serve that URL from the mounted app. The backend's mount path is the `apiPrefix` exported from framework.ts; without one the backend is not mounted.");
64
64
  }
65
65
  //# sourceMappingURL=mount-shadow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mount-shadow.js","sourceRoot":"","sources":["../../src/internal/mount-shadow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mount-shadow.js","sourceRoot":"","sources":["../../src/internal/mount-shadow.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,9 @@ export declare class OutputGuardError extends Error {
23
23
  readonly paths: readonly string[];
24
24
  constructor(message: string, paths?: readonly string[]);
25
25
  }
26
+ type Node = {
27
+ readonly [key: string]: unknown;
28
+ };
26
29
  interface RunState {
27
30
  readonly label: string;
28
31
  readonly issues: string[];
@@ -32,7 +35,11 @@ interface CompiledGuard {
32
35
  /** Undefined when the schema exposes no JSON Schema to project by. */
33
36
  readonly project: Project | undefined;
34
37
  readonly validate: StandardSchemaV1["~standard"]["validate"];
38
+ /** Dev only: name the keys the guard dropped, so a schema missing a field is not a silent blank. */
39
+ readonly warnDropped: boolean;
35
40
  }
41
+ /** The JSON Schema a schema exposes to project by, if any. */
42
+ export declare function jsonSchemaOf(schema: StandardSchemaV1): Node | undefined;
36
43
  /**
37
44
  * Prepare `schema` as the output contract of `owner`. Throws when the schema declares a sensitive
38
45
  * field it does not declassify, or references a definition it lacks - at route load, not per request.
@@ -1 +1 @@
1
- {"version":3,"file":"output-guard.d.ts","sourceRoot":"","sources":["../../src/internal/output-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAkB,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAQ5E,eAAO,MAAM,gBAAgB,yBAAyB,CAAA;AAGtD,2EAA2E;AAC3E,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG1D;AA+BD,iGAAiG;AACjG,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,SAAkB,IAAI,sBAAqB;IAC3C,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;gBACrB,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,SAAS,MAAM,EAAO;CAI3D;AAGD,UAAU,QAAQ;IAChB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAC1B;AACD,KAAK,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAA;AAE3D,UAAU,aAAa;IACrB,sEAAsE;IACtE,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAA;IACrC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAA;CAC7D;AA+cD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa,CA0B7F;AAgCD,0GAA0G;AAC1G,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAWrF;AAED,yEAAyE;AACzE,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,CAAA;IACzC,kFAAkF;IAClF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,gEAAgE;IAChE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAC9B;AAQD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CA0B7E;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,SAAS,OAAO,EAAE,EACjD,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,EAC9B,QAAQ,EAAE,eAAe,GACxB,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAsB5B"}
1
+ {"version":3,"file":"output-guard.d.ts","sourceRoot":"","sources":["../../src/internal/output-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAkB,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAS5E,eAAO,MAAM,gBAAgB,yBAAyB,CAAA;AAItD,2EAA2E;AAC3E,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG1D;AA+BD,iGAAiG;AACjG,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,SAAkB,IAAI,sBAAqB;IAC3C,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;gBACrB,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,SAAS,MAAM,EAAO;CAI3D;AAED,KAAK,IAAI,GAAG;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAA;AAC/C,UAAU,QAAQ;IAChB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAC1B;AACD,KAAK,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAA;AAE3D,UAAU,aAAa;IACrB,sEAAsE;IACtE,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAA;IACrC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAA;IAC5D,oGAAoG;IACpG,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;CAC9B;AAwdD,8DAA8D;AAC9D,wBAAgB,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAavE;AAID;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa,CA8B7F;AA4ED,0GAA0G;AAC1G,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAarF;AAED,yEAAyE;AACzE,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,CAAA;IACzC,kFAAkF;IAClF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,gEAAgE;IAChE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAC9B;AAQD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CA0B7E;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,SAAS,OAAO,EAAE,EACjD,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,EAC9B,QAAQ,EAAE,eAAe,GACxB,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAsB5B"}