@timber-js/app 0.2.0-alpha.11 → 0.2.0-alpha.110

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 (725) hide show
  1. package/dist/_chunks/actions-D6gyxlGQ.js +1058 -0
  2. package/dist/_chunks/actions-D6gyxlGQ.js.map +1 -0
  3. package/dist/_chunks/build-output-helper-5TK2Emwp.js +61 -0
  4. package/dist/_chunks/build-output-helper-5TK2Emwp.js.map +1 -0
  5. package/dist/_chunks/define-BflNsrwD.js +124 -0
  6. package/dist/_chunks/define-BflNsrwD.js.map +1 -0
  7. package/dist/_chunks/define-Dn98bPbb.js +195 -0
  8. package/dist/_chunks/define-Dn98bPbb.js.map +1 -0
  9. package/dist/_chunks/format-CYBGxKtc.js +14 -0
  10. package/dist/_chunks/format-CYBGxKtc.js.map +1 -0
  11. package/dist/_chunks/handler-store-B_df5Npe.js +54 -0
  12. package/dist/_chunks/handler-store-B_df5Npe.js.map +1 -0
  13. package/dist/_chunks/logger-DDmK5skc.js +291 -0
  14. package/dist/_chunks/logger-DDmK5skc.js.map +1 -0
  15. package/dist/_chunks/merge-search-params-Cm_KIWDX.js +41 -0
  16. package/dist/_chunks/merge-search-params-Cm_KIWDX.js.map +1 -0
  17. package/dist/_chunks/navigation-root-2ypaZQDx.js +96 -0
  18. package/dist/_chunks/navigation-root-2ypaZQDx.js.map +1 -0
  19. package/dist/_chunks/registry-DB93kT5c.js +20 -0
  20. package/dist/_chunks/registry-DB93kT5c.js.map +1 -0
  21. package/dist/_chunks/router-ref-TkUdmqtM.js +28 -0
  22. package/dist/_chunks/router-ref-TkUdmqtM.js.map +1 -0
  23. package/dist/_chunks/schema-bridge-C3xl_vfb.js +86 -0
  24. package/dist/_chunks/schema-bridge-C3xl_vfb.js.map +1 -0
  25. package/dist/_chunks/segment-classify-CnfLLvir.js +137 -0
  26. package/dist/_chunks/segment-classify-CnfLLvir.js.map +1 -0
  27. package/dist/_chunks/segment-context-Dc-GbSTe.js +34 -0
  28. package/dist/_chunks/segment-context-Dc-GbSTe.js.map +1 -0
  29. package/dist/_chunks/{ssr-data-MjmprTmO.js → ssr-data-DzuI0bIV.js} +1 -1
  30. package/dist/_chunks/ssr-data-DzuI0bIV.js.map +1 -0
  31. package/dist/_chunks/stale-reload-D6FlD3xn.js +64 -0
  32. package/dist/_chunks/stale-reload-D6FlD3xn.js.map +1 -0
  33. package/dist/_chunks/tracing-DvKLzCFa.js +329 -0
  34. package/dist/_chunks/tracing-DvKLzCFa.js.map +1 -0
  35. package/dist/_chunks/{use-query-states-D5KaffOK.js → use-query-states-B-cLl8mx.js} +7 -20
  36. package/dist/_chunks/use-query-states-B-cLl8mx.js.map +1 -0
  37. package/dist/_chunks/use-segment-params-07V1TIxL.js +185 -0
  38. package/dist/_chunks/use-segment-params-07V1TIxL.js.map +1 -0
  39. package/dist/_chunks/validation-DfyuMoK2.js +84 -0
  40. package/dist/_chunks/validation-DfyuMoK2.js.map +1 -0
  41. package/dist/_chunks/walkers-DQn5NNrf.js +850 -0
  42. package/dist/_chunks/walkers-DQn5NNrf.js.map +1 -0
  43. package/dist/_chunks/{format-DviM89f0.js → warnings-B30wpfaS.js} +6 -45
  44. package/dist/_chunks/warnings-B30wpfaS.js.map +1 -0
  45. package/dist/adapters/build-output-helper.d.ts +28 -0
  46. package/dist/adapters/build-output-helper.d.ts.map +1 -0
  47. package/dist/adapters/cloudflare-dev.d.ts +109 -0
  48. package/dist/adapters/cloudflare-dev.d.ts.map +1 -0
  49. package/dist/adapters/cloudflare-dev.js +73 -0
  50. package/dist/adapters/cloudflare-dev.js.map +1 -0
  51. package/dist/adapters/cloudflare-kv-cache.d.ts +64 -0
  52. package/dist/adapters/cloudflare-kv-cache.d.ts.map +1 -0
  53. package/dist/adapters/cloudflare-kv-cache.js +95 -0
  54. package/dist/adapters/cloudflare-kv-cache.js.map +1 -0
  55. package/dist/adapters/cloudflare.d.ts +148 -12
  56. package/dist/adapters/cloudflare.d.ts.map +1 -1
  57. package/dist/adapters/cloudflare.js +142 -38
  58. package/dist/adapters/cloudflare.js.map +1 -1
  59. package/dist/adapters/compress-module.d.ts.map +1 -1
  60. package/dist/adapters/nitro.d.ts +17 -1
  61. package/dist/adapters/nitro.d.ts.map +1 -1
  62. package/dist/adapters/nitro.js +143 -45
  63. package/dist/adapters/nitro.js.map +1 -1
  64. package/dist/adapters/shared.d.ts +16 -0
  65. package/dist/adapters/shared.d.ts.map +1 -0
  66. package/dist/cache/cache-api.d.ts +24 -0
  67. package/dist/cache/cache-api.d.ts.map +1 -0
  68. package/dist/cache/handler-store.d.ts +31 -0
  69. package/dist/cache/handler-store.d.ts.map +1 -0
  70. package/dist/cache/index.d.ts +23 -7
  71. package/dist/cache/index.d.ts.map +1 -1
  72. package/dist/cache/index.js +150 -81
  73. package/dist/cache/index.js.map +1 -1
  74. package/dist/cache/singleflight.d.ts +18 -1
  75. package/dist/cache/singleflight.d.ts.map +1 -1
  76. package/dist/cache/sizeof.d.ts +22 -0
  77. package/dist/cache/sizeof.d.ts.map +1 -0
  78. package/dist/cache/timber-cache.d.ts +1 -1
  79. package/dist/cache/timber-cache.d.ts.map +1 -1
  80. package/dist/cli.d.ts +6 -1
  81. package/dist/cli.d.ts.map +1 -1
  82. package/dist/cli.js +8 -3
  83. package/dist/cli.js.map +1 -1
  84. package/dist/client/browser-dev.d.ts +34 -1
  85. package/dist/client/browser-dev.d.ts.map +1 -1
  86. package/dist/client/browser-entry/action-dispatch.d.ts +17 -0
  87. package/dist/client/browser-entry/action-dispatch.d.ts.map +1 -0
  88. package/dist/client/browser-entry/hmr.d.ts +21 -0
  89. package/dist/client/browser-entry/hmr.d.ts.map +1 -0
  90. package/dist/client/browser-entry/hydrate.d.ts +46 -0
  91. package/dist/client/browser-entry/hydrate.d.ts.map +1 -0
  92. package/dist/client/browser-entry/index.d.ts +30 -0
  93. package/dist/client/browser-entry/index.d.ts.map +1 -0
  94. package/dist/client/browser-entry/post-hydration.d.ts +26 -0
  95. package/dist/client/browser-entry/post-hydration.d.ts.map +1 -0
  96. package/dist/client/browser-entry/router-init.d.ts +23 -0
  97. package/dist/client/browser-entry/router-init.d.ts.map +1 -0
  98. package/dist/client/browser-entry/rsc-stream.d.ts +24 -0
  99. package/dist/client/browser-entry/rsc-stream.d.ts.map +1 -0
  100. package/dist/client/browser-entry/scroll.d.ts +19 -0
  101. package/dist/client/browser-entry/scroll.d.ts.map +1 -0
  102. package/dist/client/error-boundary.d.ts +12 -5
  103. package/dist/client/error-boundary.d.ts.map +1 -1
  104. package/dist/client/error-boundary.js +26 -5
  105. package/dist/client/error-boundary.js.map +1 -1
  106. package/dist/client/error-reconstituter.d.ts +54 -0
  107. package/dist/client/error-reconstituter.d.ts.map +1 -0
  108. package/dist/client/form.d.ts +16 -27
  109. package/dist/client/form.d.ts.map +1 -1
  110. package/dist/client/history.d.ts +19 -4
  111. package/dist/client/history.d.ts.map +1 -1
  112. package/dist/client/index.d.ts +9 -24
  113. package/dist/client/index.d.ts.map +1 -1
  114. package/dist/client/index.js +154 -1100
  115. package/dist/client/index.js.map +1 -1
  116. package/dist/client/internal.d.ts +19 -0
  117. package/dist/client/internal.d.ts.map +1 -0
  118. package/dist/client/internal.js +964 -0
  119. package/dist/client/internal.js.map +1 -0
  120. package/dist/client/link-pending-store.d.ts +63 -0
  121. package/dist/client/link-pending-store.d.ts.map +1 -0
  122. package/dist/client/link.d.ts +62 -55
  123. package/dist/client/link.d.ts.map +1 -1
  124. package/dist/client/nav-link-store.d.ts +36 -0
  125. package/dist/client/nav-link-store.d.ts.map +1 -0
  126. package/dist/client/navigation-api-types.d.ts +90 -0
  127. package/dist/client/navigation-api-types.d.ts.map +1 -0
  128. package/dist/client/navigation-api.d.ts +115 -0
  129. package/dist/client/navigation-api.d.ts.map +1 -0
  130. package/dist/client/navigation-context.d.ts +13 -2
  131. package/dist/client/navigation-context.d.ts.map +1 -1
  132. package/dist/client/{transition-root.d.ts → navigation-root.d.ts} +42 -8
  133. package/dist/client/navigation-root.d.ts.map +1 -0
  134. package/dist/client/nuqs-adapter.d.ts.map +1 -1
  135. package/dist/client/router-ref.d.ts +1 -1
  136. package/dist/client/router.d.ts +70 -4
  137. package/dist/client/router.d.ts.map +1 -1
  138. package/dist/client/rsc-fetch.d.ts +38 -3
  139. package/dist/client/rsc-fetch.d.ts.map +1 -1
  140. package/dist/client/segment-cache.d.ts +1 -1
  141. package/dist/client/segment-cache.d.ts.map +1 -1
  142. package/dist/client/segment-outlet.d.ts +63 -0
  143. package/dist/client/segment-outlet.d.ts.map +1 -0
  144. package/dist/client/ssr-data.d.ts +13 -4
  145. package/dist/client/ssr-data.d.ts.map +1 -1
  146. package/dist/client/stale-reload.d.ts +15 -0
  147. package/dist/client/stale-reload.d.ts.map +1 -1
  148. package/dist/client/state.d.ts +1 -1
  149. package/dist/client/top-loader.d.ts +5 -5
  150. package/dist/client/top-loader.d.ts.map +1 -1
  151. package/dist/client/use-cookie.d.ts +12 -0
  152. package/dist/client/use-cookie.d.ts.map +1 -1
  153. package/dist/client/use-link-status.d.ts +5 -5
  154. package/dist/client/use-link-status.d.ts.map +1 -1
  155. package/dist/client/{use-navigation-pending.d.ts → use-pending-navigation.d.ts} +4 -4
  156. package/dist/client/use-pending-navigation.d.ts.map +1 -0
  157. package/dist/client/use-query-states.d.ts +1 -1
  158. package/dist/client/use-query-states.d.ts.map +1 -1
  159. package/dist/client/use-router.d.ts +1 -1
  160. package/dist/client/{use-params.d.ts → use-segment-params.d.ts} +7 -5
  161. package/dist/client/use-segment-params.d.ts.map +1 -0
  162. package/dist/codec.d.ts +33 -0
  163. package/dist/codec.d.ts.map +1 -0
  164. package/dist/codec.js +2 -0
  165. package/dist/config-types.d.ts +294 -0
  166. package/dist/config-types.d.ts.map +1 -0
  167. package/dist/config-validation.d.ts +51 -0
  168. package/dist/config-validation.d.ts.map +1 -0
  169. package/dist/content/index.d.ts +1 -10
  170. package/dist/content/index.d.ts.map +1 -1
  171. package/dist/content/index.js +0 -2
  172. package/dist/cookies/define-cookie.d.ts +58 -25
  173. package/dist/cookies/define-cookie.d.ts.map +1 -1
  174. package/dist/cookies/index.d.ts +2 -1
  175. package/dist/cookies/index.d.ts.map +1 -1
  176. package/dist/cookies/index.js +251 -36
  177. package/dist/cookies/index.js.map +1 -1
  178. package/dist/cookies/json-cookie.d.ts +64 -0
  179. package/dist/cookies/json-cookie.d.ts.map +1 -0
  180. package/dist/cookies/validation.d.ts +46 -0
  181. package/dist/cookies/validation.d.ts.map +1 -0
  182. package/dist/dev-tools/404-page.d.ts +46 -0
  183. package/dist/dev-tools/404-page.d.ts.map +1 -0
  184. package/dist/dev-tools/browser-logs.d.ts +84 -0
  185. package/dist/dev-tools/browser-logs.d.ts.map +1 -0
  186. package/dist/dev-tools/error-page.d.ts +58 -0
  187. package/dist/dev-tools/error-page.d.ts.map +1 -0
  188. package/dist/dev-tools/holding-server.d.ts +54 -0
  189. package/dist/dev-tools/holding-server.d.ts.map +1 -0
  190. package/dist/dev-tools/index.d.ts +31 -0
  191. package/dist/dev-tools/index.d.ts.map +1 -0
  192. package/dist/{server/dev-span-processor.d.ts → dev-tools/instrumentation.d.ts} +26 -6
  193. package/dist/dev-tools/instrumentation.d.ts.map +1 -0
  194. package/dist/{server/dev-logger.d.ts → dev-tools/logger.d.ts} +1 -1
  195. package/dist/dev-tools/logger.d.ts.map +1 -0
  196. package/dist/{plugins/dev-logs.d.ts → dev-tools/logs.d.ts} +2 -2
  197. package/dist/dev-tools/logs.d.ts.map +1 -0
  198. package/dist/dev-tools/overlay.d.ts +91 -0
  199. package/dist/dev-tools/overlay.d.ts.map +1 -0
  200. package/dist/dev-tools/stack-classifier.d.ts +34 -0
  201. package/dist/dev-tools/stack-classifier.d.ts.map +1 -0
  202. package/dist/dev-tools/terminal.d.ts +28 -0
  203. package/dist/dev-tools/terminal.d.ts.map +1 -0
  204. package/dist/{server/dev-warnings.d.ts → dev-tools/warnings.d.ts} +2 -22
  205. package/dist/dev-tools/warnings.d.ts.map +1 -0
  206. package/dist/fonts/ast.d.ts +98 -6
  207. package/dist/fonts/ast.d.ts.map +1 -1
  208. package/dist/fonts/bundle.d.ts +48 -0
  209. package/dist/fonts/bundle.d.ts.map +1 -0
  210. package/dist/fonts/css.d.ts +1 -0
  211. package/dist/fonts/css.d.ts.map +1 -1
  212. package/dist/fonts/dev-middleware.d.ts +22 -0
  213. package/dist/fonts/dev-middleware.d.ts.map +1 -0
  214. package/dist/fonts/local.d.ts +1 -1
  215. package/dist/fonts/pipeline.d.ts +167 -0
  216. package/dist/fonts/pipeline.d.ts.map +1 -0
  217. package/dist/fonts/transform.d.ts +78 -0
  218. package/dist/fonts/transform.d.ts.map +1 -0
  219. package/dist/fonts/types.d.ts +45 -1
  220. package/dist/fonts/types.d.ts.map +1 -1
  221. package/dist/fonts/virtual-modules.d.ts +103 -0
  222. package/dist/fonts/virtual-modules.d.ts.map +1 -0
  223. package/dist/index.d.ts +46 -190
  224. package/dist/index.d.ts.map +1 -1
  225. package/dist/index.js +5409 -13290
  226. package/dist/index.js.map +1 -1
  227. package/dist/plugin-context.d.ts +107 -0
  228. package/dist/plugin-context.d.ts.map +1 -0
  229. package/dist/plugins/adapter-build.d.ts +1 -1
  230. package/dist/plugins/adapter-build.d.ts.map +1 -1
  231. package/dist/plugins/build-manifest.d.ts +2 -2
  232. package/dist/plugins/build-manifest.d.ts.map +1 -1
  233. package/dist/plugins/build-report.d.ts +9 -7
  234. package/dist/plugins/build-report.d.ts.map +1 -1
  235. package/dist/plugins/client-chunks.d.ts +32 -0
  236. package/dist/plugins/client-chunks.d.ts.map +1 -0
  237. package/dist/plugins/content.d.ts +1 -1
  238. package/dist/plugins/content.d.ts.map +1 -1
  239. package/dist/plugins/dev-server.d.ts +1 -1
  240. package/dist/plugins/dev-server.d.ts.map +1 -1
  241. package/dist/plugins/entries.d.ts +1 -1
  242. package/dist/plugins/entries.d.ts.map +1 -1
  243. package/dist/plugins/fonts.d.ts +17 -73
  244. package/dist/plugins/fonts.d.ts.map +1 -1
  245. package/dist/plugins/mdx.d.ts +1 -1
  246. package/dist/plugins/mdx.d.ts.map +1 -1
  247. package/dist/plugins/routing.d.ts +1 -1
  248. package/dist/plugins/routing.d.ts.map +1 -1
  249. package/dist/plugins/server-bundle.d.ts.map +1 -1
  250. package/dist/plugins/shims.d.ts +6 -5
  251. package/dist/plugins/shims.d.ts.map +1 -1
  252. package/dist/plugins/static-build.d.ts +5 -26
  253. package/dist/plugins/static-build.d.ts.map +1 -1
  254. package/dist/routing/codegen-shared.d.ts +55 -0
  255. package/dist/routing/codegen-shared.d.ts.map +1 -0
  256. package/dist/routing/codegen-types.d.ts +52 -0
  257. package/dist/routing/codegen-types.d.ts.map +1 -0
  258. package/dist/routing/codegen.d.ts +2 -2
  259. package/dist/routing/codegen.d.ts.map +1 -1
  260. package/dist/routing/convention-lint.d.ts +41 -0
  261. package/dist/routing/convention-lint.d.ts.map +1 -0
  262. package/dist/routing/index.d.ts +5 -1
  263. package/dist/routing/index.d.ts.map +1 -1
  264. package/dist/routing/index.js +3 -2
  265. package/dist/routing/link-codegen.d.ts +90 -0
  266. package/dist/routing/link-codegen.d.ts.map +1 -0
  267. package/dist/routing/scanner.d.ts +1 -10
  268. package/dist/routing/scanner.d.ts.map +1 -1
  269. package/dist/routing/segment-classify.d.ts +75 -0
  270. package/dist/routing/segment-classify.d.ts.map +1 -0
  271. package/dist/routing/types.d.ts +77 -25
  272. package/dist/routing/types.d.ts.map +1 -1
  273. package/dist/routing/walkers.d.ts +51 -0
  274. package/dist/routing/walkers.d.ts.map +1 -0
  275. package/dist/rsc-runtime/rsc.d.ts +1 -1
  276. package/dist/rsc-runtime/rsc.d.ts.map +1 -1
  277. package/dist/rsc-runtime/ssr.d.ts +12 -0
  278. package/dist/rsc-runtime/ssr.d.ts.map +1 -1
  279. package/dist/schema-bridge.d.ts +76 -0
  280. package/dist/schema-bridge.d.ts.map +1 -0
  281. package/dist/search-params/define.d.ts +157 -0
  282. package/dist/search-params/define.d.ts.map +1 -0
  283. package/dist/search-params/index.d.ts +4 -7
  284. package/dist/search-params/index.d.ts.map +1 -1
  285. package/dist/search-params/index.js +34 -441
  286. package/dist/search-params/index.js.map +1 -1
  287. package/dist/search-params/registry.d.ts +2 -2
  288. package/dist/search-params/registry.d.ts.map +1 -1
  289. package/dist/search-params/wrappers.d.ts +53 -0
  290. package/dist/search-params/wrappers.d.ts.map +1 -0
  291. package/dist/segment-params/define.d.ts +95 -0
  292. package/dist/segment-params/define.d.ts.map +1 -0
  293. package/dist/segment-params/index.d.ts +3 -0
  294. package/dist/segment-params/index.d.ts.map +1 -0
  295. package/dist/segment-params/index.js +2 -0
  296. package/dist/server/access-gate.d.ts +8 -3
  297. package/dist/server/access-gate.d.ts.map +1 -1
  298. package/dist/server/action-client.d.ts +41 -6
  299. package/dist/server/action-client.d.ts.map +1 -1
  300. package/dist/server/action-encryption.d.ts +76 -0
  301. package/dist/server/action-encryption.d.ts.map +1 -0
  302. package/dist/server/action-handler.d.ts +35 -1
  303. package/dist/server/action-handler.d.ts.map +1 -1
  304. package/dist/server/actions.d.ts +3 -6
  305. package/dist/server/actions.d.ts.map +1 -1
  306. package/dist/server/als-registry.d.ts +33 -5
  307. package/dist/server/als-registry.d.ts.map +1 -1
  308. package/dist/server/asset-headers.d.ts +1 -15
  309. package/dist/server/asset-headers.d.ts.map +1 -1
  310. package/dist/server/build-manifest.d.ts +2 -2
  311. package/dist/server/build-manifest.d.ts.map +1 -1
  312. package/dist/server/cookie-context.d.ts +170 -0
  313. package/dist/server/cookie-context.d.ts.map +1 -0
  314. package/dist/server/cookie-parsing.d.ts +51 -0
  315. package/dist/server/cookie-parsing.d.ts.map +1 -0
  316. package/dist/server/debug.d.ts +1 -1
  317. package/dist/server/default-logger.d.ts +22 -0
  318. package/dist/server/default-logger.d.ts.map +1 -0
  319. package/dist/server/deny-boundary.d.ts +90 -0
  320. package/dist/server/deny-boundary.d.ts.map +1 -0
  321. package/dist/server/deny-renderer.d.ts.map +1 -1
  322. package/dist/server/dev-source-map.d.ts +22 -0
  323. package/dist/server/dev-source-map.d.ts.map +1 -0
  324. package/dist/server/early-hints-sender.d.ts.map +1 -1
  325. package/dist/server/early-hints.d.ts +13 -5
  326. package/dist/server/early-hints.d.ts.map +1 -1
  327. package/dist/server/error-boundary-wrapper.d.ts +7 -1
  328. package/dist/server/error-boundary-wrapper.d.ts.map +1 -1
  329. package/dist/server/fallback-error.d.ts +12 -7
  330. package/dist/server/fallback-error.d.ts.map +1 -1
  331. package/dist/server/flight-injection-state.d.ts +66 -0
  332. package/dist/server/flight-injection-state.d.ts.map +1 -0
  333. package/dist/server/flight-scripts.d.ts +42 -0
  334. package/dist/server/flight-scripts.d.ts.map +1 -0
  335. package/dist/server/flush.d.ts.map +1 -1
  336. package/dist/server/form-data.d.ts +29 -0
  337. package/dist/server/form-data.d.ts.map +1 -1
  338. package/dist/server/html-injector-core.d.ts +212 -0
  339. package/dist/server/html-injector-core.d.ts.map +1 -0
  340. package/dist/server/html-injectors.d.ts +81 -41
  341. package/dist/server/html-injectors.d.ts.map +1 -1
  342. package/dist/server/index.d.ts +9 -46
  343. package/dist/server/index.d.ts.map +1 -1
  344. package/dist/server/index.js +155 -2905
  345. package/dist/server/index.js.map +1 -1
  346. package/dist/server/internal.d.ts +48 -0
  347. package/dist/server/internal.d.ts.map +1 -0
  348. package/dist/server/internal.js +2920 -0
  349. package/dist/server/internal.js.map +1 -0
  350. package/dist/server/logger.d.ts +39 -7
  351. package/dist/server/logger.d.ts.map +1 -1
  352. package/dist/server/middleware-runner.d.ts +36 -4
  353. package/dist/server/middleware-runner.d.ts.map +1 -1
  354. package/dist/server/node-stream-transforms.d.ts +110 -0
  355. package/dist/server/node-stream-transforms.d.ts.map +1 -0
  356. package/dist/server/param-coercion.d.ts +26 -0
  357. package/dist/server/param-coercion.d.ts.map +1 -0
  358. package/dist/server/pipeline-helpers.d.ts +95 -0
  359. package/dist/server/pipeline-helpers.d.ts.map +1 -0
  360. package/dist/server/pipeline-interception.d.ts +1 -1
  361. package/dist/server/pipeline-interception.d.ts.map +1 -1
  362. package/dist/server/pipeline-metadata.d.ts +6 -0
  363. package/dist/server/pipeline-metadata.d.ts.map +1 -1
  364. package/dist/server/pipeline-outcome.d.ts +49 -0
  365. package/dist/server/pipeline-outcome.d.ts.map +1 -0
  366. package/dist/server/pipeline-phases.d.ts +52 -0
  367. package/dist/server/pipeline-phases.d.ts.map +1 -0
  368. package/dist/server/pipeline.d.ts +93 -23
  369. package/dist/server/pipeline.d.ts.map +1 -1
  370. package/dist/server/port-resolution.d.ts +117 -0
  371. package/dist/server/port-resolution.d.ts.map +1 -0
  372. package/dist/server/primitives.d.ts +69 -18
  373. package/dist/server/primitives.d.ts.map +1 -1
  374. package/dist/server/render-timeout.d.ts +51 -0
  375. package/dist/server/render-timeout.d.ts.map +1 -0
  376. package/dist/server/request-context.d.ts +41 -109
  377. package/dist/server/request-context.d.ts.map +1 -1
  378. package/dist/server/route-element-builder.d.ts +27 -1
  379. package/dist/server/route-element-builder.d.ts.map +1 -1
  380. package/dist/server/route-handler.d.ts.map +1 -1
  381. package/dist/server/route-matcher.d.ts +21 -34
  382. package/dist/server/route-matcher.d.ts.map +1 -1
  383. package/dist/server/rsc-entry/action-middleware-runner.d.ts +66 -0
  384. package/dist/server/rsc-entry/action-middleware-runner.d.ts.map +1 -0
  385. package/dist/server/rsc-entry/api-handler.d.ts +2 -2
  386. package/dist/server/rsc-entry/api-handler.d.ts.map +1 -1
  387. package/dist/server/rsc-entry/error-renderer.d.ts +26 -13
  388. package/dist/server/rsc-entry/error-renderer.d.ts.map +1 -1
  389. package/dist/server/rsc-entry/helpers.d.ts +49 -6
  390. package/dist/server/rsc-entry/helpers.d.ts.map +1 -1
  391. package/dist/server/rsc-entry/index.d.ts +20 -3
  392. package/dist/server/rsc-entry/index.d.ts.map +1 -1
  393. package/dist/server/rsc-entry/render-route.d.ts +50 -0
  394. package/dist/server/rsc-entry/render-route.d.ts.map +1 -0
  395. package/dist/server/rsc-entry/rsc-payload.d.ts +3 -3
  396. package/dist/server/rsc-entry/rsc-payload.d.ts.map +1 -1
  397. package/dist/server/rsc-entry/rsc-stream.d.ts +14 -1
  398. package/dist/server/rsc-entry/rsc-stream.d.ts.map +1 -1
  399. package/dist/server/rsc-entry/ssr-bridge.d.ts +1 -1
  400. package/dist/server/rsc-entry/ssr-bridge.d.ts.map +1 -1
  401. package/dist/server/rsc-entry/ssr-renderer.d.ts +19 -4
  402. package/dist/server/rsc-entry/ssr-renderer.d.ts.map +1 -1
  403. package/dist/server/rsc-entry/wrap-action-dispatch.d.ts +119 -0
  404. package/dist/server/rsc-entry/wrap-action-dispatch.d.ts.map +1 -0
  405. package/dist/server/safe-load.d.ts +46 -0
  406. package/dist/server/safe-load.d.ts.map +1 -0
  407. package/dist/server/sensitive-fields.d.ts +74 -0
  408. package/dist/server/sensitive-fields.d.ts.map +1 -0
  409. package/dist/server/sitemap-generator.d.ts +129 -0
  410. package/dist/server/sitemap-generator.d.ts.map +1 -0
  411. package/dist/server/sitemap-handler.d.ts +22 -0
  412. package/dist/server/sitemap-handler.d.ts.map +1 -0
  413. package/dist/server/slot-resolver.d.ts +1 -1
  414. package/dist/server/slot-resolver.d.ts.map +1 -1
  415. package/dist/server/ssr-entry.d.ts +23 -0
  416. package/dist/server/ssr-entry.d.ts.map +1 -1
  417. package/dist/server/ssr-render.d.ts +39 -21
  418. package/dist/server/ssr-render.d.ts.map +1 -1
  419. package/dist/server/ssr-wrappers.d.ts +50 -0
  420. package/dist/server/ssr-wrappers.d.ts.map +1 -0
  421. package/dist/server/state-tree-diff.d.ts.map +1 -1
  422. package/dist/server/status-code-resolver.d.ts +16 -11
  423. package/dist/server/status-code-resolver.d.ts.map +1 -1
  424. package/dist/server/stream-utils.d.ts +36 -0
  425. package/dist/server/stream-utils.d.ts.map +1 -0
  426. package/dist/server/tracing.d.ts +5 -5
  427. package/dist/server/tracing.d.ts.map +1 -1
  428. package/dist/server/tree-builder.d.ts +62 -30
  429. package/dist/server/tree-builder.d.ts.map +1 -1
  430. package/dist/server/types.d.ts +49 -4
  431. package/dist/server/types.d.ts.map +1 -1
  432. package/dist/server/utils/escape-html.d.ts +14 -0
  433. package/dist/server/utils/escape-html.d.ts.map +1 -0
  434. package/dist/server/version-skew.d.ts +61 -0
  435. package/dist/server/version-skew.d.ts.map +1 -0
  436. package/dist/shared/merge-search-params.d.ts +22 -0
  437. package/dist/shared/merge-search-params.d.ts.map +1 -0
  438. package/dist/shims/font-google.d.ts +1 -1
  439. package/dist/shims/font-google.d.ts.map +1 -1
  440. package/dist/shims/font-google.js +42 -0
  441. package/dist/shims/font-google.js.map +1 -0
  442. package/dist/shims/font-local.d.ts +26 -0
  443. package/dist/shims/font-local.d.ts.map +1 -0
  444. package/dist/shims/font-local.js +20 -0
  445. package/dist/shims/font-local.js.map +1 -0
  446. package/dist/shims/headers.d.ts +2 -1
  447. package/dist/shims/headers.d.ts.map +1 -1
  448. package/dist/shims/navigation-client.d.ts +3 -1
  449. package/dist/shims/navigation-client.d.ts.map +1 -1
  450. package/dist/shims/navigation.d.ts +11 -5
  451. package/dist/shims/navigation.d.ts.map +1 -1
  452. package/dist/utils/state-machine.d.ts +80 -0
  453. package/dist/utils/state-machine.d.ts.map +1 -0
  454. package/package.json +52 -16
  455. package/src/adapters/build-output-helper.ts +77 -0
  456. package/src/adapters/cloudflare-dev.ts +177 -0
  457. package/src/adapters/cloudflare-kv-cache.ts +142 -0
  458. package/src/adapters/cloudflare.ts +350 -76
  459. package/src/adapters/compress-module.ts +24 -4
  460. package/src/adapters/nitro.ts +142 -59
  461. package/src/adapters/shared.ts +40 -0
  462. package/src/adapters/wrangler.d.ts +7 -0
  463. package/src/cache/cache-api.ts +38 -0
  464. package/src/cache/handler-store.ts +68 -0
  465. package/src/cache/index.ts +81 -18
  466. package/src/cache/singleflight.ts +62 -4
  467. package/src/cache/sizeof.ts +31 -0
  468. package/src/cache/timber-cache.ts +25 -20
  469. package/src/cli.ts +16 -6
  470. package/src/client/browser-dev.ts +153 -1
  471. package/src/client/browser-entry/action-dispatch.ts +116 -0
  472. package/src/client/browser-entry/hmr.ts +81 -0
  473. package/src/client/browser-entry/hydrate.ts +145 -0
  474. package/src/client/browser-entry/index.ts +143 -0
  475. package/src/client/browser-entry/post-hydration.ts +119 -0
  476. package/src/client/browser-entry/router-init.ts +193 -0
  477. package/src/client/browser-entry/rsc-stream.ts +157 -0
  478. package/src/client/browser-entry/scroll.ts +27 -0
  479. package/src/client/error-boundary.tsx +97 -20
  480. package/src/client/error-reconstituter.tsx +65 -0
  481. package/src/client/form.tsx +31 -32
  482. package/src/client/history.ts +26 -4
  483. package/src/client/index.ts +69 -44
  484. package/src/client/internal.ts +58 -0
  485. package/src/client/link-pending-store.ts +111 -0
  486. package/src/client/link.tsx +342 -113
  487. package/src/client/nav-link-store.ts +47 -0
  488. package/src/client/navigation-api-types.ts +112 -0
  489. package/src/client/navigation-api.ts +332 -0
  490. package/src/client/navigation-context.ts +31 -6
  491. package/src/client/navigation-root.tsx +342 -0
  492. package/src/client/nuqs-adapter.tsx +16 -3
  493. package/src/client/router-ref.ts +1 -1
  494. package/src/client/router.ts +300 -73
  495. package/src/client/rsc-fetch.ts +112 -8
  496. package/src/client/segment-cache.ts +1 -1
  497. package/src/client/segment-outlet.tsx +86 -0
  498. package/src/client/ssr-data.ts +13 -5
  499. package/src/client/stale-reload.ts +72 -3
  500. package/src/client/state.ts +2 -2
  501. package/src/client/top-loader.tsx +18 -6
  502. package/src/client/use-cookie.ts +31 -2
  503. package/src/client/use-link-status.ts +7 -7
  504. package/src/client/{use-navigation-pending.ts → use-pending-navigation.ts} +6 -6
  505. package/src/client/use-query-states.ts +9 -3
  506. package/src/client/use-router.ts +1 -1
  507. package/src/client/{use-params.ts → use-segment-params.ts} +7 -5
  508. package/src/codec.ts +45 -0
  509. package/src/config-types.ts +292 -0
  510. package/src/config-validation.ts +303 -0
  511. package/src/content/index.ts +5 -13
  512. package/src/cookies/define-cookie.ts +233 -53
  513. package/src/cookies/index.ts +12 -1
  514. package/src/cookies/json-cookie.ts +105 -0
  515. package/src/cookies/validation.ts +134 -0
  516. package/src/dev-tools/404-page.ts +387 -0
  517. package/src/dev-tools/browser-logs.ts +288 -0
  518. package/src/dev-tools/error-page.ts +509 -0
  519. package/src/dev-tools/holding-server.ts +187 -0
  520. package/src/dev-tools/index.ts +90 -0
  521. package/src/dev-tools/instrumentation.ts +176 -0
  522. package/src/{plugins/dev-logs.ts → dev-tools/logs.ts} +3 -3
  523. package/src/dev-tools/overlay.ts +456 -0
  524. package/src/dev-tools/stack-classifier.ts +75 -0
  525. package/src/dev-tools/terminal.ts +183 -0
  526. package/src/{server/dev-warnings.ts → dev-tools/warnings.ts} +5 -50
  527. package/src/fonts/ast.ts +525 -16
  528. package/src/fonts/bundle.ts +142 -0
  529. package/src/fonts/css.ts +2 -1
  530. package/src/fonts/dev-middleware.ts +74 -0
  531. package/src/fonts/local.ts +1 -1
  532. package/src/fonts/pipeline.ts +314 -0
  533. package/src/fonts/transform.ts +317 -0
  534. package/src/fonts/types.ts +50 -1
  535. package/src/fonts/virtual-modules.ts +227 -0
  536. package/src/index.ts +409 -357
  537. package/src/plugin-context.ts +240 -0
  538. package/src/plugins/adapter-build.ts +12 -4
  539. package/src/plugins/build-manifest.ts +13 -2
  540. package/src/plugins/build-report.ts +16 -25
  541. package/src/plugins/client-chunks.ts +65 -0
  542. package/src/plugins/content.ts +1 -1
  543. package/src/plugins/dev-server.ts +162 -30
  544. package/src/plugins/entries.ts +111 -9
  545. package/src/plugins/fonts.ts +155 -654
  546. package/src/plugins/mdx.ts +43 -10
  547. package/src/plugins/routing.ts +217 -44
  548. package/src/plugins/server-bundle.ts +32 -1
  549. package/src/plugins/shims.ts +136 -35
  550. package/src/plugins/static-build.ts +15 -89
  551. package/src/routing/codegen-shared.ts +98 -0
  552. package/src/routing/codegen-types.ts +53 -0
  553. package/src/routing/codegen.ts +143 -176
  554. package/src/routing/convention-lint.ts +357 -0
  555. package/src/routing/index.ts +5 -1
  556. package/src/routing/interception.ts +1 -1
  557. package/src/routing/link-codegen.ts +294 -0
  558. package/src/routing/scanner.ts +107 -110
  559. package/src/routing/segment-classify.ts +188 -0
  560. package/src/routing/types.ts +78 -25
  561. package/src/routing/walkers.ts +90 -0
  562. package/src/rsc-runtime/rsc.ts +2 -0
  563. package/src/rsc-runtime/ssr.ts +50 -0
  564. package/src/rsc-runtime/vendor-types.d.ts +7 -0
  565. package/src/{search-params/codecs.ts → schema-bridge.ts} +57 -20
  566. package/src/search-params/define.ts +538 -0
  567. package/src/search-params/index.ts +14 -20
  568. package/src/search-params/registry.ts +2 -2
  569. package/src/search-params/wrappers.ts +92 -0
  570. package/src/segment-params/define.ts +336 -0
  571. package/src/segment-params/index.ts +9 -0
  572. package/src/server/access-gate.tsx +76 -34
  573. package/src/server/action-client.ts +88 -15
  574. package/src/server/action-encryption.ts +144 -0
  575. package/src/server/action-handler.ts +112 -14
  576. package/src/server/actions.ts +10 -9
  577. package/src/server/als-registry.ts +35 -7
  578. package/src/server/asset-headers.ts +8 -34
  579. package/src/server/build-manifest.ts +10 -4
  580. package/src/server/compress.ts +25 -7
  581. package/src/server/cookie-context.ts +468 -0
  582. package/src/server/cookie-parsing.ts +135 -0
  583. package/src/server/debug.ts +1 -1
  584. package/src/server/default-logger.ts +99 -0
  585. package/src/server/deny-boundary.ts +218 -0
  586. package/src/server/deny-renderer.ts +31 -50
  587. package/src/server/dev-source-map.ts +31 -0
  588. package/src/server/early-hints-sender.ts +3 -2
  589. package/src/server/early-hints.ts +36 -15
  590. package/src/server/error-boundary-wrapper.ts +74 -22
  591. package/src/server/fallback-error.ts +74 -102
  592. package/src/server/flight-injection-state.ts +113 -0
  593. package/src/server/flight-scripts.ts +62 -0
  594. package/src/server/flush.ts +2 -1
  595. package/src/server/form-data.ts +76 -0
  596. package/src/server/html-injector-core.ts +403 -0
  597. package/src/server/html-injectors.ts +244 -223
  598. package/src/server/index.ts +31 -184
  599. package/src/server/internal.ts +176 -0
  600. package/src/server/logger.ts +67 -36
  601. package/src/server/middleware-runner.ts +75 -4
  602. package/src/server/node-stream-transforms.ts +369 -0
  603. package/src/server/param-coercion.ts +95 -0
  604. package/src/server/pipeline-helpers.ts +204 -0
  605. package/src/server/pipeline-interception.ts +17 -16
  606. package/src/server/pipeline-metadata.ts +13 -0
  607. package/src/server/pipeline-outcome.ts +176 -0
  608. package/src/server/pipeline-phases.ts +445 -0
  609. package/src/server/pipeline.ts +128 -394
  610. package/src/server/port-resolution.ts +215 -0
  611. package/src/server/primitives.ts +111 -28
  612. package/src/server/render-timeout.ts +108 -0
  613. package/src/server/request-context.ts +88 -339
  614. package/src/server/route-element-builder.ts +297 -193
  615. package/src/server/route-handler.ts +24 -4
  616. package/src/server/route-matcher.ts +44 -65
  617. package/src/server/rsc-entry/action-middleware-runner.ts +167 -0
  618. package/src/server/rsc-entry/api-handler.ts +16 -17
  619. package/src/server/rsc-entry/error-renderer.ts +305 -89
  620. package/src/server/rsc-entry/helpers.ts +136 -12
  621. package/src/server/rsc-entry/index.ts +312 -341
  622. package/src/server/rsc-entry/render-route.ts +307 -0
  623. package/src/server/rsc-entry/rsc-payload.ts +65 -18
  624. package/src/server/rsc-entry/rsc-stream.ts +81 -13
  625. package/src/server/rsc-entry/ssr-bridge.ts +14 -5
  626. package/src/server/rsc-entry/ssr-renderer.ts +171 -38
  627. package/src/server/rsc-entry/wrap-action-dispatch.ts +449 -0
  628. package/src/server/safe-load.ts +60 -0
  629. package/src/server/sensitive-fields.ts +230 -0
  630. package/src/server/sitemap-generator.ts +338 -0
  631. package/src/server/sitemap-handler.ts +126 -0
  632. package/src/server/slot-resolver.ts +245 -230
  633. package/src/server/ssr-entry.ts +215 -32
  634. package/src/server/ssr-render.ts +289 -67
  635. package/src/server/ssr-wrappers.tsx +139 -0
  636. package/src/server/state-tree-diff.ts +4 -1
  637. package/src/server/status-code-resolver.ts +112 -128
  638. package/src/server/stream-utils.ts +213 -0
  639. package/src/server/tracing.ts +21 -10
  640. package/src/server/tree-builder.ts +202 -90
  641. package/src/server/types.ts +55 -6
  642. package/src/server/utils/escape-html.ts +20 -0
  643. package/src/server/version-skew.ts +104 -0
  644. package/src/shared/merge-search-params.ts +55 -0
  645. package/src/shims/font-google.ts +1 -1
  646. package/src/shims/font-local.ts +34 -0
  647. package/src/shims/headers.ts +5 -1
  648. package/src/shims/navigation-client.ts +4 -3
  649. package/src/shims/navigation.ts +14 -7
  650. package/src/utils/state-machine.ts +111 -0
  651. package/dist/_chunks/als-registry-B7DbZ2hS.js +0 -41
  652. package/dist/_chunks/als-registry-B7DbZ2hS.js.map +0 -1
  653. package/dist/_chunks/debug-gwlJkDuf.js +0 -108
  654. package/dist/_chunks/debug-gwlJkDuf.js.map +0 -1
  655. package/dist/_chunks/format-DviM89f0.js.map +0 -1
  656. package/dist/_chunks/interception-BOoWmLUA.js +0 -676
  657. package/dist/_chunks/interception-BOoWmLUA.js.map +0 -1
  658. package/dist/_chunks/request-context-DIkVh_jG.js +0 -330
  659. package/dist/_chunks/request-context-DIkVh_jG.js.map +0 -1
  660. package/dist/_chunks/ssr-data-MjmprTmO.js.map +0 -1
  661. package/dist/_chunks/tracing-CemImE6h.js +0 -187
  662. package/dist/_chunks/tracing-CemImE6h.js.map +0 -1
  663. package/dist/_chunks/use-cookie-DX-l1_5E.js +0 -91
  664. package/dist/_chunks/use-cookie-DX-l1_5E.js.map +0 -1
  665. package/dist/_chunks/use-query-states-D5KaffOK.js.map +0 -1
  666. package/dist/cache/register-cached-function.d.ts +0 -17
  667. package/dist/cache/register-cached-function.d.ts.map +0 -1
  668. package/dist/client/browser-entry.d.ts +0 -21
  669. package/dist/client/browser-entry.d.ts.map +0 -1
  670. package/dist/client/link-status-provider.d.ts +0 -11
  671. package/dist/client/link-status-provider.d.ts.map +0 -1
  672. package/dist/client/transition-root.d.ts.map +0 -1
  673. package/dist/client/use-navigation-pending.d.ts.map +0 -1
  674. package/dist/client/use-params.d.ts.map +0 -1
  675. package/dist/plugins/cache-transform.d.ts +0 -36
  676. package/dist/plugins/cache-transform.d.ts.map +0 -1
  677. package/dist/plugins/dev-error-overlay.d.ts +0 -60
  678. package/dist/plugins/dev-error-overlay.d.ts.map +0 -1
  679. package/dist/plugins/dev-logs.d.ts.map +0 -1
  680. package/dist/plugins/dynamic-transform.d.ts +0 -72
  681. package/dist/plugins/dynamic-transform.d.ts.map +0 -1
  682. package/dist/plugins/server-action-exports.d.ts +0 -26
  683. package/dist/plugins/server-action-exports.d.ts.map +0 -1
  684. package/dist/routing/status-file-lint.d.ts +0 -33
  685. package/dist/routing/status-file-lint.d.ts.map +0 -1
  686. package/dist/search-params/analyze.d.ts +0 -54
  687. package/dist/search-params/analyze.d.ts.map +0 -1
  688. package/dist/search-params/builtin-codecs.d.ts +0 -105
  689. package/dist/search-params/builtin-codecs.d.ts.map +0 -1
  690. package/dist/search-params/codecs.d.ts +0 -53
  691. package/dist/search-params/codecs.d.ts.map +0 -1
  692. package/dist/search-params/create.d.ts +0 -106
  693. package/dist/search-params/create.d.ts.map +0 -1
  694. package/dist/server/dev-fetch-instrumentation.d.ts +0 -22
  695. package/dist/server/dev-fetch-instrumentation.d.ts.map +0 -1
  696. package/dist/server/dev-logger.d.ts.map +0 -1
  697. package/dist/server/dev-span-processor.d.ts.map +0 -1
  698. package/dist/server/dev-warnings.d.ts.map +0 -1
  699. package/dist/server/manifest-status-resolver.d.ts +0 -58
  700. package/dist/server/manifest-status-resolver.d.ts.map +0 -1
  701. package/dist/server/prerender.d.ts +0 -77
  702. package/dist/server/prerender.d.ts.map +0 -1
  703. package/dist/server/response-cache.d.ts +0 -54
  704. package/dist/server/response-cache.d.ts.map +0 -1
  705. package/dist/utils/directive-parser.d.ts +0 -70
  706. package/dist/utils/directive-parser.d.ts.map +0 -1
  707. package/src/cache/register-cached-function.ts +0 -103
  708. package/src/client/browser-entry.ts +0 -678
  709. package/src/client/link-status-provider.tsx +0 -30
  710. package/src/client/transition-root.tsx +0 -166
  711. package/src/plugins/cache-transform.ts +0 -199
  712. package/src/plugins/dev-error-overlay.ts +0 -230
  713. package/src/plugins/dynamic-transform.ts +0 -161
  714. package/src/plugins/server-action-exports.ts +0 -220
  715. package/src/routing/status-file-lint.ts +0 -112
  716. package/src/search-params/analyze.ts +0 -192
  717. package/src/search-params/builtin-codecs.ts +0 -228
  718. package/src/search-params/create.ts +0 -321
  719. package/src/server/dev-fetch-instrumentation.ts +0 -96
  720. package/src/server/dev-span-processor.ts +0 -78
  721. package/src/server/manifest-status-resolver.ts +0 -215
  722. package/src/server/prerender.ts +0 -139
  723. package/src/server/response-cache.ts +0 -410
  724. package/src/utils/directive-parser.ts +0 -529
  725. /package/src/{server/dev-logger.ts → dev-tools/logger.ts} +0 -0
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Plugin context — internal types and helpers for timber sub-plugins.
3
+ *
4
+ * These are NOT part of the user-facing API. They are consumed by
5
+ * sub-plugins (routing, entries, shims, etc.) via relative imports.
6
+ * The root entry point (index.ts) does not re-export them.
7
+ *
8
+ * Design doc: 18-build-system.md §"Shared Plugin Context"
9
+ */
10
+ import type { RouteTree } from './routing/types';
11
+ import type { BuildManifest } from './server/build-manifest';
12
+ import type { StartupTimer } from './utils/startup-timer';
13
+ import type { TimberUserConfig } from './config-types.js';
14
+ import type { HoldingServer } from './dev-tools/holding-server.js';
15
+ export type { TimberUserConfig, ClientJavascriptConfig } from './config-types.js';
16
+ /** Fully resolved client JavaScript configuration (no optionals). */
17
+ export interface ResolvedClientJavascript {
18
+ disabled: boolean;
19
+ enableHMRInDev: boolean;
20
+ }
21
+ /**
22
+ * Resolve `clientJavascript` into a fully resolved config.
23
+ */
24
+ export declare function resolveClientJavascript(config: TimberUserConfig): ResolvedClientJavascript;
25
+ /**
26
+ * Shared context object passed to all sub-plugins via closure.
27
+ *
28
+ * Sub-plugins communicate through this context — not through Vite's
29
+ * plugin API or global state.
30
+ * See design/18-build-system.md §"Shared Plugin Context".
31
+ */
32
+ export interface PluginContext {
33
+ config: TimberUserConfig;
34
+ /** Resolved client JavaScript configuration */
35
+ clientJavascript: ResolvedClientJavascript;
36
+ /** The scanned route tree (populated by timber-routing, consumed by timber-entries) */
37
+ routeTree: RouteTree | null;
38
+ /** Absolute path to the app/ directory */
39
+ appDir: string;
40
+ /** Absolute path to the project root */
41
+ root: string;
42
+ /** Whether the dev server is running (set by timber-root-sync in configResolved) */
43
+ dev: boolean;
44
+ /** CSS build manifest (populated by adapter after client build, null in dev) */
45
+ buildManifest: BuildManifest | null;
46
+ /** Per-build deployment ID for version skew detection (null in dev) */
47
+ deploymentId: string | null;
48
+ /** Startup timer for profiling cold start phases (active in dev, no-op in prod) */
49
+ timer: StartupTimer;
50
+ /** Holding server that binds the port during dev startup (closed in timber-dev-server) */
51
+ holdingServer?: HoldingServer | null;
52
+ /**
53
+ * Resolved absolute path to the build output directory.
54
+ *
55
+ * Defaults to `<root>/.timber/dist`. Can be overridden via
56
+ * `timber.config.ts` `buildDir` or Vite's `build.outDir`.
57
+ * Timber config takes precedence when both are set.
58
+ *
59
+ * Used by adapter-build and cli preview.
60
+ */
61
+ buildDir: string;
62
+ }
63
+ /**
64
+ * Resolve the app directory. Checks (in order):
65
+ * 1. Explicit `configAppDir` from timber.config.ts
66
+ * 2. `<root>/app`
67
+ * 3. `<root>/src/app`
68
+ *
69
+ * Throws if none exist.
70
+ */
71
+ export declare function resolveAppDir(root: string, configAppDir?: string): string;
72
+ export declare function createPluginContext(config?: TimberUserConfig, root?: string): PluginContext;
73
+ /** Default build output directory (relative to root). */
74
+ export declare const DEFAULT_BUILD_DIR: string;
75
+ /**
76
+ * Resolve the build output directory.
77
+ *
78
+ * Priority:
79
+ * 1. Explicit `timberBuildDir` from timber.config.ts
80
+ * 2. Explicit `viteBuildOutDir` from Vite's build.outDir (if not the default 'dist')
81
+ * 3. Default: `.timber/dist`
82
+ *
83
+ * Returns an absolute path.
84
+ */
85
+ export declare function resolveBuildDir(root: string, timberBuildDir?: string, viteBuildOutDir?: string): string;
86
+ /**
87
+ * Load timber.config.ts (or .js, .mjs) from the project root.
88
+ * Returns the config object or null if no config file is found.
89
+ *
90
+ * Uses require() which works for ESM modules on Node 22.12+.
91
+ * This keeps timber() synchronous — no async config loading needed.
92
+ */
93
+ export declare function loadTimberConfigFile(root: string): TimberUserConfig | null;
94
+ /**
95
+ * Detect config keys set in both inline (vite.config.ts) and file (timber.config.ts)
96
+ * and warn the user. The `output` key is excluded because it defaults to 'server'
97
+ * in createPluginContext and would always appear as an inline key.
98
+ *
99
+ * Returns the list of conflicting key names (for testing).
100
+ */
101
+ export declare function warnConfigConflicts(inline: TimberUserConfig, fileConfig: TimberUserConfig): string[];
102
+ /**
103
+ * Merge file-based config into ctx.config. Inline config (already in ctx.config)
104
+ * takes precedence — file config only fills in missing fields.
105
+ */
106
+ export declare function mergeFileConfig(ctx: PluginContext, fileConfig: TimberUserConfig): void;
107
+ //# sourceMappingURL=plugin-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-context.d.ts","sourceRoot":"","sources":["../src/plugin-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,KAAK,EAAE,gBAAgB,EAA0B,MAAM,mBAAmB,CAAC;AAClF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAGnE,YAAY,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAIlF,qEAAqE;AACrE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,gBAAgB,GAAG,wBAAwB,CAc1F;AAID;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,gBAAgB,CAAC;IACzB,+CAA+C;IAC/C,gBAAgB,EAAE,wBAAwB,CAAC;IAC3C,uFAAuF;IACvF,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,oFAAoF;IACpF,GAAG,EAAE,OAAO,CAAC;IACb,gFAAgF;IAChF,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,uEAAuE;IACvE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,mFAAmF;IACnF,KAAK,EAAE,YAAY,CAAC;IACpB,0FAA0F;IAC1F,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC;;;;;;;;OAQG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAmBzE;AAID,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa,CAgB3F;AAID,yDAAyD;AACzD,eAAO,MAAM,iBAAiB,QAA0B,CAAC;AAEzD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,MAAM,EACvB,eAAe,CAAC,EAAE,MAAM,GACvB,MAAM,CAQR;AAID;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAY1E;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,gBAAgB,GAC3B,MAAM,EAAE,CAgBV;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAatF"}
@@ -13,6 +13,6 @@
13
13
  * Design docs: design/11-platform.md, design/25-production-deployments.md
