@askrjs/askr 0.0.28 → 0.0.29

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 (451) hide show
  1. package/README.md +44 -172
  2. package/dist/_virtual/_rolldown/runtime.js +7 -0
  3. package/dist/bench/components/benchmark-row.d.ts +20 -0
  4. package/dist/bench/components/benchmark-row.d.ts.map +1 -0
  5. package/dist/bench/components/benchmark-row.js +42 -0
  6. package/dist/bench/components/benchmark-row.js.map +1 -0
  7. package/dist/bench/components/benchmark-table.js +25 -0
  8. package/dist/bench/components/benchmark-table.js.map +1 -0
  9. package/dist/benchmark.d.ts +22 -0
  10. package/dist/benchmark.d.ts.map +1 -0
  11. package/dist/benchmark.js +64 -1
  12. package/dist/benchmark.js.map +1 -0
  13. package/dist/bin/askr-ssg.d.ts +22 -26
  14. package/dist/bin/askr-ssg.d.ts.map +1 -1
  15. package/dist/bin/askr-ssg.js +149 -2
  16. package/dist/bin/askr-ssg.js.map +1 -0
  17. package/dist/boot/index.d.ts +64 -42
  18. package/dist/boot/index.d.ts.map +1 -1
  19. package/dist/boot/index.js +416 -2
  20. package/dist/boot/index.js.map +1 -0
  21. package/dist/common/component.d.ts +14 -13
  22. package/dist/common/component.d.ts.map +1 -1
  23. package/dist/common/control.d.ts +13 -0
  24. package/dist/common/control.d.ts.map +1 -0
  25. package/dist/common/control.js +14 -0
  26. package/dist/common/control.js.map +1 -0
  27. package/dist/common/env.js +47 -0
  28. package/dist/common/env.js.map +1 -0
  29. package/dist/common/jsx.d.ts +17 -15
  30. package/dist/common/jsx.d.ts.map +1 -1
  31. package/dist/common/jsx.js +8 -1
  32. package/dist/common/jsx.js.map +1 -0
  33. package/dist/common/props.d.ts +14 -11
  34. package/dist/common/props.d.ts.map +1 -1
  35. package/dist/common/router.d.ts +190 -32
  36. package/dist/common/router.d.ts.map +1 -1
  37. package/dist/common/ssr-errors.d.ts +6 -3
  38. package/dist/common/ssr-errors.d.ts.map +1 -1
  39. package/dist/common/ssr-errors.js +16 -1
  40. package/dist/common/ssr-errors.js.map +1 -0
  41. package/dist/common/ssr.d.ts +12 -9
  42. package/dist/common/ssr.d.ts.map +1 -1
  43. package/dist/common/vnode.d.ts +17 -15
  44. package/dist/common/vnode.d.ts.map +1 -1
  45. package/dist/common/vnode.js +10 -1
  46. package/dist/common/vnode.js.map +1 -0
  47. package/dist/components/link.d.ts +37 -25
  48. package/dist/components/link.d.ts.map +1 -1
  49. package/dist/components/link.js +64 -1
  50. package/dist/components/link.js.map +1 -0
  51. package/dist/control/case.d.ts +17 -0
  52. package/dist/control/case.d.ts.map +1 -0
  53. package/dist/control/case.js +69 -0
  54. package/dist/control/case.js.map +1 -0
  55. package/dist/control/for.d.ts +23 -0
  56. package/dist/control/for.d.ts.map +1 -0
  57. package/dist/control/for.js +62 -0
  58. package/dist/control/for.js.map +1 -0
  59. package/dist/control/index.d.ts +4 -0
  60. package/dist/control/index.js +4 -0
  61. package/dist/control/shared.js +20 -0
  62. package/dist/control/shared.js.map +1 -0
  63. package/dist/control/show.d.ts +14 -0
  64. package/dist/control/show.d.ts.map +1 -0
  65. package/dist/control/show.js +33 -0
  66. package/dist/control/show.js.map +1 -0
  67. package/dist/dev/invariant.js +29 -2
  68. package/dist/dev/invariant.js.map +1 -0
  69. package/dist/dev/logger.js +37 -1
  70. package/dist/dev/logger.js.map +1 -0
  71. package/dist/foundations/icon/icon.d.ts +53 -0
  72. package/dist/foundations/icon/icon.d.ts.map +1 -0
  73. package/dist/foundations/icon/icon.js +88 -0
  74. package/dist/foundations/icon/icon.js.map +1 -0
  75. package/dist/foundations/icon/icon.types.d.ts +21 -0
  76. package/dist/foundations/icon/icon.types.d.ts.map +1 -0
  77. package/dist/foundations/index.d.ts +10 -3
  78. package/dist/foundations/index.js +9 -1
  79. package/dist/foundations/interactions/interaction-policy.js +93 -1
  80. package/dist/foundations/interactions/interaction-policy.js.map +1 -0
  81. package/dist/foundations/interactions/pressable.js +51 -1
  82. package/dist/foundations/interactions/pressable.js.map +1 -0
  83. package/dist/foundations/structures/collection.d.ts +25 -40
  84. package/dist/foundations/structures/collection.d.ts.map +1 -1
  85. package/dist/foundations/structures/collection.js +51 -1
  86. package/dist/foundations/structures/collection.js.map +1 -0
  87. package/dist/foundations/structures/layer.d.ts +47 -68
  88. package/dist/foundations/structures/layer.d.ts.map +1 -1
  89. package/dist/foundations/structures/layer.js +81 -1
  90. package/dist/foundations/structures/layer.js.map +1 -0
  91. package/dist/foundations/structures/layout.d.ts +6 -3
  92. package/dist/foundations/structures/layout.d.ts.map +1 -1
  93. package/dist/foundations/structures/layout.js +13 -1
  94. package/dist/foundations/structures/layout.js.map +1 -0
  95. package/dist/foundations/structures/portal.d.ts +17 -10
  96. package/dist/foundations/structures/portal.d.ts.map +1 -1
  97. package/dist/foundations/structures/portal.js +105 -1
  98. package/dist/foundations/structures/portal.js.map +1 -0
  99. package/dist/foundations/structures/presence.d.ts +11 -5
  100. package/dist/foundations/structures/presence.d.ts.map +1 -1
  101. package/dist/foundations/structures/presence.js +39 -1
  102. package/dist/foundations/structures/presence.js.map +1 -0
  103. package/dist/foundations/structures/slot.d.ts +11 -8
  104. package/dist/foundations/structures/slot.d.ts.map +1 -1
  105. package/dist/foundations/structures/slot.js +41 -1
  106. package/dist/foundations/structures/slot.js.map +1 -0
  107. package/dist/foundations/structures.d.ts +7 -14
  108. package/dist/foundations/structures.js +6 -1
  109. package/dist/foundations/utilities/aria.js +11 -1
  110. package/dist/foundations/utilities/aria.js.map +1 -0
  111. package/dist/foundations/utilities/compose-handlers.js +20 -1
  112. package/dist/foundations/utilities/compose-handlers.js.map +1 -0
  113. package/dist/foundations/utilities/compose-ref.d.ts +7 -4
  114. package/dist/foundations/utilities/compose-ref.d.ts.map +1 -1
  115. package/dist/foundations/utilities/compose-ref.js +18 -1
  116. package/dist/foundations/utilities/compose-ref.js.map +1 -0
  117. package/dist/foundations/utilities/merge-props.js +49 -1
  118. package/dist/foundations/utilities/merge-props.js.map +1 -0
  119. package/dist/fx/fx.d.ts +24 -21
  120. package/dist/fx/fx.d.ts.map +1 -1
  121. package/dist/fx/fx.js +212 -1
  122. package/dist/fx/fx.js.map +1 -0
  123. package/dist/fx/index.d.ts +4 -7
  124. package/dist/fx/index.js +4 -1
  125. package/dist/fx/noop.js +9 -1
  126. package/dist/fx/noop.js.map +1 -0
  127. package/dist/fx/timing.d.ts +24 -21
  128. package/dist/fx/timing.d.ts.map +1 -1
  129. package/dist/fx/timing.js +236 -1
  130. package/dist/fx/timing.js.map +1 -0
  131. package/dist/index.d.ts +21 -23
  132. package/dist/index.js +34 -1
  133. package/dist/index.js.map +1 -0
  134. package/dist/jsx/index.d.ts +1 -4
  135. package/dist/jsx/index.js +3 -1
  136. package/dist/jsx/types.d.ts +18 -25
  137. package/dist/jsx/types.d.ts.map +1 -1
  138. package/dist/jsx/types.js +1 -1
  139. package/dist/jsx/utils.d.ts +4 -3
  140. package/dist/jsx/utils.d.ts.map +1 -1
  141. package/dist/jsx/utils.js +19 -1
  142. package/dist/jsx/utils.js.map +1 -0
  143. package/dist/jsx-dev-runtime.d.ts +8 -0
  144. package/dist/jsx-dev-runtime.d.ts.map +1 -0
  145. package/dist/jsx-dev-runtime.js +32 -1
  146. package/dist/jsx-dev-runtime.js.map +1 -0
  147. package/dist/jsx-runtime.d.ts +12 -0
  148. package/dist/jsx-runtime.d.ts.map +1 -0
  149. package/dist/jsx-runtime.js +45 -1
  150. package/dist/jsx-runtime.js.map +1 -0
  151. package/dist/jsx-runtime2.d.ts +2 -0
  152. package/dist/jsx-runtime2.js +3 -0
  153. package/dist/renderer/children.js +293 -0
  154. package/dist/renderer/children.js.map +1 -0
  155. package/dist/renderer/cleanup.js +150 -1
  156. package/dist/renderer/cleanup.js.map +1 -0
  157. package/dist/renderer/dom.js +2439 -1
  158. package/dist/renderer/dom.js.map +1 -0
  159. package/dist/renderer/env.js +1 -0
  160. package/dist/renderer/evaluate.js +450 -1
  161. package/dist/renderer/evaluate.js.map +1 -0
  162. package/dist/renderer/fastpath.js +145 -1
  163. package/dist/renderer/fastpath.js.map +1 -0
  164. package/dist/renderer/index.js +24 -1
  165. package/dist/renderer/index.js.map +1 -0
  166. package/dist/renderer/keyed.js +119 -1
  167. package/dist/renderer/keyed.js.map +1 -0
  168. package/dist/renderer/reconcile.js +359 -1
  169. package/dist/renderer/reconcile.js.map +1 -0
  170. package/dist/renderer/types.js +1 -1
  171. package/dist/renderer/utils.js +220 -1
  172. package/dist/renderer/utils.js.map +1 -0
  173. package/dist/resources/index.d.ts +3 -9
  174. package/dist/resources/index.js +3 -1
  175. package/dist/router/index.d.ts +6 -10
  176. package/dist/router/index.js +5 -1
  177. package/dist/router/match.js +83 -1
  178. package/dist/router/match.js.map +1 -0
  179. package/dist/router/navigate.d.ts +20 -8
  180. package/dist/router/navigate.d.ts.map +1 -1
  181. package/dist/router/navigate.js +288 -1
  182. package/dist/router/navigate.js.map +1 -0
  183. package/dist/router/policy.d.ts +22 -0
  184. package/dist/router/policy.d.ts.map +1 -0
  185. package/dist/router/policy.js +116 -0
  186. package/dist/router/policy.js.map +1 -0
  187. package/dist/router/route-context.js +79 -0
  188. package/dist/router/route-context.js.map +1 -0
  189. package/dist/router/route.d.ts +101 -34
  190. package/dist/router/route.d.ts.map +1 -1
  191. package/dist/router/route.js +599 -1
  192. package/dist/router/route.js.map +1 -0
  193. package/dist/runtime/child-scope.d.ts +21 -0
  194. package/dist/runtime/child-scope.d.ts.map +1 -0
  195. package/dist/runtime/child-scope.js +77 -0
  196. package/dist/runtime/child-scope.js.map +1 -0
  197. package/dist/runtime/component.d.ts +67 -56
  198. package/dist/runtime/component.d.ts.map +1 -1
  199. package/dist/runtime/component.js +462 -1
  200. package/dist/runtime/component.js.map +1 -0
  201. package/dist/runtime/context.d.ts +28 -42
  202. package/dist/runtime/context.d.ts.map +1 -1
  203. package/dist/runtime/context.js +205 -1
  204. package/dist/runtime/context.js.map +1 -0
  205. package/dist/runtime/control.d.ts +43 -0
  206. package/dist/runtime/control.d.ts.map +1 -0
  207. package/dist/runtime/control.js +125 -0
  208. package/dist/runtime/control.js.map +1 -0
  209. package/dist/runtime/derive.d.ts +12 -9
  210. package/dist/runtime/derive.d.ts.map +1 -1
  211. package/dist/runtime/derive.js +134 -1
  212. package/dist/runtime/derive.js.map +1 -0
  213. package/dist/runtime/dev-namespace.js +57 -1
  214. package/dist/runtime/dev-namespace.js.map +1 -0
  215. package/dist/runtime/effect.d.ts +32 -0
  216. package/dist/runtime/effect.d.ts.map +1 -0
  217. package/dist/runtime/effect.js +146 -0
  218. package/dist/runtime/effect.js.map +1 -0
  219. package/dist/runtime/events.js +162 -1
  220. package/dist/runtime/events.js.map +1 -0
  221. package/dist/runtime/execution-model.js +15 -1
  222. package/dist/runtime/execution-model.js.map +1 -0
  223. package/dist/runtime/fastlane.js +204 -1
  224. package/dist/runtime/fastlane.js.map +1 -0
  225. package/dist/runtime/for-bench.d.ts +41 -0
  226. package/dist/runtime/for-bench.d.ts.map +1 -0
  227. package/dist/runtime/for-bench.js +173 -0
  228. package/dist/runtime/for-bench.js.map +1 -0
  229. package/dist/runtime/for.d.ts +62 -49
  230. package/dist/runtime/for.d.ts.map +1 -1
  231. package/dist/runtime/for.js +668 -1
  232. package/dist/runtime/for.js.map +1 -0
  233. package/dist/runtime/operations.d.ts +18 -15
  234. package/dist/runtime/operations.d.ts.map +1 -1
  235. package/dist/runtime/operations.js +209 -1
  236. package/dist/runtime/operations.js.map +1 -0
  237. package/dist/runtime/perf-metrics.js +64 -1
  238. package/dist/runtime/perf-metrics.js.map +1 -0
  239. package/dist/runtime/readable.d.ts +24 -18
  240. package/dist/runtime/readable.d.ts.map +1 -1
  241. package/dist/runtime/readable.js +118 -1
  242. package/dist/runtime/readable.js.map +1 -0
  243. package/dist/runtime/resource-cell.js +102 -1
  244. package/dist/runtime/resource-cell.js.map +1 -0
  245. package/dist/runtime/scheduler.d.ts +51 -50
  246. package/dist/runtime/scheduler.d.ts.map +1 -1
  247. package/dist/runtime/scheduler.js +328 -1
  248. package/dist/runtime/scheduler.js.map +1 -0
  249. package/dist/runtime/selector.d.ts +7 -5
  250. package/dist/runtime/selector.d.ts.map +1 -1
  251. package/dist/runtime/selector.js +188 -1
  252. package/dist/runtime/selector.js.map +1 -0
  253. package/dist/runtime/ssr-bridge.js +24 -1
  254. package/dist/runtime/ssr-bridge.js.map +1 -0
  255. package/dist/runtime/state.d.ts +11 -19
  256. package/dist/runtime/state.d.ts.map +1 -1
  257. package/dist/runtime/state.js +99 -1
  258. package/dist/runtime/state.js.map +1 -0
  259. package/dist/ssg/batch-render.d.ts +10 -10
  260. package/dist/ssg/batch-render.d.ts.map +1 -1
  261. package/dist/ssg/batch-render.js +84 -1
  262. package/dist/ssg/batch-render.js.map +1 -0
  263. package/dist/ssg/create-static-gen.d.ts +28 -29
  264. package/dist/ssg/create-static-gen.d.ts.map +1 -1
  265. package/dist/ssg/create-static-gen.js +282 -1
  266. package/dist/ssg/create-static-gen.js.map +1 -0
  267. package/dist/ssg/generate-metadata.d.ts +12 -15
  268. package/dist/ssg/generate-metadata.d.ts.map +1 -1
  269. package/dist/ssg/generate-metadata.js +94 -1
  270. package/dist/ssg/generate-metadata.js.map +1 -0
  271. package/dist/ssg/incremental-manifest.js +56 -1
  272. package/dist/ssg/incremental-manifest.js.map +1 -0
  273. package/dist/ssg/index.d.ts +8 -28
  274. package/dist/ssg/index.js +7 -1
  275. package/dist/ssg/resolve-ssg-data.d.ts +10 -13
  276. package/dist/ssg/resolve-ssg-data.d.ts.map +1 -1
  277. package/dist/ssg/resolve-ssg-data.js +46 -1
  278. package/dist/ssg/resolve-ssg-data.js.map +1 -0
  279. package/dist/ssg/route-utils.d.ts +14 -10
  280. package/dist/ssg/route-utils.d.ts.map +1 -1
  281. package/dist/ssg/route-utils.js +24 -1
  282. package/dist/ssg/route-utils.js.map +1 -0
  283. package/dist/ssg/types.d.ts +157 -144
  284. package/dist/ssg/types.d.ts.map +1 -1
  285. package/dist/ssg/write-static-files.d.ts +8 -14
  286. package/dist/ssg/write-static-files.d.ts.map +1 -1
  287. package/dist/ssg/write-static-files.js +73 -1
  288. package/dist/ssg/write-static-files.js.map +1 -0
  289. package/dist/ssr/attrs.js +93 -1
  290. package/dist/ssr/attrs.js.map +1 -0
  291. package/dist/ssr/context.d.ts +31 -35
  292. package/dist/ssr/context.d.ts.map +1 -1
  293. package/dist/ssr/context.js +63 -1
  294. package/dist/ssr/context.js.map +1 -0
  295. package/dist/ssr/errors.d.ts +6 -4
  296. package/dist/ssr/errors.d.ts.map +1 -1
  297. package/dist/ssr/errors.js +4 -1
  298. package/dist/ssr/errors.js.map +1 -0
  299. package/dist/ssr/escape.js +153 -1
  300. package/dist/ssr/escape.js.map +1 -0
  301. package/dist/ssr/index.d.ts +74 -72
  302. package/dist/ssr/index.d.ts.map +1 -1
  303. package/dist/ssr/index.js +543 -1
  304. package/dist/ssr/index.js.map +1 -0
  305. package/dist/ssr/render-keys.d.ts +27 -29
  306. package/dist/ssr/render-keys.d.ts.map +1 -1
  307. package/dist/ssr/render-keys.js +39 -1
  308. package/dist/ssr/render-keys.js.map +1 -0
  309. package/dist/ssr/sink.js +86 -1
  310. package/dist/ssr/sink.js.map +1 -0
  311. package/dist/ssr/stream-render.js +76 -1
  312. package/dist/ssr/stream-render.js.map +1 -0
  313. package/dist/ssr/types.d.ts +14 -13
  314. package/dist/ssr/types.d.ts.map +1 -1
  315. package/package.json +49 -69
  316. package/dist/_virtual/___vite-browser-external.js +0 -1
  317. package/dist/_virtual/__vite-browser-external.js +0 -1
  318. package/dist/_virtual/_commonjsHelpers.js +0 -1
  319. package/dist/_virtual/_fs.js +0 -1
  320. package/dist/_virtual/_path.js +0 -1
  321. package/dist/_virtual/main.js +0 -1
  322. package/dist/_virtual/preload-helper.js +0 -1
  323. package/dist/bench/benchmark-entry.d.ts +0 -14
  324. package/dist/bench/benchmark-entry.d.ts.map +0 -1
  325. package/dist/common/errors.d.ts +0 -53
  326. package/dist/common/errors.d.ts.map +0 -1
  327. package/dist/common/index.d.ts +0 -14
  328. package/dist/common/index.d.ts.map +0 -1
  329. package/dist/dev/invariant.d.ts +0 -83
  330. package/dist/dev/invariant.d.ts.map +0 -1
  331. package/dist/dev/logger.d.ts +0 -13
  332. package/dist/dev/logger.d.ts.map +0 -1
  333. package/dist/dev/vite-plugin-askr.d.ts +0 -25
  334. package/dist/dev/vite-plugin-askr.d.ts.map +0 -1
  335. package/dist/dev/warnings.d.ts +0 -5
  336. package/dist/dev/warnings.d.ts.map +0 -1
  337. package/dist/for/for.d.ts +0 -16
  338. package/dist/for/for.d.ts.map +0 -1
  339. package/dist/for/for.js +0 -1
  340. package/dist/for/index.d.ts +0 -2
  341. package/dist/for/index.d.ts.map +0 -1
  342. package/dist/for/index.js +0 -1
  343. package/dist/foundations/core.d.ts +0 -23
  344. package/dist/foundations/core.d.ts.map +0 -1
  345. package/dist/foundations/core.js +0 -1
  346. package/dist/foundations/index.d.ts.map +0 -1
  347. package/dist/foundations/interactions/dismissable.d.ts +0 -58
  348. package/dist/foundations/interactions/dismissable.d.ts.map +0 -1
  349. package/dist/foundations/interactions/dismissable.js +0 -1
  350. package/dist/foundations/interactions/focusable.d.ts +0 -16
  351. package/dist/foundations/interactions/focusable.d.ts.map +0 -1
  352. package/dist/foundations/interactions/focusable.js +0 -1
  353. package/dist/foundations/interactions/hoverable.d.ts +0 -19
  354. package/dist/foundations/interactions/hoverable.d.ts.map +0 -1
  355. package/dist/foundations/interactions/hoverable.js +0 -1
  356. package/dist/foundations/interactions/index.d.ts +0 -5
  357. package/dist/foundations/interactions/index.d.ts.map +0 -1
  358. package/dist/foundations/interactions/interaction-policy.d.ts +0 -96
  359. package/dist/foundations/interactions/interaction-policy.d.ts.map +0 -1
  360. package/dist/foundations/interactions/pressable.d.ts +0 -54
  361. package/dist/foundations/interactions/pressable.d.ts.map +0 -1
  362. package/dist/foundations/interactions/roving-focus.d.ts +0 -117
  363. package/dist/foundations/interactions/roving-focus.d.ts.map +0 -1
  364. package/dist/foundations/interactions/roving-focus.js +0 -1
  365. package/dist/foundations/state/controllable.d.ts +0 -53
  366. package/dist/foundations/state/controllable.d.ts.map +0 -1
  367. package/dist/foundations/state/controllable.js +0 -1
  368. package/dist/foundations/state/index.d.ts +0 -2
  369. package/dist/foundations/state/index.d.ts.map +0 -1
  370. package/dist/foundations/structures/index.d.ts +0 -5
  371. package/dist/foundations/structures/index.d.ts.map +0 -1
  372. package/dist/foundations/structures.d.ts.map +0 -1
  373. package/dist/foundations/utilities/aria.d.ts +0 -13
  374. package/dist/foundations/utilities/aria.d.ts.map +0 -1
  375. package/dist/foundations/utilities/compose-handlers.d.ts +0 -34
  376. package/dist/foundations/utilities/compose-handlers.d.ts.map +0 -1
  377. package/dist/foundations/utilities/event-types.d.ts +0 -17
  378. package/dist/foundations/utilities/event-types.d.ts.map +0 -1
  379. package/dist/foundations/utilities/index.d.ts +0 -7
  380. package/dist/foundations/utilities/index.d.ts.map +0 -1
  381. package/dist/foundations/utilities/merge-props.d.ts +0 -2
  382. package/dist/foundations/utilities/merge-props.d.ts.map +0 -1
  383. package/dist/foundations/utilities/use-id.d.ts +0 -29
  384. package/dist/foundations/utilities/use-id.d.ts.map +0 -1
  385. package/dist/foundations/utilities/use-id.js +0 -1
  386. package/dist/fx/index.d.ts.map +0 -1
  387. package/dist/fx/noop.d.ts +0 -12
  388. package/dist/fx/noop.d.ts.map +0 -1
  389. package/dist/index.d.ts.map +0 -1
  390. package/dist/jsx/index.d.ts.map +0 -1
  391. package/dist/jsx/jsx-dev-runtime.d.ts +0 -4
  392. package/dist/jsx/jsx-dev-runtime.d.ts.map +0 -1
  393. package/dist/jsx/jsx-runtime.d.ts +0 -10
  394. package/dist/jsx/jsx-runtime.d.ts.map +0 -1
  395. package/dist/node_modules/esbuild/lib/main.js +0 -65
  396. package/dist/renderer/cleanup.d.ts +0 -28
  397. package/dist/renderer/cleanup.d.ts.map +0 -1
  398. package/dist/renderer/dom.d.ts +0 -64
  399. package/dist/renderer/dom.d.ts.map +0 -1
  400. package/dist/renderer/evaluate.d.ts +0 -4
  401. package/dist/renderer/evaluate.d.ts.map +0 -1
  402. package/dist/renderer/fastpath.d.ts +0 -7
  403. package/dist/renderer/fastpath.d.ts.map +0 -1
  404. package/dist/renderer/index.d.ts +0 -6
  405. package/dist/renderer/index.d.ts.map +0 -1
  406. package/dist/renderer/keyed.d.ts +0 -23
  407. package/dist/renderer/keyed.d.ts.map +0 -1
  408. package/dist/renderer/reconcile.d.ts +0 -88
  409. package/dist/renderer/reconcile.d.ts.map +0 -1
  410. package/dist/renderer/types.d.ts +0 -3
  411. package/dist/renderer/types.d.ts.map +0 -1
  412. package/dist/renderer/utils.d.ts +0 -63
  413. package/dist/renderer/utils.d.ts.map +0 -1
  414. package/dist/resources/index.d.ts.map +0 -1
  415. package/dist/router/index.d.ts.map +0 -1
  416. package/dist/router/match.d.ts +0 -22
  417. package/dist/router/match.d.ts.map +0 -1
  418. package/dist/runtime/dev-namespace.d.ts +0 -31
  419. package/dist/runtime/dev-namespace.d.ts.map +0 -1
  420. package/dist/runtime/events.d.ts +0 -53
  421. package/dist/runtime/events.d.ts.map +0 -1
  422. package/dist/runtime/execution-model.d.ts +0 -4
  423. package/dist/runtime/execution-model.d.ts.map +0 -1
  424. package/dist/runtime/fastlane.d.ts +0 -27
  425. package/dist/runtime/fastlane.d.ts.map +0 -1
  426. package/dist/runtime/hydration.d.ts +0 -25
  427. package/dist/runtime/hydration.d.ts.map +0 -1
  428. package/dist/runtime/perf-metrics.d.ts +0 -25
  429. package/dist/runtime/perf-metrics.d.ts.map +0 -1
  430. package/dist/runtime/resource-cell.d.ts +0 -35
  431. package/dist/runtime/resource-cell.d.ts.map +0 -1
  432. package/dist/runtime/snapshot.d.ts +0 -25
  433. package/dist/runtime/snapshot.d.ts.map +0 -1
  434. package/dist/runtime/ssr-bridge.d.ts +0 -10
  435. package/dist/runtime/ssr-bridge.d.ts.map +0 -1
  436. package/dist/ssg/discover-resources.d.ts +0 -15
  437. package/dist/ssg/discover-resources.d.ts.map +0 -1
  438. package/dist/ssg/incremental-manifest.d.ts +0 -23
  439. package/dist/ssg/incremental-manifest.d.ts.map +0 -1
  440. package/dist/ssg/index.d.ts.map +0 -1
  441. package/dist/ssr/attrs.d.ts +0 -26
  442. package/dist/ssr/attrs.d.ts.map +0 -1
  443. package/dist/ssr/create-ssr.d.ts +0 -19
  444. package/dist/ssr/create-ssr.d.ts.map +0 -1
  445. package/dist/ssr/escape.d.ts +0 -38
  446. package/dist/ssr/escape.d.ts.map +0 -1
  447. package/dist/ssr/sink.d.ts +0 -23
  448. package/dist/ssr/sink.d.ts.map +0 -1
  449. package/dist/ssr/stream-render.d.ts +0 -7
  450. package/dist/ssr/stream-render.d.ts.map +0 -1
  451. package/dist/vite/index.js +0 -4
