@timber-js/app 0.2.0-alpha.191 → 0.2.0-alpha.194

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 (672) hide show
  1. package/agent-skill.md +2 -0
  2. package/dist/_chunks/{actions-BjbbNRFN.js → actions-CWYtq6ii.js} +3 -3
  3. package/dist/_chunks/actions-CWYtq6ii.js.map +1 -0
  4. package/dist/_chunks/als-registry-C6kcfprT.js.map +1 -1
  5. package/dist/_chunks/als-slots-BEEIPKYm.js.map +1 -1
  6. package/dist/_chunks/{build-output-helper-C3DrfzZR.js → build-output-helper-9dqCv1pZ.js} +3 -2
  7. package/dist/_chunks/build-output-helper-9dqCv1pZ.js.map +1 -0
  8. package/dist/_chunks/{cache-api-DllJ-Lyw.js → cache-api-CQeYzA5g.js} +6 -8
  9. package/dist/_chunks/cache-api-CQeYzA5g.js.map +1 -0
  10. package/dist/_chunks/chains-h7EO-u3n.js +412 -0
  11. package/dist/_chunks/chains-h7EO-u3n.js.map +1 -0
  12. package/dist/_chunks/{cli-check-DJZDc22E.js → cli-check-BVthpfLS.js} +43 -6
  13. package/dist/_chunks/cli-check-BVthpfLS.js.map +1 -0
  14. package/dist/_chunks/{cli-schema-sync-D4_AZVUb.js → cli-schema-sync-ZwM9u_ob.js} +6 -5
  15. package/dist/_chunks/{cli-schema-sync-D4_AZVUb.js.map → cli-schema-sync-ZwM9u_ob.js.map} +1 -1
  16. package/dist/_chunks/{cloudflare-CGP6BZKO.js → cloudflare-BKJC3SC_.js} +28 -22
  17. package/dist/_chunks/{cloudflare-CGP6BZKO.js.map → cloudflare-BKJC3SC_.js.map} +1 -1
  18. package/dist/_chunks/codec-registry-oOUxugz3.js.map +1 -1
  19. package/dist/_chunks/{convention-lint-CpteIpTm.js → convention-lint-DO10_pVl.js} +93 -7
  20. package/dist/_chunks/convention-lint-DO10_pVl.js.map +1 -0
  21. package/dist/_chunks/dist-DtrJyBbw.js +386 -0
  22. package/dist/_chunks/dist-DtrJyBbw.js.map +1 -0
  23. package/dist/_chunks/error-boundary-D-ODYX41.js.map +1 -1
  24. package/dist/_chunks/{file-cache-DmX7OqZP.js → file-cache-Dw6BJPG7.js} +5 -1
  25. package/dist/_chunks/{file-cache-DmX7OqZP.js.map → file-cache-Dw6BJPG7.js.map} +1 -1
  26. package/dist/_chunks/{format-CfwjgPz9.js → format-BKclgVbk.js} +3 -3
  27. package/dist/_chunks/{format-CfwjgPz9.js.map → format-BKclgVbk.js.map} +1 -1
  28. package/dist/_chunks/graph-cache-CP4GEmf9.js +304 -0
  29. package/dist/_chunks/graph-cache-CP4GEmf9.js.map +1 -0
  30. package/dist/_chunks/href-validation-CMc5JRls.js.map +1 -1
  31. package/dist/_chunks/live-graph-Bx4HodF1.js +150 -0
  32. package/dist/_chunks/live-graph-Bx4HodF1.js.map +1 -0
  33. package/dist/_chunks/{logger-CH7IcMmg.js → logger-pumCm3Il.js} +25 -7
  34. package/dist/_chunks/{logger-CH7IcMmg.js.map → logger-pumCm3Il.js.map} +1 -1
  35. package/dist/_chunks/{mdx-file-C005ay-P.js → mdx-file-CXyHGUpS.js} +3 -3
  36. package/dist/_chunks/mdx-file-CXyHGUpS.js.map +1 -0
  37. package/dist/_chunks/{plugin-context-rCinWLiE.js → plugin-context-8idfR3UZ.js} +2 -2
  38. package/dist/_chunks/plugin-context-8idfR3UZ.js.map +1 -0
  39. package/dist/_chunks/poison-rules-DoEhbqaY.js +110 -0
  40. package/dist/_chunks/poison-rules-DoEhbqaY.js.map +1 -0
  41. package/dist/_chunks/poison-scan-BAxfTT5L.js +101 -0
  42. package/dist/_chunks/poison-scan-BAxfTT5L.js.map +1 -0
  43. package/dist/_chunks/resolve-schema-CBR6Lm4i.js.map +1 -1
  44. package/dist/_chunks/rolldown-runtime-D7D4PA-g.js +13 -0
  45. package/dist/_chunks/router-ref-DuYuV_0Q.js.map +1 -1
  46. package/dist/_chunks/{rsc-media-type-DRqE_lD_.js → rsc-media-type-DDc7duTD.js} +17 -2
  47. package/dist/_chunks/{rsc-media-type-DRqE_lD_.js.map → rsc-media-type-DDc7duTD.js.map} +1 -1
  48. package/dist/_chunks/scan-BoP17W3w.js +140 -0
  49. package/dist/_chunks/scan-BoP17W3w.js.map +1 -0
  50. package/dist/_chunks/{scanner-CAietmj4.js → scanner-BRIOmHE2.js} +43 -4
  51. package/dist/_chunks/scanner-BRIOmHE2.js.map +1 -0
  52. package/dist/_chunks/schema-bridge-C83xa9lT.js.map +1 -1
  53. package/dist/_chunks/segment-classify-C539Pa2O.js.map +1 -1
  54. package/dist/_chunks/{segment-keys-BawYuNFO.js → segment-keys-BhqoHiLc.js} +14 -2
  55. package/dist/_chunks/{segment-keys-BawYuNFO.js.map → segment-keys-BhqoHiLc.js.map} +1 -1
  56. package/dist/_chunks/slot-params-BCTmZkQB.js.map +1 -1
  57. package/dist/_chunks/ssr-data-14MXm7Pj.js.map +1 -1
  58. package/dist/_chunks/use-query-states-I3JMng6J.js.map +1 -1
  59. package/dist/_chunks/use-segment-params-C4r4BD9T.js.map +1 -1
  60. package/dist/_chunks/{walkers-BsVLmD1S.js → walkers-uCu3WW6_.js} +9 -6
  61. package/dist/_chunks/{walkers-BsVLmD1S.js.map → walkers-uCu3WW6_.js.map} +1 -1
  62. package/dist/adapters/build-output-helper.d.ts +1 -1
  63. package/dist/adapters/build-output-helper.d.ts.map +1 -1
  64. package/dist/adapters/cloudflare-dev.d.ts.map +1 -1
  65. package/dist/adapters/cloudflare-dev.js +2 -1
  66. package/dist/adapters/cloudflare-dev.js.map +1 -1
  67. package/dist/adapters/cloudflare-kv-cache.d.ts +1 -1
  68. package/dist/adapters/cloudflare-kv-cache.d.ts.map +1 -1
  69. package/dist/adapters/cloudflare-kv-cache.js +7 -8
  70. package/dist/adapters/cloudflare-kv-cache.js.map +1 -1
  71. package/dist/adapters/cloudflare.d.ts +1 -1
  72. package/dist/adapters/cloudflare.d.ts.map +1 -1
  73. package/dist/adapters/cloudflare.js +1 -1
  74. package/dist/adapters/nitro-presets.d.ts +37 -0
  75. package/dist/adapters/nitro-presets.d.ts.map +1 -0
  76. package/dist/adapters/nitro-preview.d.ts +32 -0
  77. package/dist/adapters/nitro-preview.d.ts.map +1 -0
  78. package/dist/adapters/nitro.d.ts +28 -51
  79. package/dist/adapters/nitro.d.ts.map +1 -1
  80. package/dist/adapters/nitro.js +224 -171
  81. package/dist/adapters/nitro.js.map +1 -1
  82. package/dist/analyze/chains.d.ts +124 -0
  83. package/dist/analyze/chains.d.ts.map +1 -0
  84. package/dist/analyze/classify.d.ts +150 -0
  85. package/dist/analyze/classify.d.ts.map +1 -0
  86. package/dist/analyze/crawl-entry.d.ts +17 -0
  87. package/dist/analyze/crawl-entry.d.ts.map +1 -0
  88. package/dist/analyze/crawl-entry.js +313 -0
  89. package/dist/analyze/crawl-entry.js.map +1 -0
  90. package/dist/analyze/crawl.d.ts +134 -0
  91. package/dist/analyze/crawl.d.ts.map +1 -0
  92. package/dist/analyze/graph-cache.d.ts +104 -0
  93. package/dist/analyze/graph-cache.d.ts.map +1 -0
  94. package/dist/analyze/graph-command.d.ts +43 -0
  95. package/dist/analyze/graph-command.d.ts.map +1 -0
  96. package/dist/analyze/graph-command.js +472 -0
  97. package/dist/analyze/graph-command.js.map +1 -0
  98. package/dist/analyze/live-graph.d.ts +81 -0
  99. package/dist/analyze/live-graph.d.ts.map +1 -0
  100. package/dist/analyze/poison-rules.d.ts +72 -0
  101. package/dist/analyze/poison-rules.d.ts.map +1 -0
  102. package/dist/analyze/poison-scan.d.ts +48 -0
  103. package/dist/analyze/poison-scan.d.ts.map +1 -0
  104. package/dist/analyze/scan.d.ts +73 -0
  105. package/dist/analyze/scan.d.ts.map +1 -0
  106. package/dist/cache/cache-api.d.ts +2 -2
  107. package/dist/cache/cache-api.d.ts.map +1 -1
  108. package/dist/cache/index.d.ts +8 -8
  109. package/dist/cache/index.d.ts.map +1 -1
  110. package/dist/cache/index.js +1 -1
  111. package/dist/cache/redis-handler.d.ts +1 -1
  112. package/dist/cache/redis-handler.d.ts.map +1 -1
  113. package/dist/cache/stores/cloudflare-kv.d.ts +1 -1
  114. package/dist/cache/stores/cloudflare-kv.d.ts.map +1 -1
  115. package/dist/cache/stores/cloudflare-kv.js.map +1 -1
  116. package/dist/cache/stores/memory.d.ts +1 -1
  117. package/dist/cache/stores/memory.d.ts.map +1 -1
  118. package/dist/cache/stores/memory.js.map +1 -1
  119. package/dist/cache/stores/redis.d.ts +1 -1
  120. package/dist/cache/stores/redis.d.ts.map +1 -1
  121. package/dist/cache/stores/redis.js.map +1 -1
  122. package/dist/cache/stores/vercel.d.ts +1 -1
  123. package/dist/cache/stores/vercel.d.ts.map +1 -1
  124. package/dist/cache/stores/vercel.js.map +1 -1
  125. package/dist/cache/tag-aware-handler.d.ts +2 -2
  126. package/dist/cache/tag-aware-handler.d.ts.map +1 -1
  127. package/dist/cache/timber-cache.d.ts +1 -1
  128. package/dist/cache/timber-cache.d.ts.map +1 -1
  129. package/dist/cdn/cloudflare-purge.d.ts +1 -1
  130. package/dist/cdn/cloudflare-purge.d.ts.map +1 -1
  131. package/dist/cdn/cloudflare-purge.js.map +1 -1
  132. package/dist/cdn/fastly-purge.d.ts +1 -1
  133. package/dist/cdn/fastly-purge.d.ts.map +1 -1
  134. package/dist/cdn/fastly-purge.js.map +1 -1
  135. package/dist/cdn/index.d.ts +4 -4
  136. package/dist/cdn/index.d.ts.map +1 -1
  137. package/dist/cdn/workers-cache-purge.d.ts +5 -1
  138. package/dist/cdn/workers-cache-purge.d.ts.map +1 -1
  139. package/dist/cdn/workers-cache-purge.js.map +1 -1
  140. package/dist/cli-check.d.ts +10 -0
  141. package/dist/cli-check.d.ts.map +1 -1
  142. package/dist/cli.d.ts +12 -4
  143. package/dist/cli.d.ts.map +1 -1
  144. package/dist/cli.js +30 -6
  145. package/dist/cli.js.map +1 -1
  146. package/dist/client/browser-entry/hydrate.d.ts +2 -2
  147. package/dist/client/browser-entry/hydrate.d.ts.map +1 -1
  148. package/dist/client/browser-entry/post-hydration.d.ts +2 -2
  149. package/dist/client/browser-entry/router-init.d.ts +2 -2
  150. package/dist/client/browser-entry/rsc-stream.d.ts +1 -1
  151. package/dist/client/form.d.ts +2 -2
  152. package/dist/client/form.d.ts.map +1 -1
  153. package/dist/client/history.d.ts +2 -2
  154. package/dist/client/index.d.ts +18 -18
  155. package/dist/client/index.d.ts.map +1 -1
  156. package/dist/client/index.js.map +1 -1
  157. package/dist/client/internal.d.ts +19 -19
  158. package/dist/client/internal.d.ts.map +1 -1
  159. package/dist/client/internal.js +11 -15
  160. package/dist/client/internal.js.map +1 -1
  161. package/dist/client/link.d.ts +3 -3
  162. package/dist/client/navigation-commit.d.ts +5 -5
  163. package/dist/client/navigation-root.d.ts +1 -1
  164. package/dist/client/navigation-root.d.ts.map +1 -1
  165. package/dist/client/params-context.d.ts +3 -3
  166. package/dist/client/router-pipeline.d.ts +7 -7
  167. package/dist/client/router-ref.d.ts +1 -1
  168. package/dist/client/router-types.d.ts +6 -6
  169. package/dist/client/router-types.d.ts.map +1 -1
  170. package/dist/client/router.d.ts +1 -1
  171. package/dist/client/rsc-fetch.d.ts +4 -4
  172. package/dist/client/rsc-fetch.d.ts.map +1 -1
  173. package/dist/client/segment-cache.d.ts +2 -2
  174. package/dist/client/slot-provider.d.ts +1 -1
  175. package/dist/client/ssr-data.d.ts +2 -2
  176. package/dist/client/state.d.ts +4 -4
  177. package/dist/client/use-query-states.d.ts +1 -1
  178. package/dist/client/use-segment-params.d.ts +3 -3
  179. package/dist/codec.d.ts +2 -2
  180. package/dist/codec.js.map +1 -1
  181. package/dist/config-types.d.ts +24 -6
  182. package/dist/config-types.d.ts.map +1 -1
  183. package/dist/config-validation.d.ts +1 -1
  184. package/dist/cookies/define-cookie.d.ts +3 -3
  185. package/dist/cookies/index.d.ts +3 -3
  186. package/dist/cookies/index.js +3 -4
  187. package/dist/cookies/index.js.map +1 -1
  188. package/dist/cookies/json-cookie.d.ts +1 -1
  189. package/dist/dev-tools/404-page.d.ts +2 -2
  190. package/dist/dev-tools/error-page.d.ts +2 -2
  191. package/dist/dev-tools/index.d.ts +12 -12
  192. package/dist/dev-tools/instrumentation.d.ts +1 -1
  193. package/dist/dev-tools/logs.d.ts +1 -1
  194. package/dist/dev-tools/overlay.d.ts +2 -2
  195. package/dist/dev-tools/terminal.d.ts +1 -1
  196. package/dist/fonts/ast.d.ts +4 -4
  197. package/dist/fonts/bundle.d.ts +3 -3
  198. package/dist/fonts/css.d.ts +1 -1
  199. package/dist/fonts/dev-middleware.d.ts +1 -1
  200. package/dist/fonts/google.d.ts +1 -1
  201. package/dist/fonts/local.d.ts +1 -1
  202. package/dist/fonts/pipeline.d.ts +3 -3
  203. package/dist/fonts/transform.d.ts +2 -2
  204. package/dist/fonts/types.d.ts +1 -1
  205. package/dist/fonts/virtual-modules.d.ts +1 -1
  206. package/dist/index.d.ts +3 -3
  207. package/dist/index.d.ts.map +1 -1
  208. package/dist/index.js +816 -310
  209. package/dist/index.js.map +1 -1
  210. package/dist/params/codec-registry.d.ts +1 -1
  211. package/dist/params/define-schema.d.ts +2 -2
  212. package/dist/params/index.d.ts +4 -4
  213. package/dist/params/index.js.map +1 -1
  214. package/dist/params/resolve-schema.d.ts +1 -1
  215. package/dist/plugin-context.d.ts +9 -9
  216. package/dist/plugin-context.d.ts.map +1 -1
  217. package/dist/plugins/adapter-build.d.ts +2 -2
  218. package/dist/plugins/build-manifest.d.ts +2 -2
  219. package/dist/plugins/build-report.d.ts +5 -5
  220. package/dist/plugins/cache.d.ts +1 -1
  221. package/dist/plugins/callsite-jsx.d.ts +2 -2
  222. package/dist/plugins/chunks.d.ts +1 -1
  223. package/dist/plugins/chunks.d.ts.map +1 -1
  224. package/dist/plugins/cloudflare-wasm.d.ts +1 -1
  225. package/dist/plugins/content.d.ts +1 -1
  226. package/dist/plugins/content.d.ts.map +1 -1
  227. package/dist/plugins/dev-discovery.d.ts +123 -0
  228. package/dist/plugins/dev-discovery.d.ts.map +1 -0
  229. package/dist/plugins/dev-server.d.ts +1 -1
  230. package/dist/plugins/dev-server.d.ts.map +1 -1
  231. package/dist/plugins/entries.d.ts +1 -1
  232. package/dist/plugins/fonts.d.ts +3 -3
  233. package/dist/plugins/fonts.d.ts.map +1 -1
  234. package/dist/plugins/graph-endpoint.d.ts +112 -0
  235. package/dist/plugins/graph-endpoint.d.ts.map +1 -0
  236. package/dist/plugins/mdx.d.ts +18 -5
  237. package/dist/plugins/mdx.d.ts.map +1 -1
  238. package/dist/plugins/prebuilt-capture.d.ts +2 -2
  239. package/dist/plugins/prebuilt-options-analysis.d.ts +1 -1
  240. package/dist/plugins/prebuilt.d.ts +1 -1
  241. package/dist/plugins/prerender-sugar.d.ts +11 -14
  242. package/dist/plugins/prerender-sugar.d.ts.map +1 -1
  243. package/dist/plugins/request-dep/analysis.d.ts +1 -1
  244. package/dist/plugins/request-dep/index.d.ts +5 -5
  245. package/dist/plugins/request-dep/origin.d.ts +1 -1
  246. package/dist/plugins/routing.d.ts +1 -1
  247. package/dist/plugins/routing.d.ts.map +1 -1
  248. package/dist/plugins/server-bundle.d.ts.map +1 -1
  249. package/dist/plugins/shims.d.ts +1 -1
  250. package/dist/plugins/shims.d.ts.map +1 -1
  251. package/dist/plugins/static-build.d.ts +5 -5
  252. package/dist/routing/codegen-shared.d.ts +1 -1
  253. package/dist/routing/codegen-write.d.ts +1 -1
  254. package/dist/routing/codegen.d.ts +1 -1
  255. package/dist/routing/collision-probe.d.ts +1 -1
  256. package/dist/routing/collision-spaces.d.ts +1 -1
  257. package/dist/routing/convention-lint.d.ts +1 -1
  258. package/dist/routing/convention-lint.d.ts.map +1 -1
  259. package/dist/routing/index.d.ts +13 -13
  260. package/dist/routing/index.js +3 -3
  261. package/dist/routing/interception.d.ts +1 -1
  262. package/dist/routing/interception.d.ts.map +1 -1
  263. package/dist/routing/link-codegen.d.ts +1 -1
  264. package/dist/routing/manifest-codegen.d.ts +1 -1
  265. package/dist/routing/scanner.d.ts +14 -1
  266. package/dist/routing/scanner.d.ts.map +1 -1
  267. package/dist/routing/schema-validation.d.ts +1 -1
  268. package/dist/routing/segment-classify.d.ts +1 -1
  269. package/dist/routing/segment-codegen.d.ts +1 -1
  270. package/dist/routing/segment-keys.d.ts +1 -1
  271. package/dist/routing/slot-placement.d.ts +1 -1
  272. package/dist/routing/walkers.d.ts +1 -1
  273. package/dist/rsc-runtime/transforms.d.ts +13 -0
  274. package/dist/rsc-runtime/transforms.d.ts.map +1 -0
  275. package/dist/schema-bridge.d.ts +1 -1
  276. package/dist/search-params/define.d.ts +3 -3
  277. package/dist/search-params/index.d.ts +3 -3
  278. package/dist/search-params/index.js.map +1 -1
  279. package/dist/search-params/wrappers.d.ts +1 -1
  280. package/dist/server/access-gate.d.ts +1 -1
  281. package/dist/server/action-client.d.ts +1 -1
  282. package/dist/server/action-handler.d.ts +5 -5
  283. package/dist/server/actions.d.ts +2 -2
  284. package/dist/server/als-registry.d.ts +8 -8
  285. package/dist/server/asset-headers.d.ts +1 -1
  286. package/dist/server/chain-url-parts.d.ts +3 -3
  287. package/dist/server/children-interception.d.ts +2 -2
  288. package/dist/server/cookie-context.d.ts +1 -1
  289. package/dist/server/cookie-parsing.d.ts +2 -2
  290. package/dist/server/default-logger.d.ts +1 -1
  291. package/dist/server/deny-boundary.d.ts +2 -2
  292. package/dist/server/deny-renderer.d.ts +5 -5
  293. package/dist/server/early-hints.d.ts +1 -1
  294. package/dist/server/error-boundary-wrapper.d.ts +2 -4
  295. package/dist/server/error-boundary-wrapper.d.ts.map +1 -1
  296. package/dist/server/fallback-error.d.ts +5 -5
  297. package/dist/server/flight-injection-state.d.ts +1 -1
  298. package/dist/server/form-flash.d.ts +1 -1
  299. package/dist/server/html-injector-core.d.ts +2 -2
  300. package/dist/server/html-injectors.d.ts +1 -1
  301. package/dist/server/index.d.ts +18 -18
  302. package/dist/server/index.d.ts.map +1 -1
  303. package/dist/server/index.js +33 -32
  304. package/dist/server/index.js.map +1 -1
  305. package/dist/server/instrumentation.d.ts +1 -1
  306. package/dist/server/internal.d.ts +50 -50
  307. package/dist/server/internal.d.ts.map +1 -1
  308. package/dist/server/internal.js +1023 -1025
  309. package/dist/server/internal.js.map +1 -1
  310. package/dist/server/metadata-collector.d.ts +2 -2
  311. package/dist/server/metadata-platform.d.ts +2 -2
  312. package/dist/server/metadata-render.d.ts +2 -2
  313. package/dist/server/metadata-routes.d.ts +3 -3
  314. package/dist/server/metadata-social.d.ts +2 -2
  315. package/dist/server/metadata.d.ts +2 -2
  316. package/dist/server/middleware-runner.d.ts +1 -1
  317. package/dist/server/node-stream-transforms.d.ts +1 -1
  318. package/dist/server/param-coercion.d.ts +4 -4
  319. package/dist/server/pipeline-helpers.d.ts +3 -3
  320. package/dist/server/pipeline-interception.d.ts +1 -1
  321. package/dist/server/pipeline-metadata.d.ts +1 -1
  322. package/dist/server/pipeline-outcome.d.ts +2 -2
  323. package/dist/server/pipeline-phases.d.ts +3 -3
  324. package/dist/server/pipeline-phases.d.ts.map +1 -1
  325. package/dist/server/pipeline.d.ts +9 -9
  326. package/dist/server/prebuilt/cache-key.d.ts +1 -1
  327. package/dist/server/prebuilt/capture-state.d.ts +1 -1
  328. package/dist/server/prebuilt/key-discipline.d.ts +1 -1
  329. package/dist/server/prebuilt/manifest-tag-index.d.ts +1 -1
  330. package/dist/server/prebuilt/overlay.d.ts +2 -2
  331. package/dist/server/prebuilt/payload-source.d.ts +1 -1
  332. package/dist/server/prebuilt/slots.d.ts +1 -1
  333. package/dist/server/prebuilt/synthetic-store.d.ts +2 -2
  334. package/dist/server/prebuilt-builder.d.ts +2 -2
  335. package/dist/server/primitives.d.ts +2 -2
  336. package/dist/server/publish-params.d.ts +1 -1
  337. package/dist/server/request-context.d.ts +3 -3
  338. package/dist/server/route-element-builder.d.ts +16 -6
  339. package/dist/server/route-element-builder.d.ts.map +1 -1
  340. package/dist/server/route-handler.d.ts +1 -1
  341. package/dist/server/route-matcher.d.ts +4 -4
  342. package/dist/server/rsc-cache-key-guard.d.ts.map +1 -1
  343. package/dist/server/rsc-entry/action-middleware-runner.d.ts +2 -2
  344. package/dist/server/rsc-entry/api-handler.d.ts +1 -1
  345. package/dist/server/rsc-entry/api-handler.d.ts.map +1 -1
  346. package/dist/server/rsc-entry/deny-fallback.d.ts +3 -3
  347. package/dist/server/rsc-entry/error-renderer.d.ts +4 -4
  348. package/dist/server/rsc-entry/helpers.d.ts +6 -6
  349. package/dist/server/rsc-entry/index.d.ts +7 -6
  350. package/dist/server/rsc-entry/index.d.ts.map +1 -1
  351. package/dist/server/rsc-entry/render-route.d.ts +4 -4
  352. package/dist/server/rsc-entry/revalidate-renderer.d.ts +4 -4
  353. package/dist/server/rsc-entry/rsc-payload.d.ts +4 -4
  354. package/dist/server/rsc-entry/rsc-payload.d.ts.map +1 -1
  355. package/dist/server/rsc-entry/rsc-stream.d.ts +3 -3
  356. package/dist/server/rsc-entry/ssr-bridge.d.ts +1 -1
  357. package/dist/server/rsc-entry/ssr-renderer.d.ts +7 -7
  358. package/dist/server/rsc-entry/wrap-action-dispatch.d.ts +5 -5
  359. package/dist/server/sitemap-generator.d.ts +2 -2
  360. package/dist/server/sitemap-handler.d.ts +1 -1
  361. package/dist/server/skippable-prefix.d.ts +3 -3
  362. package/dist/server/slot-interception.d.ts +2 -2
  363. package/dist/server/slot-resolver.d.ts +3 -7
  364. package/dist/server/slot-resolver.d.ts.map +1 -1
  365. package/dist/server/ssr-bridge-types.d.ts +2 -2
  366. package/dist/server/ssr-entry.d.ts +1 -1
  367. package/dist/server/static-generator.d.ts +1 -1
  368. package/dist/server/static-not-found.d.ts +1 -1
  369. package/dist/server/status-code-resolver.d.ts +1 -1
  370. package/dist/server/tracing.d.ts +3 -3
  371. package/dist/server/tree-builder.d.ts +3 -3
  372. package/dist/server/tree-match.d.ts +1 -1
  373. package/dist/server/types.d.ts +2 -2
  374. package/dist/server/utils/mdx-file.d.ts +2 -0
  375. package/dist/server/utils/mdx-file.d.ts.map +1 -1
  376. package/dist/server/workers-cache-bridge.d.ts +1 -1
  377. package/dist/shared/als-slots.d.ts +1 -1
  378. package/dist/shared/payload-root.d.ts +2 -2
  379. package/dist/shared/rsc-media-type.d.ts +12 -0
  380. package/dist/shared/rsc-media-type.d.ts.map +1 -1
  381. package/dist/shared/slot-params.d.ts +1 -1
  382. package/dist/shims/font-google.d.ts +1 -1
  383. package/dist/shims/font-google.js.map +1 -1
  384. package/dist/shims/font-local.d.ts +1 -1
  385. package/dist/shims/font-local.js.map +1 -1
  386. package/dist/shims/navigation-client.d.ts +4 -4
  387. package/dist/shims/navigation.d.ts +2 -2
  388. package/docs/api/34-api-config.mdx +9 -8
  389. package/docs/api/36-cli.mdx +23 -3
  390. package/docs/learn/11-error-handling.mdx +11 -0
  391. package/docs/more/01-advanced-routing.mdx +1 -0
  392. package/docs/more/04b-mdx.mdx +38 -18
  393. package/package.json +23 -18
  394. package/src/adapters/build-output-helper.ts +4 -4
  395. package/src/adapters/cloudflare-dev.ts +7 -1
  396. package/src/adapters/cloudflare-kv-cache.ts +11 -8
  397. package/src/adapters/cloudflare.ts +21 -15
  398. package/src/adapters/compress-module.ts +2 -2
  399. package/src/adapters/nitro-presets.ts +139 -0
  400. package/src/adapters/nitro-preview.ts +340 -0
  401. package/src/adapters/nitro.ts +100 -465
  402. package/src/adapters/shared.ts +1 -1
  403. package/src/analyze/chains.ts +411 -0
  404. package/src/analyze/classify.ts +258 -0
  405. package/src/analyze/crawl-entry.ts +68 -0
  406. package/src/analyze/crawl.ts +500 -0
  407. package/src/analyze/graph-cache.ts +332 -0
  408. package/src/analyze/graph-command.ts +762 -0
  409. package/src/analyze/live-graph.ts +232 -0
  410. package/src/analyze/poison-rules.ts +165 -0
  411. package/src/analyze/poison-scan.ts +162 -0
  412. package/src/analyze/scan.ts +149 -0
  413. package/src/cache/cache-api.ts +7 -7
  414. package/src/cache/index.ts +9 -9
  415. package/src/cache/redis-handler.ts +2 -2
  416. package/src/cache/stores/cloudflare-kv.ts +1 -1
  417. package/src/cache/stores/memory.ts +2 -2
  418. package/src/cache/stores/redis.ts +1 -1
  419. package/src/cache/stores/vercel.ts +1 -1
  420. package/src/cache/tag-aware-handler.ts +2 -2
  421. package/src/cache/timber-cache.ts +8 -8
  422. package/src/cdn/cloudflare-purge.ts +1 -1
  423. package/src/cdn/fastly-purge.ts +1 -1
  424. package/src/cdn/index.ts +10 -4
  425. package/src/cdn/workers-cache-purge.ts +6 -2
  426. package/src/cli-check.ts +53 -4
  427. package/src/cli-schema-sync.ts +3 -3
  428. package/src/cli.ts +50 -11
  429. package/src/client/browser-dev.ts +1 -1
  430. package/src/client/browser-entry/action-dispatch.ts +5 -5
  431. package/src/client/browser-entry/hmr.ts +1 -1
  432. package/src/client/browser-entry/hydrate.ts +9 -9
  433. package/src/client/browser-entry/index.ts +10 -10
  434. package/src/client/browser-entry/post-hydration.ts +5 -5
  435. package/src/client/browser-entry/router-init.ts +9 -9
  436. package/src/client/browser-entry/rsc-stream.ts +3 -3
  437. package/src/client/error-boundary.tsx +4 -4
  438. package/src/client/form.tsx +7 -2
  439. package/src/client/history.ts +2 -2
  440. package/src/client/index.ts +21 -18
  441. package/src/client/internal.ts +19 -19
  442. package/src/client/link.tsx +9 -9
  443. package/src/client/navigation-api.ts +1 -1
  444. package/src/client/navigation-commit.ts +5 -5
  445. package/src/client/navigation-context.ts +1 -1
  446. package/src/client/navigation-root.tsx +1 -1
  447. package/src/client/nuqs-adapter.tsx +2 -2
  448. package/src/client/params-context.ts +4 -4
  449. package/src/client/router-effects.ts +3 -3
  450. package/src/client/router-lifecycle.ts +2 -2
  451. package/src/client/router-pipeline.ts +10 -10
  452. package/src/client/router-ref.ts +2 -2
  453. package/src/client/router-skew.ts +2 -2
  454. package/src/client/router-types.ts +6 -6
  455. package/src/client/router.ts +13 -13
  456. package/src/client/rsc-fetch.ts +11 -16
  457. package/src/client/segment-cache.ts +2 -2
  458. package/src/client/segment-outlet.tsx +1 -1
  459. package/src/client/shallow-url.ts +1 -1
  460. package/src/client/slot-outlet.tsx +1 -1
  461. package/src/client/slot-provider.tsx +1 -1
  462. package/src/client/ssr-data.ts +3 -3
  463. package/src/client/stale-client.ts +1 -1
  464. package/src/client/state.ts +4 -4
  465. package/src/client/top-loader.tsx +1 -1
  466. package/src/client/unload-guard.ts +1 -1
  467. package/src/client/use-cookie.ts +2 -2
  468. package/src/client/use-pathname.ts +2 -2
  469. package/src/client/use-pending-navigation.ts +1 -1
  470. package/src/client/use-query-states.ts +3 -3
  471. package/src/client/use-router.ts +2 -2
  472. package/src/client/use-search-params.ts +3 -3
  473. package/src/client/use-segment-params.ts +6 -6
  474. package/src/client/use-selected-layout-segment.ts +2 -2
  475. package/src/codec.ts +2 -2
  476. package/src/config-types.ts +27 -7
  477. package/src/config-validation.ts +1 -1
  478. package/src/cookies/define-cookie.ts +6 -6
  479. package/src/cookies/index.ts +3 -3
  480. package/src/cookies/json-cookie.ts +1 -1
  481. package/src/dev-tools/404-page.ts +4 -4
  482. package/src/dev-tools/dev-page-shell.ts +1 -1
  483. package/src/dev-tools/error-page.ts +4 -4
  484. package/src/dev-tools/index.ts +12 -12
  485. package/src/dev-tools/instrumentation.ts +1 -1
  486. package/src/dev-tools/logs.ts +1 -1
  487. package/src/dev-tools/overlay.ts +3 -3
  488. package/src/dev-tools/terminal.ts +2 -2
  489. package/src/fonts/ast.ts +5 -5
  490. package/src/fonts/bundle.ts +5 -5
  491. package/src/fonts/css.ts +1 -1
  492. package/src/fonts/dev-middleware.ts +2 -2
  493. package/src/fonts/google.ts +2 -2
  494. package/src/fonts/local.ts +4 -4
  495. package/src/fonts/pipeline.ts +8 -8
  496. package/src/fonts/transform.ts +5 -5
  497. package/src/fonts/types.ts +1 -1
  498. package/src/fonts/virtual-modules.ts +1 -1
  499. package/src/index.ts +46 -37
  500. package/src/params/codec-registry.ts +1 -1
  501. package/src/params/define-schema.ts +2 -2
  502. package/src/params/index.ts +4 -4
  503. package/src/params/resolve-schema.ts +2 -2
  504. package/src/plugin-context.ts +10 -10
  505. package/src/plugins/adapter-build.ts +5 -5
  506. package/src/plugins/build-manifest.ts +4 -4
  507. package/src/plugins/build-report.ts +6 -6
  508. package/src/plugins/cache.ts +3 -3
  509. package/src/plugins/callsite-ast.ts +1 -1
  510. package/src/plugins/callsite-jsx.ts +2 -2
  511. package/src/plugins/chunks.ts +1 -1
  512. package/src/plugins/cloudflare-wasm.ts +1 -1
  513. package/src/plugins/content.ts +5 -1
  514. package/src/plugins/dev-discovery.ts +218 -0
  515. package/src/plugins/dev-server.ts +97 -12
  516. package/src/plugins/entries.ts +1 -1
  517. package/src/plugins/fonts.ts +17 -10
  518. package/src/plugins/graph-endpoint.ts +532 -0
  519. package/src/plugins/mdx.ts +73 -38
  520. package/src/plugins/prebuilt-capture.ts +3 -3
  521. package/src/plugins/prebuilt-options-analysis.ts +1 -1
  522. package/src/plugins/prebuilt.ts +7 -7
  523. package/src/plugins/prerender-sugar.ts +11 -19
  524. package/src/plugins/request-dep/analysis.ts +1 -1
  525. package/src/plugins/request-dep/index.ts +8 -8
  526. package/src/plugins/request-dep/origin.ts +1 -1
  527. package/src/plugins/routing.ts +12 -7
  528. package/src/plugins/server-bundle.ts +11 -3
  529. package/src/plugins/shims.ts +16 -31
  530. package/src/plugins/static-build.ts +10 -10
  531. package/src/routing/codegen-shared.ts +1 -1
  532. package/src/routing/codegen-write.ts +3 -3
  533. package/src/routing/codegen.ts +14 -5
  534. package/src/routing/collision-probe.ts +3 -3
  535. package/src/routing/collision-spaces.ts +3 -3
  536. package/src/routing/convention-lint.ts +136 -6
  537. package/src/routing/export-detect.ts +1 -1
  538. package/src/routing/index.ts +13 -13
  539. package/src/routing/interception.ts +41 -4
  540. package/src/routing/link-codegen.ts +3 -3
  541. package/src/routing/manifest-codegen.ts +2 -2
  542. package/src/routing/scanner.ts +33 -9
  543. package/src/routing/schema-validation.ts +4 -4
  544. package/src/routing/segment-classify.ts +2 -2
  545. package/src/routing/segment-codegen.ts +1 -1
  546. package/src/routing/segment-keys.ts +1 -1
  547. package/src/routing/slot-placement.ts +1 -1
  548. package/src/routing/walkers.ts +1 -1
  549. package/src/rsc-runtime/transforms.ts +13 -0
  550. package/src/rsc-runtime/vendor-types.d.ts +12 -0
  551. package/src/schema-bridge.ts +1 -1
  552. package/src/search-params/define.ts +8 -8
  553. package/src/search-params/index.ts +3 -3
  554. package/src/search-params/wrappers.ts +3 -3
  555. package/src/server/access-gate.tsx +6 -6
  556. package/src/server/action-client.ts +5 -5
  557. package/src/server/action-handler.ts +16 -16
  558. package/src/server/actions.ts +5 -5
  559. package/src/server/als-registry.ts +8 -8
  560. package/src/server/asset-headers.ts +2 -2
  561. package/src/server/chain-url-parts.ts +5 -5
  562. package/src/server/children-interception.ts +4 -4
  563. package/src/server/compress.ts +1 -1
  564. package/src/server/cookie-context.ts +4 -4
  565. package/src/server/cookie-parsing.ts +2 -2
  566. package/src/server/default-logger.ts +3 -3
  567. package/src/server/deny-boundary.ts +10 -10
  568. package/src/server/deny-renderer.ts +38 -25
  569. package/src/server/early-hints-sender.ts +2 -2
  570. package/src/server/early-hints.ts +2 -2
  571. package/src/server/error-boundary-wrapper.ts +4 -12
  572. package/src/server/fallback-error.ts +13 -13
  573. package/src/server/flight-injection-state.ts +1 -1
  574. package/src/server/form-flash.ts +2 -2
  575. package/src/server/html-injector-core.ts +4 -4
  576. package/src/server/html-injectors.ts +5 -5
  577. package/src/server/index.ts +18 -18
  578. package/src/server/instrumentation.ts +1 -1
  579. package/src/server/internal.ts +50 -50
  580. package/src/server/logger.ts +4 -4
  581. package/src/server/metadata-collector.ts +7 -7
  582. package/src/server/metadata-platform.ts +2 -2
  583. package/src/server/metadata-render.ts +4 -4
  584. package/src/server/metadata-routes.ts +3 -3
  585. package/src/server/metadata-social.ts +2 -2
  586. package/src/server/metadata.ts +2 -2
  587. package/src/server/middleware-runner.ts +1 -1
  588. package/src/server/node-stream-transforms.ts +4 -4
  589. package/src/server/param-coercion.ts +8 -8
  590. package/src/server/pipeline-helpers.ts +7 -7
  591. package/src/server/pipeline-interception.ts +2 -2
  592. package/src/server/pipeline-metadata.ts +1 -1
  593. package/src/server/pipeline-outcome.ts +8 -8
  594. package/src/server/pipeline-phases.ts +24 -28
  595. package/src/server/pipeline.ts +22 -22
  596. package/src/server/prebuilt/cache-key.ts +1 -1
  597. package/src/server/prebuilt/capture-state.ts +1 -1
  598. package/src/server/prebuilt/key-discipline.ts +1 -1
  599. package/src/server/prebuilt/manifest-tag-index.ts +1 -1
  600. package/src/server/prebuilt/overlay.ts +6 -6
  601. package/src/server/prebuilt/payload-source.ts +2 -2
  602. package/src/server/prebuilt/slots.ts +5 -5
  603. package/src/server/prebuilt/synthetic-store.ts +2 -2
  604. package/src/server/prebuilt-builder.ts +16 -16
  605. package/src/server/prebuilt-runtime.ts +12 -12
  606. package/src/server/primitives.ts +7 -7
  607. package/src/server/publish-params.ts +3 -3
  608. package/src/server/request-context.ts +7 -7
  609. package/src/server/route-element-builder.ts +108 -50
  610. package/src/server/route-handler.ts +4 -4
  611. package/src/server/route-matcher.ts +5 -5
  612. package/src/server/rsc-cache-key-guard.ts +3 -5
  613. package/src/server/rsc-entry/action-middleware-runner.ts +7 -7
  614. package/src/server/rsc-entry/api-handler.ts +18 -9
  615. package/src/server/rsc-entry/deny-fallback.ts +10 -10
  616. package/src/server/rsc-entry/error-renderer.ts +27 -27
  617. package/src/server/rsc-entry/helpers.ts +10 -10
  618. package/src/server/rsc-entry/index.ts +51 -47
  619. package/src/server/rsc-entry/render-route.ts +20 -20
  620. package/src/server/rsc-entry/revalidate-renderer.ts +12 -12
  621. package/src/server/rsc-entry/rsc-payload.ts +19 -15
  622. package/src/server/rsc-entry/rsc-stream.ts +8 -8
  623. package/src/server/rsc-entry/ssr-bridge.ts +3 -3
  624. package/src/server/rsc-entry/ssr-renderer.ts +23 -23
  625. package/src/server/rsc-entry/wrap-action-dispatch.ts +9 -9
  626. package/src/server/rsc-prop-warnings.ts +1 -1
  627. package/src/server/sensitive-fields.ts +1 -1
  628. package/src/server/server-timing.ts +1 -1
  629. package/src/server/sitemap-generator.ts +3 -3
  630. package/src/server/sitemap-handler.ts +3 -3
  631. package/src/server/skippable-prefix.ts +7 -7
  632. package/src/server/slot-interception.ts +5 -5
  633. package/src/server/slot-resolver.ts +20 -28
  634. package/src/server/ssr-bridge-types.ts +2 -2
  635. package/src/server/ssr-entry.ts +18 -18
  636. package/src/server/ssr-render.ts +4 -4
  637. package/src/server/ssr-wrappers.tsx +1 -1
  638. package/src/server/state-tree-diff.ts +1 -1
  639. package/src/server/static-generator.ts +6 -6
  640. package/src/server/static-not-found.ts +3 -3
  641. package/src/server/status-code-resolver.ts +1 -1
  642. package/src/server/tracing.ts +5 -5
  643. package/src/server/tree-builder.ts +4 -4
  644. package/src/server/tree-match.ts +1 -1
  645. package/src/server/types.ts +2 -2
  646. package/src/server/utils/mdx-file.ts +2 -2
  647. package/src/server/waituntil-bridge.ts +1 -1
  648. package/src/server/workers-cache-bridge.ts +2 -2
  649. package/src/shared/als-slots.ts +1 -1
  650. package/src/shared/payload-root.ts +2 -2
  651. package/src/shared/rsc-media-type.ts +16 -0
  652. package/src/shared/slot-params.ts +1 -1
  653. package/src/shims/font-google.ts +1 -1
  654. package/src/shims/font-local.ts +1 -1
  655. package/src/shims/navigation-client.ts +5 -5
  656. package/src/shims/navigation.ts +2 -2
  657. package/LICENSE +0 -8
  658. package/dist/_chunks/actions-BjbbNRFN.js.map +0 -1
  659. package/dist/_chunks/build-output-helper-C3DrfzZR.js.map +0 -1
  660. package/dist/_chunks/cache-api-DllJ-Lyw.js.map +0 -1
  661. package/dist/_chunks/cli-check-DJZDc22E.js.map +0 -1
  662. package/dist/_chunks/convention-lint-CpteIpTm.js.map +0 -1
  663. package/dist/_chunks/dist-BA3u1z3W.js +0 -423
  664. package/dist/_chunks/dist-BA3u1z3W.js.map +0 -1
  665. package/dist/_chunks/mdx-file-C005ay-P.js.map +0 -1
  666. package/dist/_chunks/plugin-context-rCinWLiE.js.map +0 -1
  667. package/dist/_chunks/scanner-CAietmj4.js.map +0 -1
  668. package/dist/content/index.d.ts +0 -2
  669. package/dist/content/index.d.ts.map +0 -1
  670. package/dist/content/index.js +0 -0
  671. package/src/content/index.ts +0 -5
  672. package/src/shims/server-only-noop.js +0 -6