14
14
  */
15
15
  import type { Plugin } from 'vite';
16
- import type { PluginContext } from '#/index.js';
16
+ import type { PluginContext } from '../plugin-context.js';
17
17
  export declare function timberAdapterBuild(ctx: PluginContext): Plugin;
18
18
  //# sourceMappingURL=adapter-build.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-build.d.ts","sourceRoot":"","sources":["../../src/plugins/adapter-build.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAoD7D"}
1
+ {"version":3,"file":"adapter-build.d.ts","sourceRoot":"","sources":["../../src/plugins/adapter-build.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAI1D,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CA0D7D"}
@@ -16,8 +16,8 @@
16
16
  * Design docs: 18-build-system.md §"Build Manifest", 02-rendering-pipeline.md §"Early Hints"
17
17
  */
18
18
  import type { Plugin } from 'vite';
19
- import type { PluginContext } from '#/index.js';
20
- import type { BuildManifest } from '#/server/build-manifest.js';
19
+ import type { PluginContext } from '../plugin-context.js';
20
+ import type { BuildManifest } from '../server/build-manifest.js';
21
21
  interface OutputChunk {
22
22
  type: 'chunk';
23
23
  fileName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"build-manifest.d.ts","sourceRoot":"","sources":["../../src/plugins/build-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAkB,MAAM,MAAM,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAIhE,UAAU,WAAW;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;CAC9C;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAAC,CAAC;AAK9D;;;GAGG;AACH,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAC/C,IAAI,EAAE,MAAM,GACX,aAAa,CAmBf;AAqCD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,aAAa,CA0Df;AA8BD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAwF9D"}
1
+ {"version":3,"file":"build-manifest.d.ts","sourceRoot":"","sources":["../../src/plugins/build-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAkB,MAAM,MAAM,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAIjE,UAAU,WAAW;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;CAC9C;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAAC,CAAC;AAK9D;;;GAGG;AACH,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAC/C,IAAI,EAAE,MAAM,GACX,aAAa,CAmBf;AAqCD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,aAAa,CA0Df;AA8BD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAkG9D"}
@@ -13,9 +13,9 @@
13
13
  * Task: TIM-287
14
14
  */
15
15
  import type { Plugin } from 'vite';
16
- import type { PluginContext } from '#/index.js';
17
- import type { SegmentNode, RouteTree } from '#/routing/types.js';
18
- import { formatSize } from '#/utils/format.js';
16
+ import type { PluginContext } from '../plugin-context.js';
17
+ import type { SegmentNode, RouteTree } from '../routing/types.js';
18
+ import { formatSize } from '../utils/format.js';
19
19
  export type RouteType = 'static' | 'dynamic' | 'function';
20
20
  export interface RouteEntry {
21
21
  path: string;
@@ -42,13 +42,15 @@ interface RouteInfo {
42
42
  /**
43
43
  * Walk the route tree and collect all leaf routes (pages + API endpoints).
44
44
  *
45
- * Parallel slots (`@artists`, `@shows`, etc.) are intentionally skipped —
46
- * they render alongside the parent page at the same URL and are not
47
- * separately URL-addressable. Their JS is captured in shared/layout chunks.
45
+ * Wraps the shared `collectLeafRoutes` walker (TIM-848). Parallel slots
46
+ * (`@artists`, `@shows`, etc.) are intentionally skipped — they render
47
+ * alongside the parent page at the same URL and are not separately
48
+ * URL-addressable. Their JS is captured in shared/layout chunks.
48
49
  *
49
50
  * After collection, entries are deduplicated by URL path so that overlapping
50
51
  * route groups (e.g. `(browse)` and `(marketing)` both producing `/`) only
51
- * appear once. The entry with the largest route-specific size wins.
52
+ * appear once. The entry with the longest segment chain (most specific
53
+ * match) wins.
52
54
  */
53
55
  export declare function collectRoutes(tree: RouteTree): RouteInfo[];
54
56
  /** Produce formatted report lines for the Vite logger. */
@@ -1 +1 @@
1
- {"version":3,"file":"build-report.d.ts","sourceRoot":"","sources":["../../src/plugins/build-report.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAU,MAAM,MAAM,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI/C,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;AAE1D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,aAAa,EAAE,MAAM,CAAC;CACvB;AAUD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,WAAW,EAAE,EACvB,UAAU,GAAE,QAAQ,GAAG,QAAmB,GACzC,SAAS,CAYX;AAID,OAAO,EAAE,UAAU,EAAE,CAAC;AAQtB,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,CA8B1D;AAID,0DAA0D;AAC1D,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAyCpF;AAcD,UAAU,SAAS;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAYjG;AAOD,8DAA8D;AAC9D,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GACtC,MAAM,GAAG,IAAI,CAOf;AAwED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAwE5D"}
1
+ {"version":3,"file":"build-report.d.ts","sourceRoot":"","sources":["../../src/plugins/build-report.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAU,MAAM,MAAM,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIhD,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;AAE1D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,aAAa,EAAE,MAAM,CAAC;CACvB;AAUD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,WAAW,EAAE,EACvB,UAAU,GAAE,QAAQ,GAAG,QAAmB,GACzC,SAAS,CAYX;AAID,OAAO,EAAE,UAAU,EAAE,CAAC;AAQtB,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,CAkB1D;AAID,0DAA0D;AAC1D,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAyCpF;AAcD,UAAU,SAAS;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAYjG;AAOD,8DAA8D;AAC9D,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GACtC,MAAM,GAAG,IAAI,CAOf;AAwED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAwE5D"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Client chunk grouping strategy for @vitejs/plugin-rsc.
3
+ *
4
+ * Groups client reference modules by layout boundary to balance route-scoped
5
+ * code splitting with HTTP request count. A constant group name would collapse
6
+ * all routes into one chunk (every page downloads every client component).
7
+ * Per-serverChunk grouping creates many sub-500B files. Layout-boundary
8
+ * grouping is the middle ground.
9
+ *
10
+ * See design/27-chunking-strategy.md, TIM-440, TIM-499.
11
+ */
12
+ /**
13
+ * Derive a chunk group name for a client reference module.
14
+ *
15
+ * Groups by the first non-group route segment under appDir so that all
16
+ * client components belonging to the same layout boundary land in one
17
+ * chunk. For example:
18
+ * - `facade:app/dashboard/settings/page.tsx` → `"client-dashboard"`
19
+ * - `facade:app/(group-a)/group-page-a/page.tsx` → `"client-group-page-a"`
20
+ * - `facade:app/layout.tsx` (root layout) → `"client-shared"`
21
+ * - `shared:...` (shared across chunks) → `"client-shared"`
22
+ *
23
+ * This balances route-scoped code splitting with HTTP request count:
24
+ * fewer chunks than per-serverChunk, but still avoids downloading every
25
+ * client component on every page.
26
+ */
27
+ export declare function clientChunkGroup(meta: {
28
+ id: string;
29
+ normalizedId: string;
30
+ serverChunk: string;
31
+ }, appDir: string): string;
32
+ //# sourceMappingURL=client-chunks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-chunks.d.ts","sourceRoot":"","sources":["../../src/plugins/client-chunks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,EAC/D,MAAM,EAAE,MAAM,GACb,MAAM,CAkCR"}
@@ -8,7 +8,7 @@
8
8
  * Design doc: 20-content-collections.md §"Content Collections"
9
9
  */
10
10
  import type { Plugin } from 'vite';
11
- import type { PluginContext } from '#/index.js';
11
+ import type { PluginContext } from '../plugin-context.js';
12
12
  /**
13
13
  * Create the timber-content Vite plugin.
14
14
  *
@@ -1 +1 @@
1
- {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/plugins/content.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAoBhD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAgGxD"}
1
+ {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/plugins/content.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAoB1D;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAgGxD"}
@@ -12,7 +12,7 @@
12
12
  * Design docs: 18-build-system.md §"Dev Server", 02-rendering-pipeline.md
13
13
  */
14
14
  import type { Plugin } from 'vite';
15
- import type { PluginContext } from '#/index.js';
15
+ import type { PluginContext } from '../plugin-context.js';
16
16
  /**
17
17
  * Create the timber-dev-server Vite plugin.
18
18
  *
@@ -1 +1 @@
1
- {"version":3,"file":"dev-server.d.ts","sourceRoot":"","sources":["../../src/plugins/dev-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAiC,MAAM,MAAM,CAAC;AAGlE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAkChD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAmD1D"}
1
+ {"version":3,"file":"dev-server.d.ts","sourceRoot":"","sources":["../../src/plugins/dev-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAiC,MAAM,MAAM,CAAC;AAGlE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AA8C1D;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAiE1D"}
@@ -11,7 +11,7 @@
11
11
  * Design docs: 18-build-system.md §"Entry Generation", §"Virtual Modules"
12
12
  */
13
13
  import type { Plugin } from 'vite';
14
- import type { PluginContext } from '#/index.js';
14
+ import type { PluginContext } from '../plugin-context.js';
15
15
  /**
16
16
  * Detect the user's instrumentation.ts file at the project root.
17
17
  *
@@ -1 +1 @@
1
- {"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../src/plugins/entries.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAInC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA6GhD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUrE;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAwBxF;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAwExD"}
1
+ {"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../src/plugins/entries.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAInC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AA0J1D;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUrE;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAwBxF;AAiDD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAkFxD"}
@@ -1,83 +1,27 @@
1
1
  /**
2
- * timber-fonts — Vite sub-plugin for build-time font processing.
2
+ * timber-fonts — Vite sub-plugin shell for build-time font processing.
3
3
  *
4
- * Handles:
5
- * - Virtual module resolution for `@timber/fonts/google` and `@timber/fonts/local`
6
- * - Static analysis of font function calls during `transform`
7
- * - @font-face CSS generation and scoped class output
8
- * - Size-adjusted fallback font generation
4
+ * This file is intentionally thin: it wires the Vite plugin hooks to the
5
+ * pipeline + per-concern modules under `../fonts/`. All real logic lives
6
+ * in:
9
7
  *
10
- * Does NOT handle (separate tasks):
11
- * - Google Fonts downloading/caching (timber-nk5)
12
- * - Build manifest / Early Hints integration (timber-qnx)
8
+ * - `../fonts/pipeline.ts` — `FontPipeline` (state, mutators)
9
+ * - `../fonts/transform.ts` — transform-hook logic, parsing helpers
10
+ * - `../fonts/dev-middleware.ts` — dev font binary server
11
+ * - `../fonts/virtual-modules.ts` — virtual module ID constants + source
12
+ *
13
+ * The public exports below are the stable API that the test suite and
14
+ * other parts of the framework import. Anything new should be added to
15
+ * one of the per-concern modules and re-exported here only if external
16
+ * consumers need it.
13
17
  *
14
18
  * Design doc: 24-fonts.md
15
19
  */
16
20
  import type { Plugin } from 'vite';
17
- import type { PluginContext } from '#/index.js';
18
- import type { ExtractedFont, GoogleFontConfig } from '#/fonts/types.js';
19
- /**
20
- * Registry of fonts extracted during transform.
21
- * Keyed by a unique font ID derived from family + config.
22
- */
23
- export type FontRegistry = Map<string, ExtractedFont>;
24
- /**
25
- * Extract static font config from a font function call in source code.
26
- *
27
- * Parses patterns like:
28
- * const inter = Inter({ subsets: ['latin'], weight: '400', display: 'swap', variable: '--font-sans' })
29
- *
30
- * Returns null if the call cannot be statically analyzed.
31
- *
32
- * Uses acorn AST parsing for robust handling of comments, trailing commas,
33
- * and multi-line configs.
34
- */
35
- export declare function extractFontConfig(callSource: string): GoogleFontConfig | null;
36
- /**
37
- * Detect if a source file contains dynamic/computed font function calls
38
- * that cannot be statically analyzed.
39
- *
40
- * Returns the offending expression if found, null if all calls are static.
41
- *
42
- * Uses acorn AST parsing for accurate detection.
43
- */
44
- export declare function detectDynamicFontCall(source: string, importedNames: string[]): string | null;
45
- /**
46
- * Parse import specifiers from a source file that imports from
47
- * `@timber/fonts/google` or `next/font/google`.
48
- *
49
- * Returns the list of imported font names (e.g. ['Inter', 'JetBrains_Mono']).
50
- */
51
- export declare function parseGoogleFontImports(source: string): string[];
52
- /**
53
- * Parse the original (remote) font family names from imports.
54
- *
55
- * Returns a map of local name → family name.
56
- * e.g. { Inter: 'Inter', JetBrains_Mono: 'JetBrains Mono' }
57
- */
58
- export declare function parseGoogleFontFamilies(source: string): Map<string, string>;
59
- /**
60
- * Generate CSS for a single extracted font.
61
- *
62
- * Includes @font-face rules (for local fonts), fallback @font-face,
63
- * and the scoped class rule.
64
- */
65
- export declare function generateFontCss(font: ExtractedFont): string;
66
- /**
67
- * Generate the CSS output for all extracted fonts.
68
- *
69
- * Includes @font-face rules for local fonts, fallback @font-face rules,
70
- * and scoped classes.
71
- */
72
- export declare function generateAllFontCss(registry: FontRegistry): string;
73
- /**
74
- * Parse the local name used for the default import of `@timber/fonts/local`.
75
- *
76
- * Handles:
77
- * import localFont from '@timber/fonts/local'
78
- * import myLoader from '@timber/fonts/local'
79
- */
80
- export declare function parseLocalFontImportName(source: string): string | null;
21
+ import type { PluginContext } from '../plugin-context.js';
22
+ export { FontPipeline, pruneRegistryEntries, type FontRegistry } from '../fonts/pipeline.js';
23
+ export { generateFontId, extractFontConfig, detectDynamicFontCall, parseGoogleFontImports, parseGoogleFontFamilies, parseLocalFontImportName, } from '../fonts/transform.js';
24
+ export { generateFontCss, generateAllFontCss } from '../fonts/virtual-modules.js';
81
25
  /**
82
26
  * Create the timber-fonts Vite plugin.
83
27
  */
@@ -1 +1 @@
1
- {"version":3,"file":"fonts.d.ts","sourceRoot":"","sources":["../../src/plugins/fonts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;AAGlD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAmCxE;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AA4CtD;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAE7E;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAE5F;AAUD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAkB/D;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAqB3E;AAwED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAmB3D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAMjE;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKtE;AAqED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAwVtD"}
1
+ {"version":3,"file":"fonts.d.ts","sourceRoot":"","sources":["../../src/plugins/fonts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AA0B1D,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAElF;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CA4KtD"}
@@ -8,7 +8,7 @@
8
8
  * Design doc: 20-content-collections.md §"The timber-mdx Plugin"
9
9
  */
10
10
  import type { Plugin } from 'vite';
11
- import type { PluginContext } from '#/index.js';
11
+ import type { PluginContext } from '../plugin-context.js';
12
12
  /**
13
13
  * Check if mdx-components.tsx (or .ts, .jsx, .js) exists at the project root
14
14
  * or in src/. Root takes precedence, matching Next.js behavior.
@@ -1 +1 @@
1
- {"version":3,"file":"mdx.d.ts","sourceRoot":"","sources":["../../src/plugins/mdx.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAelE;AA+BD;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CA0GpD"}
1
+ {"version":3,"file":"mdx.d.ts","sourceRoot":"","sources":["../../src/plugins/mdx.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAKnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAI1D;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAelE;AA6DD;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CA2GpD"}
@@ -8,6 +8,6 @@
8
8
  * Design docs: 18-build-system.md §"Virtual Modules", 07-routing.md
9
9
  */
10
10
  import type { Plugin } from 'vite';
11
- import type { PluginContext } from '#/index.js';
11
+ import type { PluginContext } from '../plugin-context.js';
12
12
  export declare function timberRouting(ctx: PluginContext): Plugin;
13
13
  //# sourceMappingURL=routing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/plugins/routing.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;AAWlD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA2DhD,wBAAgB,aAAa,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CA2GxD"}
1
+ {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/plugins/routing.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;AAclD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AA0E1D,wBAAgB,aAAa,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CA2KxD"}
@@ -1 +1 @@
1
- {"version":3,"file":"server-bundle.d.ts","sourceRoot":"","sources":["../../src/plugins/server-bundle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CA6H7C"}
1
+ {"version":3,"file":"server-bundle.d.ts","sourceRoot":"","sources":["../../src/plugins/server-bundle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CA4J7C"}
@@ -5,15 +5,16 @@
5
5
  * shim implementations. This enables Next.js-compatible libraries
6
6
  * (nuqs, next-intl, etc.) to work unmodified.
7
7
  *
8
- * NOTE: This plugin does NOT resolve @timber-js/app/* subpath imports.
9
- * Those are handled by Vite's native package.json `exports` resolution,
10
- * which maps them to dist/ files. This ensures a single module instance
11
- * for shared modules like request-context (ALS singleton).
8
+ * This plugin also remaps ALL @timber-js/app/* subpath imports to src/ in
9
+ * server environments (RSC + SSR). This is required because dist/ chunks
10
+ * are pre-built and miss Vite's RSC transforms (e.g. createContext from
11
+ * 'react' doesn't exist in RSC's React build). It also ensures a single
12
+ * module instance for shared mutable state. See SUBPATH_SRC_MAP and TIM-568.
12
13
  *
13
14
  * Design doc: 18-build-system.md §"Shim Map"
14
15
  */
15
16
  import type { Plugin } from 'vite';
16
- import type { PluginContext } from '#/index.js';
17
+ import type { PluginContext } from '../plugin-context.js';
17
18
  /**
18
19
  * Create the timber-shims Vite plugin.
19
20
  *
@@ -1 +1 @@
1
- {"version":3,"file":"shims.d.ts","sourceRoot":"","sources":["../../src/plugins/shims.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAiDhD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CA4JvD"}
1
+ {"version":3,"file":"shims.d.ts","sourceRoot":"","sources":["../../src/plugins/shims.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAuE1D;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CA0OvD"}
@@ -2,47 +2,26 @@
2
2
  * timber-static-build — Vite sub-plugin for static output mode.
3
3
  *
4
4
  * When `output: 'static'` is set in timber.config.ts, this plugin:
5
- * 1. Validates that no dynamic APIs (cookies(), headers()) are used
6
- * 2. When client JavaScript is disabled, rejects 'use client' and 'use server' directives
7
- * 3. Coordinates build-time rendering of all pages
5
+ * 1. Validates that no dynamic APIs (getCookies(), getHeaders()) are used
6
+ * 2. Coordinates build-time rendering of all pages
8
7
  *
9
8
  * Design doc: design/15-future-prerendering.md
10
9
  */
11
10
  import type { Plugin } from 'vite';
12
- import type { PluginContext } from '#/index.js';
11
+ import type { PluginContext } from '../plugin-context.js';
13
12
  export interface StaticValidationError {
14
- type: 'dynamic-api' | 'nojs-directive';
13
+ type: 'dynamic-api';
15
14
  file: string;
16
15
  message: string;
17
16
  line?: number;
18
17
  }
19
- export interface StaticOptions {
20
- clientJavascriptDisabled: boolean;
21
- }
22
18
  /**
23
- * Detect usage of dynamic per-request APIs (cookies(), headers())
19
+ * Detect usage of dynamic per-request APIs (getCookies(), getHeaders())
24
20
  * that cannot work at build time in static mode.
25
21
  *
26
22
  * Returns an array of validation errors.
27
23
  */
28
24
  export declare function detectDynamicApis(code: string, fileId: string): StaticValidationError[];
29
- /**
30
- * Detect 'use client' and 'use server' directives using AST-based parsing.
31
- * When client JavaScript is disabled, both are hard build errors — no React
32
- * runtime or server actions are allowed in the output.
33
- *
34
- * When client JavaScript is enabled, these are allowed (client components
35
- * hydrate, server actions get extracted to API endpoints).
36
- */
37
- export declare function detectDirectives(code: string, fileId: string, options: StaticOptions): StaticValidationError[];
38
- /**
39
- * Run all static mode validations on a source file.
40
- *
41
- * Combines:
42
- * - Dynamic API detection (cookies, headers) — always in static mode
43
- * - Directive detection ('use client', 'use server') — only when client JS is disabled
44
- */
45
- export declare function validateStaticMode(code: string, fileId: string, options: StaticOptions): StaticValidationError[];
46
25
  /**
47
26
  * Create the timber-static-build Vite plugin.
48
27
  *
@@ -1 +1 @@
1
- {"version":3,"file":"static-build.d.ts","sourceRoot":"","sources":["../../src/plugins/static-build.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAOhD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,aAAa,GAAG,gBAAgB,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,wBAAwB,EAAE,OAAO,CAAC;CACnC;AAiBD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,qBAAqB,EAAE,CA2BvF;AAMD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,GACrB,qBAAqB,EAAE,CA8BzB;AAMD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,GACrB,qBAAqB,EAAE,CAOzB;AAMD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CA0C5D"}
1
+ {"version":3,"file":"static-build.d.ts","sourceRoot":"","sources":["../../src/plugins/static-build.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAM1D,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAmBD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,qBAAqB,EAAE,CA2BvF;AAMD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CA4C5D"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Shared codegen helpers — import-path computation, codec chain type
3
+ * builder, and searchParams type formatter.
4
+ *
5
+ * Extracted from `codegen.ts` so `link-codegen.ts` can use the same
6
+ * helpers without a cyclic import.
7
+ */
8
+ import type { ParamEntry, RouteEntry } from './codegen-types.js';
9
+ /**
10
+ * Compute a relative import specifier for a codec/page file, stripping
11
+ * the .ts/.tsx extension and resolving against the codegen output dir.
12
+ */
13
+ export declare function codecImportPath(codecFilePath: string, importBase: string | undefined): string;
14
+ /** Name of the shared helper type emitted at the top of the .d.ts. */
15
+ export declare const RESOLVE_SEGMENT_FIELD_TYPE_NAME = "_TimberResolveSegmentField";
16
+ /**
17
+ * Helper type emitted once at the top of the generated `.d.ts` and
18
+ * referenced by every codec-chain conditional. Without this shared
19
+ * helper, the inline expansion would duplicate the fallback branch on
20
+ * every step and grow O(2^N) in chain depth (a single deep nested route
21
+ * could blow up the file size and TS performance). With the helper,
22
+ * each step reuses the named type and growth is O(N).
23
+ *
24
+ * The helper is a 2-arg conditional: given a typeof import expression
25
+ * (`Def`), a key (`K`), and a fallback (`F`), it returns `T[K]` if
26
+ * `Def extends ParamsDefinition<T>` and `K extends keyof T`, otherwise
27
+ * `F`. The codec chain composes calls to this helper.
28
+ */
29
+ export declare function emitResolveSegmentFieldHelper(): string;
30
+ /**
31
+ * Build a TypeScript type expression that resolves a single param's
32
+ * codec by walking a chain of params.ts files in priority order.
33
+ *
34
+ * Each entry in the chain emits one application of the shared
35
+ * `_TimberResolveSegmentField` helper type. Composing N applications
36
+ * grows linearly with chain depth (O(N) characters), unlike an inline
37
+ * conditional that would duplicate the fallback in each branch and
38
+ * grow O(2^N).
39
+ *
40
+ * The closest match (position 0 in the chain) is checked first; if its
41
+ * `segmentParams` definition declares the key, its inferred type wins.
42
+ * Otherwise we fall through to the next entry, and finally to the
43
+ * provided fallback. See TIM-834.
44
+ */
45
+ export declare function buildCodecChainType(p: ParamEntry, importBase: string | undefined, fallback: string): string;
46
+ /**
47
+ * Format the searchParams type for a route entry.
48
+ *
49
+ * When a page.tsx (or params.ts) exports searchParams, we reference its
50
+ * inferred type via an import type. The import path is relative to
51
+ * `importBase` (the directory where the .d.ts will be written). When
52
+ * importBase is undefined, falls back to a bare relative path.
53
+ */
54
+ export declare function formatSearchParamsType(route: RouteEntry, importBase?: string): string;
55
+ //# sourceMappingURL=codegen-shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codegen-shared.d.ts","sourceRoot":"","sources":["../../src/routing/codegen-shared.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEjE;;;GAGG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAM7F;AAED,sEAAsE;AACtE,eAAO,MAAM,+BAA+B,+BAA+B,CAAC;AAE5E;;;;;;;;;;;;GAYG;AACH,wBAAgB,6BAA6B,IAAI,MAAM,CAOtD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,EAAE,UAAU,EACb,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,QAAQ,EAAE,MAAM,GACf,MAAM,CAaR;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAOrF"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Shared types for route codegen modules.
3
+ *
4
+ * Lives in its own file so `link-codegen.ts` and `codegen.ts` can import
5
+ * the same `RouteEntry` / `ParamEntry` shapes without a cyclic
6
+ * dependency between the two.
7
+ */
8
+ /** A single route entry extracted from the segment tree. */
9
+ export interface RouteEntry {
10
+ /** URL path pattern (e.g. "/products/[id]") */
11
+ urlPath: string;
12
+ /** Accumulated params from all ancestor dynamic segments */
13
+ params: ParamEntry[];
14
+ /** Whether the page.tsx exports searchParams */
15
+ hasSearchParams: boolean;
16
+ /** Absolute path to the page file that exports searchParams (for import paths) */
17
+ searchParamsPagePath?: string;
18
+ /** Whether this is an API route (route.ts) vs page route */
19
+ isApiRoute: boolean;
20
+ }
21
+ export interface ParamEntry {
22
+ name: string;
23
+ type: 'string' | 'string[]' | 'string[] | undefined';
24
+ /**
25
+ * Ordered list of params.ts files in the route chain that may declare
26
+ * a codec for this param, in priority order — **closest-to-leaf
27
+ * first**. The generated type emits a chain that picks the first
28
+ * entry whose `segmentParams` definition declares this param key.
29
+ *
30
+ * This array is the SAME for every param in a given route entry
31
+ * (it is the route's full ancestry of params.ts files in leaf-first
32
+ * order); the type-level conditional in `buildCodecChainType`
33
+ * narrows per-key. Sharing the array matches the runtime semantics
34
+ * of `coerceSegmentParams`, which walks segments top-down and lets
35
+ * later (deeper) coercions overwrite earlier ones — closest-to-leaf
36
+ * wins for both types and runtime.
37
+ *
38
+ * See TIM-834.
39
+ */
40
+ codecFilePaths?: string[];
41
+ /**
42
+ * Per-segment legacy fallback: a layout.tsx or page.tsx that exports
43
+ * `segmentParams` directly (pre-TIM-508 convention). Used only when
44
+ * the chain has no params.ts files at all. Does NOT participate in
45
+ * inheritance — a layout/page export is per-segment only.
46
+ *
47
+ * @internal Set during `collectRoutes`; consumed at leaf time when
48
+ * building the final `codecFilePaths`.
49
+ */
50
+ legacyCodecFilePath?: string;
51
+ }
52
+ //# sourceMappingURL=codegen-types.d.ts.map