@@ -1,14 +1,10 @@
1
- /**
2
- * Data resolution for SSG
3
- *
4
- * Merges user-supplied data overrides with any auto-discovered resources.
5
- * In phase 1, primarily handles user-supplied data.
6
- */
7
- import type { SSRData } from '../common/ssr';
8
- import type { RouteConfig } from './types';
1
+ import { RouteConfig } from "./types.js";
2
+ import { SSRData } from "../common/ssr.js";
3
+
4
+ //#region src/ssg/resolve-ssg-data.d.ts
9
5
  interface DataResolutionOptions {
10
- /** User-supplied data overrides per route path */
11
- dataOverrides?: Record<string, unknown>;
6
+ /** User-supplied data overrides per route path */
7
+ dataOverrides?: Record<string, unknown>;
12
8
  }
13
9
  /**
14
10
  * Resolve and validate data for SSG routes
@@ -17,10 +13,11 @@ interface DataResolutionOptions {
17
13
  * In phase 1: accepts user-supplied dataOverrides
18
14
  * In phase 2: can be extended to auto-discover resources
19
15
  */
20
- export declare function resolveSsgData(routes: RouteConfig[], options?: DataResolutionOptions): Record<string, SSRData>;
16
+ declare function resolveSsgData(routes: RouteConfig[], options?: DataResolutionOptions): Record<string, SSRData>;
21
17
  /**
22
18
  * Validate routes are properly configured
23
19
  */