@@ -16,19 +16,19 @@ import {
16
16
  recordLookup,
17
17
  randomRscCacheKey,
18
18
  RSC_KEY_PARAM,
19
- } from '../shared/rsc-cache-key.js';
20
- import type { RscManifest, RscManifestEntry } from '../shared/rsc-manifest.js';
19
+ } from '../shared/rsc-cache-key.ts';
20
+ import type { RscManifest, RscManifestEntry } from '../shared/rsc-manifest.ts';
21
21
  import {
22
22
  splitPayloadRoot,
23
23
  readPublishedParams,
24
24
  type PublishedParams,
25
- } from '../shared/payload-root.js';
26
- import { normalizeBasePath, stripBasePath, withBasePath } from '../shared/base-path.js';
27
- import { rscPayloadPath } from '../shared/rsc-payload-path.js';
28
- import type { SegmentInfo, StateTree } from '../shared/segment-info.js';
29
- import { TIMBER_ERROR_HEADER } from '../shared/rsc-error-envelope.js';
30
- import { RSC_CONTENT_TYPE } from '../shared/rsc-media-type.js';
31
- import type { RouterDeps } from './router-types.js';
25
+ } from '../shared/payload-root.ts';
26
+ import { normalizeBasePath, stripBasePath, withBasePath } from '../shared/base-path.ts';
27
+ import { rscPayloadPath } from '../shared/rsc-payload-path.ts';
28
+ import type { SegmentInfo, StateTree } from '../shared/segment-info.ts';
29
+ import { TIMBER_ERROR_HEADER } from '../shared/rsc-error-envelope.ts';
30
+ import { RSC_CONTENT_TYPE, isRscContentType } from '../shared/rsc-media-type.ts';
31
+ import type { RouterDeps } from './router-types.ts';
32
32
 
