@timber-js/app 0.2.0-alpha.21 → 0.2.0-alpha.210
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.
- package/LICENSE +8 -0
- package/agent-skill.md +346 -0
- package/bin/timber.mjs +15 -1
- package/dist/_chunks/actions-Rjk4htmA.js +1199 -0
- package/dist/_chunks/actions-Rjk4htmA.js.map +1 -0
- package/dist/_chunks/als-registry-DaxkVjt5.js +45 -0
- package/dist/_chunks/als-registry-DaxkVjt5.js.map +1 -0
- package/dist/_chunks/als-slots-BEEIPKYm.js +26 -0
- package/dist/_chunks/als-slots-BEEIPKYm.js.map +1 -0
- package/dist/_chunks/base-path-DaQrzbez.js +80 -0
- package/dist/_chunks/base-path-DaQrzbez.js.map +1 -0
- package/dist/_chunks/build-manifest-DWppEdLB.js +86 -0
- package/dist/_chunks/build-manifest-DWppEdLB.js.map +1 -0
- package/dist/_chunks/build-output-helper-RV_BRcF1.js +367 -0
- package/dist/_chunks/build-output-helper-RV_BRcF1.js.map +1 -0
- package/dist/_chunks/cache-api-DGdYfNJn.js +1182 -0
- package/dist/_chunks/cache-api-DGdYfNJn.js.map +1 -0
- package/dist/_chunks/canonicalize-CgHoscYO.js +66 -0
- package/dist/_chunks/canonicalize-CgHoscYO.js.map +1 -0
- package/dist/_chunks/chains-BoO51joc.js +413 -0
- package/dist/_chunks/chains-BoO51joc.js.map +1 -0
- package/dist/_chunks/cli-check-ajNY3B2e.js +252 -0
- package/dist/_chunks/cli-check-ajNY3B2e.js.map +1 -0
- package/dist/_chunks/cli-context-By7k2xVo.js +70 -0
- package/dist/_chunks/cli-context-By7k2xVo.js.map +1 -0
- package/dist/_chunks/cli-schema-sync-D2eI8jEg.js +299 -0
- package/dist/_chunks/cli-schema-sync-D2eI8jEg.js.map +1 -0
- package/dist/_chunks/cloudflare-Byxl8FWP.js +1333 -0
- package/dist/_chunks/cloudflare-Byxl8FWP.js.map +1 -0
- package/dist/_chunks/codec-registry-oOUxugz3.js +21 -0
- package/dist/_chunks/codec-registry-oOUxugz3.js.map +1 -0
- package/dist/_chunks/codegen-Bps1sLKJ.js +432 -0
- package/dist/_chunks/codegen-Bps1sLKJ.js.map +1 -0
- package/dist/_chunks/convention-lint-DLmhGsRS.js +590 -0
- package/dist/_chunks/convention-lint-DLmhGsRS.js.map +1 -0
- package/dist/_chunks/dev-server-v97rQH4b.js +2039 -0
- package/dist/_chunks/dev-server-v97rQH4b.js.map +1 -0
- package/dist/_chunks/dist-DtrJyBbw.js +386 -0
- package/dist/_chunks/dist-DtrJyBbw.js.map +1 -0
- package/dist/_chunks/error-boundary-DsNScGRM.js +1024 -0
- package/dist/_chunks/error-boundary-DsNScGRM.js.map +1 -0
- package/dist/_chunks/fast-hash-C-tVYrLb.js +41 -0
- package/dist/_chunks/fast-hash-C-tVYrLb.js.map +1 -0
- package/dist/_chunks/format-BKclgVbk.js +14 -0
- package/dist/_chunks/format-BKclgVbk.js.map +1 -0
- package/dist/_chunks/fs-identity-BRKuL215.js +207 -0
- package/dist/_chunks/fs-identity-BRKuL215.js.map +1 -0
- package/dist/_chunks/graph-cache-CYiUS2aS.js +303 -0
- package/dist/_chunks/graph-cache-CYiUS2aS.js.map +1 -0
- package/dist/_chunks/href-validation-BIrxavIy.js +213 -0
- package/dist/_chunks/href-validation-BIrxavIy.js.map +1 -0
- package/dist/_chunks/json-lossy-check-CVuRs2hG.js +66 -0
- package/dist/_chunks/json-lossy-check-CVuRs2hG.js.map +1 -0
- package/dist/_chunks/live-graph-9cSnn_h9.js +150 -0
- package/dist/_chunks/live-graph-9cSnn_h9.js.map +1 -0
- package/dist/_chunks/logger-BP0LN6vP.js +662 -0
- package/dist/_chunks/logger-BP0LN6vP.js.map +1 -0
- package/dist/_chunks/{metadata-routes-Cjmvi3rQ.js → metadata-routes-DSDjM_hJ.js} +71 -27
- package/dist/_chunks/metadata-routes-DSDjM_hJ.js.map +1 -0
- package/dist/_chunks/navigation-root-BQfo1-kG.js +126 -0
- package/dist/_chunks/navigation-root-BQfo1-kG.js.map +1 -0
- package/dist/_chunks/param-value-C8TNYchQ.js +66 -0
- package/dist/_chunks/param-value-C8TNYchQ.js.map +1 -0
- package/dist/_chunks/plugin-context-BPBPc3lL.js +345 -0
- package/dist/_chunks/plugin-context-BPBPc3lL.js.map +1 -0
- package/dist/_chunks/poison-rules-DoEhbqaY.js +110 -0
- package/dist/_chunks/poison-rules-DoEhbqaY.js.map +1 -0
- package/dist/_chunks/poison-scan-vGV7Re0B.js +101 -0
- package/dist/_chunks/poison-scan-vGV7Re0B.js.map +1 -0
- package/dist/_chunks/purge-store-Byr8XOjU.js +14 -0
- package/dist/_chunks/purge-store-Byr8XOjU.js.map +1 -0
- package/dist/_chunks/render-timeout-DOf_BBcO.js +46 -0
- package/dist/_chunks/render-timeout-DOf_BBcO.js.map +1 -0
- package/dist/_chunks/resolve-schema-CBR6Lm4i.js +50 -0
- package/dist/_chunks/resolve-schema-CBR6Lm4i.js.map +1 -0
- package/dist/_chunks/rolldown-runtime-D7D4PA-g.js +13 -0
- package/dist/_chunks/rsc-cache-key-ClUiXQnK.js +243 -0
- package/dist/_chunks/rsc-cache-key-ClUiXQnK.js.map +1 -0
- package/dist/_chunks/rsc-media-type-DDc7duTD.js +61 -0
- package/dist/_chunks/rsc-media-type-DDc7duTD.js.map +1 -0
- package/dist/_chunks/rsc-payload-path-dffcs4jp.js +54 -0
- package/dist/_chunks/rsc-payload-path-dffcs4jp.js.map +1 -0
- package/dist/_chunks/scan-BoP17W3w.js +140 -0
- package/dist/_chunks/scan-BoP17W3w.js.map +1 -0
- package/dist/_chunks/scanner-DmqdxzbW.js +2056 -0
- package/dist/_chunks/scanner-DmqdxzbW.js.map +1 -0
- package/dist/_chunks/schema-bridge-C83xa9lT.js +199 -0
- package/dist/_chunks/schema-bridge-C83xa9lT.js.map +1 -0
- package/dist/_chunks/segment-classify-C539Pa2O.js +197 -0
- package/dist/_chunks/segment-classify-C539Pa2O.js.map +1 -0
- package/dist/_chunks/segment-context-xtPUGfdq.js +137 -0
- package/dist/_chunks/segment-context-xtPUGfdq.js.map +1 -0
- package/dist/_chunks/segment-keys-D5hu1hz4.js +62 -0
- package/dist/_chunks/segment-keys-D5hu1hz4.js.map +1 -0
- package/dist/_chunks/singleflight-BeVMMKi0.js +55 -0
- package/dist/_chunks/singleflight-BeVMMKi0.js.map +1 -0
- package/dist/_chunks/sizeof-BM1409x2.js +36 -0
- package/dist/_chunks/sizeof-BM1409x2.js.map +1 -0
- package/dist/_chunks/ssr-data-nA3I70_n.js +49 -0
- package/dist/_chunks/ssr-data-nA3I70_n.js.map +1 -0
- package/dist/_chunks/state-BhNGPsdi.js +50 -0
- package/dist/_chunks/state-BhNGPsdi.js.map +1 -0
- package/dist/_chunks/status-page-marker-BRX9Ib-d.js +564 -0
- package/dist/_chunks/status-page-marker-BRX9Ib-d.js.map +1 -0
- package/dist/_chunks/tree-match-6yihorhk.js +169 -0
- package/dist/_chunks/tree-match-6yihorhk.js.map +1 -0
- package/dist/_chunks/use-query-states-I3JMng6J.js +226 -0
- package/dist/_chunks/use-query-states-I3JMng6J.js.map +1 -0
- package/dist/_chunks/walkers-Czu2jXFq.js +144 -0
- package/dist/_chunks/walkers-Czu2jXFq.js.map +1 -0
- package/dist/_chunks/write-file-atomic-D1qWqHb4.js +32 -0
- package/dist/_chunks/write-file-atomic-D1qWqHb4.js.map +1 -0
- package/dist/adapters/build-output-helper.d.ts +72 -0
- package/dist/adapters/build-output-helper.d.ts.map +1 -0
- package/dist/adapters/canonicalize-module.d.ts +8 -0
- package/dist/adapters/canonicalize-module.d.ts.map +1 -0
- package/dist/adapters/cloudflare-dev.d.ts +109 -0
- package/dist/adapters/cloudflare-dev.d.ts.map +1 -0
- package/dist/adapters/cloudflare-dev.js +74 -0
- package/dist/adapters/cloudflare-dev.js.map +1 -0
- package/dist/adapters/cloudflare-kv-cache.d.ts +65 -0
- package/dist/adapters/cloudflare-kv-cache.d.ts.map +1 -0
- package/dist/adapters/cloudflare-kv-cache.js +123 -0
- package/dist/adapters/cloudflare-kv-cache.js.map +1 -0
- package/dist/adapters/cloudflare.d.ts +224 -24
- package/dist/adapters/cloudflare.d.ts.map +1 -1
- package/dist/adapters/cloudflare.js +2 -188
- package/dist/adapters/compress-module.d.ts +25 -4
- package/dist/adapters/compress-module.d.ts.map +1 -1
- package/dist/adapters/fs-identity.d.ts +63 -0
- package/dist/adapters/fs-identity.d.ts.map +1 -0
- package/dist/adapters/nitro-presets.d.ts +31 -0
- package/dist/adapters/nitro-presets.d.ts.map +1 -0
- package/dist/adapters/nitro-preview.d.ts +64 -0
- package/dist/adapters/nitro-preview.d.ts.map +1 -0
- package/dist/adapters/nitro.d.ts +54 -37
- package/dist/adapters/nitro.d.ts.map +1 -1
- package/dist/adapters/nitro.js +631 -359
- package/dist/adapters/nitro.js.map +1 -1
- package/dist/adapters/shared.d.ts +67 -0
- package/dist/adapters/shared.d.ts.map +1 -0
- package/dist/adapters/types.d.ts +122 -16
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/adapters/types.js +0 -0
- package/dist/analyze/chains.d.ts +124 -0
- package/dist/analyze/chains.d.ts.map +1 -0
- package/dist/analyze/classify.d.ts +151 -0
- package/dist/analyze/classify.d.ts.map +1 -0
- package/dist/analyze/crawl-entry.d.ts +17 -0
- package/dist/analyze/crawl-entry.d.ts.map +1 -0
- package/dist/analyze/crawl-entry.js +313 -0
- package/dist/analyze/crawl-entry.js.map +1 -0
- package/dist/analyze/crawl.d.ts +134 -0
- package/dist/analyze/crawl.d.ts.map +1 -0
- package/dist/analyze/graph-cache.d.ts +104 -0
- package/dist/analyze/graph-cache.d.ts.map +1 -0
- package/dist/analyze/graph-command.d.ts +43 -0
- package/dist/analyze/graph-command.d.ts.map +1 -0
- package/dist/analyze/graph-command.js +472 -0
- package/dist/analyze/graph-command.js.map +1 -0
- package/dist/analyze/live-graph.d.ts +81 -0
- package/dist/analyze/live-graph.d.ts.map +1 -0
- package/dist/analyze/poison-rules.d.ts +72 -0
- package/dist/analyze/poison-rules.d.ts.map +1 -0
- package/dist/analyze/poison-scan.d.ts +48 -0
- package/dist/analyze/poison-scan.d.ts.map +1 -0
- package/dist/analyze/scan.d.ts +73 -0
- package/dist/analyze/scan.d.ts.map +1 -0
- package/dist/cache/cache-api.d.ts +48 -0
- package/dist/cache/cache-api.d.ts.map +1 -0
- package/dist/cache/fast-hash.d.ts +5 -0
- package/dist/cache/fast-hash.d.ts.map +1 -1
- package/dist/cache/handler-store.d.ts +33 -0
- package/dist/cache/handler-store.d.ts.map +1 -0
- package/dist/cache/index.d.ts +32 -9
- package/dist/cache/index.d.ts.map +1 -1
- package/dist/cache/index.js +3 -326
- package/dist/cache/invalidation-epoch.d.ts +43 -0
- package/dist/cache/invalidation-epoch.d.ts.map +1 -0
- package/dist/cache/json-lossy-check.d.ts +11 -0
- package/dist/cache/json-lossy-check.d.ts.map +1 -0
- package/dist/cache/redis-handler.d.ts +141 -9
- package/dist/cache/redis-handler.d.ts.map +1 -1
- package/dist/cache/singleflight.d.ts +21 -2
- package/dist/cache/singleflight.d.ts.map +1 -1
- package/dist/cache/sizeof.d.ts +22 -0
- package/dist/cache/sizeof.d.ts.map +1 -0
- package/dist/cache/stable-stringify.d.ts +9 -0
- package/dist/cache/stable-stringify.d.ts.map +1 -1
- package/dist/cache/store.d.ts +53 -0
- package/dist/cache/store.d.ts.map +1 -0
- package/dist/cache/stores/cloudflare-kv.d.ts +38 -0
- package/dist/cache/stores/cloudflare-kv.d.ts.map +1 -0
- package/dist/cache/stores/cloudflare-kv.js +29 -0
- package/dist/cache/stores/cloudflare-kv.js.map +1 -0
- package/dist/cache/stores/memory.d.ts +42 -0
- package/dist/cache/stores/memory.d.ts.map +1 -0
- package/dist/cache/stores/memory.js +90 -0
- package/dist/cache/stores/memory.js.map +1 -0
- package/dist/cache/stores/redis.d.ts +69 -0
- package/dist/cache/stores/redis.d.ts.map +1 -0
- package/dist/cache/stores/redis.js +35 -0
- package/dist/cache/stores/redis.js.map +1 -0
- package/dist/cache/stores/vercel.d.ts +36 -0
- package/dist/cache/stores/vercel.d.ts.map +1 -0
- package/dist/cache/stores/vercel.js +33 -0
- package/dist/cache/stores/vercel.js.map +1 -0
- package/dist/cache/tag-aware-handler.d.ts +52 -0
- package/dist/cache/tag-aware-handler.d.ts.map +1 -0
- package/dist/cache/timber-cache.d.ts +21 -11
- package/dist/cache/timber-cache.d.ts.map +1 -1
- package/dist/cdn/cloudflare-purge.d.ts +23 -0
- package/dist/cdn/cloudflare-purge.d.ts.map +1 -0
- package/dist/cdn/cloudflare-purge.js +30 -0
- package/dist/cdn/cloudflare-purge.js.map +1 -0
- package/dist/cdn/fastly-purge.d.ts +25 -0
- package/dist/cdn/fastly-purge.d.ts.map +1 -0
- package/dist/cdn/fastly-purge.js +33 -0
- package/dist/cdn/fastly-purge.js.map +1 -0
- package/dist/cdn/headers.d.ts +97 -0
- package/dist/cdn/headers.d.ts.map +1 -0
- package/dist/cdn/index.d.ts +5 -0
- package/dist/cdn/index.d.ts.map +1 -0
- package/dist/cdn/index.js +94 -0
- package/dist/cdn/index.js.map +1 -0
- package/dist/cdn/purge-store.d.ts +23 -0
- package/dist/cdn/purge-store.d.ts.map +1 -0
- package/dist/cdn/workers-cache-purge.d.ts +20 -0
- package/dist/cdn/workers-cache-purge.d.ts.map +1 -0
- package/dist/cdn/workers-cache-purge.js +35 -0
- package/dist/cdn/workers-cache-purge.js.map +1 -0
- package/dist/cli-check.d.ts +133 -0
- package/dist/cli-check.d.ts.map +1 -0
- package/dist/cli-context.d.ts +54 -0
- package/dist/cli-context.d.ts.map +1 -0
- package/dist/cli-schema-sync.d.ts +59 -0
- package/dist/cli-schema-sync.d.ts.map +1 -0
- package/dist/cli.d.ts +85 -13
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +224 -63
- package/dist/cli.js.map +1 -1
- package/dist/client/browser-dev.d.ts +42 -2
- package/dist/client/browser-dev.d.ts.map +1 -1
- package/dist/client/browser-entry/action-dispatch.d.ts +19 -0
- package/dist/client/browser-entry/action-dispatch.d.ts.map +1 -0
- package/dist/client/browser-entry/action-queue.d.ts +63 -0
- package/dist/client/browser-entry/action-queue.d.ts.map +1 -0
- package/dist/client/browser-entry/hmr.d.ts +21 -0
- package/dist/client/browser-entry/hmr.d.ts.map +1 -0
- package/dist/client/browser-entry/hydrate.d.ts +53 -0
- package/dist/client/browser-entry/hydrate.d.ts.map +1 -0
- package/dist/client/browser-entry/index.d.ts +30 -0
- package/dist/client/browser-entry/index.d.ts.map +1 -0
- package/dist/client/browser-entry/post-hydration.d.ts +26 -0
- package/dist/client/browser-entry/post-hydration.d.ts.map +1 -0
- package/dist/client/browser-entry/router-init.d.ts +41 -0
- package/dist/client/browser-entry/router-init.d.ts.map +1 -0
- package/dist/client/browser-entry/rsc-stream.d.ts +32 -0
- package/dist/client/browser-entry/rsc-stream.d.ts.map +1 -0
- package/dist/client/browser-entry/scroll.d.ts +28 -0
- package/dist/client/browser-entry/scroll.d.ts.map +1 -0
- package/dist/client/deny-last-resort.d.ts +29 -0
- package/dist/client/deny-last-resort.d.ts.map +1 -0
- package/dist/client/error-boundary.d.ts +58 -9
- package/dist/client/error-boundary.d.ts.map +1 -1
- package/dist/client/error-boundary.js +2 -126
- package/dist/client/error-reconstituter.d.ts +55 -0
- package/dist/client/error-reconstituter.d.ts.map +1 -0
- package/dist/client/form.d.ts +16 -27
- package/dist/client/form.d.ts.map +1 -1
- package/dist/client/global-context.d.ts +15 -0
- package/dist/client/global-context.d.ts.map +1 -0
- package/dist/client/history.d.ts +50 -9
- package/dist/client/history.d.ts.map +1 -1
- package/dist/client/index.d.ts +20 -33
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +330 -1150
- package/dist/client/index.js.map +1 -1
- package/dist/client/internal.d.ts +20 -0
- package/dist/client/internal.d.ts.map +1 -0
- package/dist/client/internal.js +792 -0
- package/dist/client/internal.js.map +1 -0
- package/dist/client/link.d.ts +85 -60
- package/dist/client/link.d.ts.map +1 -1
- package/dist/client/location-search.d.ts +12 -0
- package/dist/client/location-search.d.ts.map +1 -0
- package/dist/client/navigation-api.d.ts +133 -0
- package/dist/client/navigation-api.d.ts.map +1 -0
- package/dist/client/navigation-commit.d.ts +111 -0
- package/dist/client/navigation-commit.d.ts.map +1 -0
- package/dist/client/navigation-context.d.ts +54 -36
- package/dist/client/navigation-context.d.ts.map +1 -1
- package/dist/client/navigation-root.d.ts +106 -0
- package/dist/client/navigation-root.d.ts.map +1 -0
- package/dist/client/navigation-transition.d.ts +192 -0
- package/dist/client/navigation-transition.d.ts.map +1 -0
- package/dist/client/nuqs-adapter.d.ts +1 -1
- package/dist/client/nuqs-adapter.d.ts.map +1 -1
- package/dist/client/params-context.d.ts +81 -0
- package/dist/client/params-context.d.ts.map +1 -0
- package/dist/client/react-root.d.ts +45 -0
- package/dist/client/react-root.d.ts.map +1 -0
- package/dist/client/router-effects.d.ts +137 -0
- package/dist/client/router-effects.d.ts.map +1 -0
- package/dist/client/router-lifecycle.d.ts +98 -0
- package/dist/client/router-lifecycle.d.ts.map +1 -0
- package/dist/client/router-pipeline.d.ts +84 -0
- package/dist/client/router-pipeline.d.ts.map +1 -0
- package/dist/client/router-ref.d.ts +2 -2
- package/dist/client/router-ref.d.ts.map +1 -1
- package/dist/client/router-skew.d.ts +21 -0
- package/dist/client/router-skew.d.ts.map +1 -0
- package/dist/client/router-types.d.ts +334 -0
- package/dist/client/router-types.d.ts.map +1 -0
- package/dist/client/router-url.d.ts +24 -0
- package/dist/client/router-url.d.ts.map +1 -0
- package/dist/client/router.d.ts +1 -97
- package/dist/client/router.d.ts.map +1 -1
- package/dist/client/rsc-fetch.d.ts +110 -28
- package/dist/client/rsc-fetch.d.ts.map +1 -1
- package/dist/client/segment-cache.d.ts +186 -25
- package/dist/client/segment-cache.d.ts.map +1 -1
- package/dist/client/segment-context.d.ts.map +1 -1
- package/dist/client/segment-outlet.d.ts +68 -0
- package/dist/client/segment-outlet.d.ts.map +1 -0
- package/dist/client/segment-update-context.d.ts +15 -0
- package/dist/client/segment-update-context.d.ts.map +1 -0
- package/dist/client/shallow-url.d.ts +10 -0
- package/dist/client/shallow-url.d.ts.map +1 -0
- package/dist/client/slot-content-cache-context.d.ts +35 -0
- package/dist/client/slot-content-cache-context.d.ts.map +1 -0
- package/dist/client/slot-context.d.ts +31 -0
- package/dist/client/slot-context.d.ts.map +1 -0
- package/dist/client/slot-outlet.d.ts +16 -0
- package/dist/client/slot-outlet.d.ts.map +1 -0
- package/dist/client/slot-provider.d.ts +25 -0
- package/dist/client/slot-provider.d.ts.map +1 -0
- package/dist/client/ssr-data.d.ts +26 -50
- package/dist/client/ssr-data.d.ts.map +1 -1
- package/dist/client/stale-client.d.ts +69 -0
- package/dist/client/stale-client.d.ts.map +1 -0
- package/dist/client/state.d.ts +21 -13
- package/dist/client/state.d.ts.map +1 -1
- package/dist/client/status-page-marker.d.ts +25 -0
- package/dist/client/status-page-marker.d.ts.map +1 -0
- package/dist/client/top-loader.d.ts +7 -6
- package/dist/client/top-loader.d.ts.map +1 -1
- package/dist/client/unload-guard.d.ts +5 -0
- package/dist/client/unload-guard.d.ts.map +1 -1
- package/dist/client/use-cookie.d.ts +12 -0
- package/dist/client/use-cookie.d.ts.map +1 -1
- package/dist/client/use-link-status.d.ts +5 -5
- package/dist/client/use-link-status.d.ts.map +1 -1
- package/dist/client/use-pathname.d.ts +13 -11
- package/dist/client/use-pathname.d.ts.map +1 -1
- package/dist/client/use-pending-navigation.d.ts +23 -0
- package/dist/client/use-pending-navigation.d.ts.map +1 -0
- package/dist/client/use-query-states.d.ts +10 -4
- package/dist/client/use-query-states.d.ts.map +1 -1
- package/dist/client/use-router.d.ts +15 -8
- package/dist/client/use-router.d.ts.map +1 -1
- package/dist/client/use-search-params.d.ts +15 -8
- package/dist/client/use-search-params.d.ts.map +1 -1
- package/dist/client/use-segment-params.d.ts +55 -0
- package/dist/client/use-segment-params.d.ts.map +1 -0
- package/dist/codec.d.ts +69 -0
- package/dist/codec.d.ts.map +1 -0
- package/dist/codec.js +76 -0
- package/dist/codec.js.map +1 -0
- package/dist/config-types.d.ts +323 -0
- package/dist/config-types.d.ts.map +1 -0
- package/dist/config-validation.d.ts +68 -0
- package/dist/config-validation.d.ts.map +1 -0
- package/dist/cookies/define-cookie.d.ts +58 -25
- package/dist/cookies/define-cookie.d.ts.map +1 -1
- package/dist/cookies/index.d.ts +3 -2
- package/dist/cookies/index.d.ts.map +1 -1
- package/dist/cookies/index.js +256 -36
- package/dist/cookies/index.js.map +1 -1
- package/dist/cookies/json-cookie.d.ts +64 -0
- package/dist/cookies/json-cookie.d.ts.map +1 -0
- package/dist/cookies/validation.d.ts +34 -0
- package/dist/cookies/validation.d.ts.map +1 -0
- package/dist/dev-tools/404-page.d.ts +50 -0
- package/dist/dev-tools/404-page.d.ts.map +1 -0
- package/dist/dev-tools/browser-logs.d.ts +40 -0
- package/dist/dev-tools/browser-logs.d.ts.map +1 -0
- package/dist/dev-tools/dev-page-shell.d.ts +95 -0
- package/dist/dev-tools/dev-page-shell.d.ts.map +1 -0
- package/dist/dev-tools/error-page.d.ts +32 -0
- package/dist/dev-tools/error-page.d.ts.map +1 -0
- package/dist/dev-tools/holding-server.d.ts +46 -0
- package/dist/dev-tools/holding-server.d.ts.map +1 -0
- package/dist/dev-tools/hydration-overlay.d.ts +11 -0
- package/dist/dev-tools/hydration-overlay.d.ts.map +1 -0
- package/dist/dev-tools/index.d.ts +31 -0
- package/dist/dev-tools/index.d.ts.map +1 -0
- package/dist/dev-tools/instrumentation.d.ts +74 -0
- package/dist/dev-tools/instrumentation.d.ts.map +1 -0
- package/dist/{server/dev-logger.d.ts → dev-tools/logger.d.ts} +1 -1
- package/dist/dev-tools/logger.d.ts.map +1 -0
- package/dist/{plugins/dev-logs.d.ts → dev-tools/logs.d.ts} +17 -3
- package/dist/dev-tools/logs.d.ts.map +1 -0
- package/dist/{plugins/dev-error-overlay.d.ts → dev-tools/overlay.d.ts} +15 -25
- package/dist/dev-tools/overlay.d.ts.map +1 -0
- package/dist/dev-tools/stack-classifier.d.ts +34 -0
- package/dist/dev-tools/stack-classifier.d.ts.map +1 -0
- package/dist/dev-tools/terminal.d.ts +28 -0
- package/dist/dev-tools/terminal.d.ts.map +1 -0
- package/dist/fonts/ast-walk.d.ts +68 -0
- package/dist/fonts/ast-walk.d.ts.map +1 -0
- package/dist/fonts/ast.d.ts +112 -8
- package/dist/fonts/ast.d.ts.map +1 -1
- package/dist/fonts/bundle.d.ts +50 -0
- package/dist/fonts/bundle.d.ts.map +1 -0
- package/dist/fonts/css.d.ts +1 -1
- package/dist/fonts/dev-middleware.d.ts +22 -0
- package/dist/fonts/dev-middleware.d.ts.map +1 -0
- package/dist/fonts/fallbacks.d.ts +0 -7
- package/dist/fonts/fallbacks.d.ts.map +1 -1
- package/dist/fonts/google.d.ts +5 -3
- package/dist/fonts/google.d.ts.map +1 -1
- package/dist/fonts/local.d.ts +5 -5
- package/dist/fonts/local.d.ts.map +1 -1
- package/dist/fonts/paths.d.ts +43 -0
- package/dist/fonts/paths.d.ts.map +1 -0
- package/dist/fonts/pipeline.d.ts +177 -0
- package/dist/fonts/pipeline.d.ts.map +1 -0
- package/dist/fonts/transform.d.ts +82 -0
- package/dist/fonts/transform.d.ts.map +1 -0
- package/dist/fonts/types.d.ts +47 -1
- package/dist/fonts/types.d.ts.map +1 -1
- package/dist/fonts/virtual-modules.d.ts +77 -0
- package/dist/fonts/virtual-modules.d.ts.map +1 -0
- package/dist/index.d.ts +35 -181
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8844 -14244
- package/dist/index.js.map +1 -1
- package/dist/params/codec-registry.d.ts +26 -0
- package/dist/params/codec-registry.d.ts.map +1 -0
- package/dist/params/define-schema.d.ts +81 -0
- package/dist/params/define-schema.d.ts.map +1 -0
- package/dist/params/index.d.ts +5 -0
- package/dist/params/index.d.ts.map +1 -0
- package/dist/params/index.js +34 -0
- package/dist/params/index.js.map +1 -0
- package/dist/params/resolve-schema.d.ts +34 -0
- package/dist/params/resolve-schema.d.ts.map +1 -0
- package/dist/plugin-context.d.ts +262 -0
- package/dist/plugin-context.d.ts.map +1 -0
- package/dist/plugins/build-manifest.d.ts +7 -3
- package/dist/plugins/build-manifest.d.ts.map +1 -1
- package/dist/plugins/build-report.d.ts +61 -11
- package/dist/plugins/build-report.d.ts.map +1 -1
- package/dist/plugins/cache.d.ts +64 -0
- package/dist/plugins/cache.d.ts.map +1 -0
- package/dist/plugins/callsite-ast.d.ts +117 -0
- package/dist/plugins/callsite-ast.d.ts.map +1 -0
- package/dist/plugins/callsite-jsx.d.ts +35 -0
- package/dist/plugins/callsite-jsx.d.ts.map +1 -0
- package/dist/plugins/chunks.d.ts +11 -4
- package/dist/plugins/chunks.d.ts.map +1 -1
- package/dist/plugins/client-chunks.d.ts +40 -0
- package/dist/plugins/client-chunks.d.ts.map +1 -0
- package/dist/plugins/cloudflare-wasm.d.ts +21 -0
- package/dist/plugins/cloudflare-wasm.d.ts.map +1 -0
- package/dist/plugins/content.d.ts +1 -1
- package/dist/plugins/content.d.ts.map +1 -1
- package/dist/plugins/dev-discovery.d.ts +123 -0
- package/dist/plugins/dev-discovery.d.ts.map +1 -0
- package/dist/plugins/dev-server.d.ts +24 -1
- package/dist/plugins/dev-server.d.ts.map +1 -1
- package/dist/plugins/entries.d.ts +28 -4
- package/dist/plugins/entries.d.ts.map +1 -1
- package/dist/plugins/fonts.d.ts +35 -74
- package/dist/plugins/fonts.d.ts.map +1 -1
- package/dist/plugins/graph-endpoint.d.ts +112 -0
- package/dist/plugins/graph-endpoint.d.ts.map +1 -0
- package/dist/plugins/mdx.d.ts +18 -5
- package/dist/plugins/mdx.d.ts.map +1 -1
- package/dist/plugins/post-build.d.ts +110 -0
- package/dist/plugins/post-build.d.ts.map +1 -0
- package/dist/plugins/prebuilt-capture.d.ts +67 -0
- package/dist/plugins/prebuilt-capture.d.ts.map +1 -0
- package/dist/plugins/prebuilt-options-analysis.d.ts +40 -0
- package/dist/plugins/prebuilt-options-analysis.d.ts.map +1 -0
- package/dist/plugins/prebuilt.d.ts +98 -0
- package/dist/plugins/prebuilt.d.ts.map +1 -0
- package/dist/plugins/prerender-sugar.d.ts +39 -0
- package/dist/plugins/prerender-sugar.d.ts.map +1 -0
- package/dist/plugins/react-resolve.d.ts +49 -0
- package/dist/plugins/react-resolve.d.ts.map +1 -0
- package/dist/plugins/request-dep/analysis.d.ts +106 -0
- package/dist/plugins/request-dep/analysis.d.ts.map +1 -0
- package/dist/plugins/request-dep/index.d.ts +75 -0
- package/dist/plugins/request-dep/index.d.ts.map +1 -0
- package/dist/plugins/request-dep/origin.d.ts +61 -0
- package/dist/plugins/request-dep/origin.d.ts.map +1 -0
- package/dist/plugins/routing.d.ts +1 -1
- package/dist/plugins/routing.d.ts.map +1 -1
- package/dist/plugins/rsc-assets-manifest.d.ts +33 -0
- package/dist/plugins/rsc-assets-manifest.d.ts.map +1 -0
- package/dist/plugins/server-bundle.d.ts.map +1 -1
- package/dist/plugins/shims.d.ts +29 -5
- package/dist/plugins/shims.d.ts.map +1 -1
- package/dist/plugins/static-build.d.ts +246 -26
- package/dist/plugins/static-build.d.ts.map +1 -1
- package/dist/routing/codegen-shared.d.ts +26 -0
- package/dist/routing/codegen-shared.d.ts.map +1 -0
- package/dist/routing/codegen-types.d.ts +61 -0
- package/dist/routing/codegen-types.d.ts.map +1 -0
- package/dist/routing/codegen-write.d.ts +42 -0
- package/dist/routing/codegen-write.d.ts.map +1 -0
- package/dist/routing/codegen.d.ts +8 -3
- package/dist/routing/codegen.d.ts.map +1 -1
- package/dist/routing/collision-probe.d.ts +104 -0
- package/dist/routing/collision-probe.d.ts.map +1 -0
- package/dist/routing/collision-spaces.d.ts +26 -0
- package/dist/routing/collision-spaces.d.ts.map +1 -0
- package/dist/routing/convention-lint.d.ts +55 -0
- package/dist/routing/convention-lint.d.ts.map +1 -0
- package/dist/routing/export-detect.d.ts +91 -0
- package/dist/routing/export-detect.d.ts.map +1 -0
- package/dist/routing/file-cache.d.ts +8 -0
- package/dist/routing/file-cache.d.ts.map +1 -0
- package/dist/routing/index.d.ts +13 -7
- package/dist/routing/index.d.ts.map +1 -1
- package/dist/routing/index.js +5 -2
- package/dist/routing/interception-overlap.d.ts +35 -0
- package/dist/routing/interception-overlap.d.ts.map +1 -0
- package/dist/routing/interception.d.ts +234 -10
- package/dist/routing/interception.d.ts.map +1 -1
- package/dist/routing/link-codegen.d.ts +105 -0
- package/dist/routing/link-codegen.d.ts.map +1 -0
- package/dist/routing/manifest-codegen.d.ts +26 -0
- package/dist/routing/manifest-codegen.d.ts.map +1 -0
- package/dist/routing/scanner.d.ts +14 -10
- package/dist/routing/scanner.d.ts.map +1 -1
- package/dist/routing/schema-validation.d.ts +35 -0
- package/dist/routing/schema-validation.d.ts.map +1 -0
- package/dist/routing/segment-classify.d.ts +114 -0
- package/dist/routing/segment-classify.d.ts.map +1 -0
- package/dist/routing/segment-codegen.d.ts +38 -0
- package/dist/routing/segment-codegen.d.ts.map +1 -0
- package/dist/routing/segment-keys.d.ts +118 -0
- package/dist/routing/segment-keys.d.ts.map +1 -0
- package/dist/routing/slot-placement.d.ts +48 -0
- package/dist/routing/slot-placement.d.ts.map +1 -0
- package/dist/routing/types.d.ts +81 -26
- package/dist/routing/types.d.ts.map +1 -1
- package/dist/routing/walkers.d.ts +57 -0
- package/dist/routing/walkers.d.ts.map +1 -0
- package/dist/rsc-runtime/rsc.d.ts +1 -1
- package/dist/rsc-runtime/rsc.d.ts.map +1 -1
- package/dist/rsc-runtime/ssr.d.ts +14 -0
- package/dist/rsc-runtime/ssr.d.ts.map +1 -1
- package/dist/rsc-runtime/transforms.d.ts +13 -0
- package/dist/rsc-runtime/transforms.d.ts.map +1 -0
- package/dist/schema-bridge.d.ts +145 -0
- package/dist/schema-bridge.d.ts.map +1 -0
- package/dist/search-params/define.d.ts +262 -0
- package/dist/search-params/define.d.ts.map +1 -0
- package/dist/search-params/index.d.ts +3 -7
- package/dist/search-params/index.d.ts.map +1 -1
- package/dist/search-params/index.js +179 -360
- package/dist/search-params/index.js.map +1 -1
- package/dist/search-params/parse-total.d.ts +81 -0
- package/dist/search-params/parse-total.d.ts.map +1 -0
- package/dist/search-params/serialize-equal.d.ts +9 -0
- package/dist/search-params/serialize-equal.d.ts.map +1 -0
- package/dist/search-params/wrappers.d.ts +76 -0
- package/dist/search-params/wrappers.d.ts.map +1 -0
- package/dist/server/access-gate.d.ts +98 -10
- package/dist/server/access-gate.d.ts.map +1 -1
- package/dist/server/action-client.d.ts +44 -9
- package/dist/server/action-client.d.ts.map +1 -1
- package/dist/server/action-encryption.d.ts +76 -0
- package/dist/server/action-encryption.d.ts.map +1 -0
- package/dist/server/action-handler.d.ts +40 -5
- package/dist/server/action-handler.d.ts.map +1 -1
- package/dist/server/actions.d.ts +78 -40
- package/dist/server/actions.d.ts.map +1 -1
- package/dist/server/als-registry.d.ts +166 -16
- package/dist/server/als-registry.d.ts.map +1 -1
- package/dist/server/body-limits.d.ts.map +1 -1
- package/dist/server/build-manifest.d.ts +25 -30
- package/dist/server/build-manifest.d.ts.map +1 -1
- package/dist/server/canonicalize.d.ts +10 -0
- package/dist/server/canonicalize.d.ts.map +1 -1
- package/dist/server/chain-url-parts.d.ts +82 -0
- package/dist/server/chain-url-parts.d.ts.map +1 -0
- package/dist/server/children-interception.d.ts +49 -0
- package/dist/server/children-interception.d.ts.map +1 -0
- package/dist/server/coalesce-tick.d.ts +40 -0
- package/dist/server/coalesce-tick.d.ts.map +1 -0
- package/dist/server/compress.d.ts.map +1 -1
- package/dist/server/cookie-context.d.ts +149 -0
- package/dist/server/cookie-context.d.ts.map +1 -0
- package/dist/server/cookie-parsing.d.ts +65 -0
- package/dist/server/cookie-parsing.d.ts.map +1 -0
- package/dist/server/csp-nonce.d.ts +36 -0
- package/dist/server/csp-nonce.d.ts.map +1 -0
- package/dist/server/csrf.d.ts +58 -15
- package/dist/server/csrf.d.ts.map +1 -1
- package/dist/server/debug.d.ts +0 -1
- package/dist/server/debug.d.ts.map +1 -1
- package/dist/server/default-logger.d.ts +23 -0
- package/dist/server/default-logger.d.ts.map +1 -0
- package/dist/server/default-status-page.d.ts +45 -0
- package/dist/server/default-status-page.d.ts.map +1 -0
- package/dist/server/deny-boundary.d.ts +257 -0
- package/dist/server/deny-boundary.d.ts.map +1 -0
- package/dist/server/deny-renderer.d.ts +21 -15
- package/dist/server/deny-renderer.d.ts.map +1 -1
- package/dist/server/early-hints-sender.d.ts.map +1 -1
- package/dist/server/early-hints.d.ts +14 -12
- package/dist/server/early-hints.d.ts.map +1 -1
- package/dist/server/error-boundary-wrapper.d.ts +102 -10
- package/dist/server/error-boundary-wrapper.d.ts.map +1 -1
- package/dist/server/error-response-headers.d.ts +3 -0
- package/dist/server/error-response-headers.d.ts.map +1 -0
- package/dist/server/fallback-error.d.ts +19 -7
- package/dist/server/fallback-error.d.ts.map +1 -1
- package/dist/server/flight-injection-state.d.ts +66 -0
- package/dist/server/flight-injection-state.d.ts.map +1 -0
- package/dist/server/flight-scripts.d.ts +45 -0
- package/dist/server/flight-scripts.d.ts.map +1 -0
- package/dist/server/form-data.d.ts +41 -0
- package/dist/server/form-data.d.ts.map +1 -1
- package/dist/server/form-flash.d.ts +2 -2
- package/dist/server/head-response.d.ts +35 -0
- package/dist/server/head-response.d.ts.map +1 -0
- package/dist/server/html-injector-core.d.ts +257 -0
- package/dist/server/html-injector-core.d.ts.map +1 -0
- package/dist/server/html-injectors.d.ts +84 -42
- package/dist/server/html-injectors.d.ts.map +1 -1
- package/dist/server/index.d.ts +17 -54
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +195 -2922
- package/dist/server/index.js.map +1 -1
- package/dist/server/instrumentation.d.ts +11 -4
- package/dist/server/instrumentation.d.ts.map +1 -1
- package/dist/server/internal.d.ts +47 -0
- package/dist/server/internal.d.ts.map +1 -0
- package/dist/server/internal.js +4645 -0
- package/dist/server/internal.js.map +1 -0
- package/dist/server/json-status-response.d.ts +34 -0
- package/dist/server/json-status-response.d.ts.map +1 -0
- package/dist/server/logger.d.ts +78 -7
- package/dist/server/logger.d.ts.map +1 -1
- package/dist/server/metadata-collector.d.ts +73 -0
- package/dist/server/metadata-collector.d.ts.map +1 -0
- package/dist/server/metadata-platform.d.ts +2 -2
- package/dist/server/metadata-render.d.ts +2 -2
- package/dist/server/metadata-render.d.ts.map +1 -1
- package/dist/server/metadata-routes.d.ts +71 -11
- package/dist/server/metadata-routes.d.ts.map +1 -1
- package/dist/server/metadata-social.d.ts +2 -2
- package/dist/server/metadata.d.ts +10 -2
- package/dist/server/metadata.d.ts.map +1 -1
- package/dist/server/middleware-runner.d.ts +20 -5
- package/dist/server/middleware-runner.d.ts.map +1 -1
- package/dist/server/node-stream-transforms.d.ts +105 -0
- package/dist/server/node-stream-transforms.d.ts.map +1 -0
- package/dist/server/nuqs-ssr-provider.d.ts +7 -3
- package/dist/server/nuqs-ssr-provider.d.ts.map +1 -1
- package/dist/server/param-coercion.d.ts +83 -0
- package/dist/server/param-coercion.d.ts.map +1 -0
- package/dist/server/pipeline-helpers.d.ts +193 -0
- package/dist/server/pipeline-helpers.d.ts.map +1 -0
- package/dist/server/pipeline-interception.d.ts +70 -9
- package/dist/server/pipeline-interception.d.ts.map +1 -1
- package/dist/server/pipeline-metadata.d.ts +7 -1
- package/dist/server/pipeline-metadata.d.ts.map +1 -1
- package/dist/server/pipeline-outcome.d.ts +59 -0
- package/dist/server/pipeline-outcome.d.ts.map +1 -0
- package/dist/server/pipeline-phases.d.ts +70 -0
- package/dist/server/pipeline-phases.d.ts.map +1 -0
- package/dist/server/pipeline.d.ts +147 -23
- package/dist/server/pipeline.d.ts.map +1 -1
- package/dist/server/port-resolution.d.ts +31 -0
- package/dist/server/port-resolution.d.ts.map +1 -0
- package/dist/server/prebuilt/cache-key.d.ts +63 -0
- package/dist/server/prebuilt/cache-key.d.ts.map +1 -0
- package/dist/server/prebuilt/capture-render.d.ts +25 -0
- package/dist/server/prebuilt/capture-render.d.ts.map +1 -0
- package/dist/server/prebuilt/capture-routes.d.ts +37 -0
- package/dist/server/prebuilt/capture-routes.d.ts.map +1 -0
- package/dist/server/prebuilt/capture-state.d.ts +101 -0
- package/dist/server/prebuilt/capture-state.d.ts.map +1 -0
- package/dist/server/prebuilt/key-discipline.d.ts +52 -0
- package/dist/server/prebuilt/key-discipline.d.ts.map +1 -0
- package/dist/server/prebuilt/lifetime.d.ts +38 -0
- package/dist/server/prebuilt/lifetime.d.ts.map +1 -0
- package/dist/server/prebuilt/manifest-tag-index.d.ts +27 -0
- package/dist/server/prebuilt/manifest-tag-index.d.ts.map +1 -0
- package/dist/server/prebuilt/overlay.d.ts +100 -0
- package/dist/server/prebuilt/overlay.d.ts.map +1 -0
- package/dist/server/prebuilt/payload-source.d.ts +79 -0
- package/dist/server/prebuilt/payload-source.d.ts.map +1 -0
- package/dist/server/prebuilt/slots.d.ts +106 -0
- package/dist/server/prebuilt/slots.d.ts.map +1 -0
- package/dist/server/prebuilt/synthetic-store.d.ts +67 -0
- package/dist/server/prebuilt/synthetic-store.d.ts.map +1 -0
- package/dist/server/prebuilt-builder.d.ts +121 -0
- package/dist/server/prebuilt-builder.d.ts.map +1 -0
- package/dist/server/prebuilt-runtime.d.ts +111 -0
- package/dist/server/prebuilt-runtime.d.ts.map +1 -0
- package/dist/server/primitives.d.ts +101 -90
- package/dist/server/primitives.d.ts.map +1 -1
- package/dist/server/publish-params.d.ts +33 -0
- package/dist/server/publish-params.d.ts.map +1 -0
- package/dist/server/react-cache-bridge.d.ts +59 -0
- package/dist/server/react-cache-bridge.d.ts.map +1 -0
- package/dist/server/react-cache-scope.d.ts +49 -0
- package/dist/server/react-cache-scope.d.ts.map +1 -0
- package/dist/server/render-timeout.d.ts +66 -0
- package/dist/server/render-timeout.d.ts.map +1 -0
- package/dist/server/render-utils.d.ts +35 -0
- package/dist/server/render-utils.d.ts.map +1 -0
- package/dist/server/request-context.d.ts +128 -103
- package/dist/server/request-context.d.ts.map +1 -1
- package/dist/server/request-dep.d.ts +15 -0
- package/dist/server/request-dep.d.ts.map +1 -0
- package/dist/server/response-cache-policy.d.ts +3 -0
- package/dist/server/response-cache-policy.d.ts.map +1 -0
- package/dist/server/route-element-builder.d.ts +57 -30
- package/dist/server/route-element-builder.d.ts.map +1 -1
- package/dist/server/route-element-helpers.d.ts +12 -0
- package/dist/server/route-element-helpers.d.ts.map +1 -0
- package/dist/server/route-handler.d.ts +1 -1
- package/dist/server/route-handler.d.ts.map +1 -1
- package/dist/server/route-matcher.d.ts +55 -38
- package/dist/server/route-matcher.d.ts.map +1 -1
- package/dist/server/route-module-loader.d.ts +37 -0
- package/dist/server/route-module-loader.d.ts.map +1 -0
- package/dist/server/rsc-cache-key-guard.d.ts +78 -0
- package/dist/server/rsc-cache-key-guard.d.ts.map +1 -0
- package/dist/server/rsc-entry/action-dispatcher.d.ts +67 -0
- package/dist/server/rsc-entry/action-dispatcher.d.ts.map +1 -0
- package/dist/server/rsc-entry/action-middleware-runner.d.ts +66 -0
- package/dist/server/rsc-entry/action-middleware-runner.d.ts.map +1 -0
- package/dist/server/rsc-entry/api-handler.d.ts +19 -3
- package/dist/server/rsc-entry/api-handler.d.ts.map +1 -1
- package/dist/server/rsc-entry/deny-fallback.d.ts +55 -0
- package/dist/server/rsc-entry/deny-fallback.d.ts.map +1 -0
- package/dist/server/rsc-entry/error-renderer.d.ts +35 -21
- package/dist/server/rsc-entry/error-renderer.d.ts.map +1 -1
- package/dist/server/rsc-entry/helpers.d.ts +14 -59
- package/dist/server/rsc-entry/helpers.d.ts.map +1 -1
- package/dist/server/rsc-entry/index.d.ts +30 -6
- package/dist/server/rsc-entry/index.d.ts.map +1 -1
- package/dist/server/rsc-entry/render-route.d.ts +50 -0
- package/dist/server/rsc-entry/render-route.d.ts.map +1 -0
- package/dist/server/rsc-entry/render-signals.d.ts +65 -0
- package/dist/server/rsc-entry/render-signals.d.ts.map +1 -0
- package/dist/server/rsc-entry/revalidate-renderer.d.ts +98 -0
- package/dist/server/rsc-entry/revalidate-renderer.d.ts.map +1 -0
- package/dist/server/rsc-entry/rsc-payload.d.ts +30 -6
- package/dist/server/rsc-entry/rsc-payload.d.ts.map +1 -1
- package/dist/server/rsc-entry/rsc-stream.d.ts +12 -30
- package/dist/server/rsc-entry/rsc-stream.d.ts.map +1 -1
- package/dist/server/rsc-entry/ssr-bridge.d.ts +6 -2
- package/dist/server/rsc-entry/ssr-bridge.d.ts.map +1 -1
- package/dist/server/rsc-entry/ssr-renderer.d.ts +44 -7
- package/dist/server/rsc-entry/ssr-renderer.d.ts.map +1 -1
- package/dist/server/rsc-error-envelope.d.ts +11 -0
- package/dist/server/rsc-error-envelope.d.ts.map +1 -0
- package/dist/server/safe-load.d.ts +39 -0
- package/dist/server/safe-load.d.ts.map +1 -0
- package/dist/server/sensitive-fields.d.ts +74 -0
- package/dist/server/sensitive-fields.d.ts.map +1 -0
- package/dist/server/signal-identity.d.ts +43 -0
- package/dist/server/signal-identity.d.ts.map +1 -0
- package/dist/server/sitemap-generator.d.ts +130 -0
- package/dist/server/sitemap-generator.d.ts.map +1 -0
- package/dist/server/sitemap-handler.d.ts +22 -0
- package/dist/server/sitemap-handler.d.ts.map +1 -0
- package/dist/server/skippable-prefix.d.ts +29 -0
- package/dist/server/skippable-prefix.d.ts.map +1 -0
- package/dist/server/slot-interception.d.ts +80 -0
- package/dist/server/slot-interception.d.ts.map +1 -0
- package/dist/server/slot-resolver.d.ts +138 -7
- package/dist/server/slot-resolver.d.ts.map +1 -1
- package/dist/server/slot-subtree-contain.d.ts +54 -0
- package/dist/server/slot-subtree-contain.d.ts.map +1 -0
- package/dist/server/ssr-bridge-types.d.ts +198 -0
- package/dist/server/ssr-bridge-types.d.ts.map +1 -0
- package/dist/server/ssr-entry.d.ts +8 -47
- package/dist/server/ssr-entry.d.ts.map +1 -1
- package/dist/server/ssr-render.d.ts +60 -27
- package/dist/server/ssr-render.d.ts.map +1 -1
- package/dist/server/ssr-wrappers.d.ts +93 -0
- package/dist/server/ssr-wrappers.d.ts.map +1 -0
- package/dist/server/state-tree-diff.d.ts +44 -9
- package/dist/server/state-tree-diff.d.ts.map +1 -1
- package/dist/server/static-generator.d.ts +112 -0
- package/dist/server/static-generator.d.ts.map +1 -0
- package/dist/server/static-not-found.d.ts +52 -0
- package/dist/server/static-not-found.d.ts.map +1 -0
- package/dist/server/status-code-resolver.d.ts +26 -15
- package/dist/server/status-code-resolver.d.ts.map +1 -1
- package/dist/server/stream-utils.d.ts +59 -0
- package/dist/server/stream-utils.d.ts.map +1 -0
- package/dist/server/tracing.d.ts +57 -26
- package/dist/server/tracing.d.ts.map +1 -1
- package/dist/server/tree-match.d.ts +59 -0
- package/dist/server/tree-match.d.ts.map +1 -0
- package/dist/server/types.d.ts +89 -8
- package/dist/server/types.d.ts.map +1 -1
- package/dist/server/utils/element-type.d.ts +50 -0
- package/dist/server/utils/element-type.d.ts.map +1 -0
- package/dist/server/utils/escape-html.d.ts +14 -0
- package/dist/server/utils/escape-html.d.ts.map +1 -0
- package/dist/server/version-skew.d.ts +61 -0
- package/dist/server/version-skew.d.ts.map +1 -0
- package/dist/server/workers-cache-bridge.d.ts +26 -0
- package/dist/server/workers-cache-bridge.d.ts.map +1 -0
- package/dist/shared/als-slots.d.ts +42 -0
- package/dist/shared/als-slots.d.ts.map +1 -0
- package/dist/shared/base-path.d.ts +56 -0
- package/dist/shared/base-path.d.ts.map +1 -0
- package/dist/shared/csrf-reject.d.ts +16 -0
- package/dist/shared/csrf-reject.d.ts.map +1 -0
- package/dist/shared/error-digest.d.ts +28 -0
- package/dist/shared/error-digest.d.ts.map +1 -0
- package/dist/shared/href-validation.d.ts +49 -0
- package/dist/shared/href-validation.d.ts.map +1 -0
- package/dist/shared/merge-search-params.d.ts +22 -0
- package/dist/shared/merge-search-params.d.ts.map +1 -0
- package/dist/shared/param-value.d.ts +104 -0
- package/dist/shared/param-value.d.ts.map +1 -0
- package/dist/shared/payload-root.d.ts +110 -0
- package/dist/shared/payload-root.d.ts.map +1 -0
- package/dist/shared/redirect-type.d.ts +17 -0
- package/dist/shared/redirect-type.d.ts.map +1 -0
- package/dist/shared/rsc-cache-key.d.ts +163 -0
- package/dist/shared/rsc-cache-key.d.ts.map +1 -0
- package/dist/shared/rsc-error-envelope.d.ts +16 -0
- package/dist/shared/rsc-error-envelope.d.ts.map +1 -0
- package/dist/shared/rsc-manifest.d.ts +28 -0
- package/dist/shared/rsc-manifest.d.ts.map +1 -0
- package/dist/shared/rsc-media-type.d.ts +52 -0
- package/dist/shared/rsc-media-type.d.ts.map +1 -0
- package/dist/shared/rsc-payload-path.d.ts +48 -0
- package/dist/shared/rsc-payload-path.d.ts.map +1 -0
- package/dist/shared/segment-info.d.ts +66 -0
- package/dist/shared/segment-info.d.ts.map +1 -0
- package/dist/shared/slot-params.d.ts +52 -0
- package/dist/shared/slot-params.d.ts.map +1 -0
- package/dist/shared/static-platform-files.d.ts +71 -0
- package/dist/shared/static-platform-files.d.ts.map +1 -0
- package/dist/shared/status-reason-phrase.d.ts +26 -0
- package/dist/shared/status-reason-phrase.d.ts.map +1 -0
- package/dist/shims/font-google.d.ts +1 -1
- package/dist/shims/font-google.d.ts.map +1 -1
- package/dist/shims/font-google.js +42 -0
- package/dist/shims/font-google.js.map +1 -0
- package/dist/shims/font-local.d.ts +26 -0
- package/dist/shims/font-local.d.ts.map +1 -0
- package/dist/shims/font-local.js +20 -0
- package/dist/shims/font-local.js.map +1 -0
- package/dist/shims/headers.d.ts +53 -1
- package/dist/shims/headers.d.ts.map +1 -1
- package/dist/shims/image.d.ts +120 -120
- package/dist/shims/image.d.ts.map +1 -1
- package/dist/shims/navigation-client.d.ts +25 -12
- package/dist/shims/navigation-client.d.ts.map +1 -1
- package/dist/shims/navigation-rsc.d.ts +21 -0
- package/dist/shims/navigation-rsc.d.ts.map +1 -0
- package/dist/shims/navigation.d.ts +10 -5
- package/dist/shims/navigation.d.ts.map +1 -1
- package/dist/utils/state-machine.d.ts +80 -0
- package/dist/utils/state-machine.d.ts.map +1 -0
- package/dist/utils/write-file-atomic.d.ts +17 -0
- package/dist/utils/write-file-atomic.d.ts.map +1 -0
- package/docs/api/30-api-server.mdx +239 -0
- package/docs/api/31-api-client.mdx +170 -0
- package/docs/api/32-api-cache.mdx +339 -0
- package/docs/api/33-api-search-params.mdx +176 -0
- package/docs/api/34-api-config.mdx +359 -0
- package/docs/api/35-api-typescript.mdx +91 -0
- package/docs/api/36-cli.mdx +202 -0
- package/docs/learn/00-introduction.mdx +109 -0
- package/docs/learn/01-quick-start.mdx +94 -0
- package/docs/learn/02-pages-and-layouts.mdx +147 -0
- package/docs/learn/03-fetching-data.mdx +227 -0
- package/docs/learn/04-access-control.mdx +115 -0
- package/docs/learn/05-the-flush-point.mdx +175 -0
- package/docs/learn/06-typed-params.mdx +275 -0
- package/docs/learn/07-typed-routes.mdx +108 -0
- package/docs/learn/08-forms-and-actions.mdx +146 -0
- package/docs/learn/09-streaming.mdx +140 -0
- package/docs/learn/10-caching.mdx +270 -0
- package/docs/learn/11-middleware.mdx +164 -0
- package/docs/learn/12-error-handling.mdx +192 -0
- package/docs/learn/13-deploying.mdx +287 -0
- package/llms.txt +55 -0
- package/package.json +120 -29
- package/src/adapters/build-output-helper.ts +353 -0
- package/src/adapters/canonicalize-module.ts +29 -0
- package/src/adapters/cloudflare-dev.ts +183 -0
- package/src/adapters/cloudflare-kv-cache.ts +207 -0
- package/src/adapters/cloudflare.ts +809 -150
- package/src/adapters/compress-module.ts +110 -86
- package/src/adapters/fs-identity.ts +155 -0
- package/src/adapters/nitro-presets.ts +124 -0
- package/src/adapters/nitro-preview.ts +476 -0
- package/src/adapters/nitro.ts +317 -457
- package/src/adapters/raw-imports.d.ts +5 -0
- package/src/adapters/shared.ts +283 -0
- package/src/adapters/types.ts +127 -17
- package/src/adapters/wrangler.d.ts +7 -0
- package/src/analyze/chains.ts +411 -0
- package/src/analyze/classify.ts +259 -0
- package/src/analyze/crawl-entry.ts +68 -0
- package/src/analyze/crawl.ts +500 -0
- package/src/analyze/graph-cache.ts +331 -0
- package/src/analyze/graph-command.ts +762 -0
- package/src/analyze/live-graph.ts +232 -0
- package/src/analyze/poison-rules.ts +165 -0
- package/src/analyze/poison-scan.ts +162 -0
- package/src/analyze/scan.ts +149 -0
- package/src/cache/cache-api.ts +107 -0
- package/src/cache/fast-hash.ts +5 -0
- package/src/cache/handler-store.ts +76 -0
- package/src/cache/index.ts +115 -22
- package/src/cache/invalidation-epoch.ts +93 -0
- package/src/cache/json-lossy-check.ts +69 -0
- package/src/cache/redis-handler.ts +198 -20
- package/src/cache/singleflight.ts +72 -6
- package/src/cache/sizeof.ts +35 -0
- package/src/cache/stable-stringify.ts +65 -2
- package/src/cache/store.ts +71 -0
- package/src/cache/stores/cloudflare-kv.ts +52 -0
- package/src/cache/stores/memory.ts +125 -0
- package/src/cache/stores/redis.ts +97 -0
- package/src/cache/stores/vercel.ts +59 -0
- package/src/cache/tag-aware-handler.ts +254 -0
- package/src/cache/timber-cache.ts +165 -40
- package/src/cdn/cloudflare-purge.ts +50 -0
- package/src/cdn/fastly-purge.ts +63 -0
- package/src/cdn/headers.ts +153 -0
- package/src/cdn/index.ts +23 -0
- package/src/cdn/purge-store.ts +34 -0
- package/src/cdn/workers-cache-purge.ts +34 -0
- package/src/cli-check.ts +417 -0
- package/src/cli-context.ts +119 -0
- package/src/cli-schema-sync.ts +401 -0
- package/src/cli.ts +330 -78
- package/src/client/browser-dev.ts +192 -5
- package/src/client/browser-entry/action-dispatch.ts +237 -0
- package/src/client/browser-entry/action-queue.ts +152 -0
- package/src/client/browser-entry/hmr.ts +70 -0
- package/src/client/browser-entry/hydrate.ts +143 -0
- package/src/client/browser-entry/index.ts +120 -0
- package/src/client/browser-entry/post-hydration.ts +99 -0
- package/src/client/browser-entry/router-init.ts +406 -0
- package/src/client/browser-entry/rsc-stream.ts +145 -0
- package/src/client/browser-entry/scroll.ts +50 -0
- package/src/client/deny-last-resort.tsx +54 -0
- package/src/client/error-boundary.tsx +279 -61
- package/src/client/error-reconstituter.tsx +84 -0
- package/src/client/form.tsx +36 -32
- package/src/client/global-context.ts +31 -0
- package/src/client/history.ts +74 -11
- package/src/client/index.ts +89 -53
- package/src/client/internal.ts +54 -0
- package/src/client/link.tsx +468 -151
- package/src/client/location-search.ts +15 -0
- package/src/client/navigation-api.ts +380 -0
- package/src/client/navigation-commit.ts +318 -0
- package/src/client/navigation-context.ts +67 -134
- package/src/client/navigation-root.tsx +236 -0
- package/src/client/navigation-transition.ts +337 -0
- package/src/client/nuqs-adapter.tsx +21 -9
- package/src/client/params-context.ts +187 -0
- package/src/client/react-root.ts +82 -0
- package/src/client/router-effects.ts +235 -0
- package/src/client/router-lifecycle.ts +354 -0
- package/src/client/router-pipeline.ts +458 -0
- package/src/client/router-ref.ts +3 -3
- package/src/client/router-skew.ts +30 -0
- package/src/client/router-types.ts +370 -0
- package/src/client/router-url.ts +32 -0
- package/src/client/router.ts +491 -424
- package/src/client/rsc-fetch.ts +510 -109
- package/src/client/segment-cache.ts +362 -41
- package/src/client/segment-context.ts +7 -4
- package/src/client/segment-outlet.tsx +96 -0
- package/src/client/segment-update-context.ts +23 -0
- package/src/client/shallow-url.ts +22 -0
- package/src/client/slot-content-cache-context.ts +43 -0
- package/src/client/slot-context.ts +50 -0
- package/src/client/slot-outlet.tsx +22 -0
- package/src/client/slot-provider.tsx +32 -0
- package/src/client/ssr-data.ts +27 -67
- package/src/client/stale-client.ts +191 -0
- package/src/client/state.ts +31 -24
- package/src/client/status-page-marker.tsx +32 -0
- package/src/client/top-loader.tsx +13 -10
- package/src/client/unload-guard.ts +35 -3
- package/src/client/use-cookie.ts +70 -18
- package/src/client/use-link-status.ts +7 -7
- package/src/client/use-pathname.ts +22 -31
- package/src/client/use-pending-navigation.ts +40 -0
- package/src/client/use-query-states.ts +206 -36
- package/src/client/use-router.ts +31 -9
- package/src/client/use-search-params.ts +38 -49
- package/src/client/use-segment-params.ts +69 -0
- package/src/client/use-selected-layout-segment.ts +2 -2
- package/src/codec.ts +149 -0
- package/src/config-types.ts +323 -0
- package/src/config-validation.ts +464 -0
- package/src/cookies/define-cookie.ts +222 -53
- package/src/cookies/index.ts +13 -2
- package/src/cookies/json-cookie.ts +105 -0
- package/src/cookies/validation.ts +192 -0
- package/src/dev-tools/404-page.ts +286 -0
- package/src/dev-tools/browser-logs.ts +55 -0
- package/src/dev-tools/dev-page-shell.ts +278 -0
- package/src/dev-tools/error-page.ts +331 -0
- package/src/dev-tools/holding-server.ts +185 -0
- package/src/dev-tools/hydration-overlay.ts +158 -0
- package/src/dev-tools/index.ts +79 -0
- package/src/dev-tools/instrumentation.ts +261 -0
- package/src/{server/dev-logger.ts → dev-tools/logger.ts} +33 -51
- package/src/{plugins/dev-logs.ts → dev-tools/logs.ts} +122 -26
- package/src/{plugins/dev-error-overlay.ts → dev-tools/overlay.ts} +25 -80
- package/src/dev-tools/stack-classifier.ts +75 -0
- package/src/dev-tools/terminal.ts +182 -0
- package/src/fonts/ast-walk.ts +235 -0
- package/src/fonts/ast.ts +479 -128
- package/src/fonts/bundle.ts +138 -0
- package/src/fonts/css.ts +1 -1
- package/src/fonts/dev-middleware.ts +85 -0
- package/src/fonts/fallbacks.ts +0 -23
- package/src/fonts/google.ts +101 -19
- package/src/fonts/local.ts +12 -11
- package/src/fonts/paths.ts +58 -0
- package/src/fonts/pipeline.ts +348 -0
- package/src/fonts/transform.ts +311 -0
- package/src/fonts/types.ts +52 -1
- package/src/fonts/virtual-modules.ts +179 -0
- package/src/index.ts +494 -380
- package/src/params/codec-registry.ts +34 -0
- package/src/params/define-schema.ts +115 -0
- package/src/params/index.ts +17 -0
- package/src/params/resolve-schema.ts +84 -0
- package/src/plugin-context.ts +502 -0
- package/src/plugins/build-manifest.ts +204 -36
- package/src/plugins/build-report.ts +299 -87
- package/src/plugins/cache.ts +243 -0
- package/src/plugins/callsite-ast.ts +472 -0
- package/src/plugins/callsite-jsx.ts +243 -0
- package/src/plugins/chunks.ts +74 -5
- package/src/plugins/client-chunks.ts +185 -0
- package/src/plugins/cloudflare-wasm.ts +141 -0
- package/src/plugins/content.ts +5 -1
- package/src/plugins/dev-discovery.ts +218 -0
- package/src/plugins/dev-server.ts +360 -97
- package/src/plugins/entries.ts +142 -16
- package/src/plugins/fonts.ts +260 -657
- package/src/plugins/graph-endpoint.ts +532 -0
- package/src/plugins/mdx.ts +108 -35
- package/src/plugins/post-build.ts +327 -0
- package/src/plugins/prebuilt-capture.ts +213 -0
- package/src/plugins/prebuilt-options-analysis.ts +175 -0
- package/src/plugins/prebuilt.ts +670 -0
- package/src/plugins/prerender-sugar.ts +316 -0
- package/src/plugins/react-resolve.ts +149 -0
- package/src/plugins/request-dep/analysis.ts +447 -0
- package/src/plugins/request-dep/index.ts +376 -0
- package/src/plugins/request-dep/origin.ts +310 -0
- package/src/plugins/routing.ts +273 -277
- package/src/plugins/rsc-assets-manifest.ts +251 -0
- package/src/plugins/server-bundle.ts +99 -14
- package/src/plugins/shims.ts +260 -97
- package/src/plugins/static-build.ts +681 -71
- package/src/react-canary.d.ts +2 -0
- package/src/routing/codegen-shared.ts +39 -0
- package/src/routing/codegen-types.ts +62 -0
- package/src/routing/codegen-write.ts +163 -0
- package/src/routing/codegen.ts +349 -232
- package/src/routing/collision-probe.ts +438 -0
- package/src/routing/collision-spaces.ts +281 -0
- package/src/routing/convention-lint.ts +651 -0
- package/src/routing/export-detect.ts +536 -0
- package/src/routing/file-cache.ts +23 -0
- package/src/routing/index.ts +16 -7
- package/src/routing/interception-overlap.ts +141 -0
- package/src/routing/interception.ts +1044 -67
- package/src/routing/link-codegen.ts +280 -0
- package/src/routing/manifest-codegen.ts +232 -0
- package/src/routing/scanner.ts +417 -223
- package/src/routing/schema-validation.ts +155 -0
- package/src/routing/segment-classify.ts +280 -0
- package/src/routing/segment-codegen.ts +99 -0
- package/src/routing/segment-keys.ts +186 -0
- package/src/routing/slot-placement.ts +97 -0
- package/src/routing/types.ts +82 -26
- package/src/routing/walkers.ts +98 -0
- package/src/rsc-runtime/rsc.ts +9 -0
- package/src/rsc-runtime/ssr.ts +51 -0
- package/src/rsc-runtime/transforms.ts +13 -0
- package/src/rsc-runtime/vendor-types.d.ts +27 -0
- package/src/schema-bridge.ts +382 -0
- package/src/search-params/define.ts +677 -0
- package/src/search-params/index.ts +14 -20
- package/src/search-params/parse-total.ts +91 -0
- package/src/search-params/serialize-equal.ts +14 -0
- package/src/search-params/wrappers.ts +150 -0
- package/src/server/access-gate.tsx +195 -56
- package/src/server/action-client.ts +126 -33
- package/src/server/action-encryption.ts +144 -0
- package/src/server/action-handler.ts +457 -111
- package/src/server/actions.ts +172 -85
- package/src/server/als-registry.ts +224 -25
- package/src/server/body-limits.ts +10 -2
- package/src/server/build-manifest.ts +33 -57
- package/src/server/canonicalize.ts +6 -3
- package/src/server/chain-url-parts.ts +163 -0
- package/src/server/children-interception.ts +116 -0
- package/src/server/coalesce-tick.ts +75 -0
- package/src/server/compress.ts +43 -8
- package/src/server/cookie-context.ts +454 -0
- package/src/server/cookie-parsing.ts +163 -0
- package/src/server/csp-nonce.ts +58 -0
- package/src/server/csrf.ts +228 -35
- package/src/server/debug.ts +0 -1
- package/src/server/default-logger.ts +100 -0
- package/src/server/default-status-page.ts +88 -0
- package/src/server/deny-boundary.ts +527 -0
- package/src/server/deny-renderer.ts +201 -179
- package/src/server/early-hints-sender.ts +4 -3
- package/src/server/early-hints.ts +39 -29
- package/src/server/error-boundary-wrapper.ts +160 -44
- package/src/server/error-response-headers.ts +18 -0
- package/src/server/fallback-error.ts +88 -104
- package/src/server/flight-injection-state.ts +113 -0
- package/src/server/flight-scripts.ts +67 -0
- package/src/server/form-data.ts +124 -12
- package/src/server/form-flash.ts +3 -3
- package/src/server/head-response.ts +54 -0
- package/src/server/html-injector-core.ts +512 -0
- package/src/server/html-injectors.ts +270 -255
- package/src/server/index.ts +36 -192
- package/src/server/instrumentation.ts +11 -4
- package/src/server/internal.ts +168 -0
- package/src/server/json-status-response.ts +105 -0
- package/src/server/logger.ts +126 -38
- package/src/server/metadata-collector.ts +177 -0
- package/src/server/metadata-platform.ts +2 -2
- package/src/server/metadata-render.ts +30 -8
- package/src/server/metadata-routes.ts +220 -24
- package/src/server/metadata-social.ts +2 -2
- package/src/server/metadata.ts +23 -2
- package/src/server/middleware-runner.ts +32 -5
- package/src/server/node-stream-transforms.ts +323 -0
- package/src/server/nuqs-ssr-provider.tsx +8 -7
- package/src/server/param-coercion.ts +201 -0
- package/src/server/pipeline-helpers.ts +485 -0
- package/src/server/pipeline-interception.ts +241 -32
- package/src/server/pipeline-metadata.ts +15 -1
- package/src/server/pipeline-outcome.ts +290 -0
- package/src/server/pipeline-phases.ts +496 -0
- package/src/server/pipeline.ts +385 -427
- package/src/server/port-resolution.ts +53 -0
- package/src/server/prebuilt/cache-key.ts +299 -0
- package/src/server/prebuilt/capture-render.ts +118 -0
- package/src/server/prebuilt/capture-routes.ts +104 -0
- package/src/server/prebuilt/capture-state.ts +196 -0
- package/src/server/prebuilt/key-discipline.ts +122 -0
- package/src/server/prebuilt/lifetime.ts +151 -0
- package/src/server/prebuilt/manifest-tag-index.ts +46 -0
- package/src/server/prebuilt/overlay.ts +256 -0
- package/src/server/prebuilt/payload-source.ts +202 -0
- package/src/server/prebuilt/slots.ts +202 -0
- package/src/server/prebuilt/synthetic-store.ts +125 -0
- package/src/server/prebuilt-builder.ts +514 -0
- package/src/server/prebuilt-runtime.ts +813 -0
- package/src/server/primitives.ts +153 -171
- package/src/server/publish-params.ts +42 -0
- package/src/server/react-cache-bridge.ts +124 -0
- package/src/server/react-cache-scope.ts +104 -0
- package/src/server/render-timeout.ts +128 -0
- package/src/server/render-utils.ts +45 -0
- package/src/server/request-context.ts +269 -332
- package/src/server/request-dep.ts +37 -0
- package/src/server/response-cache-policy.ts +45 -0
- package/src/server/route-element-builder.ts +514 -355
- package/src/server/route-element-helpers.ts +37 -0
- package/src/server/route-handler.ts +67 -27
- package/src/server/route-matcher.ts +238 -267
- package/src/server/route-module-loader.ts +161 -0
- package/src/server/rsc-cache-key-guard.ts +122 -0
- package/src/server/rsc-entry/action-dispatcher.ts +142 -0
- package/src/server/rsc-entry/action-middleware-runner.ts +130 -0
- package/src/server/rsc-entry/api-handler.ts +49 -81
- package/src/server/rsc-entry/deny-fallback.ts +151 -0
- package/src/server/rsc-entry/error-renderer.ts +301 -113
- package/src/server/rsc-entry/helpers.ts +90 -115
- package/src/server/rsc-entry/index.ts +370 -350
- package/src/server/rsc-entry/render-route.ts +229 -0
- package/src/server/rsc-entry/render-signals.ts +108 -0
- package/src/server/rsc-entry/revalidate-renderer.ts +349 -0
- package/src/server/rsc-entry/rsc-payload.ts +192 -72
- package/src/server/rsc-entry/rsc-stream.ts +128 -131
- package/src/server/rsc-entry/ssr-bridge.ts +19 -6
- package/src/server/rsc-entry/ssr-renderer.ts +300 -137
- package/src/server/rsc-error-envelope.ts +18 -0
- package/src/server/rsc-prop-warnings.ts +1 -1
- package/src/server/safe-load.ts +53 -0
- package/src/server/sensitive-fields.ts +230 -0
- package/src/server/server-only-guard-noop.js +3 -0
- package/src/server/server-timing.ts +1 -1
- package/src/server/signal-identity.ts +112 -0
- package/src/server/sitemap-generator.ts +337 -0
- package/src/server/sitemap-handler.ts +157 -0
- package/src/server/skippable-prefix.ts +172 -0
- package/src/server/slot-interception.ts +168 -0
- package/src/server/slot-resolver.ts +707 -300
- package/src/server/slot-subtree-contain.ts +273 -0
- package/src/server/ssr-bridge-types.ts +201 -0
- package/src/server/ssr-entry.ts +225 -104
- package/src/server/ssr-render.ts +354 -91
- package/src/server/ssr-wrappers.tsx +162 -0
- package/src/server/state-tree-diff.ts +85 -30
- package/src/server/static-generator.ts +680 -0
- package/src/server/static-not-found.ts +134 -0
- package/src/server/status-code-resolver.ts +107 -148
- package/src/server/stream-utils.ts +343 -0
- package/src/server/tracing.ts +163 -68
- package/src/server/tree-match.ts +494 -0
- package/src/server/types.ts +96 -11
- package/src/server/utils/element-type.ts +88 -0
- package/src/server/utils/escape-html.ts +20 -0
- package/src/server/version-skew.ts +104 -0
- package/src/server/waituntil-bridge.ts +1 -1
- package/src/server/workers-cache-bridge.ts +33 -0
- package/src/shared/als-slots.ts +74 -0
- package/src/shared/base-path.ts +80 -0
- package/src/shared/csrf-reject.ts +15 -0
- package/src/shared/error-digest.ts +46 -0
- package/src/shared/href-validation.ts +159 -0
- package/src/shared/merge-search-params.ts +55 -0
- package/src/shared/param-value.ts +281 -0
- package/src/shared/payload-root.ts +153 -0
- package/src/shared/redirect-type.ts +17 -0
- package/src/shared/rsc-cache-key.ts +269 -0
- package/src/shared/rsc-error-envelope.ts +16 -0
- package/src/shared/rsc-manifest.ts +29 -0
- package/src/shared/rsc-media-type.ts +59 -0
- package/src/shared/rsc-payload-path.ts +52 -0
- package/src/shared/segment-info.ts +67 -0
- package/src/shared/slot-params.ts +109 -0
- package/src/shared/static-platform-files.ts +75 -0
- package/src/shared/status-reason-phrase.ts +61 -0
- package/src/shims/font-google.ts +1 -1
- package/src/shims/font-local.ts +34 -0
- package/src/shims/headers.ts +122 -1
- package/src/shims/navigation-client.ts +36 -32
- package/src/shims/navigation-rsc.ts +47 -0
- package/src/shims/navigation.ts +10 -7
- package/src/utils/state-machine.ts +111 -0
- package/src/utils/write-file-atomic.ts +32 -0
- package/dist/_chunks/als-registry-B7DbZ2hS.js +0 -41
- package/dist/_chunks/als-registry-B7DbZ2hS.js.map +0 -1
- package/dist/_chunks/debug-B3Gypr3D.js +0 -108
- package/dist/_chunks/debug-B3Gypr3D.js.map +0 -1
- package/dist/_chunks/format-RyoGQL74.js +0 -164
- package/dist/_chunks/format-RyoGQL74.js.map +0 -1
- package/dist/_chunks/interception-BOoWmLUA.js +0 -676
- package/dist/_chunks/interception-BOoWmLUA.js.map +0 -1
- package/dist/_chunks/metadata-routes-Cjmvi3rQ.js.map +0 -1
- package/dist/_chunks/request-context-BQUC8PHn.js +0 -330
- package/dist/_chunks/request-context-BQUC8PHn.js.map +0 -1
- package/dist/_chunks/ssr-data-MjmprTmO.js +0 -88
- package/dist/_chunks/ssr-data-MjmprTmO.js.map +0 -1
- package/dist/_chunks/tracing-CemImE6h.js +0 -187
- package/dist/_chunks/tracing-CemImE6h.js.map +0 -1
- package/dist/_chunks/use-cookie-DX-l1_5E.js +0 -91
- package/dist/_chunks/use-cookie-DX-l1_5E.js.map +0 -1
- package/dist/_chunks/use-query-states-D5KaffOK.js +0 -109
- package/dist/_chunks/use-query-states-D5KaffOK.js.map +0 -1
- package/dist/adapters/cloudflare.js.map +0 -1
- package/dist/cache/index.js.map +0 -1
- package/dist/cache/register-cached-function.d.ts +0 -17
- package/dist/cache/register-cached-function.d.ts.map +0 -1
- package/dist/client/browser-entry.d.ts +0 -21
- package/dist/client/browser-entry.d.ts.map +0 -1
- package/dist/client/error-boundary.js.map +0 -1
- package/dist/client/head.d.ts +0 -16
- package/dist/client/head.d.ts.map +0 -1
- package/dist/client/link-status-provider.d.ts +0 -11
- package/dist/client/link-status-provider.d.ts.map +0 -1
- package/dist/client/segment-merger.d.ts +0 -119
- package/dist/client/segment-merger.d.ts.map +0 -1
- package/dist/client/stale-reload.d.ts +0 -44
- package/dist/client/stale-reload.d.ts.map +0 -1
- package/dist/client/transition-root.d.ts +0 -74
- package/dist/client/transition-root.d.ts.map +0 -1
- package/dist/client/types.d.ts +0 -14
- package/dist/client/types.d.ts.map +0 -1
- package/dist/client/use-navigation-pending.d.ts +0 -26
- package/dist/client/use-navigation-pending.d.ts.map +0 -1
- package/dist/client/use-params.d.ts +0 -92
- package/dist/client/use-params.d.ts.map +0 -1
- package/dist/content/index.d.ts +0 -11
- package/dist/content/index.d.ts.map +0 -1
- package/dist/content/index.js +0 -2
- package/dist/plugins/adapter-build.d.ts +0 -18
- package/dist/plugins/adapter-build.d.ts.map +0 -1
- package/dist/plugins/cache-transform.d.ts +0 -36
- package/dist/plugins/cache-transform.d.ts.map +0 -1
- package/dist/plugins/dev-error-overlay.d.ts.map +0 -1
- package/dist/plugins/dev-logs.d.ts.map +0 -1
- package/dist/plugins/dynamic-transform.d.ts +0 -72
- package/dist/plugins/dynamic-transform.d.ts.map +0 -1
- package/dist/plugins/server-action-exports.d.ts +0 -26
- package/dist/plugins/server-action-exports.d.ts.map +0 -1
- package/dist/routing/status-file-lint.d.ts +0 -33
- package/dist/routing/status-file-lint.d.ts.map +0 -1
- package/dist/search-params/analyze.d.ts +0 -54
- package/dist/search-params/analyze.d.ts.map +0 -1
- package/dist/search-params/builtin-codecs.d.ts +0 -105
- package/dist/search-params/builtin-codecs.d.ts.map +0 -1
- package/dist/search-params/codecs.d.ts +0 -53
- package/dist/search-params/codecs.d.ts.map +0 -1
- package/dist/search-params/create.d.ts +0 -106
- package/dist/search-params/create.d.ts.map +0 -1
- package/dist/search-params/registry.d.ts +0 -20
- package/dist/search-params/registry.d.ts.map +0 -1
- package/dist/server/asset-headers.d.ts +0 -42
- package/dist/server/asset-headers.d.ts.map +0 -1
- package/dist/server/client-module-map.d.ts +0 -47
- package/dist/server/client-module-map.d.ts.map +0 -1
- package/dist/server/dev-fetch-instrumentation.d.ts +0 -22
- package/dist/server/dev-fetch-instrumentation.d.ts.map +0 -1
- package/dist/server/dev-logger.d.ts.map +0 -1
- package/dist/server/dev-span-processor.d.ts +0 -29
- package/dist/server/dev-span-processor.d.ts.map +0 -1
- package/dist/server/dev-warnings.d.ts +0 -129
- package/dist/server/dev-warnings.d.ts.map +0 -1
- package/dist/server/flush.d.ts +0 -74
- package/dist/server/flush.d.ts.map +0 -1
- package/dist/server/manifest-status-resolver.d.ts +0 -58
- package/dist/server/manifest-status-resolver.d.ts.map +0 -1
- package/dist/server/prerender.d.ts +0 -77
- package/dist/server/prerender.d.ts.map +0 -1
- package/dist/server/tree-builder.d.ts +0 -126
- package/dist/server/tree-builder.d.ts.map +0 -1
- package/dist/utils/directive-parser.d.ts +0 -70
- package/dist/utils/directive-parser.d.ts.map +0 -1
- package/src/cache/register-cached-function.ts +0 -103
- package/src/client/browser-entry.ts +0 -678
- package/src/client/head.ts +0 -61
- package/src/client/link-status-provider.tsx +0 -30
- package/src/client/segment-merger.ts +0 -339
- package/src/client/stale-reload.ts +0 -87
- package/src/client/transition-root.tsx +0 -166
- package/src/client/types.ts +0 -21
- package/src/client/use-navigation-pending.ts +0 -38
- package/src/client/use-params.ts +0 -141
- package/src/content/index.ts +0 -13
- package/src/plugins/adapter-build.ts +0 -118
- package/src/plugins/cache-transform.ts +0 -199
- package/src/plugins/dynamic-transform.ts +0 -161
- package/src/plugins/server-action-exports.ts +0 -220
- package/src/routing/status-file-lint.ts +0 -112
- package/src/search-params/analyze.ts +0 -192
- package/src/search-params/builtin-codecs.ts +0 -228
- package/src/search-params/codecs.ts +0 -153
- package/src/search-params/create.ts +0 -321
- package/src/search-params/registry.ts +0 -31
- package/src/server/asset-headers.ts +0 -81
- package/src/server/client-module-map.ts +0 -58
- package/src/server/dev-fetch-instrumentation.ts +0 -96
- package/src/server/dev-span-processor.ts +0 -78
- package/src/server/dev-warnings.ts +0 -283
- package/src/server/flush.ts +0 -182
- package/src/server/manifest-status-resolver.ts +0 -215
- package/src/server/prerender.ts +0 -139
- package/src/server/tree-builder.ts +0 -382
- package/src/shims/server-only-noop.js +0 -6
- package/src/utils/directive-parser.ts +0 -529
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Router Types — the router's surface, stated once.
|
|
3
|
+
*
|
|
4
|
+
* Split out of `router.ts` so the factory file is navigation logic rather than
|
|
5
|
+
* declarations (design/18-build-system.md §"No file >500 lines"), and because
|
|
6
|
+
* `rsc-fetch.ts` needs `RouterDeps` while `router.ts` needs `FetchResult`:
|
|
7
|
+
* with the types here, neither imports the other.
|
|
8
|
+
*
|
|
9
|
+
* See design/19-client-navigation.md for the architecture these describe.
|
|
10
|
+
*/
|
|
11
|
+
import type { NavigationState } from './navigation-context.ts';
|
|
12
|
+
import type { ParamsSource } from '../shared/payload-root.ts';
|
|
13
|
+
import type { SegmentInfo } from '../shared/segment-info.ts';
|
|
14
|
+
import type { SegmentCache, PrefetchCache } from './segment-cache.ts';
|
|
15
|
+
import type { TransitionResult, CommitOutcome, RenderOwner } from './navigation-transition.ts';
|
|
16
|
+
import type { NavigationEpoch } from './router-lifecycle.ts';
|
|
17
|
+
/**
|
|
18
|
+
* The view transition type the router adds to a render it hands React —
|
|
19
|
+
* exactly one per navigation, traversal, refresh or revalidation render,
|
|
20
|
+
* beside any `transitionTypes` the caller passed.
|
|
21
|
+
* A `<ViewTransition>` keys its animations on these
|
|
22
|
+
* (design/37-navigation-api.md §"Transition types", TIM-1471).
|
|
23
|
+
*
|
|
24
|
+
* - `navigation-forward` — a push or replace (`<Link>`, `router.push`,
|
|
25
|
+
* a server action redirect, a non-shallow nuqs update), or a traversal
|
|
26
|
+
* forward through history.
|
|
27
|
+
* - `navigation-back` — a traversal back through history.
|
|
28
|
+
* - `navigation-traverse` — a traversal whose direction the router cannot
|
|
29
|
+
* know: the History API fallback, where `popstate` carries no index.
|
|
30
|
+
* - `refresh` — `router.refresh()`.
|
|
31
|
+
* - `revalidate` — the page re-rendered after a server action.
|
|
32
|
+
*
|
|
33
|
+
* The shallow search re-wrap and hydration add none. A server redirect the
|
|
34
|
+
* router follows keeps the types of the render it interrupted.
|
|
35
|
+
*/
|
|
36
|
+
export type NavigationTransitionType = 'navigation-forward' | 'navigation-back' | 'navigation-traverse' | 'refresh' | 'revalidate';
|
|
37
|
+
/** The type a traversal adds: its direction, when the router knows it. */
|
|
38
|
+
export type TraverseDirection = Extract<NavigationTransitionType, 'navigation-forward' | 'navigation-back' | 'navigation-traverse'>;
|
|
39
|
+
/** Options for `RouterInstance.refresh`. */
|
|
40
|
+
export interface RefreshOptions {
|
|
41
|
+
/** See `NavigationOptions.onCommit`. */
|
|
42
|
+
onCommit?: (outcome: CommitOutcome) => void;
|
|
43
|
+
/**
|
|
44
|
+
* Why the page is being re-fetched, as the view transition type the render
|
|
45
|
+
* adds: `refresh` (the default) when the user asked, `revalidate` when a
|
|
46
|
+
* server action left the page to be re-fetched.
|
|
47
|
+
*/
|
|
48
|
+
transitionType?: Extract<NavigationTransitionType, 'refresh' | 'revalidate'>;
|
|
49
|
+
}
|
|
50
|
+
export interface NavigationOptions {
|
|
51
|
+
/** Set to false to prevent scroll-to-top on forward navigation */
|
|
52
|
+
scroll?: boolean;
|
|
53
|
+
/** Use replaceState instead of pushState (replaces current history entry) */
|
|
54
|
+
replace?: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* View transition types to add to this navigation, beside the router's own
|
|
57
|
+
* `navigation-forward`. They are added in the router's transition, the one
|
|
58
|
+
* that renders the destination — not in the caller's: React claims types
|
|
59
|
+
* per root at the next transition commit, and the destination is handed to
|
|
60
|
+
* React only after its fetch, so a type added around the `navigate()` call
|
|
61
|
+
* never reaches it (design/37-navigation-api.md §"Transition types").
|
|
62
|
+
*/
|
|
63
|
+
transitionTypes?: readonly string[];
|
|
64
|
+
/**
|
|
65
|
+
* @internal The complete view transition types for this render, replacing
|
|
66
|
+
* `navigation-forward` + `transitionTypes`. Set only when the router
|
|
67
|
+
* follows a redirect, which keeps the types of the render it interrupted.
|
|
68
|
+
*/
|
|
69
|
+
_renderTypes?: readonly string[];
|
|
70
|
+
/**
|
|
71
|
+
* Runs exactly once, when React commits this navigation's tree — or when
|
|
72
|
+
* the navigation is abandoned (superseded or failed) and no such commit
|
|
73
|
+
* will come. The returned promise resolves on decode, which can be before
|
|
74
|
+
* OR after the commit; this is the hook for the other event. `<Link>`
|
|
75
|
+
* holds `isPending` until both have happened (TIM-1418). The outcome says
|
|
76
|
+
* which of the three it was.
|
|
77
|
+
*/
|
|
78
|
+
onCommit?: (outcome: CommitOutcome) => void;
|
|
79
|
+
/**
|
|
80
|
+
* @internal AbortSignal from the Navigation API's NavigateEvent.
|
|
81
|
+
* When provided, the signal is linked to the router's per-navigation
|
|
82
|
+
* AbortController so in-flight RSC fetches are cancelled when a new
|
|
83
|
+
* navigation starts.
|
|
84
|
+
*/
|
|
85
|
+
_signal?: AbortSignal;
|
|
86
|
+
/**
|
|
87
|
+
* @internal Skip pushState/replaceState — the Navigation API has already
|
|
88
|
+
* updated the URL via event.intercept(). Used for external navigations
|
|
89
|
+
* intercepted by the navigate event handler.
|
|
90
|
+
*/
|
|
91
|
+
_skipHistory?: boolean;
|
|
92
|
+
/**
|
|
93
|
+
* @internal The URL the user is navigating FROM, captured before the
|
|
94
|
+
* Navigation API commits the destination. Sent as X-Timber-URL for
|
|
95
|
+
* slot skip comparison on the server (TIM-1232).
|
|
96
|
+
*/
|
|
97
|
+
_departingUrl?: string;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Function that decodes an RSC Flight stream into the payload root.
|
|
101
|
+
* In production: createFromFetch from @vitejs/plugin-rsc/browser. Tests use
|
|
102
|
+
* the same Flight client over Flight bytes (tests/helpers/router-harness.ts),
|
|
103
|
+
* so every response is classified and decoded by the one path production runs.
|
|
104
|
+
*/
|
|
105
|
+
export type RscDecoder = (fetchPromise: Promise<Response>) => unknown;
|
|
106
|
+
/**
|
|
107
|
+
* Platform dependencies injected for testability. In production these
|
|
108
|
+
* map to browser APIs; in tests they're replaced with mocks.
|
|
109
|
+
*/
|
|
110
|
+
export interface RouterDeps {
|
|
111
|
+
fetch: (url: string, init: RequestInit) => Promise<Response>;
|
|
112
|
+
pushState: (data: unknown, unused: string, url: string) => void;
|
|
113
|
+
replaceState: (data: unknown, unused: string, url: string) => void;
|
|
114
|
+
scrollTo: (x: number, y: number) => void;
|
|
115
|
+
getCurrentUrl: () => string;
|
|
116
|
+
getScrollY: () => number;
|
|
117
|
+
/** Decode an RSC Flight stream into the payload root. */
|
|
118
|
+
decodeRsc: RscDecoder;
|
|
119
|
+
/**
|
|
120
|
+
* Schedule a callback after the next paint. In the browser, this is
|
|
121
|
+
* requestAnimationFrame + setTimeout(0) to run after React commits.
|
|
122
|
+
* In tests, this runs the callback synchronously.
|
|
123
|
+
*/
|
|
124
|
+
afterPaint?: (callback: () => void) => void;
|
|
125
|
+
/**
|
|
126
|
+
* Hand a navigation's tree to React in a transition, so the departing page
|
|
127
|
+
* stays visible while the destination resolves. Pending state is not React
|
|
128
|
+
* state — it lives in this router's external store (`setPending`), which
|
|
129
|
+
* `TopLoader` and `usePendingNavigation()` subscribe to (TIM-1307).
|
|
130
|
+
*
|
|
131
|
+
* The `perform` callback receives a `wrapPayload` function to wrap the
|
|
132
|
+
* decoded RSC payload with NavigationProvider + NuqsAdapter before
|
|
133
|
+
* NavigationRoot sets it as the new element. The `wrapPayload` function
|
|
134
|
+
* receives the NavigationState explicitly — there is no store to read it
|
|
135
|
+
* from.
|
|
136
|
+
*
|
|
137
|
+
* Every render goes through here — a navigation, a refresh, a traversal
|
|
138
|
+
* (fetched or replayed) and a server action's revalidation — so each one
|
|
139
|
+
* gets the same handover, commit and supersession.
|
|
140
|
+
*/
|
|
141
|
+
navigateTransition: (pendingUrl: string, owner: RenderOwner,
|
|
142
|
+
/** The view transition types this render adds; see `NavigationRender`. */
|
|
143
|
+
types: readonly string[], perform: (wrapPayload: (payload: unknown, navState: NavigationState,
|
|
144
|
+
/**
|
|
145
|
+
* The params to publish over `payload`. On a partial navigation
|
|
146
|
+
* `payload` is the *retained* tree and these are the *incoming*
|
|
147
|
+
* route's — the two deliberately come from different payloads,
|
|
148
|
+
* which is the entire point of the client owning the provider
|
|
149
|
+
* (TIM-1297).
|
|
150
|
+
*/
|
|
151
|
+
params: ParamsSource, segmentUpdates?: Map<string, unknown>) => unknown) => Promise<TransitionResult<unknown>>,
|
|
152
|
+
/** See `NavigationOptions.onCommit`; forwarded to `navigateTransition`. */
|
|
153
|
+
onCommit?: (outcome: CommitOutcome) => void) => Promise<void>;
|
|
154
|
+
/**
|
|
155
|
+
* Whether the Navigation API is active and handling traversals.
|
|
156
|
+
* When true, the popstate handler is a no-op — the Navigation API's
|
|
157
|
+
* navigate event covers back/forward button presses.
|
|
158
|
+
*/
|
|
159
|
+
navigationApiActive?: boolean;
|
|
160
|
+
/**
|
|
161
|
+
* Called around pushState/replaceState to set a flag that prevents
|
|
162
|
+
* the Navigation API's navigate listener from double-handling
|
|
163
|
+
* router-initiated navigations.
|
|
164
|
+
*/
|
|
165
|
+
setRouterNavigating?: (value: boolean) => void;
|
|
166
|
+
/**
|
|
167
|
+
* Save scroll position via the Navigation API's per-entry state.
|
|
168
|
+
* When provided, used instead of history.replaceState for scroll storage.
|
|
169
|
+
*/
|
|
170
|
+
saveNavigationEntryScroll?: (scrollY: number) => void;
|
|
171
|
+
/**
|
|
172
|
+
* Signal that a router-initiated navigation has completed. Resolves the
|
|
173
|
+
* deferred promise that ties the browser's native loading state to the
|
|
174
|
+
* navigation lifecycle. Called in the finally block of navigate/refresh,
|
|
175
|
+
* the same place `setPending(false)` clears the TopLoader.
|
|
176
|
+
*/
|
|
177
|
+
completeRouterNavigation?: () => void;
|
|
178
|
+
/**
|
|
179
|
+
* Get the current unwrapped RSC payload element. Used for partial
|
|
180
|
+
* navigation: the router re-wraps the same element with new
|
|
181
|
+
* NavigationProvider context so mounted SegmentOutlets are preserved.
|
|
182
|
+
*/
|
|
183
|
+
_getCurrentPayload?: () => unknown;
|
|
184
|
+
/**
|
|
185
|
+
* Initiate a navigation via the Navigation API (`navigation.navigate()`).
|
|
186
|
+
* Fires the navigate event BEFORE committing the URL, allowing Chrome
|
|
187
|
+
* to show its native loading indicator. Falls back to pushState when
|
|
188
|
+
* unavailable.
|
|
189
|
+
*/
|
|
190
|
+
navigationNavigate?: (url: string, replace: boolean) => void;
|
|
191
|
+
/**
|
|
192
|
+
* Scroll the element matching a URL #fragment into view. Returns true
|
|
193
|
+
* when a matching element was found and scrolled. When absent or false,
|
|
194
|
+
* the router falls back to scroll-to-top on forward navigation — same
|
|
195
|
+
* as a full page load with an unknown fragment landing at the top.
|
|
196
|
+
*/
|
|
197
|
+
scrollToHash?: (hash: string) => boolean;
|
|
198
|
+
/**
|
|
199
|
+
* Whether the client segment cache is enabled. When false (the default),
|
|
200
|
+
* the router sends no segment/slot lists, so every navigation gets a full
|
|
201
|
+
* RSC payload.
|
|
202
|
+
*
|
|
203
|
+
* It does NOT gate the `treePaths` half of X-Timber-State-Tree. Those
|
|
204
|
+
* describe the tree currently mounted, and interception scoping needs them
|
|
205
|
+
* to open a modal on top of a modal — a routing behaviour, not a caching
|
|
206
|
+
* optimization, so it must not depend on a performance opt-in (TIM-1282).
|
|
207
|
+
*/
|
|
208
|
+
clientSegmentCache?: boolean;
|
|
209
|
+
}
|
|
210
|
+
export interface RouterInstance {
|
|
211
|
+
/** Navigate to a new URL (forward navigation) */
|
|
212
|
+
navigate(url: string, options?: NavigationOptions): Promise<void>;
|
|
213
|
+
/** Full re-render of the current URL — no state tree sent */
|
|
214
|
+
refresh(options?: RefreshOptions): Promise<void>;
|
|
215
|
+
/**
|
|
216
|
+
* Handle a traversal (back/forward button). scrollY is read from the
|
|
217
|
+
* destination entry's state. `direction` is the transition type the
|
|
218
|
+
* render adds; it defaults to `navigation-traverse`, the type for a
|
|
219
|
+
* traversal whose direction is unknown.
|
|
220
|
+
*/
|
|
221
|
+
handlePopState(url: string, scrollY?: number, externalSignal?: AbortSignal, direction?: TraverseDirection): Promise<void>;
|
|
222
|
+
/** Whether a navigation is currently in flight */
|
|
223
|
+
isPending(): boolean;
|
|
224
|
+
/** The URL currently being navigated to, or null if idle */
|
|
225
|
+
getPendingUrl(): string | null;
|
|
226
|
+
/** Subscribe to pending state changes */
|
|
227
|
+
onPendingChange(listener: (pending: boolean) => void): () => void;
|
|
228
|
+
/** Prefetch an RSC payload for a URL (used by Link hover) */
|
|
229
|
+
prefetch(url: string): void;
|
|
230
|
+
/**
|
|
231
|
+
* Snapshot the router's navigation state before dispatching a server action.
|
|
232
|
+
* Hand the epoch back to `applyActionResult` with the response (TIM-1474).
|
|
233
|
+
*/
|
|
234
|
+
epoch(): NavigationEpoch;
|
|
235
|
+
/**
|
|
236
|
+
* True when no navigation has started since `epoch` was taken and the
|
|
237
|
+
* router was idle then and is idle now — the same test
|
|
238
|
+
* `applyActionResult` applies. Action branches that never reach
|
|
239
|
+
* `applyActionResult` use it to detect a navigation that ran while the
|
|
240
|
+
* action was in flight and may have rendered pre-mutation data (TIM-1483).
|
|
241
|
+
*/
|
|
242
|
+
isEpochCurrent(epoch: NavigationEpoch): boolean;
|
|
243
|
+
/**
|
|
244
|
+
* Reconcile the page after a server action. `tree` is the piggybacked
|
|
245
|
+
* revalidation payload root, or `undefined` when the server sent none.
|
|
246
|
+
*
|
|
247
|
+
* Returns `true` when the result was applied, `false` when stale (a
|
|
248
|
+
* navigation happened since `epoch` was taken or the router was busy at
|
|
249
|
+
* dispatch). Async because the no-tree path awaits `refresh()` — the next
|
|
250
|
+
* queued action must not capture its epoch while the refresh is in-flight.
|
|
251
|
+
*
|
|
252
|
+
* Does NOT call `runWhenIdle` — that is the action queue's responsibility
|
|
253
|
+
* (gated on "queue empty", not just "router idle").
|
|
254
|
+
*
|
|
255
|
+
* See design/08-forms-and-actions.md §"Single-Roundtrip Revalidation".
|
|
256
|
+
*/
|
|
257
|
+
applyActionResult(epoch: NavigationEpoch, tree?: unknown): Promise<boolean>;
|
|
258
|
+
/**
|
|
259
|
+
* Run `task` now if the router is idle (not pending, no uncommitted tree),
|
|
260
|
+
* otherwise once when it next becomes idle. Single slot — the action queue
|
|
261
|
+
* uses this to flush one deferred refresh when both queue-empty and
|
|
262
|
+
* router-idle are true (TIM-1474).
|
|
263
|
+
*/
|
|
264
|
+
runWhenIdle(task: () => void): void;
|
|
265
|
+
/**
|
|
266
|
+
* Settle any handed-off-but-uncommitted owners as superseded, then flush
|
|
267
|
+
* idle tasks. Called by `syncShallowSearch` when a shallow URL update
|
|
268
|
+
* displaces a suspended transition (TIM-1480).
|
|
269
|
+
*/
|
|
270
|
+
settleHandoffs(): void;
|
|
271
|
+
/**
|
|
272
|
+
* Make the next navigation a full render: the server re-renders every
|
|
273
|
+
* segment instead of skipping the shared layouts the client reports as
|
|
274
|
+
* mounted (TIM-1466). Called when `revalidatePath` named a page other
|
|
275
|
+
* than the current one — a layout that page shares with this one may now
|
|
276
|
+
* be stale, and the server cannot tell that from the state tree.
|
|
277
|
+
*/
|
|
278
|
+
suppressSegmentReuse(): void;
|
|
279
|
+
/**
|
|
280
|
+
* Evict all prefetch cache entries and history stack payloads (TIM-1476).
|
|
281
|
+
* Called after a server action that revalidated data — the mutation may
|
|
282
|
+
* affect any route's data, not just the paths the server named, so every
|
|
283
|
+
* cached payload is stale. In-flight prefetch singleflights are fenced
|
|
284
|
+
* by the eviction generation — their results are discarded if they
|
|
285
|
+
* complete after eviction. `applyActionResult` does not need the history
|
|
286
|
+
* stack: the current page's segment metadata is the committer's record.
|
|
287
|
+
*/
|
|
288
|
+
evictStaleCaches(): void;
|
|
289
|
+
/**
|
|
290
|
+
* Make the server-rendered page the current page — the hydration entry
|
|
291
|
+
* point, and the only one: bootstrap does not reach into the router's
|
|
292
|
+
* caches. Returns the `NavigationState` the page renders with.
|
|
293
|
+
*
|
|
294
|
+
* Goes through the same `prepareNavigation` every navigation uses, and
|
|
295
|
+
* commits at once rather than on React's hydration commit. The server's
|
|
296
|
+
* HTML is already the page on screen, and React does not promise that
|
|
297
|
+
* commit: a render that reaches the root while hydration is suspended (a
|
|
298
|
+
* shallow search update, a navigation the Navigation API intercepted
|
|
299
|
+
* before hydration) switches the root to client rendering, and the
|
|
300
|
+
* hydration tree — with any publish attached to it — never commits. A
|
|
301
|
+
* status document is still kept out of the cache: its `StatusPageMarker`
|
|
302
|
+
* clears the cache when it reports (navigation-commit.ts).
|
|
303
|
+
*/
|
|
304
|
+
hydrate(page: HydrationPage): NavigationState;
|
|
305
|
+
/** The segment cache (exposed for tests and <Link> prefetch) */
|
|
306
|
+
segmentCache: SegmentCache;
|
|
307
|
+
/** The prefetch cache (exposed for tests and <Link> prefetch) */
|
|
308
|
+
prefetchCache: PrefetchCache;
|
|
309
|
+
}
|
|
310
|
+
/** The page the server rendered, as the browser entry decoded it. */
|
|
311
|
+
export interface HydrationPage {
|
|
312
|
+
/** The inlined payload's tree, or null when the document carried none. */
|
|
313
|
+
payload: unknown;
|
|
314
|
+
/** The params published beside it. */
|
|
315
|
+
params: ParamsSource;
|
|
316
|
+
/** The rendered chain's metadata (`self.__timber_segments`), or null. */
|
|
317
|
+
segmentInfo: SegmentInfo[] | null;
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* Router navigation phase — discriminated union replacing scattered
|
|
321
|
+
* `pending` + `pendingUrl` boolean flags.
|
|
322
|
+
*
|
|
323
|
+
* - `idle`: No navigation in flight. The committed params/pathname
|
|
324
|
+
* are current.
|
|
325
|
+
* - `navigating`: A fetch or render is in progress. `targetUrl` is
|
|
326
|
+
* the destination being navigated to.
|
|
327
|
+
*/
|
|
328
|
+
export type RouterPhase = {
|
|
329
|
+
phase: 'idle';
|
|
330
|
+
} | {
|
|
331
|
+
phase: 'navigating';
|
|
332
|
+
targetUrl: string;
|
|
333
|
+
};
|
|
334
|
+
//# sourceMappingURL=router-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router-types.d.ts","sourceRoot":"","sources":["../../src/client/router-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC/F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,wBAAwB,GAChC,oBAAoB,GACpB,iBAAiB,GACjB,qBAAqB,GACrB,SAAS,GACT,YAAY,CAAC;AAEjB,0EAA0E;AAC1E,MAAM,MAAM,iBAAiB,GAAG,OAAO,CACrC,wBAAwB,EACxB,oBAAoB,GAAG,iBAAiB,GAAG,qBAAqB,CACjE,CAAC;AAEF,4CAA4C;AAC5C,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5C;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC,wBAAwB,EAAE,SAAS,GAAG,YAAY,CAAC,CAAC;CAC9E;AAED,MAAM,WAAW,iBAAiB;IAChC,kEAAkE;IAClE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC;;;;OAIG;IACH,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5C;;;;;OAKG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC;AAEtE;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7D,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnE,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,aAAa,EAAE,MAAM,MAAM,CAAC;IAC5B,UAAU,EAAE,MAAM,MAAM,CAAC;IACzB,yDAAyD;IACzD,SAAS,EAAE,UAAU,CAAC;IACtB;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAC5C;;;;;;;;;;;;;;;OAeG;IACH,kBAAkB,EAAE,CAClB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,WAAW;IAClB,0EAA0E;IAC1E,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,EAAE,CACP,WAAW,EAAE,CACX,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,eAAe;IACzB;;;;;;OAMG;IACH,MAAM,EAAE,YAAY,EACpB,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,KAClC,OAAO,KACT,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACvC,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,KACxC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAE/C;;;OAGG;IACH,yBAAyB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAEtD;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC;IAEnC;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAE7D;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAEzC;;;;;;;;;OASG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,iDAAiD;IACjD,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,6DAA6D;IAC7D,OAAO,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD;;;;;OAKG;IACH,cAAc,CACZ,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,MAAM,EAChB,cAAc,CAAC,EAAE,WAAW,EAC5B,SAAS,CAAC,EAAE,iBAAiB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,kDAAkD;IAClD,SAAS,IAAI,OAAO,CAAC;IACrB,4DAA4D;IAC5D,aAAa,IAAI,MAAM,GAAG,IAAI,CAAC;IAC/B,yCAAyC;IACzC,eAAe,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAClE,6DAA6D;IAC7D,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;;OAGG;IACH,KAAK,IAAI,eAAe,CAAC;IACzB;;;;;;OAMG;IACH,cAAc,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC;IAChD;;;;;;;;;;;;;OAaG;IACH,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5E;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACpC;;;;OAIG;IACH,cAAc,IAAI,IAAI,CAAC;IACvB;;;;;;OAMG;IACH,oBAAoB,IAAI,IAAI,CAAC;IAC7B;;;;;;;;OAQG;IACH,gBAAgB,IAAI,IAAI,CAAC;IACzB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,eAAe,CAAC;IAE9C,gEAAgE;IAChE,YAAY,EAAE,YAAY,CAAC;IAC3B,iEAAiE;IACjE,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED,qEAAqE;AACrE,MAAM,WAAW,aAAa;IAC5B,0EAA0E;IAC1E,OAAO,EAAE,OAAO,CAAC;IACjB,sCAAsC;IACtC,MAAM,EAAE,YAAY,CAAC;IACrB,yEAAyE;IACzE,WAAW,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;CACnC;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How the client router reads the URLs it is handed.
|
|
3
|
+
*
|
|
4
|
+
* One parser, so the places that key or compare by URL — the history stack,
|
|
5
|
+
* the navigation state a page renders with, the departing page sent as
|
|
6
|
+
* `X-Timber-URL` — cannot disagree about what a URL says. They did: a
|
|
7
|
+
* history entry stored under `navigate('/café')`'s spelling was looked up
|
|
8
|
+
* under the address bar's `/caf%C3%A9`, and missed (TIM-1541).
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Parse a router URL. A URL that starts with "/" is a path — including one
|
|
12
|
+
* that starts with "//": that is the pathname a document at
|
|
13
|
+
* `https://host//a/b` reports, and resolved against a base it would parse as
|
|
14
|
+
* a scheme-relative reference to host `a`. Anything else resolves against a
|
|
15
|
+
* placeholder origin, so an absolute URL keeps its own.
|
|
16
|
+
*/
|
|
17
|
+
export declare function parseRouterUrl(url: string): URL;
|
|
18
|
+
/**
|
|
19
|
+
* The spelling a URL is stored and looked up under: the browser's own
|
|
20
|
+
* pathname + search, so `/a?` and `/a`, `/café` and `/caf%C3%A9`, are one
|
|
21
|
+
* key. The fragment is dropped — it is client-only.
|
|
22
|
+
*/
|
|
23
|
+
export declare function routerUrlKey(url: string): string;
|
|
24
|
+
//# sourceMappingURL=router-url.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router-url.d.ts","sourceRoot":"","sources":["../../src/client/router-url.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGhD"}
|
package/dist/client/router.d.ts
CHANGED
|
@@ -1,100 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { SegmentInfo } from './segment-cache';
|
|
3
|
-
import { HistoryStack } from './history';
|
|
4
|
-
import type { HeadElement } from './head';
|
|
5
|
-
export interface NavigationOptions {
|
|
6
|
-
/** Set to false to prevent scroll-to-top on forward navigation */
|
|
7
|
-
scroll?: boolean;
|
|
8
|
-
/** Use replaceState instead of pushState (replaces current history entry) */
|
|
9
|
-
replace?: boolean;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Function that decodes an RSC Flight stream into a React element tree.
|
|
13
|
-
* In production: createFromFetch from @vitejs/plugin-rsc/browser.
|
|
14
|
-
* In tests: a mock that returns the raw payload.
|
|
15
|
-
*/
|
|
16
|
-
export type RscDecoder = (fetchPromise: Promise<Response>) => unknown;
|
|
17
|
-
/**
|
|
18
|
-
* Function that renders a decoded RSC element tree into the DOM.
|
|
19
|
-
* In production: reactRoot.render(element).
|
|
20
|
-
* In tests: a no-op or mock.
|
|
21
|
-
*/
|
|
22
|
-
export type RootRenderer = (element: unknown) => void;
|
|
23
|
-
/**
|
|
24
|
-
* Platform dependencies injected for testability. In production these
|
|
25
|
-
* map to browser APIs; in tests they're replaced with mocks.
|
|
26
|
-
*/
|
|
27
|
-
export interface RouterDeps {
|
|
28
|
-
fetch: (url: string, init: RequestInit) => Promise<Response>;
|
|
29
|
-
pushState: (data: unknown, unused: string, url: string) => void;
|
|
30
|
-
replaceState: (data: unknown, unused: string, url: string) => void;
|
|
31
|
-
scrollTo: (x: number, y: number) => void;
|
|
32
|
-
getCurrentUrl: () => string;
|
|
33
|
-
getScrollY: () => number;
|
|
34
|
-
/** Decode RSC Flight stream into React elements. If not provided, raw response text is stored. */
|
|
35
|
-
decodeRsc?: RscDecoder;
|
|
36
|
-
/** Render decoded RSC tree into the DOM. If not provided, rendering is a no-op. */
|
|
37
|
-
renderRoot?: RootRenderer;
|
|
38
|
-
/**
|
|
39
|
-
* Schedule a callback after the next paint. In the browser, this is
|
|
40
|
-
* requestAnimationFrame + setTimeout(0) to run after React commits.
|
|
41
|
-
* In tests, this runs the callback synchronously.
|
|
42
|
-
*/
|
|
43
|
-
afterPaint?: (callback: () => void) => void;
|
|
44
|
-
/** Apply resolved head elements (title, meta tags) to the DOM after navigation. */
|
|
45
|
-
applyHead?: (elements: HeadElement[]) => void;
|
|
46
|
-
/**
|
|
47
|
-
* Run a navigation inside a React transition with optimistic pending URL.
|
|
48
|
-
* The pending URL shows immediately (useOptimistic urgent update) and
|
|
49
|
-
* reverts when the transition commits (atomic with the new tree).
|
|
50
|
-
*
|
|
51
|
-
* The `perform` callback receives a `wrapPayload` function to wrap the
|
|
52
|
-
* decoded RSC payload with NavigationProvider + NuqsAdapter before
|
|
53
|
-
* TransitionRoot sets it as the new element.
|
|
54
|
-
*
|
|
55
|
-
* If not provided (tests), the router falls back to renderRoot.
|
|
56
|
-
*/
|
|
57
|
-
navigateTransition?: (pendingUrl: string, perform: (wrapPayload: (payload: unknown) => unknown) => Promise<unknown>) => Promise<void>;
|
|
58
|
-
}
|
|
59
|
-
export interface RouterInstance {
|
|
60
|
-
/** Navigate to a new URL (forward navigation) */
|
|
61
|
-
navigate(url: string, options?: NavigationOptions): Promise<void>;
|
|
62
|
-
/** Full re-render of the current URL — no state tree sent */
|
|
63
|
-
refresh(): Promise<void>;
|
|
64
|
-
/** Handle a popstate event (back/forward button). scrollY is read from history.state. */
|
|
65
|
-
handlePopState(url: string, scrollY?: number): Promise<void>;
|
|
66
|
-
/** Whether a navigation is currently in flight */
|
|
67
|
-
isPending(): boolean;
|
|
68
|
-
/** The URL currently being navigated to, or null if idle */
|
|
69
|
-
getPendingUrl(): string | null;
|
|
70
|
-
/** Subscribe to pending state changes */
|
|
71
|
-
onPendingChange(listener: (pending: boolean) => void): () => void;
|
|
72
|
-
/** Prefetch an RSC payload for a URL (used by Link hover) */
|
|
73
|
-
prefetch(url: string): void;
|
|
74
|
-
/**
|
|
75
|
-
* Apply a piggybacked revalidation payload from a server action response.
|
|
76
|
-
* Renders the element tree and updates head elements without a server fetch.
|
|
77
|
-
* See design/08-forms-and-actions.md §"Single-Roundtrip Revalidation".
|
|
78
|
-
*/
|
|
79
|
-
applyRevalidation(element: unknown, headElements: HeadElement[] | null): void;
|
|
80
|
-
/**
|
|
81
|
-
* Populate the segment cache from server-provided segment metadata.
|
|
82
|
-
* Called on initial hydration with segment info embedded in the HTML.
|
|
83
|
-
*/
|
|
84
|
-
initSegmentCache(segments: SegmentInfo[]): void;
|
|
85
|
-
/**
|
|
86
|
-
* Cache segment elements from a decoded RSC element tree.
|
|
87
|
-
* Called on initial hydration to populate the element cache so the
|
|
88
|
-
* first client navigation can use partial payloads.
|
|
89
|
-
*/
|
|
90
|
-
cacheElementTree(element: unknown): void;
|
|
91
|
-
/** The segment cache (exposed for tests and <Link> prefetch) */
|
|
92
|
-
segmentCache: SegmentCache;
|
|
93
|
-
/** The prefetch cache (exposed for tests and <Link> prefetch) */
|
|
94
|
-
prefetchCache: PrefetchCache;
|
|
95
|
-
/** The history stack (exposed for tests) */
|
|
96
|
-
historyStack: HistoryStack;
|
|
97
|
-
}
|
|
1
|
+
import type { RouterDeps, RouterInstance } from './router-types.ts';
|
|
98
2
|
/**
|
|
99
3
|
* Create a router instance. In production, called once at app hydration
|
|
100
4
|
* with real browser APIs. In tests, called with mock dependencies.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/client/router.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/client/router.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAIV,UAAU,EACV,cAAc,EAEf,MAAM,mBAAmB,CAAC;AAK3B;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,cAAc,CAugB7D"}
|
|
@@ -10,34 +10,86 @@
|
|
|
10
10
|
*
|
|
11
11
|
* See design/19-client-navigation.md §"RSC Payload Handling"
|
|
12
12
|
*/
|
|
13
|
-
import type {
|
|
14
|
-
import type
|
|
15
|
-
import type {
|
|
16
|
-
|
|
13
|
+
import type { RscManifest } from '../shared/rsc-manifest.ts';
|
|
14
|
+
import { type PublishedParams } from '../shared/payload-root.ts';
|
|
15
|
+
import type { SegmentInfo, StateTree } from '../shared/segment-info.ts';
|
|
16
|
+
import type { RouterDeps } from './router-types.ts';
|
|
17
|
+
/** Result of fetching an RSC payload — includes segment metadata. */
|
|
17
18
|
export interface FetchResult {
|
|
19
|
+
/** The renderable tree, split off the payload root. */
|
|
18
20
|
payload: unknown;
|
|
19
|
-
|
|
21
|
+
/**
|
|
22
|
+
* The params the same payload published beside that tree.
|
|
23
|
+
*
|
|
24
|
+
* Not a separate channel: both fields come out of one `splitPayloadRoot`
|
|
25
|
+
* call on one decoded root, so a response cannot deliver a tree and another
|
|
26
|
+
* route's params. They used to arrive on their own header, which is how a
|
|
27
|
+
* navigation could render one route and publish another's (TIM-1285,
|
|
28
|
+
* TIM-1294).
|
|
29
|
+
*/
|
|
30
|
+
params: PublishedParams | Promise<PublishedParams>;
|
|
31
|
+
/**
|
|
32
|
+
* Promise that settles when the RSC decode completes or fails.
|
|
33
|
+
* The payload thenable is NOT awaited before returning (for streaming),
|
|
34
|
+
* so callers must monitor this to catch async decode errors
|
|
35
|
+
* (truncated streams, Flight parse failures) that would otherwise
|
|
36
|
+
* become unhandled rejections.
|
|
37
|
+
*/
|
|
38
|
+
decodePromise: Promise<void> | null;
|
|
20
39
|
/** Segment metadata from X-Timber-Segments header for populating the segment cache. */
|
|
21
40
|
segmentInfo: SegmentInfo[] | null;
|
|
22
|
-
/** Route params from X-Timber-Params header for populating useParams(). */
|
|
23
|
-
params: Record<string, string | string[]> | null;
|
|
24
41
|
/** Segment paths that were skipped by the server (for client-side merging). */
|
|
25
42
|
skippedSegments: string[] | null;
|
|
26
43
|
}
|
|
27
|
-
|
|
28
|
-
export declare function
|
|
29
|
-
|
|
30
|
-
|
|
44
|
+
/** Set the client deployment ID. Called once at bootstrap. */
|
|
45
|
+
export declare function setClientDeploymentId(id: string | null): void;
|
|
46
|
+
/** Get the client deployment ID. */
|
|
47
|
+
export declare function getClientDeploymentId(): string | null;
|
|
48
|
+
/** Set the deployment base path. Called once at bootstrap. */
|
|
49
|
+
export declare function setBasePath(base: string | undefined): void;
|
|
50
|
+
/** Get the normalized deployment base path. @internal Exported for testing. */
|
|
51
|
+
export declare function getBasePath(): string;
|
|
52
|
+
export declare function setStaticMode(enabled: boolean): void;
|
|
53
|
+
export declare function isStaticMode(): boolean;
|
|
54
|
+
/** @internal Exported for testing. */
|
|
55
|
+
export declare function setRscManifest(manifest: RscManifest | null): void;
|
|
31
56
|
/**
|
|
32
|
-
*
|
|
33
|
-
*
|
|
57
|
+
* Compute the unhashed `_rsc/*.rsc` path for a route URL.
|
|
58
|
+
*
|
|
59
|
+
* Returns a **route-space** path: the deployment base is stripped from the
|
|
60
|
+
* incoming URL and is NOT re-applied, because this value doubles as the RSC
|
|
61
|
+
* manifest key, and the manifest is base-less. `toStaticRscUrl` applies the
|
|
62
|
+
* base to whatever is actually fetched.
|
|
63
|
+
*
|
|
64
|
+
* @internal Exported for testing.
|
|
34
65
|
*/
|
|
35
|
-
export declare function
|
|
66
|
+
export declare function toUnhashedRscUrl(url: string): string;
|
|
67
|
+
/** Header name used by the server to signal a version skew reload. */
|
|
68
|
+
export declare const RELOAD_HEADER = "X-Timber-Reload";
|
|
69
|
+
/** Header name for the client's deployment ID. */
|
|
70
|
+
export declare const DEPLOYMENT_ID_HEADER = "X-Timber-Deployment-Id";
|
|
71
|
+
/**
|
|
72
|
+
* Check if a response signals a version skew reload.
|
|
73
|
+
* Triggers a full page reload if the server indicates the client is stale.
|
|
74
|
+
*/
|
|
75
|
+
export declare function checkReloadSignal(response: Response): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Build the headers for an RSC payload request.
|
|
78
|
+
*
|
|
79
|
+
* **Every header added here is hashed into the payload URL** as the `_rsc`
|
|
80
|
+
* cache key (see `rscCacheKey`), and URLs are logged by proxies, CDNs, and
|
|
81
|
+
* origin access logs. So: no credentials, no session identifiers, no
|
|
82
|
+
* user-supplied content. `fnv1aHash` is a cache-key hash, not a KDF — a
|
|
83
|
+
* low-entropy secret would be recoverable from the URL by brute force.
|
|
84
|
+
* Authentication already travels on cookies, which are not part of this
|
|
85
|
+
* object and never enter the key.
|
|
86
|
+
*/
|
|
87
|
+
export declare function buildRscHeaders(stateTree: StateTree | undefined, currentUrl?: string): Record<string, string>;
|
|
36
88
|
/**
|
|
37
89
|
* Extract segment metadata from the X-Timber-Segments response header.
|
|
38
90
|
* Returns null if the header is missing or malformed.
|
|
39
91
|
*
|
|
40
|
-
* Format: JSON array of {path,
|
|
92
|
+
* Format: JSON array of {path, isRequestDependent} objects describing the rendered
|
|
41
93
|
* segment chain from root to leaf. Used to populate the client-side
|
|
42
94
|
* segment cache for state tree diffing on subsequent navigations.
|
|
43
95
|
*/
|
|
@@ -51,13 +103,6 @@ export declare function extractSegmentInfo(response: Response): SegmentInfo[] |
|
|
|
51
103
|
* The client uses this to merge the partial payload with cached segments.
|
|
52
104
|
*/
|
|
53
105
|
export declare function extractSkippedSegments(response: Response): string[] | null;
|
|
54
|
-
/**
|
|
55
|
-
* Extract route params from the X-Timber-Params response header.
|
|
56
|
-
* Returns null if the header is missing or malformed.
|
|
57
|
-
*
|
|
58
|
-
* Used to populate useParams() after client-side navigation.
|
|
59
|
-
*/
|
|
60
|
-
export declare function extractParams(response: Response): Record<string, string | string[]> | null;
|
|
61
106
|
/**
|
|
62
107
|
* Thrown when an RSC payload response contains X-Timber-Redirect header.
|
|
63
108
|
* Caught in navigate() to trigger a soft router navigation to the redirect target.
|
|
@@ -67,14 +112,51 @@ export declare class RedirectError extends Error {
|
|
|
67
112
|
constructor(url: string);
|
|
68
113
|
}
|
|
69
114
|
/**
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
115
|
+
* Thrown when the server signals a version skew (X-Timber-Reload header).
|
|
116
|
+
* Caught in navigate() to trigger a full page reload.
|
|
117
|
+
* See TIM-446.
|
|
118
|
+
*/
|
|
119
|
+
export declare class VersionSkewError extends Error {
|
|
120
|
+
constructor();
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Thrown when the server returns an error for an RSC payload request.
|
|
124
|
+
* The server sends X-Timber-Error header and a JSON body instead of a
|
|
125
|
+
* RSC stream it cannot answer in-SPA (a deny that needs a fallback page, a
|
|
126
|
+
* broken first read). Caught in
|
|
127
|
+
* navigate() to trigger a hard navigation so the server can render
|
|
128
|
+
* the error page as HTML.
|
|
129
|
+
*
|
|
130
|
+
* See design/10-error-handling.md §"Error Page Rendering for Client Navigation"
|
|
131
|
+
*/
|
|
132
|
+
export declare class ServerErrorResponse extends Error {
|
|
133
|
+
readonly status: number;
|
|
134
|
+
readonly url: string;
|
|
135
|
+
constructor(status: number, url: string);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Thrown when the RSC fetch response has a Content-Type that is not
|
|
139
|
+
* text/x-component — e.g., a static asset (image, CSS, JS) served
|
|
140
|
+
* for a same-origin URL that isn't a route. The response body is
|
|
141
|
+
* cancelled immediately (headers-only cost). Caught in navigate()
|
|
142
|
+
* to trigger a hard navigation; caught in prefetch() to store a
|
|
143
|
+
* negative cache entry so click hard-navigates without a second fetch.
|
|
144
|
+
*
|
|
145
|
+
* See TIM-1231.
|
|
146
|
+
*/
|
|
147
|
+
export declare class NonRscResponse extends Error {
|
|
148
|
+
readonly url: string;
|
|
149
|
+
constructor(url: string);
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Fetch an RSC payload from the server and start decoding it.
|
|
73
153
|
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
154
|
+
* Every response is classified here, once: a version-skew reload, a 204 or
|
|
155
|
+
* 3xx redirect, a server error envelope and a non-RSC body are each turned
|
|
156
|
+
* into their error before `decodeRsc` sees the body. There is no second
|
|
157
|
+
* path — tests decode real Flight bytes through the same code (TIM-1541).
|
|
76
158
|
*/
|
|
77
159
|
export declare function fetchRscPayload(url: string, deps: RouterDeps, stateTree?: {
|
|
78
160
|
segments: string[];
|
|
79
|
-
}, currentUrl?: string): Promise<FetchResult>;
|
|
161
|
+
}, currentUrl?: string, signal?: AbortSignal): Promise<FetchResult>;
|
|
80
162
|
//# sourceMappingURL=rsc-fetch.d.ts.map
|