24
- export declare function validateRoutes(routes: RouteConfig[]): void;
25
- export {};
20
+ declare function validateRoutes(routes: RouteConfig[]): void;
21
+ //#endregion
22
+ export { resolveSsgData, validateRoutes };
26
23
  //# sourceMappingURL=resolve-ssg-data.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-ssg-data.d.ts","sourceRoot":"","sources":["../../src/ssg/resolve-ssg-data.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,UAAU,qBAAqB;IAC7B,kDAAkD;IAClD,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,WAAW,EAAE,EACrB,OAAO,GAAE,qBAA0B,GAClC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoBzB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAkE1D"}
1
+ {"version":3,"file":"resolve-ssg-data.d.ts","names":[],"sources":["../../src/ssg/resolve-ssg-data.ts"],"mappings":";;;;UAUU,qBAAA;EAYM;EAVd,aAAA,GAAgB,MAAA;AAAA;;;;;;;;iBAUF,cAAA,CACd,MAAA,EAAQ,WAAA,IACR,OAAA,GAAS,qBAAA,GACR,MAAA,SAAe,OAAA;;;;iBAyBF,cAAA,CAAe,MAAA,EAAQ,WAAA"}
@@ -1 +1,46 @@
1
- function s(o,e={}){const{dataOverrides:t={}}=e,i={};for(const a of o)if(a.path in t){const r=t[a.path];if(typeof r!="object"||r===null||Array.isArray(r))throw new Error(`data for route "${a.path}" must be an object, got ${typeof r}`);i[a.path]=r}return i}function h(o){if(!Array.isArray(o))throw new Error("routes must be an array");if(o.length===0)throw new Error("routes array cannot be empty");const e=new Set;for(const t of o){if(typeof t.path!="string"||!t.path.startsWith("/"))throw new Error(`route path must be a string starting with "/", got "${t.path}"`);if(typeof(t.handler??t.component)!="function")throw new Error(`route handler must be a function for path "${t.path}"`);const a=`${t.path}::${JSON.stringify(t.params||{})}`;if(e.has(a))throw new Error(`duplicate route entry detected for path "${t.path}"`);if(e.add(a),t.path.includes("{")){const r=Array.from(t.path.matchAll(/\{([^}]+)\}/g)).map(n=>n[1]);if(!t.params)throw new Error(`route "${t.path}" uses path parameters and requires params`);for(const n of r)if(!(n in t.params))throw new Error(`route "${t.path}" missing required param "${n}"`)}if(t.invalidationKeys!==void 0){if(!Array.isArray(t.invalidationKeys))throw new Error(`route "${t.path}" invalidationKeys must be an array of strings`);for(const r of t.invalidationKeys)if(typeof r!="string"||r.length===0)throw new Error(`route "${t.path}" invalidationKeys must contain only non-empty strings`)}}}export{s as resolveSsgData,h as validateRoutes};
1
+ //#region src/ssg/resolve-ssg-data.ts
2
+ /**
3
+ * Resolve and validate data for SSG routes
4
+ * Returns a map of route path -> SSRData
5
+ *
6
+ * In phase 1: accepts user-supplied dataOverrides
7
+ * In phase 2: can be extended to auto-discover resources
8
+ */
9
+ function resolveSsgData(routes, options = {}) {
10
+ const { dataOverrides = {} } = options;
11
+ const dataMap = {};
12
+ for (const route of routes) if (route.path in dataOverrides) {
13
+ const data = dataOverrides[route.path];
14
+ if (typeof data !== "object" || data === null || Array.isArray(data)) throw new Error(`data for route "${route.path}" must be an object, got ${typeof data}`);
15
+ dataMap[route.path] = data;
16
+ }
17
+ return dataMap;
18
+ }
19
+ /**
20
+ * Validate routes are properly configured
21
+ */
22
+ function validateRoutes(routes) {
23
+ if (!Array.isArray(routes)) throw new Error("routes must be an array");
24
+ if (routes.length === 0) throw new Error("routes array cannot be empty");
25
+ const seen = /* @__PURE__ */ new Set();
26
+ for (const route of routes) {
27
+ if (typeof route.path !== "string" || !route.path.startsWith("/")) throw new Error(`route path must be a string starting with "/", got "${route.path}"`);
28
+ if (typeof (route.handler ?? route.component) !== "function") throw new Error(`route handler must be a function for path "${route.path}"`);
29
+ const key = `${route.path}::${JSON.stringify(route.params || {})}`;
30
+ if (seen.has(key)) throw new Error(`duplicate route entry detected for path "${route.path}"`);
31
+ seen.add(key);
32
+ if (route.path.includes("{")) {
33
+ const paramNames = Array.from(route.path.matchAll(/\{([^}]+)\}/g)).map((m) => m[1]);
34
+ if (!route.params) throw new Error(`route "${route.path}" uses path parameters and requires params`);
35
+ for (const name of paramNames) if (!(name in route.params)) throw new Error(`route "${route.path}" missing required param "${name}"`);
36
+ }
37
+ if (route.invalidationKeys !== void 0) {
38
+ if (!Array.isArray(route.invalidationKeys)) throw new Error(`route "${route.path}" invalidationKeys must be an array of strings`);
39
+ for (const key of route.invalidationKeys) if (typeof key !== "string" || key.length === 0) throw new Error(`route "${route.path}" invalidationKeys must contain only non-empty strings`);
40
+ }
41
+ }
42
+ }
43
+ //#endregion
44
+ export { resolveSsgData, validateRoutes };
45
+
46
+ //# sourceMappingURL=resolve-ssg-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-ssg-data.js","names":[],"sources":["../../src/ssg/resolve-ssg-data.ts"],"sourcesContent":["/**\n * Data resolution for SSG\n *\n * Merges user-supplied data overrides with any auto-discovered resources.\n * In phase 1, primarily handles user-supplied data.\n */\n\nimport type { SSRData } from '../common/ssr';\nimport type { RouteConfig } from './types';\n\ninterface DataResolutionOptions {\n /** User-supplied data overrides per route path */\n dataOverrides?: Record<string, unknown>;\n}\n\n/**\n * Resolve and validate data for SSG routes\n * Returns a map of route path -> SSRData\n *\n * In phase 1: accepts user-supplied dataOverrides\n * In phase 2: can be extended to auto-discover resources\n */\nexport function resolveSsgData(\n routes: RouteConfig[],\n options: DataResolutionOptions = {}\n): Record<string, SSRData> {\n const { dataOverrides = {} } = options;\n const dataMap: Record<string, SSRData> = {};\n\n for (const route of routes) {\n // Check if user provided data for this route\n if (route.path in dataOverrides) {\n const data = dataOverrides[route.path];\n if (typeof data !== 'object' || data === null || Array.isArray(data)) {\n throw new Error(\n `data for route \"${route.path}\" must be an object, got ${typeof data}`\n );\n }\n dataMap[route.path] = data as SSRData;\n }\n // In phase 1, routes without data are rendered with no SSR data\n // Phase 2 can add auto-discovery here\n }\n\n return dataMap;\n}\n\n/**\n * Validate routes are properly configured\n */\nexport function validateRoutes(routes: RouteConfig[]): void {\n if (!Array.isArray(routes)) {\n throw new Error('routes must be an array');\n }\n\n if (routes.length === 0) {\n throw new Error('routes array cannot be empty');\n }\n\n const seen = new Set<string>();\n\n for (const route of routes) {\n if (typeof route.path !== 'string' || !route.path.startsWith('/')) {\n throw new Error(\n `route path must be a string starting with \"/\", got \"${route.path}\"`\n );\n }\n\n const handler = route.handler ?? route.component;\n if (typeof handler !== 'function') {\n throw new Error(\n `route handler must be a function for path \"${route.path}\"`\n );\n }\n\n const key = `${route.path}::${JSON.stringify(route.params || {})}`;\n if (seen.has(key)) {\n throw new Error(\n `duplicate route entry detected for path \"${route.path}\"`\n );\n }\n seen.add(key);\n\n if (route.path.includes('{')) {\n const paramNames = Array.from(route.path.matchAll(/\\{([^}]+)\\}/g)).map(\n (m) => m[1]\n );\n if (!route.params) {\n throw new Error(\n `route \"${route.path}\" uses path parameters and requires params`\n );\n }\n for (const name of paramNames) {\n if (!(name in route.params)) {\n throw new Error(\n `route \"${route.path}\" missing required param \"${name}\"`\n );\n }\n }\n }\n\n if (route.invalidationKeys !== undefined) {\n if (!Array.isArray(route.invalidationKeys)) {\n throw new Error(\n `route \"${route.path}\" invalidationKeys must be an array of strings`\n );\n }\n for (const key of route.invalidationKeys) {\n if (typeof key !== 'string' || key.length === 0) {\n throw new Error(\n `route \"${route.path}\" invalidationKeys must contain only non-empty strings`\n );\n }\n }\n }\n }\n}\n"],"mappings":";;;;;;;;AAsBA,SAAgB,eACd,QACA,UAAiC,EAAE,EACV;CACzB,MAAM,EAAE,gBAAgB,EAAE,KAAK;CAC/B,MAAM,UAAmC,EAAE;AAE3C,MAAK,MAAM,SAAS,OAElB,KAAI,MAAM,QAAQ,eAAe;EAC/B,MAAM,OAAO,cAAc,MAAM;AACjC,MAAI,OAAO,SAAS,YAAY,SAAS,QAAQ,MAAM,QAAQ,KAAK,CAClE,OAAM,IAAI,MACR,mBAAmB,MAAM,KAAK,2BAA2B,OAAO,OACjE;AAEH,UAAQ,MAAM,QAAQ;;AAM1B,QAAO;;;;;AAMT,SAAgB,eAAe,QAA6B;AAC1D,KAAI,CAAC,MAAM,QAAQ,OAAO,CACxB,OAAM,IAAI,MAAM,0BAA0B;AAG5C,KAAI,OAAO,WAAW,EACpB,OAAM,IAAI,MAAM,+BAA+B;CAGjD,MAAM,uBAAO,IAAI,KAAa;AAE9B,MAAK,MAAM,SAAS,QAAQ;AAC1B,MAAI,OAAO,MAAM,SAAS,YAAY,CAAC,MAAM,KAAK,WAAW,IAAI,CAC/D,OAAM,IAAI,MACR,uDAAuD,MAAM,KAAK,GACnE;AAIH,MAAI,QADY,MAAM,WAAW,MAAM,eAChB,WACrB,OAAM,IAAI,MACR,8CAA8C,MAAM,KAAK,GAC1D;EAGH,MAAM,MAAM,GAAG,MAAM,KAAK,IAAI,KAAK,UAAU,MAAM,UAAU,EAAE,CAAC;AAChE,MAAI,KAAK,IAAI,IAAI,CACf,OAAM,IAAI,MACR,4CAA4C,MAAM,KAAK,GACxD;AAEH,OAAK,IAAI,IAAI;AAEb,MAAI,MAAM,KAAK,SAAS,IAAI,EAAE;GAC5B,MAAM,aAAa,MAAM,KAAK,MAAM,KAAK,SAAS,eAAe,CAAC,CAAC,KAChE,MAAM,EAAE,GACV;AACD,OAAI,CAAC,MAAM,OACT,OAAM,IAAI,MACR,UAAU,MAAM,KAAK,4CACtB;AAEH,QAAK,MAAM,QAAQ,WACjB,KAAI,EAAE,QAAQ,MAAM,QAClB,OAAM,IAAI,MACR,UAAU,MAAM,KAAK,4BAA4B,KAAK,GACvD;;AAKP,MAAI,MAAM,qBAAqB,QAAW;AACxC,OAAI,CAAC,MAAM,QAAQ,MAAM,iBAAiB,CACxC,OAAM,IAAI,MACR,UAAU,MAAM,KAAK,gDACtB;AAEH,QAAK,MAAM,OAAO,MAAM,iBACtB,KAAI,OAAO,QAAQ,YAAY,IAAI,WAAW,EAC5C,OAAM,IAAI,MACR,UAAU,MAAM,KAAK,wDACtB"}
@@ -1,12 +1,16 @@
1
- import type { RouteConfig } from './types';
2
- export interface ResolvedRouteDescriptor {
3
- route: RouteConfig;
4
- path: string;
5
- filePath: string;
6
- routeId: string;
7
- invalidationKeys: string[];
1
+ import { RouteConfig } from "./types.js";
2
+
3
+ //#region src/ssg/route-utils.d.ts
4
+ interface ResolvedRouteDescriptor {
5
+ route: RouteConfig;
6
+ path: string;
7
+ filePath: string;
8
+ routeId: string;
9
+ invalidationKeys: string[];
8
10
  }
9
- export declare function getOutputFilePath(pathStr: string): string;
10
- export declare function interpolateRoutePath(routePath: string, params?: Record<string, string>): string;
11
- export declare function resolveRouteDescriptor(route: RouteConfig): ResolvedRouteDescriptor;
11
+ declare function getOutputFilePath(pathStr: string): string;
12
+ declare function interpolateRoutePath(routePath: string, params?: Record<string, string>): string;
13
+ declare function resolveRouteDescriptor(route: RouteConfig): ResolvedRouteDescriptor;
14
+ //#endregion
15
+ export { getOutputFilePath };
12
16
  //# sourceMappingURL=route-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"route-utils.d.ts","sourceRoot":"","sources":["../../src/ssg/route-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMzD;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,MAAM,CAMR;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,WAAW,GACjB,uBAAuB,CAUzB"}
1
+ {"version":3,"file":"route-utils.d.ts","names":[],"sources":["../../src/ssg/route-utils.ts"],"mappings":";;;UAEiB,uBAAA;EACf,KAAA,EAAO,WAAA;EACP,IAAA;EACA,QAAA;EACA,OAAA;EACA,gBAAA;AAAA;AAAA,iBAGc,iBAAA,CAAkB,OAAA;AAAA,iBAQlB,oBAAA,CACd,SAAA,UACA,MAAA,GAAS,MAAA;AAAA,iBASK,sBAAA,CACd,KAAA,EAAO,WAAA,GACN,uBAAA"}
@@ -1 +1,24 @@
1
- function r(e){return e==="/"?"index.html":`${e.replace(/^\/|\/$/g,"")}/index.html`}function l(e,n){return n?e.replace(/\{([^}]+)\}/g,(t,i)=>n[i]??""):e}function o(e){const n=l(e.path,e.params),t=r(n);return{route:e,path:n,filePath:t,routeId:`${n}::${t}`,invalidationKeys:e.invalidationKeys?.slice()??[]}}export{r as getOutputFilePath,l as interpolateRoutePath,o as resolveRouteDescriptor};
1
+ //#region src/ssg/route-utils.ts
2
+ function getOutputFilePath(pathStr) {
3
+ if (pathStr === "/") return "index.html";
4
+ return `${pathStr.replace(/^\/|\/$/g, "")}/index.html`;
5
+ }
6
+ function interpolateRoutePath(routePath, params) {
7
+ if (!params) return routePath;
8
+ return routePath.replace(/\{([^}]+)\}/g, (_, key) => params[key] ?? "");
9
+ }
10
+ function resolveRouteDescriptor(route) {
11
+ const path = interpolateRoutePath(route.path, route.params);
12
+ const filePath = getOutputFilePath(path);
13
+ return {
14
+ route,
15
+ path,
16
+ filePath,
17
+ routeId: `${path}::${filePath}`,
18
+ invalidationKeys: route.invalidationKeys?.slice() ?? []
19
+ };
20
+ }
21
+ //#endregion
22
+ export { getOutputFilePath, interpolateRoutePath, resolveRouteDescriptor };
23
+
24
+ //# sourceMappingURL=route-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-utils.js","names":[],"sources":["../../src/ssg/route-utils.ts"],"sourcesContent":["import type { RouteConfig } from './types';\n\nexport interface ResolvedRouteDescriptor {\n route: RouteConfig;\n path: string;\n filePath: string;\n routeId: string;\n invalidationKeys: string[];\n}\n\nexport function getOutputFilePath(pathStr: string): string {\n if (pathStr === '/') {\n return 'index.html';\n }\n const normalized = pathStr.replace(/^\\/|\\/$/g, '');\n return `${normalized}/index.html`;\n}\n\nexport function interpolateRoutePath(\n routePath: string,\n params?: Record<string, string>\n): string {\n if (!params) return routePath;\n return routePath.replace(\n /\\{([^}]+)\\}/g,\n (_, key: string) => params[key] ?? ''\n );\n}\n\nexport function resolveRouteDescriptor(\n route: RouteConfig\n): ResolvedRouteDescriptor {\n const path = interpolateRoutePath(route.path, route.params);\n const filePath = getOutputFilePath(path);\n return {\n route,\n path,\n filePath,\n routeId: `${path}::${filePath}`,\n invalidationKeys: route.invalidationKeys?.slice() ?? [],\n };\n}\n"],"mappings":";AAUA,SAAgB,kBAAkB,SAAyB;AACzD,KAAI,YAAY,IACd,QAAO;AAGT,QAAO,GADY,QAAQ,QAAQ,YAAY,GACrC,CAAW;;AAGvB,SAAgB,qBACd,WACA,QACQ;AACR,KAAI,CAAC,OAAQ,QAAO;AACpB,QAAO,UAAU,QACf,iBACC,GAAG,QAAgB,OAAO,QAAQ,GACpC;;AAGH,SAAgB,uBACd,OACyB;CACzB,MAAM,OAAO,qBAAqB,MAAM,MAAM,MAAM,OAAO;CAC3D,MAAM,WAAW,kBAAkB,KAAK;AACxC,QAAO;EACL;EACA;EACA;EACA,SAAS,GAAG,KAAK,IAAI;EACrB,kBAAkB,MAAM,kBAAkB,OAAO,IAAI,EAAE;EACxD"}
@@ -1,164 +1,177 @@
1
- /**
2
- * Type definitions for Static Site Generation.
3
- */
4
- import type { ComponentFunction } from '../common/component';
5
- import type { RouteHandler } from '../common/router';
6
- export type SSGMode = 'full' | 'incremental';
7
- export type RouteRenderStatus = 'success' | 'error' | 'skipped' | 'removed';
8
- export type RouteRenderReason = 'full' | 'changed-key' | 'changed-route' | 'new-route' | 'no-keys' | 'unchanged' | 'deleted';
1
+ import { ComponentFunction } from "../common/component.js";
2
+ import { RouteAuthMode, RouteHandler, RoutePolicy } from "../common/router.js";
3
+
4
+ //#region src/ssg/types.d.ts
5
+ type SSGMode = 'full' | 'incremental';
6
+ type RouteRenderStatus = 'success' | 'error' | 'skipped' | 'removed';
7
+ type RouteRenderReason = 'full' | 'changed-key' | 'changed-route' | 'new-route' | 'no-keys' | 'unchanged' | 'deleted' | 'runtime-only';
9
8
  /**
10
9
  * Route config accepted by SSG.
11
10
  *
12
11
  * `handler` is preferred and matches router/SSR naming.
13
12
  * `component` is kept for compatibility and is normalized to `handler`.
14
13
  */