33
33
  // ─── Types ───────────────────────────────────────────────────────
34
34
 
@@ -583,8 +583,7 @@ export async function fetchRscPayload(
583
583
  throw new NonRscResponse(url);
584
584
  }
585
585
  } else {
586
- const contentType = response.headers.get('content-type');
587
- if (!contentType || !contentType.split(';')[0].trim().includes(RSC_CONTENT_TYPE)) {
586
+ if (!isRscContentType(response.headers.get('content-type'))) {
588
587
  response.body?.cancel();
589
588
  throw new NonRscResponse(url);
590
589
  }
@@ -670,11 +669,7 @@ export async function fetchRscPayload(
670
669
  throw new NonRscResponse(url);
671
670
  }
672
671
  } else {
673
- const fallbackContentType = response.headers.get('content-type');
674
- if (
675
- !fallbackContentType ||
676
- !fallbackContentType.split(';')[0].trim().includes(RSC_CONTENT_TYPE)
677
- ) {
672
+ if (!isRscContentType(response.headers.get('content-type'))) {
678
673
  response.body?.cancel();
679
674
  throw new NonRscResponse(url);
680
675
  }
@@ -1,8 +1,8 @@
1
1
  // Segment Cache — stores the mounted segment tree and prefetched payloads
2
2
  // See design/19-client-navigation.md for architecture details.
3
3
 
4
- import type { PublishedParams } from '../shared/payload-root.js';
5
- import type { SegmentInfo, StateTree } from '../shared/segment-info.js';
4
+ import type { PublishedParams } from '../shared/payload-root.ts';
5
+ import type { SegmentInfo, StateTree } from '../shared/segment-info.ts';
6
6
 
7
7
  // ─── Types ───────────────────────────────────────────────────────
8
8
 
@@ -25,7 +25,7 @@
25
25
  'use client';
26
26
 
27
27
  import { useContext, useRef, type ReactNode } from 'react';
28
- import { SegmentUpdateContext } from './segment-update-context.js';
28
+ import { SegmentUpdateContext } from './segment-update-context.ts';
29
29
 
30
30
  export interface SegmentOutletProps {
31
31
  /**
@@ -7,7 +7,7 @@
7
7
  * to raw `history.replaceState` (Safari/Firefox — no navigate event fired).
8
8
  */
9
9
 
10
- import { getNavigationApi } from './navigation-api.js';
10
+ import { getNavigationApi } from './navigation-api.ts';
11
11
 
12
12
  export function replaceUrl(url: string): void {
13
13
  const nav = getNavigationApi();
@@ -14,7 +14,7 @@
14
14
  'use client';
15
15
 
16
16
  import { useContext } from 'react';
17
- import { SlotContext } from './slot-context.js';
17
+ import { SlotContext } from './slot-context.ts';
18
18
 
19
19
  export function SlotOutlet({ slot }: { slot: string }) {
20
20
  const values = useContext(SlotContext);
@@ -18,7 +18,7 @@
18
18
  'use client';
19
19
 
20
20
  import { createElement, useContext, type ReactNode } from 'react';
21
- import { SlotContext, type SlotValues } from './slot-context.js';
21
+ import { SlotContext, type SlotValues } from './slot-context.ts';
22
22
 
23
23
  interface SlotsProviderProps {
24
24
  values: SlotValues;
@@ -27,9 +27,9 @@ import {
27
27
  currentSsrData,
28
28
  _setSsrDataProvider,
29
29
  _setCurrentSsrData,
30
- } from './state.js';
31
- import type { CoercedParams } from '../shared/param-value.js';
32
- import type { SlotParamsRecord } from '../shared/slot-params.js';
30
+ } from './state.ts';
31
+ import type { CoercedParams } from '../shared/param-value.ts';
32
+ import type { SlotParamsRecord } from '../shared/slot-params.ts';
33
33
 
34
34
  // ─── Types ────────────────────────────────────────────────────────
35
35
 
@@ -32,7 +32,7 @@
32
32
  // is reached from the error boundary, a `'use client'` component evaluated in
33
33
  // the SSR graph too — a dependency on the client fetch layer would drag that
34
34
  // graph along with it.
35
- import { isPageUnloading } from './unload-guard.js';
35
+ import { isPageUnloading } from './unload-guard.ts';
36
36
 
37
37
  // ─── Error Shapes ────────────────────────────────────────────────
38
38
 
@@ -19,10 +19,10 @@
19
19
  * §"Singleton State Registry".
20
20
  */
21
21
 
22
- import type { CoercedParams } from '../shared/param-value.js';
23
- import type { SlotParamsRecord } from '../shared/slot-params.js';
24
- import type { RouterInstance } from './router-types.js';
25
- import type { SsrData } from './ssr-data.js';
22
+ import type { CoercedParams } from '../shared/param-value.ts';
23
+ import type { SlotParamsRecord } from '../shared/slot-params.ts';
24
+ import type { RouterInstance } from './router-types.ts';
25
+ import type { SsrData } from './ssr-data.ts';
26
26
 
27
27
  // ─── Router (from router-ref.ts) ──────────────────────────────────────────
28
28
 
@@ -28,7 +28,7 @@
28
28
  'use client';
29
29
 
30
30
  import { useState, createElement } from 'react';
31
- import { usePendingNavigation } from './use-pending-navigation.js';
31
+ import { usePendingNavigation } from './use-pending-navigation.ts';
32
32
 
33
33
  // ─── Types ───────────────────────────────────────────────────────
34
34
 
@@ -19,7 +19,7 @@
19
19
  * See design/10-error-handling.md §"Known limitation: deny() inside Suspense and hydration"
20
20
  */
21
21
 
22
- import { unloading, _setUnloading } from './state.js';
22
+ import { unloading, _setUnloading } from './state.ts';
23
23
 
24
24
  /**
25
25
  * Departure is *committed*: `pagehide` has fired, or this document has called
@@ -17,8 +17,8 @@
17
17
  // code runs. Same rule as `client/params-context.ts` (TIM-1297, TIM-1298).
18
18
  import * as React from 'react';
19
19
  import { parseCookie, stringifySetCookie } from 'cookie';
20
- import { getSsrData } from './ssr-data.js';
21
- import { assertValidCookieName } from '../cookies/validation.js';
20
+ import { getSsrData } from './ssr-data.ts';
21
+ import { assertValidCookieName } from '../cookies/validation.ts';
22
22
 
23
23
  // ─── Types ────────────────────────────────────────────────────────────────
24
24
 
@@ -16,8 +16,8 @@
16
16
  * Compatible with Next.js's `usePathname()` from `next/navigation`.
17
17
  */
18
18
 
19
- import { getSsrData } from './ssr-data.js';
20
- import { useNavigationContext } from './navigation-context.js';
19
+ import { getSsrData } from './ssr-data.ts';
20
+ import { useNavigationContext } from './navigation-context.ts';
21
21
 
22
22
  /**
23
23
  * Read the current URL pathname.
@@ -1,5 +1,5 @@
1
1
  import { useSyncExternalStore } from 'react';
2
- import { getRouterOrNull } from './router-ref.js';
2
+ import { getRouterOrNull } from './router-ref.ts';
3
3
 
4
4
  function subscribe(onStoreChange: () => void): () => void {
5
5
  const router = getRouterOrNull();
@@ -17,9 +17,9 @@ import type {
17
17
  SearchParamsDefinition,
18
18
  SetParams,
19
19
  QueryStatesOptions,
20
- } from '../search-params/define.js';
21
- import { parseTotal } from '../search-params/parse-total.js';
22
- import { serializedEqual } from '../search-params/serialize-equal.js';
20
+ } from '../search-params/define.ts';
21
+ import { parseTotal } from '../search-params/parse-total.ts';
22
+ import { serializedEqual } from '../search-params/serialize-equal.ts';
23
23
 
24
24
  // ─── Codec Bridge ─────────────────────────────────────────────────
25
25
 
@@ -23,8 +23,8 @@
23
23
  * - usePendingNavigation() — global navigation pending state
24
24
  */
25
25
 
26
- import { getRouterOrNull } from './router-ref.js';
27
- import { validateNavigationHref } from '../shared/href-validation.js';
26
+ import { getRouterOrNull } from './router-ref.ts';
27
+ import { validateNavigationHref } from '../shared/href-validation.ts';
28
28
 
29
29
  export interface AppRouterInstance {
30
30
  /** Navigate to a URL, pushing a new history entry */
@@ -26,9 +26,9 @@
26
26
  * Compatible with Next.js's `useSearchParams()` from `next/navigation`.
27
27
  */
28
28
 
29
- import { getSsrData } from './ssr-data.js';
30
- import { useNavigationContext } from './navigation-context.js';
31
- import { cachedSearch, cachedSearchParams, _setCachedSearch } from './state.js';
29
+ import { getSsrData } from './ssr-data.ts';
30
+ import { useNavigationContext } from './navigation-context.ts';
31
+ import { cachedSearch, cachedSearchParams, _setCachedSearch } from './state.ts';
32
32
 
33
33
  function getSearchParams(search: string): URLSearchParams {
34
34
  if (search !== cachedSearch) {
@@ -30,18 +30,18 @@
30
30
  * Design doc: design/09-typescript.md §"Typed Routes"
31
31
  */
32
32
 
33
- import type { CoercedParams } from '../shared/param-value.js';
34
- import type { Routes } from '../index.js';
35
- import { getSsrData } from './ssr-data.js';
33
+ import type { CoercedParams } from '../shared/param-value.ts';
34
+ import type { Routes } from '../index.ts';
35
+ import { getSsrData } from './ssr-data.ts';
36
36
  import {
37
37
  currentParams,
38
38
  currentSlotParams,
39
39
  _setCurrentParams,
40
40
  _setCurrentSlotParams,
41
41
  paramsListeners,
42
- } from './state.js';
43
- import { resolveSegmentParams, type SlotParamsRecord } from '../shared/slot-params.js';
44
- import { useParamsContext } from './params-context.js';
42
+ } from './state.ts';
43
+ import { resolveSegmentParams, type SlotParamsRecord } from '../shared/slot-params.ts';
44
+ import { useParamsContext } from './params-context.ts';
45
45
 
46
46
  // ---------------------------------------------------------------------------
47
47
  // Module-level subscribe/notify pattern — kept for backward compat and tests
@@ -22,8 +22,8 @@
22
22
 
23
23
  'use client';
24
24
 
25
- import { useSegmentContext } from './segment-context.js';
26
- import { usePathname } from './use-pathname.js';
25
+ import { useSegmentContext } from './segment-context.ts';
26
+ import { usePathname } from './use-pathname.ts';
27
27
 
28
28
  /**
29
29
  * Split a pathname into URL segments.
package/src/codec.ts CHANGED
@@ -62,8 +62,8 @@ export {
62
62
  // validateSync,
63
63
  // isStandardSchema,
64
64
  // isCodec,
65
- } from './schema-bridge.js';
66
- export type { StandardSchemaV1, StandardSchemaResult } from './schema-bridge.js';
65
+ } from './schema-bridge.ts';
66
+ export type { StandardSchemaV1, StandardSchemaResult } from './schema-bridge.ts';
67
67
 
68
68
  // ─── Built-in segment param codecs ───────────────────────────────────────
69
69
 
@@ -159,13 +159,33 @@ export interface TimberUserConfig {
159
159
  * to use a custom location.
160
160
  */
161
161
  appDir?: string;
162
- /** MDX compilation options passed to @mdx-js/rollup. See design/20-content-collections.md. */
163
- mdx?: {
164
- remarkPlugins?: unknown[];
165
- rehypePlugins?: unknown[];
166
- recmaPlugins?: unknown[];
167
- remarkRehypeOptions?: Record<string, unknown>;
168
- };
162
+ /**
163
+ * MDX/Markdown compilation options passed to vite-plugin-satteri.
164
+ *
165
+ * Satteri's plugin API is visitor-based (`defineMdastPlugin` /
166
+ * `defineHastPlugin` from the `satteri` package) — unified
167
+ * remark/rehype plugins are not supported.
168
+ *
169
+ * Set to `false` to disable timber's MDX support entirely — even when a
170
+ * `content/` directory exists. Use this when registering your own MDX
171
+ * compiler (e.g. `@mdx-js/rollup` for the unified pipeline) directly in
172
+ * `vite.config.ts`.
173
+ *
174
+ * See design/20-content-collections.md.
175
+ */
176
+ mdx?:
177
+ | false
178
+ | {
179
+ /** MDAST-stage plugins (created with satteri's `defineMdastPlugin`). */
180
+ mdastPlugins?: unknown[];
181
+ /** HAST-stage plugins (created with satteri's `defineHastPlugin`). */
182
+ hastPlugins?: unknown[];
183
+ /**
184
+ * Parser feature toggles. Defaults: `gfm: true`, `frontmatter: true`,
185
+ * everything else (math, directive, wikilinks, …) off.
186
+ */
187
+ features?: Record<string, unknown>;
188
+ };
169
189
  /**
170
190
  * Server action bound args encryption configuration.
171
191
  *
@@ -9,7 +9,7 @@
9
9
  */
10
10
 
11
11
  import { createRequire } from 'node:module';
12
- import type { TimberUserConfig } from './config-types.js';
12
+ import type { TimberUserConfig } from './config-types.ts';
13
13
 
14
14
  // ─── Types ──────────────────────────────────────────────────────────────────
15
15
 
@@ -17,14 +17,14 @@
17
17
  * See design/29-cookies.md §"Typed Cookies with Schema Validation"
18
18
  */
19
19
 
20
- import type { CookieOptions } from '../server/cookie-context.js';
21
- import type { ClientCookieOptions } from '../client/use-cookie.js';
20
+ import type { CookieOptions } from '../server/cookie-context.ts';
21
+ import type { ClientCookieOptions } from '../client/use-cookie.ts';
22
22
 
23
23
  // ─── Types ────────────────────────────────────────────────────────────────
24
24
 
25
- import type { Codec } from '../codec.js';
26
- import type { StandardSchemaV1 } from '../schema-bridge.js';
27
- import { resolveCodecOrSchema } from '../schema-bridge.js';
25
+ import type { Codec } from '../codec.ts';
26
+ import type { StandardSchemaV1 } from '../schema-bridge.ts';
27
+ import { resolveCodecOrSchema } from '../schema-bridge.ts';
28
28
 
29
29
  /**
30
30
  * A codec that converts between string cookie values and typed values.
@@ -92,7 +92,7 @@ import {
92
92
  useCookie as useRawCookie,
93
93
  notifyCookieChange,
94
94
  getCookieValue,
95
- } from '../client/use-cookie.js';
95
+ } from '../client/use-cookie.ts';
96
96
 
97
97
  // ─── Environment Detection ────────────────────────────────────────────────
98
98
 
@@ -1,16 +1,16 @@
1
1
  // @timber-js/app/cookies — Typed cookie definitions
2
2
  // See design/29-cookies.md §"Typed Cookies with Schema Validation"
3
3
 
4
- export { defineCookie } from './define-cookie.js';
4
+ export { defineCookie } from './define-cookie.ts';
5
5
  export type {
6
6
  CookieDefinition,
7
7
  ServerOnlyCookieDefinition,
8
8
  CookieCodec,
9
9
  DefineCookieOptions,
10
- } from './define-cookie.js';
10
+ } from './define-cookie.ts';
11
11
 
12
12
  // JSON-in-cookie helper. Wraps any JSON-serializable value with URL-encoding
13
13
  // so the stored form satisfies RFC 6265 §4.1.1 cookie-octet (the rule that
14
14
  // the framework now enforces in `getCookieJar().set()` to close TIM-868).
15
15
  // See ONGOING_SECURITY.md H-3 and design/29-cookies.md.
16
- export { jsonCookieCodec } from './json-cookie.js';
16
+ export { jsonCookieCodec } from './json-cookie.ts';
@@ -40,7 +40,7 @@
40
40
  * ```
41
41
  */
42
42
 
43
- import type { Codec } from '../codec.js';
43
+ import type { Codec } from '../codec.ts';
44
44
 
45
45
  /**
46
46
  * Build a CookieCodec that JSON-encodes the value. The framework's
@@ -13,10 +13,10 @@
13
13
  * Design doc: 21-dev-server.md, 07-routing.md
14
14
  */
15
15
 
16
- import type { SegmentNode } from '../routing/types.js';
17
- import { collectLeafRoutes } from '../routing/walkers.js';
18
- import { escapeHtml } from '../server/utils/escape-html.js';
19
- import { renderDevPageShell, type DevErrorHmrOptions } from './dev-page-shell.js';
16
+ import type { SegmentNode } from '../routing/types.ts';
17
+ import { collectLeafRoutes } from '../routing/walkers.ts';
18
+ import { escapeHtml } from '../server/utils/escape-html.ts';
19
+ import { renderDevPageShell, type DevErrorHmrOptions } from './dev-page-shell.ts';
20
20
 
21
21
  // ─── Types ──────────────────────────────────────────────────────────────────
22
22
 
@@ -14,7 +14,7 @@
14
14
  * Design doc: 21-dev-server.md §"Error Overlay", §"Dev 404 Page"
15
15
  */
16
16
 
17
- import { escapeHtml } from '../server/utils/escape-html.js';
17
+ import { escapeHtml } from '../server/utils/escape-html.ts';
18
18
 
19
19
  // ─── HMR Options ────────────────────────────────────────────────────────────
20
20
 
@@ -16,10 +16,10 @@
16
16
  */
17
17
 
18
18
  import { readFileSync } from 'node:fs';
19
- import { extractComponentStack, parseFirstAppFrame, type ErrorPhase } from './overlay.js';
20
- import { classifyStack } from './stack-classifier.js';
21
- import { escapeHtml } from '../server/utils/escape-html.js';
22
- import { renderDevPageShell, type DevErrorHmrOptions } from './dev-page-shell.js';
19
+ import { extractComponentStack, parseFirstAppFrame, type ErrorPhase } from './overlay.ts';
20
+ import { classifyStack } from './stack-classifier.ts';
21
+ import { escapeHtml } from '../server/utils/escape-html.ts';
22
+ import { renderDevPageShell, type DevErrorHmrOptions } from './dev-page-shell.ts';
23
23
 
24
24
  // ─── Phase Labels ───────────────────────────────────────────────────────────
25
25
 
@@ -23,7 +23,7 @@ export {
23
23
  classifyStack,
24
24
  type FrameType,
25
25
  type ClassifiedFrame,
26
- } from './stack-classifier.js';
26
+ } from './stack-classifier.ts';
27
27
 
28
28
  // Error overlay (Vite integration)
29
29
  export {
@@ -38,20 +38,20 @@ export {
38
38
  PHASE_LABELS,
39
39
  type ErrorPhase,
40
40
  type RscDebugComponentInfo,
41
- } from './overlay.js';
41
+ } from './overlay.ts';
42
42
 
43
43
  // HTML error pages
44
- export { generateDevErrorPage } from './error-page.js';
44
+ export { generateDevErrorPage } from './error-page.ts';
45
45
  export {
46
46
  extractHmrOptions,
47
47
  renderDevPageShell,
48
48
  buildReloadScript,
49
49
  type DevErrorHmrOptions,
50
- } from './dev-page-shell.js';
51
- export { generateDev404Page, collectRoutes, findSimilarRoutes } from './404-page.js';
50
+ } from './dev-page-shell.ts';
51
+ export { generateDev404Page, collectRoutes, findSimilarRoutes } from './404-page.ts';
52
52
 
53
53
  // Terminal error formatting
54
- export { formatTerminalError as formatTerminalErrorDirect } from './terminal.js';
54
+ export { formatTerminalError as formatTerminalErrorDirect } from './terminal.ts';
55
55
 
56
56
  // Request tree logger
57
57
  export {
@@ -61,23 +61,23 @@ export {
61
61
  resolveLogMode,
62
62
  type DevLogMode,
63
63
  type DevLoggerConfig,
64
- } from './logger.js';
64
+ } from './logger.ts';
65
65
 
66
66
  // Browser log forwarding (Vite 8 config mapping)
67
67
  export {
68
68
  resolveForwardConsole,
69
69
  type BrowserLogLevel,
70
70
  type DevBrowserLogsConfig,
71
- } from './browser-logs.js';
71
+ } from './browser-logs.ts';
72
72
 
73
73
  // Server log forwarding
74
- export { timberDevLogs } from './logs.js';
74
+ export { timberDevLogs } from './logs.ts';
75
75
 
76
76
  // Holding server
77
- export { createHoldingServer, type HoldingServer } from './holding-server.js';
77
+ export { createHoldingServer, type HoldingServer } from './holding-server.ts';
78
78
 
79
79
  // OTEL instrumentation
80
- export { instrumentDevFetch, DevSpanProcessor, type DevFetchCleanup } from './instrumentation.js';
80
+ export { instrumentDevFetch, DevSpanProcessor, type DevFetchCleanup } from './instrumentation.ts';
81
81
 
82
82
  // Hydration mismatch overlay (client-side, dev-only)
83
- export { isHydrationError, showHydrationError } from './hydration-overlay.js';
83
+ export { isHydrationError, showHydrationError } from './hydration-overlay.ts';
@@ -22,7 +22,7 @@ import {
22
22
  formatJson,
23
23
  type DevLogMode,
24
24
  type DevLoggerConfig,
25
- } from './logger.js';
25
+ } from './logger.ts';
26
26
 
27
27
  // ─── Fetch Instrumentation ──────────────────────────────────────────────────
28
28
 
@@ -13,7 +13,7 @@
13
13
  */
14
14
 
15
15
  import type { Plugin, ViteDevServer, Logger } from 'vite';
16
- import type { PluginContext } from '../plugin-context.js';
16
+ import type { PluginContext } from '../plugin-context.ts';
17
17
 
18
18
  // ─── Original Console Snapshot ──────────────────────────────────────────
19
19
 
@@ -18,7 +18,7 @@
18
18
  import type { ViteDevServer, DevEnvironment } from 'vite';
19
19
  import { createRequire } from 'node:module';
20
20
  import { resolve, dirname } from 'node:path';
21
- import { classifyFrame, type FrameType } from './stack-classifier.js';
21
+ import { classifyFrame, type FrameType } from './stack-classifier.ts';
22
22
 
23
23
  // ─── Trace Mapping (lazy-loaded) ─────────────────────────────────────────────
24
24
 
@@ -78,7 +78,7 @@ export {
78
78
  classifyStack,
79
79
  type FrameType,
80
80
  type ClassifiedFrame,
81
- } from './stack-classifier.js';
81
+ } from './stack-classifier.ts';
82
82
 
83
83
  // ─── Component Stack Extraction ─────────────────────────────────────────────
84
84
 
@@ -161,7 +161,7 @@ export function classifyErrorPhase(error: Error, projectRoot: string): ErrorPhas
161
161
  // formatTerminalError is implemented in the dedicated terminal formatter module
162
162
  // (terminal.ts) to keep this file under 500 lines.
163
163
  // Import for use in sendErrorToOverlay, and re-export for external consumers.
164
- import { formatTerminalError as _formatTerminalError } from './terminal.js';
164
+ import { formatTerminalError as _formatTerminalError } from './terminal.ts';
165
165
  export const formatTerminalError = _formatTerminalError;
166
166
 
167
167
  // ─── RSC Debug Context ──────────────────────────────────────────────────────
@@ -22,8 +22,8 @@ import {
22
22
  parseFirstAppFrame,
23
23
  PHASE_LABELS,
24
24
  type ErrorPhase,
25
- } from './overlay.js';
26
- import { classifyStack } from './stack-classifier.js';
25
+ } from './overlay.ts';
26
+ import { classifyStack } from './stack-classifier.ts';
27
27
 
28
28
  // ─── Styling ────────────────────────────────────────────────────────────────
29
29
 
package/src/fonts/ast.ts CHANGED
@@ -17,17 +17,17 @@
17
17
  */
18
18
 
19
19
  import { parseAst as viteParseAst } from 'vite';
20
- import type { GoogleFontConfig } from './types.js';
21
- import type { LocalFontConfig, LocalFontSrc } from './types.js';
22
- import type { AstNode, IdentifierNode, PositionedNode, FlaggedUsage } from './ast-walk.js';
20
+ import type { GoogleFontConfig } from './types.ts';
21
+ import type { LocalFontConfig, LocalFontSrc } from './types.ts';
22
+ import type { AstNode, IdentifierNode, PositionedNode, FlaggedUsage } from './ast-walk.ts';
23
23
  import {
24
24
  offsetToLineColumn,
25
25
  walkForDynamicCalls,
26
26
  walkForNestedFontCalls,
27
27
  walkForUnconsumedReferences,
28
- } from './ast-walk.js';
28
+ } from './ast-walk.ts';
29
29
 
30
- export type { FlaggedUsage } from './ast-walk.js';
30
+ export type { FlaggedUsage } from './ast-walk.ts';
31
31
 
32
32
  // ── AST node types (font-config-specific, on top of ast-walk.ts's base) ──────
33
33
 
@@ -11,8 +11,8 @@
11
11
 
12
12
  import { readFileSync, existsSync } from 'node:fs';
13
13
  import { resolve, normalize } from 'node:path';
14
- import type { ManifestFontEntry, BuildManifest } from '../server/build-manifest.js';
15
- import { fontOutputBasename, fontUrlPrefix, FONT_OUTPUT_DIR } from './paths.js';
14
+ import type { ManifestFontEntry, BuildManifest } from '../server/build-manifest.ts';
15
+ import { fontOutputBasename, fontUrlPrefix, FONT_OUTPUT_DIR } from './paths.ts';
16
16
 
17
17
  /**
18
18
  * Minimal shape of the asset descriptor accepted by Rollup's `emitFile`.
@@ -24,9 +24,9 @@ interface EmittedAsset {
24
24
  fileName: string;
25
25
  source: string | Uint8Array;
26
26
  }
27
- import type { FontPipeline } from './pipeline.js';
28
- import type { CachedFont } from './google.js';
29
- import { inferFontFormat } from './local.js';
27
+ import type { FontPipeline } from './pipeline.ts';
28
+ import type { CachedFont } from './google.ts';
29
+ import { inferFontFormat } from './local.ts';
30
30
 
31
31
  type EmitFile = (asset: EmittedAsset) => string;
32
32
  type EmitWarning = (msg: string) => void;
package/src/fonts/css.ts CHANGED
@@ -7,7 +7,7 @@
7
7
  * Design doc: 24-fonts.md §"Step 3: @font-face Generation"
8
8
  */
9
9
 
10
- import type { FontFaceDescriptor } from './types.js';
10
+ import type { FontFaceDescriptor } from './types.ts';
11
11
 
12
12
  /**
13
13
  * Generate a single `@font-face` CSS rule from a descriptor.