15
- export interface RouteConfig {
16
- /** URL path to generate (e.g., "/blog/post-1", "/") */
17
- path: string;
18
- /** Route handler compatible with router/SSR */
19
- handler?: RouteHandler;
20
- /** Backward-compatible alias for handler */
21
- component?: ComponentFunction;
22
- /** Optional base props merged with route params during render */
23
- props?: Record<string, unknown>;
24
- /** Optional namespace for router compatibility */
25
- namespace?: string;
26
- /** Optional path parameter map for template paths like "/blog/{slug}" */
27
- params?: Record<string, string>;
28
- /** Optional explicit invalidation keys for incremental generation */
29
- invalidationKeys?: string[];
14
+ interface RouteConfig {
15
+ /** URL path to generate (e.g., "/blog/post-1", "/") */
16
+ path: string;
17
+ /** Route handler compatible with router/SSR */
18
+ handler?: RouteHandler;
19
+ /** Backward-compatible alias for handler */
20
+ component?: ComponentFunction;
21
+ /** Optional base props merged with route params during render */
22
+ props?: Record<string, unknown>;
23
+ /** Optional namespace for router compatibility */
24
+ namespace?: string;
25
+ /** Guest routes remain prerenderable; authenticated routes are runtime-only by default */
26
+ auth?: RouteAuthMode;
27
+ /** Role-gated routes are runtime-only by default */
28
+ role?: string;
29
+ /** Permission-gated routes are runtime-only by default */
30
+ permission?: string;
31
+ /** Advanced runtime access checks disable prerendering by default */
32
+ policies?: readonly RoutePolicy[];
33
+ /** Optional path parameter map for template paths like "/blog/{slug}" */
34
+ params?: Record<string, string>;
35
+ /** Optional explicit invalidation keys for incremental generation */
36
+ invalidationKeys?: string[];
37
+ /**
38
+ * SSG entry generator for parameterized routes.
39
+ *
40
+ * Return one param map per page to be generated. The path template is
41
+ * expanded with each map to produce a concrete URL, e.g.:
42
+ *
43
+ * ```ts
44
+ * route('/posts/{slug}', PostPage, {
45
+ * entries: async () => getPosts().map(p => ({ slug: p.slug })),
46
+ * });
47
+ * ```
48
+ */
49
+ entries?: () => Array<Record<string, string>> | Promise<Array<Record<string, string>>>;
30
50
  }
31
51
  /** Options for createStaticGen */
32
- export interface SSGOptions {
33
- /** Routes to generate */
34
- routes: RouteConfig[];
35
- /** Output directory for generated HTML files */
36
- outputDir: string;
37
- /** Optional seed for deterministic rendering */
38
- seed?: number;
39
- /** Optional override data for resources (route-keyed) */
40
- dataOverrides?: Record<string, unknown>;
41
- /** Optional concurrency limit for rendering (default: 10) */
42
- concurrency?: number;
43
- /** Preferred render parallelism. `'auto'` resolves from the host machine. */
44
- parallelism?: number | 'auto';
52
+ interface SSGOptions {
53
+ /** Routes to generate */
54
+ routes: RouteConfig[];
55
+ /** Output directory for generated HTML files */
56
+ outputDir: string;
57
+ /** Optional seed for deterministic rendering */
58
+ seed?: number;
59
+ /** Optional override data for resources (route-keyed) */
60
+ dataOverrides?: Record<string, unknown>;
61
+ /** Optional concurrency limit for rendering (default: 10) */
62
+ concurrency?: number;
63
+ /** Preferred render parallelism. `'auto'` resolves from the host machine. */
64
+ parallelism?: number | 'auto';
45
65
  }
46
66
  /** Options for a single generation run */
47
- export interface SSGGenerateOptions {
48
- /** Generation mode */
49
- mode?: SSGMode;
50
- /** Changed invalidation keys for incremental runs */
51
- changedKeys?: string[];
52
- /** Changed concrete route paths for incremental runs */
53
- changedRoutes?: string[];
54
- /** Force a full rebuild even when incremental mode was requested */
55
- forceFull?: boolean;
67
+ interface SSGGenerateOptions {
68
+ /** Generation mode */
69
+ mode?: SSGMode;
70
+ /** Changed invalidation keys for incremental runs */
71
+ changedKeys?: string[];
72
+ /** Changed concrete route paths for incremental runs */
73
+ changedRoutes?: string[];
74
+ /** Force a full rebuild even when incremental mode was requested */
75
+ forceFull?: boolean;
56
76
  }
57
77
  /** Result of rendering a single route */
58
- export interface RouteRenderResult {
59
- /** URL path */
60
- path: string;
61
- /** Output file path relative to outputDir */
62
- filePath: string;
63
- /** Generated HTML content */
64
- html: string;
65
- /** File size in bytes */
66
- fileSize: number;
67
- /** Render duration in milliseconds */
68
- renderDuration: number;
69
- /** Number of resources discovered and rendered */
70
- resourceCount: number;
71
- /** Render or generation status */
72
- status: RouteRenderStatus;
73
- /** Why this route was rendered, skipped, or removed */
74
- reason: RouteRenderReason;
75
- /** Whether the output file was written during this run */
76
- written: boolean;
77
- /** Error message if rendering failed */
78
- error?: string;
78
+ interface RouteRenderResult {
79
+ /** URL path */
80
+ path: string;
81
+ /** Output file path relative to outputDir */
82
+ filePath: string;
83
+ /** Generated HTML content */
84
+ html: string;
85
+ /** File size in bytes */
86
+ fileSize: number;
87
+ /** Render duration in milliseconds */
88
+ renderDuration: number;
89
+ /** Number of resources discovered and rendered */
90
+ resourceCount: number;
91
+ /** Render or generation status */
92
+ status: RouteRenderStatus;
93
+ /** Why this route was rendered, skipped, or removed */
94
+ reason: RouteRenderReason;
95
+ /** Whether the output file was written during this run */
96
+ written: boolean;
97
+ /** Error message if rendering failed */
98
+ error?: string;
79
99
  }
80
100
  /** Overall result from SSG generation */
81
- export interface SSGResult {
82
- /** ISO timestamp of generation */
83
- generatedAt: string;
84
- /** Total number of routes processed */
85
- totalRoutes: number;
86
- /** Number of successfully generated routes */
87
- successful: number;
88
- /** Number of failed routes */
89
- failed: number;
90
- /** Total generation duration in milliseconds */
91
- totalDuration: number;
92
- /** Effective generation mode */
93
- mode: SSGMode;
94
- /** Number of routes rendered during this run */
95
- rebuilt: number;
96
- /** Number of current routes skipped as unchanged */
97
- skipped: number;
98
- /** Number of stale routes removed from output */
99
- removed: number;
100
- /** Number of rendered routes whose HTML bytes were unchanged */
101
- cacheHits: number;
102
- /** Invalidation keys applied to this run */
103
- invalidatedKeys: string[];
104
- /** Concrete route paths applied to this run */
105
- invalidatedRoutes: string[];
106
- /** Per-route results */
107
- routes: RouteRenderResult[];
101
+ interface SSGResult {
102
+ /** ISO timestamp of generation */
103
+ generatedAt: string;
104
+ /** Total number of routes processed */
105
+ totalRoutes: number;
106
+ /** Number of successfully generated routes */
107
+ successful: number;
108
+ /** Number of failed routes */
109
+ failed: number;
110
+ /** Total generation duration in milliseconds */
111
+ totalDuration: number;
112
+ /** Effective generation mode */
113
+ mode: SSGMode;
114
+ /** Number of routes rendered during this run */
115
+ rebuilt: number;
116
+ /** Number of current routes skipped as unchanged */
117
+ skipped: number;
118
+ /** Number of stale routes removed from output */
119
+ removed: number;
120
+ /** Number of rendered routes whose HTML bytes were unchanged */
121
+ cacheHits: number;
122
+ /** Invalidation keys applied to this run */
123
+ invalidatedKeys: string[];
124
+ /** Concrete route paths applied to this run */
125
+ invalidatedRoutes: string[];
126
+ /** Per-route results */
127
+ routes: RouteRenderResult[];
108
128
  }
109
129
  /** Metadata to write to metadata.json */
110
- export interface SSGMetadata extends Record<string, unknown> {
111
- /** ISO timestamp of generation */
112
- generatedAt: string;
113
- /** Total number of routes processed */
114
- totalRoutes: number;
115
- /** Number of successfully generated routes */
116
- successful: number;
117
- /** Number of failed routes */
118
- failed: number;
119
- /** Total generation duration in milliseconds */
120
- totalDuration: number;
121
- /** Effective generation mode */
122
- mode: SSGMode;
123
- /** Number of routes rendered during this run */
124
- rebuilt: number;
125
- /** Number of current routes skipped as unchanged */
126
- skipped: number;
127
- /** Number of stale routes removed from output */
128
- removed: number;
129
- /** Number of rendered routes whose HTML bytes were unchanged */
130
- cacheHits: number;
131
- /** Invalidation keys applied to this run */
132
- invalidatedKeys: string[];
133
- /** Concrete route paths applied to this run */
134
- invalidatedRoutes: string[];
135
- /** Per-route details */
136
- routes: Array<{
137
- /** URL path */
138
- path: string;
139
- /** Output file path relative to outputDir */
140
- filePath: string;
141
- /** File size in bytes */
142
- fileSize: number;
143
- /** Render duration in milliseconds */
144
- renderDuration: number;
145
- /** Number of resources discovered and rendered */
146
- resourceCount: number;
147
- /** Render or generation status */
148
- status: RouteRenderStatus;
149
- /** Why this route was rendered, skipped, or removed */
150
- reason: RouteRenderReason;
151
- /** Whether the output file was written during this run */
152
- written: boolean;
153
- /** Error message if rendering failed */
154
- error?: string;
155
- }>;
130
+ interface SSGMetadata extends Record<string, unknown> {
131
+ /** ISO timestamp of generation */
132
+ generatedAt: string;
133
+ /** Total number of routes processed */
134
+ totalRoutes: number;
135
+ /** Number of successfully generated routes */
136
+ successful: number;
137
+ /** Number of failed routes */
138
+ failed: number;
139
+ /** Total generation duration in milliseconds */
140
+ totalDuration: number;
141
+ /** Effective generation mode */
142
+ mode: SSGMode;
143
+ /** Number of routes rendered during this run */
144
+ rebuilt: number;
145
+ /** Number of current routes skipped as unchanged */
146
+ skipped: number;
147
+ /** Number of stale routes removed from output */
148
+ removed: number;
149
+ /** Number of rendered routes whose HTML bytes were unchanged */
150
+ cacheHits: number;
151
+ /** Invalidation keys applied to this run */
152
+ invalidatedKeys: string[];
153
+ /** Concrete route paths applied to this run */
154
+ invalidatedRoutes: string[];
155
+ /** Per-route details */
156
+ routes: Array<{
157
+ /** URL path */path: string; /** Output file path relative to outputDir */
158
+ filePath: string; /** File size in bytes */
159
+ fileSize: number; /** Render duration in milliseconds */
160
+ renderDuration: number; /** Number of resources discovered and rendered */
161
+ resourceCount: number; /** Render or generation status */
162
+ status: RouteRenderStatus; /** Why this route was rendered, skipped, or removed */
163
+ reason: RouteRenderReason; /** Whether the output file was written during this run */
164
+ written: boolean; /** Error message if rendering failed */
165
+ error?: string;
166
+ }>;
156
167
  }
157
168
  /** Resource discovery result for a single route */
158
- export interface DiscoveredResources {
159
- [key: string]: {
160
- count: number;
161
- dependencies: string[];
162
- };
169
+ interface DiscoveredResources {
170
+ [key: string]: {
171
+ count: number;
172
+ dependencies: string[];
173
+ };
163
174
  }
175
+ //#endregion
176
+ export { DiscoveredResources, RouteConfig, RouteRenderReason, RouteRenderResult, RouteRenderStatus, SSGGenerateOptions, SSGMetadata, SSGMode, SSGOptions, SSGResult };
164
177
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ssg/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,aAAa,CAAC;AAE7C,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAE5E,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN,aAAa,GACb,eAAe,GACf,WAAW,GACX,SAAS,GACT,WAAW,GACX,SAAS,CAAC;AAEd;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,kCAAkC;AAClC,MAAM,WAAW,UAAU;IACzB,yBAAyB;IACzB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC/B;AAED,0CAA0C;AAC1C,MAAM,WAAW,kBAAkB;IACjC,sBAAsB;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,oEAAoE;IACpE,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,yCAAyC;AACzC,MAAM,WAAW,iBAAiB;IAChC,eAAe;IACf,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,kDAAkD;IAClD,aAAa,EAAE,MAAM,CAAC;IACtB,kCAAkC;IAClC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,uDAAuD;IACvD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,0DAA0D;IAC1D,OAAO,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,yCAAyC;AACzC,MAAM,WAAW,SAAS;IACxB,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,aAAa,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,+CAA+C;IAC/C,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,wBAAwB;IACxB,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAED,yCAAyC;AACzC,MAAM,WAAW,WAAY,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1D,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,aAAa,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,+CAA+C;IAC/C,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,wBAAwB;IACxB,MAAM,EAAE,KAAK,CAAC;QACZ,eAAe;QACf,IAAI,EAAE,MAAM,CAAC;QACb,6CAA6C;QAC7C,QAAQ,EAAE,MAAM,CAAC;QACjB,yBAAyB;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB,sCAAsC;QACtC,cAAc,EAAE,MAAM,CAAC;QACvB,kDAAkD;QAClD,aAAa,EAAE,MAAM,CAAC;QACtB,kCAAkC;QAClC,MAAM,EAAE,iBAAiB,CAAC;QAC1B,uDAAuD;QACvD,MAAM,EAAE,iBAAiB,CAAC;QAC1B,0DAA0D;QAC1D,OAAO,EAAE,OAAO,CAAC;QACjB,wCAAwC;QACxC,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;CACJ;AAED,mDAAmD;AACnD,MAAM,WAAW,mBAAmB;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;CACH"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../src/ssg/types.ts"],"mappings":";;;;KAWY,OAAA;AAAA,KAEA,iBAAA;AAAA,KAEA,iBAAA;;AAFZ;;;;;UAkBiB,WAAA;EAhBY;EAkB3B,IAAA;EAlB2B;EAoB3B,OAAA,GAAU,YAAA;EAJK;EAMf,SAAA,GAAY,iBAAA;;EAEZ,KAAA,GAAQ,MAAA;EAFI;EAIZ,SAAA;EAEO;EAAP,IAAA,GAAO,aAAA;EAQE;EANT,IAAA;EAsBI;EApBJ,UAAA;EAqBY;EAnBZ,QAAA,YAAoB,WAAA;EAmBT;EAjBX,MAAA,GAAS,MAAA;EAlBT;EAoBA,gBAAA;EAlBU;;;;;;;;;;;;EA+BV,OAAA,SACI,KAAA,CAAM,MAAA,oBACN,OAAA,CAAQ,KAAA,CAAM,MAAA;AAAA;;UAIH,UAAA;EALX;EAOJ,MAAA,EAAQ,WAAA;EANJ;EAQJ,SAAA;EARkB;EAUlB,IAAA;EAVwB;EAYxB,aAAA,GAAgB,MAAA;EARS;EAUzB,WAAA;EAFsB;EAItB,WAAA;AAAA;;UAIe,kBAAA;EARf;EAUA,IAAA,GAAO,OAAA;EARP;EAUA,WAAA;EARW;EAUX,aAAA;EANe;EAQf,SAAA;AAAA;;UAIe,iBAAA;EAVR;EAYP,IAAA;EARA;EAUA,QAAA;EARS;EAUT,IAAA;EANe;EAQf,QAAA;;EAEA,cAAA;EARA;EAUA,aAAA;EANA;EAQA,MAAA,EAAQ,iBAAA;EAJR;EAMA,MAAA,EAAQ,iBAAA;EAFR;EAIA,OAAA;EAFA;EAIA,KAAA;AAAA;;UAIe,SAAA;EAJV;EAML,WAAA;EAFwB;EAIxB,WAAA;EAsByB;EApBzB,UAAA;EAFA;EAIA,MAAA;EAAA;EAEA,aAAA;EAEA;EAAA,IAAA,EAAM,OAAA;EAEN;EAAA,OAAA;EAIA;EAFA,OAAA;EAMA;EAJA,OAAA;EAQA;EANA,SAAA;EAMyB;EAJzB,eAAA;EAQe;EANf,iBAAA;;EAEA,MAAA,EAAQ,iBAAA;AAAA;;UAIO,WAAA,SAAoB,MAAA;EAAA;EAEnC,WAAA;EAFyC;EAIzC,WAAA;EAFA;EAIA,UAAA;EAAA;EAEA,MAAA;EAEA;EAAA,aAAA;EAEM;EAAN,IAAA,EAAM,OAAA;EAIN;EAFA,OAAA;EAMA;EAJA,OAAA;EAQA;EANA,OAAA;EAQQ;EANR,SAAA;EAUE;EARF,eAAA;EAYE;EAVF,iBAAA;EAcE;EAZF,MAAA,EAAQ,KAAA;IAcN,eAZA,IAAA,UAcA;IAZA,QAAA,UAcK;IAZL,QAAA,UAiBa;IAfb,cAAA,UAegC;IAbhC,aAAA,UAcD;IAZC,MAAA,EAAQ,iBAAA,EAcR;IAZA,MAAA,EAAQ,iBAAA,EAYI;IAVZ,OAAA;IAEA,KAAA;EAAA;AAAA;;UAKa,mBAAA;EAAA,CACd,GAAA;IACC,KAAA;IACA,YAAA;EAAA;AAAA"}
@@ -1,21 +1,15 @@
1
- /**
2
- * File I/O for Static Site Generation
3
- *
4
- * Uses Node.js fs/path modules to write rendered HTML files to disk.
5
- * This module is Node-only and not intended for browser builds.
6
- */
7
- import type { RouteRenderResult } from './types';
1
+ import { RouteRenderResult } from "./types.js";
2
+ import { getOutputFilePath } from "./route-utils.js";
3
+
4
+ //#region src/ssg/write-static-files.d.ts
8
5
  interface WriteStaticFilesOptions {
9
- concurrency?: number;
6
+ concurrency?: number;
10
7
  }
11
8
  /**
12
9
  * Write rendered routes to disk
13
10
  * Creates outputDir/{route-path}/index.html structure
14
11
  */
15
- export declare function writeStaticFiles(results: RouteRenderResult[], outputDir: string, options?: WriteStaticFilesOptions): Promise<void>;
16
- /**
17
- * Get the output file path for a route
18
- * E.g., "/blog/post" -> "blog/post" or "/" -> ""
19
- */
20
- export { getOutputFilePath } from './route-utils';
12
+ declare function writeStaticFiles(results: RouteRenderResult[], outputDir: string, options?: WriteStaticFilesOptions): Promise<void>;
13
+ //#endregion
14
+ export { writeStaticFiles };
21
15
  //# sourceMappingURL=write-static-files.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"write-static-files.d.ts","sourceRoot":"","sources":["../../src/ssg/write-static-files.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,UAAU,uBAAuB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,iBAAiB,EAAE,EAC5B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,IAAI,CAAC,CA0Df;AAED;;;GAGG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"write-static-files.d.ts","names":[],"sources":["../../src/ssg/write-static-files.ts"],"mappings":";;;;UAYU,uBAAA;EACR,WAAA;AAAA;;;;;iBAOoB,gBAAA,CACpB,OAAA,EAAS,iBAAA,IACT,SAAA,UACA,OAAA,GAAS,uBAAA,GACR,OAAA"}