@timber-js/app 0.2.0-alpha.19 → 0.2.0-alpha.190
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 +344 -0
- package/dist/_chunks/actions-35jnMdeJ.js +318 -0
- package/dist/_chunks/actions-35jnMdeJ.js.map +1 -0
- package/dist/_chunks/als-registry-C6kcfprT.js +41 -0
- package/dist/_chunks/als-registry-C6kcfprT.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-C3DrfzZR.js +369 -0
- package/dist/_chunks/build-output-helper-C3DrfzZR.js.map +1 -0
- package/dist/_chunks/cache-api-DjNrIWRR.js +1196 -0
- package/dist/_chunks/cache-api-DjNrIWRR.js.map +1 -0
- package/dist/_chunks/cli-check-CpmN7Nh-.js +256 -0
- package/dist/_chunks/cli-check-CpmN7Nh-.js.map +1 -0
- package/dist/_chunks/cli-schema-sync-CGMp_Psg.js +298 -0
- package/dist/_chunks/cli-schema-sync-CGMp_Psg.js.map +1 -0
- package/dist/_chunks/cloudflare-CGP6BZKO.js +1284 -0
- package/dist/_chunks/cloudflare-CGP6BZKO.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/convention-lint-kXsgc_-7.js +784 -0
- package/dist/_chunks/convention-lint-kXsgc_-7.js.map +1 -0
- package/dist/_chunks/dist-BA3u1z3W.js +423 -0
- package/dist/_chunks/dist-BA3u1z3W.js.map +1 -0
- package/dist/_chunks/error-boundary-D-ODYX41.js +353 -0
- package/dist/_chunks/error-boundary-D-ODYX41.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/file-cache-DmX7OqZP.js +454 -0
- package/dist/_chunks/file-cache-DmX7OqZP.js.map +1 -0
- package/dist/_chunks/format-CfwjgPz9.js +14 -0
- package/dist/_chunks/format-CfwjgPz9.js.map +1 -0
- package/dist/_chunks/fs-identity-D7vb6GdI.js +208 -0
- package/dist/_chunks/fs-identity-D7vb6GdI.js.map +1 -0
- package/dist/_chunks/href-validation-CMc5JRls.js +141 -0
- package/dist/_chunks/href-validation-CMc5JRls.js.map +1 -0
- package/dist/_chunks/json-lossy-check-ClNvBM_3.js +63 -0
- package/dist/_chunks/json-lossy-check-ClNvBM_3.js.map +1 -0
- package/dist/_chunks/logger-D8xJZXIN.js +1451 -0
- package/dist/_chunks/logger-D8xJZXIN.js.map +1 -0
- package/dist/_chunks/mdx-file-C005ay-P.js +25 -0
- package/dist/_chunks/mdx-file-C005ay-P.js.map +1 -0
- package/dist/_chunks/plugin-context-rCinWLiE.js +321 -0
- package/dist/_chunks/plugin-context-rCinWLiE.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/resolve-schema-CBR6Lm4i.js +50 -0
- package/dist/_chunks/resolve-schema-CBR6Lm4i.js.map +1 -0
- package/dist/_chunks/router-ref-DuYuV_0Q.js +28 -0
- package/dist/_chunks/router-ref-DuYuV_0Q.js.map +1 -0
- package/dist/_chunks/rsc-cache-key-DD0fl_-s.js +243 -0
- package/dist/_chunks/rsc-cache-key-DD0fl_-s.js.map +1 -0
- package/dist/_chunks/rsc-error-envelope-tT5PJs4q.js +40 -0
- package/dist/_chunks/rsc-error-envelope-tT5PJs4q.js.map +1 -0
- package/dist/_chunks/rsc-media-type-DRqE_lD_.js +46 -0
- package/dist/_chunks/rsc-media-type-DRqE_lD_.js.map +1 -0
- package/dist/_chunks/rsc-payload-path-B_LBodc2.js +48 -0
- package/dist/_chunks/rsc-payload-path-B_LBodc2.js.map +1 -0
- package/dist/_chunks/scanner-C8b0Gcw3.js +1564 -0
- package/dist/_chunks/scanner-C8b0Gcw3.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-CjOlyB8Y.js +97 -0
- package/dist/_chunks/segment-context-CjOlyB8Y.js.map +1 -0
- package/dist/_chunks/segment-keys-BawYuNFO.js +307 -0
- package/dist/_chunks/segment-keys-BawYuNFO.js.map +1 -0
- package/dist/_chunks/sizeof-lXffQ1Vr.js +35 -0
- package/dist/_chunks/sizeof-lXffQ1Vr.js.map +1 -0
- package/dist/_chunks/slot-params-BCTmZkQB.js +76 -0
- package/dist/_chunks/slot-params-BCTmZkQB.js.map +1 -0
- package/dist/_chunks/{ssr-data-MjmprTmO.js → ssr-data-14MXm7Pj.js} +17 -2
- package/dist/_chunks/ssr-data-14MXm7Pj.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/use-segment-params-C4r4BD9T.js +398 -0
- package/dist/_chunks/use-segment-params-C4r4BD9T.js.map +1 -0
- package/dist/_chunks/walkers-RzN6AFjr.js +141 -0
- package/dist/_chunks/walkers-RzN6AFjr.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/cloudflare-dev.d.ts +109 -0
- package/dist/adapters/cloudflare-dev.d.ts.map +1 -0
- package/dist/adapters/cloudflare-dev.js +73 -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 +124 -0
- package/dist/adapters/cloudflare-kv-cache.js.map +1 -0
- package/dist/adapters/cloudflare.d.ts +199 -21
- package/dist/adapters/cloudflare.d.ts.map +1 -1
- package/dist/adapters/cloudflare.js +2 -188
- package/dist/adapters/compress-module.d.ts +17 -4
- package/dist/adapters/compress-module.d.ts.map +1 -1
- package/dist/adapters/fs-identity.d.ts +64 -0
- package/dist/adapters/fs-identity.d.ts.map +1 -0
- package/dist/adapters/nitro.d.ts +55 -3
- package/dist/adapters/nitro.d.ts.map +1 -1
- package/dist/adapters/nitro.js +287 -171
- package/dist/adapters/nitro.js.map +1 -1
- package/dist/adapters/shared.d.ts +62 -0
- package/dist/adapters/shared.d.ts.map +1 -0
- package/dist/adapters/types.d.ts +28 -6
- package/dist/adapters/types.d.ts.map +1 -1
- 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 +31 -8
- 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 +140 -8
- package/dist/cache/redis-handler.d.ts.map +1 -1
- package/dist/cache/singleflight.d.ts +19 -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 +20 -10
- 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 +16 -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 +153 -0
- package/dist/cli-check.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 +66 -7
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +151 -47
- package/dist/cli.js.map +1 -1
- package/dist/client/browser-dev.d.ts +37 -1
- package/dist/client/browser-dev.d.ts.map +1 -1
- package/dist/client/browser-entry/action-dispatch.d.ts +17 -0
- package/dist/client/browser-entry/action-dispatch.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 +57 -0
- package/dist/client/browser-entry/hydrate.d.ts.map +1 -0
- package/dist/client/browser-entry/index.d.ts +29 -0
- package/dist/client/browser-entry/index.d.ts.map +1 -0
- package/dist/client/browser-entry/post-hydration.d.ts +29 -0
- package/dist/client/browser-entry/post-hydration.d.ts.map +1 -0
- package/dist/client/browser-entry/router-init.d.ts +30 -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/error-boundary.d.ts +19 -5
- package/dist/client/error-boundary.d.ts.map +1 -1
- package/dist/client/error-boundary.js +1 -125
- package/dist/client/error-reconstituter.d.ts +61 -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/history.d.ts +29 -7
- package/dist/client/history.d.ts.map +1 -1
- package/dist/client/index.d.ts +11 -24
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +186 -1134
- 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 +1624 -0
- package/dist/client/internal.js.map +1 -0
- package/dist/client/link.d.ts +63 -60
- package/dist/client/link.d.ts.map +1 -1
- package/dist/client/navigation-api.d.ts +121 -0
- package/dist/client/navigation-api.d.ts.map +1 -0
- package/dist/client/navigation-commit.d.ts +87 -0
- package/dist/client/navigation-commit.d.ts.map +1 -0
- package/dist/client/navigation-context.d.ts +38 -20
- package/dist/client/navigation-context.d.ts.map +1 -1
- package/dist/client/navigation-root.d.ts +159 -0
- package/dist/client/navigation-root.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/router-effects.d.ts +129 -0
- package/dist/client/router-effects.d.ts.map +1 -0
- package/dist/client/router-lifecycle.d.ts +55 -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 +207 -0
- package/dist/client/router-types.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 +113 -26
- package/dist/client/rsc-fetch.d.ts.map +1 -1
- package/dist/client/segment-cache.d.ts +107 -25
- package/dist/client/segment-cache.d.ts.map +1 -1
- package/dist/client/segment-outlet.d.ts +57 -0
- package/dist/client/segment-outlet.d.ts.map +1 -0
- package/dist/client/segment-update-context.d.ts +21 -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-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 +19 -4
- 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 +11 -2
- package/dist/client/state.d.ts.map +1 -1
- 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.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 +2 -2
- package/dist/client/use-router.d.ts.map +1 -1
- package/dist/client/use-search-params.d.ts +12 -5
- package/dist/client/use-search-params.d.ts.map +1 -1
- package/dist/client/{use-params.d.ts → use-segment-params.d.ts} +26 -14
- 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 +284 -0
- package/dist/config-types.d.ts.map +1 -0
- package/dist/config-validation.d.ts +51 -0
- package/dist/config-validation.d.ts.map +1 -0
- package/dist/content/index.d.ts +1 -10
- package/dist/content/index.d.ts.map +1 -1
- package/dist/content/index.js +0 -2
- 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 +2 -1
- package/dist/cookies/index.d.ts.map +1 -1
- package/dist/cookies/index.js +257 -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 +78 -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 +54 -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 +59 -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/dev-tools/overlay.d.ts +91 -0
- 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 +110 -6
- 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/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 +4 -2
- package/dist/fonts/google.d.ts.map +1 -1
- package/dist/fonts/local.d.ts +4 -4
- 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 +50 -181
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9805 -14134
- 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 +276 -0
- package/dist/plugin-context.d.ts.map +1 -0
- package/dist/plugins/adapter-build.d.ts +21 -1
- package/dist/plugins/adapter-build.d.ts.map +1 -1
- 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 +47 -10
- 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-server.d.ts +17 -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 +16 -73
- package/dist/plugins/fonts.d.ts.map +1 -1
- package/dist/plugins/mdx.d.ts +1 -1
- package/dist/plugins/mdx.d.ts.map +1 -1
- package/dist/plugins/prebuilt-capture.d.ts +60 -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 +82 -0
- package/dist/plugins/prebuilt.d.ts.map +1 -0
- package/dist/plugins/prerender-sugar.d.ts +42 -0
- package/dist/plugins/prerender-sugar.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/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 +218 -21
- 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 +51 -0
- package/dist/routing/codegen-write.d.ts.map +1 -0
- package/dist/routing/codegen.d.ts +7 -2
- 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 +72 -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 +7 -1
- package/dist/routing/index.d.ts.map +1 -1
- package/dist/routing/index.js +5 -2
- 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 +1 -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 +117 -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 +74 -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 +12 -0
- package/dist/rsc-runtime/ssr.d.ts.map +1 -1
- 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 +26 -10
- package/dist/server/access-gate.d.ts.map +1 -1
- package/dist/server/action-client.d.ts +42 -7
- 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 +35 -1
- package/dist/server/action-handler.d.ts.map +1 -1
- package/dist/server/actions.d.ts +12 -33
- package/dist/server/actions.d.ts.map +1 -1
- package/dist/server/als-registry.d.ts +110 -11
- package/dist/server/als-registry.d.ts.map +1 -1
- package/dist/server/asset-headers.d.ts +8 -18
- package/dist/server/asset-headers.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 +81 -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 +170 -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/csrf.d.ts +3 -2
- package/dist/server/csrf.d.ts.map +1 -1
- package/dist/server/default-logger.d.ts +22 -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 +247 -0
- package/dist/server/deny-boundary.d.ts.map +1 -0
- package/dist/server/deny-renderer.d.ts +16 -5
- package/dist/server/deny-renderer.d.ts.map +1 -1
- package/dist/server/dev-source-map.d.ts +22 -0
- package/dist/server/dev-source-map.d.ts.map +1 -0
- package/dist/server/early-hints-sender.d.ts.map +1 -1
- package/dist/server/early-hints.d.ts +13 -11
- package/dist/server/early-hints.d.ts.map +1 -1
- package/dist/server/error-boundary-wrapper.d.ts +86 -10
- package/dist/server/error-boundary-wrapper.d.ts.map +1 -1
- package/dist/server/fallback-error.d.ts +12 -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 +42 -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/head-response.d.ts +35 -0
- package/dist/server/head-response.d.ts.map +1 -0
- package/dist/server/html-injector-core.d.ts +242 -0
- package/dist/server/html-injector-core.d.ts.map +1 -0
- package/dist/server/html-injectors.d.ts +82 -41
- package/dist/server/html-injectors.d.ts.map +1 -1
- package/dist/server/index.d.ts +10 -47
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +183 -2906
- package/dist/server/index.js.map +1 -1
- package/dist/server/internal.d.ts +51 -0
- package/dist/server/internal.d.ts.map +1 -0
- package/dist/server/internal.js +4154 -0
- package/dist/server/internal.js.map +1 -0
- package/dist/server/logger.d.ts +39 -7
- package/dist/server/logger.d.ts.map +1 -1
- package/dist/server/metadata-collector.d.ts +52 -0
- package/dist/server/metadata-collector.d.ts.map +1 -0
- package/dist/server/metadata-routes.d.ts +60 -11
- package/dist/server/metadata-routes.d.ts.map +1 -1
- package/dist/server/metadata.d.ts +8 -0
- package/dist/server/metadata.d.ts.map +1 -1
- package/dist/server/middleware-runner.d.ts +19 -4
- package/dist/server/middleware-runner.d.ts.map +1 -1
- package/dist/server/node-stream-transforms.d.ts +119 -0
- package/dist/server/node-stream-transforms.d.ts.map +1 -0
- package/dist/server/param-coercion.d.ts +70 -0
- package/dist/server/param-coercion.d.ts.map +1 -0
- package/dist/server/pipeline-helpers.d.ts +77 -0
- package/dist/server/pipeline-helpers.d.ts.map +1 -0
- package/dist/server/pipeline-interception.d.ts +59 -9
- package/dist/server/pipeline-interception.d.ts.map +1 -1
- package/dist/server/pipeline-metadata.d.ts +6 -0
- package/dist/server/pipeline-metadata.d.ts.map +1 -1
- package/dist/server/pipeline-outcome.d.ts +49 -0
- package/dist/server/pipeline-outcome.d.ts.map +1 -0
- package/dist/server/pipeline-phases.d.ts +59 -0
- package/dist/server/pipeline-phases.d.ts.map +1 -0
- package/dist/server/pipeline.d.ts +151 -19
- package/dist/server/pipeline.d.ts.map +1 -1
- package/dist/server/port-resolution.d.ts +117 -0
- package/dist/server/port-resolution.d.ts.map +1 -0
- package/dist/server/prebuilt/cache-key.d.ts +62 -0
- package/dist/server/prebuilt/cache-key.d.ts.map +1 -0
- package/dist/server/prebuilt/capture-state.d.ts +57 -0
- package/dist/server/prebuilt/capture-state.d.ts.map +1 -0
- package/dist/server/prebuilt/key-discipline.d.ts +23 -0
- package/dist/server/prebuilt/key-discipline.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 +78 -0
- package/dist/server/prebuilt/payload-source.d.ts.map +1 -0
- package/dist/server/prebuilt/slots.d.ts +99 -0
- package/dist/server/prebuilt/slots.d.ts.map +1 -0
- package/dist/server/prebuilt/synthetic-store.d.ts +66 -0
- package/dist/server/prebuilt/synthetic-store.d.ts.map +1 -0
- package/dist/server/prebuilt-builder.d.ts +120 -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 +100 -44
- 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/render-timeout.d.ts +51 -0
- package/dist/server/render-timeout.d.ts.map +1 -0
- package/dist/server/render-utils.d.ts +25 -0
- package/dist/server/render-utils.d.ts.map +1 -0
- package/dist/server/request-context.d.ts +109 -106
- 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/route-element-builder.d.ts +74 -27
- package/dist/server/route-element-builder.d.ts.map +1 -1
- package/dist/server/route-handler.d.ts.map +1 -1
- package/dist/server/route-matcher.d.ts +38 -36
- package/dist/server/route-matcher.d.ts.map +1 -1
- 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-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 +12 -3
- package/dist/server/rsc-entry/api-handler.d.ts.map +1 -1
- package/dist/server/rsc-entry/deny-fallback.d.ts +29 -0
- package/dist/server/rsc-entry/deny-fallback.d.ts.map +1 -0
- package/dist/server/rsc-entry/error-renderer.d.ts +38 -13
- package/dist/server/rsc-entry/error-renderer.d.ts.map +1 -1
- package/dist/server/rsc-entry/helpers.d.ts +59 -42
- package/dist/server/rsc-entry/helpers.d.ts.map +1 -1
- package/dist/server/rsc-entry/index.d.ts +39 -6
- package/dist/server/rsc-entry/index.d.ts.map +1 -1
- package/dist/server/rsc-entry/render-route.d.ts +51 -0
- package/dist/server/rsc-entry/render-route.d.ts.map +1 -0
- package/dist/server/rsc-entry/revalidate-renderer.d.ts +108 -0
- package/dist/server/rsc-entry/revalidate-renderer.d.ts.map +1 -0
- package/dist/server/rsc-entry/rsc-payload.d.ts +5 -6
- package/dist/server/rsc-entry/rsc-payload.d.ts.map +1 -1
- package/dist/server/rsc-entry/rsc-stream.d.ts +40 -3
- package/dist/server/rsc-entry/rsc-stream.d.ts.map +1 -1
- package/dist/server/rsc-entry/ssr-bridge.d.ts +5 -1
- package/dist/server/rsc-entry/ssr-bridge.d.ts.map +1 -1
- package/dist/server/rsc-entry/ssr-renderer.d.ts +36 -4
- package/dist/server/rsc-entry/ssr-renderer.d.ts.map +1 -1
- package/dist/server/rsc-entry/wrap-action-dispatch.d.ts +89 -0
- package/dist/server/rsc-entry/wrap-action-dispatch.d.ts.map +1 -0
- package/dist/server/safe-load.d.ts +46 -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/sitemap-generator.d.ts +129 -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 +26 -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 +139 -5
- package/dist/server/slot-resolver.d.ts.map +1 -1
- package/dist/server/ssr-bridge-types.d.ts +138 -0
- package/dist/server/ssr-bridge-types.d.ts.map +1 -0
- package/dist/server/ssr-entry.d.ts +1 -43
- package/dist/server/ssr-entry.d.ts.map +1 -1
- package/dist/server/ssr-render.d.ts +64 -21
- package/dist/server/ssr-render.d.ts.map +1 -1
- package/dist/server/ssr-wrappers.d.ts +61 -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 +47 -0
- package/dist/server/stream-utils.d.ts.map +1 -0
- package/dist/server/tracing.d.ts +44 -9
- package/dist/server/tracing.d.ts.map +1 -1
- package/dist/server/tree-builder.d.ts +66 -42
- package/dist/server/tree-builder.d.ts.map +1 -1
- package/dist/server/tree-match.d.ts +49 -0
- package/dist/server/tree-match.d.ts.map +1 -0
- package/dist/server/types.d.ts +76 -6
- package/dist/server/types.d.ts.map +1 -1
- package/dist/server/utils/element-type.d.ts +40 -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/utils/mdx-file.d.ts +15 -0
- package/dist/server/utils/mdx-file.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 +41 -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/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 +80 -0
- package/dist/shared/param-value.d.ts.map +1 -0
- package/dist/shared/payload-root.d.ts +108 -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 +25 -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 +40 -0
- package/dist/shared/rsc-media-type.d.ts.map +1 -0
- package/dist/shared/rsc-payload-path.d.ts +42 -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 +51 -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/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.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/docs/api/30-api-server.mdx +233 -0
- package/docs/api/31-api-client.mdx +163 -0
- package/docs/api/32-api-cache.mdx +311 -0
- package/docs/api/33-api-search-params.mdx +176 -0
- package/docs/api/34-api-config.mdx +325 -0
- package/docs/api/35-api-typescript.mdx +170 -0
- package/docs/api/36-cli.mdx +170 -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 +211 -0
- package/docs/learn/03b-access-control.mdx +130 -0
- package/docs/learn/04-loading-states.mdx +67 -0
- package/docs/learn/04b-the-flush-point.mdx +115 -0
- package/docs/learn/05-typed-params.mdx +275 -0
- package/docs/learn/06-forms-and-actions.mdx +146 -0
- package/docs/learn/07-typed-routes.mdx +132 -0
- package/docs/learn/08-streaming.mdx +146 -0
- package/docs/learn/09-caching.mdx +252 -0
- package/docs/learn/10-middleware.mdx +157 -0
- package/docs/learn/11-error-handling.mdx +173 -0
- package/docs/learn/12-client-navigation.mdx +176 -0
- package/docs/learn/13-configuration.mdx +166 -0
- package/docs/learn/14-deploying.mdx +287 -0
- package/docs/more/01-advanced-routing.mdx +343 -0
- package/docs/more/02-advanced-forms.mdx +137 -0
- package/docs/more/03-coming-from-nextjs.mdx +186 -0
- package/docs/more/04-metadata-and-fonts.mdx +193 -0
- package/docs/more/04b-mdx.mdx +209 -0
- package/docs/more/05-content-collections.mdx +90 -0
- package/docs/more/06-instrumentation.mdx +214 -0
- package/docs/more/07-security.mdx +129 -0
- package/docs/more/08-developer-experience.mdx +134 -0
- package/docs/more/40-why-timber.mdx +50 -0
- package/docs/more/41-timber-vs-nextjs.mdx +81 -0
- package/docs/more/42-timber-vs-others.mdx +68 -0
- package/docs/more/50-ai-agent-instructions.mdx +171 -0
- package/llms.txt +55 -0
- package/package.json +108 -26
- package/src/adapters/build-output-helper.ts +351 -0
- package/src/adapters/cloudflare-dev.ts +177 -0
- package/src/adapters/cloudflare-kv-cache.ts +204 -0
- package/src/adapters/cloudflare.ts +740 -129
- package/src/adapters/compress-module.ts +101 -88
- package/src/adapters/fs-identity.ts +156 -0
- package/src/adapters/nitro.ts +320 -120
- package/src/adapters/raw-imports.d.ts +5 -0
- package/src/adapters/shared.ts +274 -0
- package/src/adapters/types.ts +28 -7
- package/src/adapters/wrangler.d.ts +7 -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 +114 -21
- package/src/cache/invalidation-epoch.ts +93 -0
- package/src/cache/json-lossy-check.ts +75 -0
- package/src/cache/redis-handler.ts +197 -19
- package/src/cache/singleflight.ts +64 -6
- package/src/cache/sizeof.ts +33 -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 +237 -0
- package/src/cache/timber-cache.ts +161 -36
- 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 +17 -0
- package/src/cdn/purge-store.ts +34 -0
- package/src/cdn/workers-cache-purge.ts +30 -0
- package/src/cli-check.ts +458 -0
- package/src/cli-schema-sync.ts +401 -0
- package/src/cli.ts +221 -53
- package/src/client/browser-dev.ts +156 -1
- package/src/client/browser-entry/action-dispatch.ts +130 -0
- package/src/client/browser-entry/hmr.ts +70 -0
- package/src/client/browser-entry/hydrate.ts +198 -0
- package/src/client/browser-entry/index.ts +121 -0
- package/src/client/browser-entry/post-hydration.ts +122 -0
- package/src/client/browser-entry/router-init.ts +342 -0
- package/src/client/browser-entry/rsc-stream.ts +166 -0
- package/src/client/browser-entry/scroll.ts +50 -0
- package/src/client/error-boundary.tsx +210 -36
- package/src/client/error-reconstituter.tsx +79 -0
- package/src/client/form.tsx +31 -32
- package/src/client/history.ts +29 -7
- package/src/client/index.ts +78 -45
- package/src/client/internal.ts +59 -0
- package/src/client/link.tsx +397 -150
- package/src/client/navigation-api.ts +345 -0
- package/src/client/navigation-commit.ts +197 -0
- package/src/client/navigation-context.ts +43 -62
- package/src/client/navigation-root.tsx +580 -0
- package/src/client/nuqs-adapter.tsx +16 -3
- package/src/client/params-context.ts +192 -0
- package/src/client/router-effects.ts +231 -0
- package/src/client/router-lifecycle.ts +288 -0
- package/src/client/router-pipeline.ts +393 -0
- package/src/client/router-ref.ts +2 -2
- package/src/client/router-skew.ts +30 -0
- package/src/client/router-types.ts +230 -0
- package/src/client/router.ts +339 -410
- package/src/client/rsc-fetch.ts +530 -73
- package/src/client/segment-cache.ts +224 -38
- package/src/client/segment-outlet.tsx +141 -0
- package/src/client/segment-update-context.ts +42 -0
- package/src/client/shallow-url.ts +22 -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 +19 -5
- package/src/client/stale-client.ts +191 -0
- package/src/client/state.ts +16 -3
- package/src/client/top-loader.tsx +13 -10
- package/src/client/unload-guard.ts +34 -2
- package/src/client/use-cookie.ts +69 -17
- package/src/client/use-link-status.ts +7 -7
- package/src/client/use-pathname.ts +1 -0
- package/src/client/use-pending-navigation.ts +40 -0
- package/src/client/use-query-states.ts +206 -36
- package/src/client/use-router.ts +5 -2
- package/src/client/use-search-params.ts +31 -44
- package/src/client/{use-params.ts → use-segment-params.ts} +49 -23
- package/src/codec.ts +149 -0
- package/src/config-types.ts +282 -0
- package/src/config-validation.ts +330 -0
- package/src/content/index.ts +5 -13
- package/src/cookies/define-cookie.ts +222 -53
- package/src/cookies/index.ts +12 -1
- 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 +260 -0
- package/src/dev-tools/error-page.ts +331 -0
- package/src/dev-tools/holding-server.ts +187 -0
- package/src/dev-tools/hydration-overlay.ts +158 -0
- package/src/dev-tools/index.ts +83 -0
- package/src/dev-tools/instrumentation.ts +213 -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/dev-tools/overlay.ts +469 -0
- 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 +477 -126
- package/src/fonts/bundle.ts +138 -0
- package/src/fonts/dev-middleware.ts +85 -0
- package/src/fonts/fallbacks.ts +0 -23
- package/src/fonts/google.ts +100 -18
- package/src/fonts/local.ts +9 -8
- 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 +468 -353
- 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 +503 -0
- package/src/plugins/adapter-build.ts +229 -7
- package/src/plugins/build-manifest.ts +201 -26
- package/src/plugins/build-report.ts +259 -47
- 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 +1 -1
- package/src/plugins/dev-server.ts +284 -94
- package/src/plugins/entries.ts +138 -16
- package/src/plugins/fonts.ts +228 -660
- package/src/plugins/mdx.ts +47 -10
- package/src/plugins/prebuilt-capture.ts +217 -0
- package/src/plugins/prebuilt-options-analysis.ts +175 -0
- package/src/plugins/prebuilt.ts +655 -0
- package/src/plugins/prerender-sugar.ts +328 -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 +268 -277
- package/src/plugins/server-bundle.ts +89 -12
- package/src/plugins/shims.ts +240 -64
- package/src/plugins/static-build.ts +704 -66
- package/src/routing/codegen-shared.ts +39 -0
- package/src/routing/codegen-types.ts +62 -0
- package/src/routing/codegen-write.ts +139 -0
- package/src/routing/codegen.ts +339 -231
- package/src/routing/collision-probe.ts +438 -0
- package/src/routing/collision-spaces.ts +281 -0
- package/src/routing/convention-lint.ts +493 -0
- package/src/routing/export-detect.ts +448 -0
- package/src/routing/file-cache.ts +23 -0
- package/src/routing/index.ts +10 -1
- package/src/routing/interception.ts +894 -67
- package/src/routing/link-codegen.ts +280 -0
- package/src/routing/manifest-codegen.ts +226 -0
- package/src/routing/scanner.ts +368 -218
- package/src/routing/schema-validation.ts +155 -0
- package/src/routing/segment-classify.ts +280 -0
- package/src/routing/segment-codegen.ts +98 -0
- package/src/routing/segment-keys.ts +183 -0
- package/src/routing/slot-placement.ts +97 -0
- package/src/routing/types.ts +75 -26
- package/src/routing/walkers.ts +98 -0
- package/src/rsc-runtime/rsc.ts +9 -0
- package/src/rsc-runtime/ssr.ts +50 -0
- package/src/rsc-runtime/vendor-types.d.ts +7 -0
- package/src/schema-bridge.ts +380 -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 +121 -51
- package/src/server/action-client.ts +120 -29
- package/src/server/action-encryption.ts +144 -0
- package/src/server/action-handler.ts +127 -38
- package/src/server/actions.ts +54 -57
- package/src/server/als-registry.ts +154 -20
- package/src/server/asset-headers.ts +15 -37
- 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 +162 -0
- package/src/server/children-interception.ts +115 -0
- package/src/server/coalesce-tick.ts +75 -0
- package/src/server/compress.ts +43 -8
- package/src/server/cookie-context.ts +484 -0
- package/src/server/cookie-parsing.ts +163 -0
- package/src/server/csrf.ts +39 -6
- package/src/server/default-logger.ts +99 -0
- package/src/server/default-status-page.ts +127 -0
- package/src/server/deny-boundary.ts +516 -0
- package/src/server/deny-renderer.ts +181 -101
- package/src/server/dev-source-map.ts +31 -0
- package/src/server/early-hints-sender.ts +3 -2
- package/src/server/early-hints.ts +37 -27
- package/src/server/error-boundary-wrapper.ts +170 -44
- package/src/server/fallback-error.ts +79 -102
- package/src/server/flight-injection-state.ts +113 -0
- package/src/server/flight-scripts.ts +62 -0
- package/src/server/form-data.ts +124 -12
- package/src/server/head-response.ts +54 -0
- package/src/server/html-injector-core.ts +495 -0
- package/src/server/html-injectors.ts +271 -254
- package/src/server/index.ts +29 -185
- package/src/server/internal.ts +181 -0
- package/src/server/logger.ts +72 -36
- package/src/server/metadata-collector.ts +115 -0
- package/src/server/metadata-routes.ts +205 -24
- package/src/server/metadata.ts +21 -0
- package/src/server/middleware-runner.ts +31 -4
- package/src/server/node-stream-transforms.ts +336 -0
- package/src/server/param-coercion.ts +189 -0
- package/src/server/pipeline-helpers.ts +159 -0
- package/src/server/pipeline-interception.ts +109 -33
- package/src/server/pipeline-metadata.ts +14 -0
- package/src/server/pipeline-outcome.ts +196 -0
- package/src/server/pipeline-phases.ts +597 -0
- package/src/server/pipeline.ts +321 -382
- package/src/server/port-resolution.ts +215 -0
- package/src/server/prebuilt/cache-key.ts +298 -0
- package/src/server/prebuilt/capture-state.ts +89 -0
- package/src/server/prebuilt/key-discipline.ts +53 -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 +201 -0
- package/src/server/prebuilt/slots.ts +190 -0
- package/src/server/prebuilt/synthetic-store.ts +121 -0
- package/src/server/prebuilt-builder.ts +803 -0
- package/src/server/prebuilt-runtime.ts +815 -0
- package/src/server/primitives.ts +174 -90
- package/src/server/publish-params.ts +42 -0
- package/src/server/render-timeout.ts +108 -0
- package/src/server/render-utils.ts +31 -0
- package/src/server/request-context.ts +245 -333
- package/src/server/request-dep.ts +37 -0
- package/src/server/route-element-builder.ts +687 -307
- package/src/server/route-handler.ts +39 -12
- package/src/server/route-matcher.ts +162 -269
- package/src/server/rsc-cache-key-guard.ts +164 -0
- package/src/server/rsc-entry/action-middleware-runner.ts +167 -0
- package/src/server/rsc-entry/api-handler.ts +67 -32
- package/src/server/rsc-entry/deny-fallback.ts +93 -0
- package/src/server/rsc-entry/error-renderer.ts +370 -94
- package/src/server/rsc-entry/helpers.ts +226 -95
- package/src/server/rsc-entry/index.ts +357 -330
- package/src/server/rsc-entry/render-route.ts +308 -0
- package/src/server/rsc-entry/revalidate-renderer.ts +350 -0
- package/src/server/rsc-entry/rsc-payload.ts +188 -55
- package/src/server/rsc-entry/rsc-stream.ts +122 -18
- package/src/server/rsc-entry/ssr-bridge.ts +18 -5
- package/src/server/rsc-entry/ssr-renderer.ts +299 -80
- package/src/server/rsc-entry/wrap-action-dispatch.ts +186 -0
- package/src/server/safe-load.ts +60 -0
- package/src/server/sensitive-fields.ts +230 -0
- package/src/server/server-only-guard-noop.js +3 -0
- package/src/server/sitemap-generator.ts +339 -0
- package/src/server/sitemap-handler.ts +157 -0
- package/src/server/skippable-prefix.ts +74 -0
- package/src/server/slot-interception.ts +168 -0
- package/src/server/slot-resolver.ts +677 -294
- package/src/server/ssr-bridge-types.ts +142 -0
- package/src/server/ssr-entry.ts +216 -78
- package/src/server/ssr-render.ts +345 -82
- package/src/server/ssr-wrappers.tsx +142 -0
- package/src/server/state-tree-diff.ts +85 -30
- package/src/server/static-generator.ts +715 -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 +288 -0
- package/src/server/tracing.ts +126 -14
- package/src/server/tree-builder.ts +99 -168
- package/src/server/tree-match.ts +262 -0
- package/src/server/types.ts +83 -9
- package/src/server/utils/element-type.ts +72 -0
- package/src/server/utils/escape-html.ts +20 -0
- package/src/server/utils/mdx-file.ts +22 -0
- package/src/server/version-skew.ts +104 -0
- package/src/server/workers-cache-bridge.ts +33 -0
- package/src/shared/als-slots.ts +72 -0
- package/src/shared/base-path.ts +80 -0
- package/src/shared/href-validation.ts +159 -0
- package/src/shared/merge-search-params.ts +55 -0
- package/src/shared/param-value.ts +244 -0
- package/src/shared/payload-root.ts +151 -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 +31 -0
- package/src/shared/rsc-manifest.ts +29 -0
- package/src/shared/rsc-media-type.ts +43 -0
- package/src/shared/rsc-payload-path.ts +45 -0
- package/src/shared/segment-info.ts +67 -0
- package/src/shared/slot-params.ts +111 -0
- package/src/shared/static-platform-files.ts +75 -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.ts +10 -7
- package/src/utils/state-machine.ts +111 -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 +0 -153
- 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.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/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.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 +0 -60
- 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/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/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/use-navigation-pending.ts +0 -38
- package/src/plugins/cache-transform.ts +0 -199
- package/src/plugins/dev-error-overlay.ts +0 -230
- 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/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/utils/directive-parser.ts +0 -529
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ALS getter slots for the isomorphic `define*` modules.
|
|
3
|
+
*
|
|
4
|
+
* `searchParams.get()` and `segmentParams.get()` read per-request state out of
|
|
5
|
+
* `server/als-registry.ts`, but the modules that expose them are *isomorphic*:
|
|
6
|
+
* `search-params/define.ts` and `segment-params/define.ts` are imported by
|
|
7
|
+
* `'use client'` components for their hooks, so neither may import
|
|
8
|
+
* `node:async_hooks` — not even transitively, because the dep optimizer
|
|
9
|
+
* pre-bundles them before per-environment resolution runs. So the server
|
|
10
|
+
* registers its getter into a slot at module-init time and the define modules
|
|
11
|
+
* read the slot.
|
|
12
|
+
*
|
|
13
|
+
* The slots live here, in a module with **no imports at all**, rather than in
|
|
14
|
+
* the define modules themselves. That is the whole point: `request-context.ts`
|
|
15
|
+
* has to reach the setter, and when the setter lived in
|
|
16
|
+
* `search-params/define.ts` every server entry that touched
|
|
17
|
+
* `@timber-js/app/server` pulled that module — and therefore its `'use client'`
|
|
18
|
+
* import of `client/use-query-states.ts`, and therefore `nuqs` — into the
|
|
19
|
+
* server graph. `nuqs` named-imports `createContext`/`useContext` from React,
|
|
20
|
+
* which React's `react-server` export withholds, so `@timber-js/app`,
|
|
21
|
+
* `@timber-js/app/server`, `@timber-js/app/cookies` and `@timber-js/app/cache`
|
|
22
|
+
* all failed to instantiate under the `react-server` condition (TIM-1298).
|
|
23
|
+
* A leaf module breaks the edge without a registration ceremony on either side.
|
|
24
|
+
*
|
|
25
|
+
* Registration must be eager, not a call-time `await import()`: the async
|
|
26
|
+
* microtask a dynamic import introduces loses AsyncLocalStorage context inside
|
|
27
|
+
* React's RSC Flight renderer, which broke `getSearchParams()` in parallel slot
|
|
28
|
+
* pages (TIM-523).
|
|
29
|
+
*
|
|
30
|
+
* See design/23-search-params.md §"defineSearchParams — The Factory" and
|
|
31
|
+
* design/41-global-params.md.
|
|
32
|
+
*/
|
|
33
|
+
/** @internal Called from `server/request-context.ts` at module init. */
|
|
34
|
+
export declare const _setGetSearchParamsFn: (fn: () => URLSearchParams) => void;
|
|
35
|
+
/** @internal Read by `search-params/define.ts` inside `.get()`. */
|
|
36
|
+
export declare const getSearchParamsFromAls: () => URLSearchParams;
|
|
37
|
+
/** @internal Called from `server/request-context.ts` at module init. */
|
|
38
|
+
export declare const _setGetSegmentParamsFn: (fn: () => Record<string, string | string[]>) => void;
|
|
39
|
+
/** @internal Read by `segment-params/define.ts` inside `.get()`. */
|
|
40
|
+
export declare const getSegmentParamsFromAls: () => Record<string, string | string[]>;
|
|
41
|
+
//# sourceMappingURL=als-slots.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"als-slots.d.ts","sourceRoot":"","sources":["../../src/shared/als-slots.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAgCH,wEAAwE;AACxE,eAAO,MAAM,qBAAqB,iCA7Bd,IA6BqC,CAAC;AAC1D,mEAAmE;AACnE,eAAO,MAAM,sBAAsB,uBAAuB,CAAC;AAE3D,wEAAwE;AACxE,eAAO,MAAM,sBAAsB,mDAlCf,IAkCuC,CAAC;AAC5D,oEAAoE;AACpE,eAAO,MAAM,uBAAuB,yCAAwB,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deployment base path — Vite's resolved `base`, as it applies to the URLs
|
|
3
|
+
* timber addresses at runtime.
|
|
4
|
+
*
|
|
5
|
+
* A static build deployed under a sub-path (`base: '/repo/'`, the GitHub
|
|
6
|
+
* Pages project-site layout) serves every generated file below that prefix:
|
|
7
|
+
* the document for `/about` lives at `/repo/about/index.html`, its flight
|
|
8
|
+
* payload at `/repo/_rsc/about/index.rsc`. The client works in *route space* — the
|
|
9
|
+
* paths the app declares — so both a strip (browser URL → route path) and a
|
|
10
|
+
* prefix (route-space path → URL) are needed, and this module owns both.
|
|
11
|
+
*
|
|
12
|
+
* Pure functions, no state: the caller supplies the base. `client/rsc-fetch.ts`
|
|
13
|
+
* holds the client's copy, set at bootstrap from `virtual:timber-config`.
|
|
14
|
+
*
|
|
15
|
+
* See design/11-platform.md §"Deploying under a non-root base" (TIM-1261).
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* True when `base` is document-relative (`'./'`, `'foo/'`) — it makes asset
|
|
19
|
+
* URLs resolve against whatever document loaded them, which says nothing
|
|
20
|
+
* about where the deployment sits, so no prefix can be computed from it.
|
|
21
|
+
*/
|
|
22
|
+
export declare function isRelativeBase(base: string | undefined): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Normalize Vite's `base` into a path prefix. Always returns a value with a
|
|
25
|
+
* leading and trailing slash.
|
|
26
|
+
*
|
|
27
|
+
* Two forms carry no usable deployment prefix and normalize to `/`:
|
|
28
|
+
*
|
|
29
|
+
* - **An absolute-URL base** points *assets* at a CDN. The HTML documents and
|
|
30
|
+
* `.rsc` payloads are still served from the deployment origin, so their
|
|
31
|
+
* URLs stay root-relative. This is correct, not a degradation.
|
|
32
|
+
* - **A relative base** — see `isRelativeBase`. The static build warns,
|
|
33
|
+
* because SPA navigation then only works at the domain root.
|
|
34
|
+
*/
|
|
35
|
+
export declare function normalizeBasePath(base: string | undefined): string;
|
|
36
|
+
/**
|
|
37
|
+
* Strip the base prefix from a browser pathname, returning the route-space
|
|
38
|
+
* path. With base `/repo/`: `/repo/about` → `/about`, `/repo/` and `/repo`
|
|
39
|
+
* → `/`.
|
|
40
|
+
*
|
|
41
|
+
* A pathname outside the base is returned unchanged. It cannot be served by
|
|
42
|
+
* this deployment at all, so there is no better answer than letting the
|
|
43
|
+
* resulting fetch 404 and the router hard-navigate — visibly wrong beats
|
|
44
|
+
* silently rewritten.
|
|
45
|
+
*
|
|
46
|
+
* @param base A normalized base (see `normalizeBasePath`).
|
|
47
|
+
*/
|
|
48
|
+
export declare function stripBasePath(base: string, pathname: string): string;
|
|
49
|
+
/**
|
|
50
|
+
* Prefix a route-space, root-relative path with the base.
|
|
51
|
+
* `/_rsc/about/index.rsc` → `/repo/_rsc/about/index.rsc`.
|
|
52
|
+
*
|
|
53
|
+
* @param base A normalized base (see `normalizeBasePath`).
|
|
54
|
+
*/
|
|
55
|
+
export declare function withBasePath(base: string, path: string): string;
|
|
56
|
+
//# sourceMappingURL=base-path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-path.d.ts","sourceRoot":"","sources":["../../src/shared/base-path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAOH;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAGhE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAIlE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMpE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAG/D"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared href/URL validation for all navigation sinks.
|
|
3
|
+
*
|
|
4
|
+
* Used by <Link>, useRouter().push/replace, and redirectExternal().
|
|
5
|
+
* Single source of truth for dangerous-scheme detection — prevents
|
|
6
|
+
* control-character smuggling that bypasses naive regex checks.
|
|
7
|
+
*
|
|
8
|
+
* See design/13-security.md §"Link scheme injection" (test #9)
|
|
9
|
+
* and design/07-routing.md §"<Link> Scheme Validation".
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Validate an href for navigation sinks (<Link>, useRouter, etc.).
|
|
13
|
+
*
|
|
14
|
+
* Rejects dangerous schemes (javascript:, data:, vbscript:) even when
|
|
15
|
+
* control characters are embedded to bypass naive regex checks.
|
|
16
|
+
* Also rejects protocol-relative URLs (//evil.com).
|
|
17
|
+
*
|
|
18
|
+
* Throws on rejection. Safe hrefs pass through silently.
|
|
19
|
+
*/
|
|
20
|
+
export declare function validateNavigationHref(href: string): void;
|
|
21
|
+
/**
|
|
22
|
+
* Check if an href is internal (same-origin navigation) or external.
|
|
23
|
+
*
|
|
24
|
+
* Strips control characters before checking so that "java\tscript:" is
|
|
25
|
+
* correctly identified as having a scheme (and thus not internal).
|
|
26
|
+
*/
|
|
27
|
+
export declare function isInternalHref(href: string): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Assert that a redirect target is a relative path — rejects absolute and
|
|
30
|
+
* protocol-relative URLs. Used by both the server `redirect()` primitive and
|
|
31
|
+
* the client next/navigation shim so they enforce identical semantics.
|
|
32
|
+
*
|
|
33
|
+
* Normalizes for validation only: strips C0 controls, trims, then replaces
|
|
34
|
+
* backslashes with forward slashes. Browsers normalize \ → / during URL
|
|
35
|
+
* resolution, so "/\evil.com" becomes "//evil.com" (protocol-relative open
|
|
36
|
+
* redirect). See design/13-security.md tests #8, #8a–#8c.
|
|
37
|
+
*/
|
|
38
|
+
export declare function assertRelativeRedirectPath(path: string): void;
|
|
39
|
+
/**
|
|
40
|
+
* Validate and canonicalize an external redirect URL.
|
|
41
|
+
*
|
|
42
|
+
* Requires http: or https: scheme and checks origin against an allow-list.
|
|
43
|
+
* Returns the parsed canonical URL string (from URL.href) to prevent
|
|
44
|
+
* raw user input from reaching the Location header.
|
|
45
|
+
*
|
|
46
|
+
* @throws On invalid URL, dangerous scheme, or origin not in allow-list.
|
|
47
|
+
*/
|
|
48
|
+
export declare function validateExternalRedirectUrl(url: string, allowList: string[]): string;
|
|
49
|
+
//# sourceMappingURL=href-validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"href-validation.d.ts","sourceRoot":"","sources":["../../src/shared/href-validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAuBH;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAqBzD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAUpD;AAKD;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAiB7D;AAID;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAiCpF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared utility for merging preserved search params into a target URL.
|
|
3
|
+
*
|
|
4
|
+
* Used by both <Link> (client) and redirect() (server). Extracted to a shared
|
|
5
|
+
* module to avoid importing client code ('use client') from server modules.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Merge preserved search params from the current URL into a target href.
|
|
9
|
+
*
|
|
10
|
+
* When `preserve` is `true`, all current search params are merged.
|
|
11
|
+
* When `preserve` is a `string[]`, only the named params are merged.
|
|
12
|
+
*
|
|
13
|
+
* The target href's own search params take precedence — preserved params
|
|
14
|
+
* are only added if the target doesn't already define them.
|
|
15
|
+
*
|
|
16
|
+
* @param targetHref - The resolved target href (may already contain query string)
|
|
17
|
+
* @param currentSearch - The current URL's search string (e.g. "?private=access&page=2")
|
|
18
|
+
* @param preserve - `true` to preserve all, or `string[]` to preserve specific params
|
|
19
|
+
* @returns The target href with preserved search params merged in
|
|
20
|
+
*/
|
|
21
|
+
export declare function mergePreservedSearchParams(targetHref: string, currentSearch: string, preserve: true | string[]): string;
|
|
22
|
+
//# sourceMappingURL=merge-search-params.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-search-params.d.ts","sourceRoot":"","sources":["../../src/shared/merge-search-params.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,IAAI,GAAG,MAAM,EAAE,GACxB,MAAM,CA6BR"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The canonical form of a segment param value.
|
|
3
|
+
*
|
|
4
|
+
* `getSegmentParams()` on the server and `useSegmentParams()` on the client
|
|
5
|
+
* must return the same value — same prototype, same own properties. This
|
|
6
|
+
* module is how that is guaranteed, and the mechanism matters:
|
|
7
|
+
*
|
|
8
|
+
* **Both sides are images of one normalizer.** A codec's output is deep-cloned
|
|
9
|
+
* into a closed canonical domain at coercion time, and *that clone* is what the
|
|
10
|
+
* server returns and what goes on the wire. Server and client agree by
|
|
11
|
+
* construction, because neither holds the codec's original.
|
|
12
|
+
*
|
|
13
|
+
* That replaces predicting what React Flight would do to an arbitrary value.
|
|
14
|
+
* Prediction is what the previous design attempted and it cannot be finished:
|
|
15
|
+
* the question "will Flight's decode output be observably identical to this
|
|
16
|
+
* input?" ranges over every way a JS object can carry state that is not in its
|
|
17
|
+
* serialization — own keys, enumerability, symbols, holes, accessors,
|
|
18
|
+
* subclassing, exotic objects — and a `Proxy` defeats it outright, since a
|
|
19
|
+
* lying `getPrototypeOf` trap makes any static check unsound. Twelve review
|
|
20
|
+
* findings on PR #992 were each one more case of that set, and the set does
|
|
21
|
+
* not close.
|
|
22
|
+
*
|
|
23
|
+
* Normalizing closes it. The only remaining question is whether Flight
|
|
24
|
+
* round-trips the normalizer's *output range* — a finite domain we defined,
|
|
25
|
+
* covered by `tests/e2e/segment-params.test.ts` against the real serializer.
|
|
26
|
+
*
|
|
27
|
+
* ## The domain
|
|
28
|
+
*
|
|
29
|
+
* - `undefined`, `null`, `string`, `number`, `boolean`, `bigint`
|
|
30
|
+
* - null-prototype objects, own enumerable string keys only
|
|
31
|
+
* - dense arrays
|
|
32
|
+
* - `Date`, `Map`, `Set` — rebuilt, never the codec's instance
|
|
33
|
+
*
|
|
34
|
+
* ...and it is a **tree**: no value appears twice, and nothing is cyclic.
|
|
35
|
+
* That is not a simplification, it is the last prediction being removed.
|
|
36
|
+
* Flight encodes a `Date` by value at each occurrence but tracks plain objects
|
|
37
|
+
* for reference dedup, so preserving aliasing would carry it across for some
|
|
38
|
+
* types and drop it for others — and knowing which is exactly the kind of
|
|
39
|
+
* guess this design exists to stop making (codex, PR #992). A tree has no
|
|
40
|
+
* sharing to preserve or lose, so what Flight does about it is unobservable.
|
|
41
|
+
*
|
|
42
|
+
* Anything else throws, naming the param and what it was. Note what is *not*
|
|
43
|
+
* a rejection: a `Date` subclass normalizes to a `Date`, a decorated array to
|
|
44
|
+
* a plain one, a sparse array to a dense one, a getter to the value it
|
|
45
|
+
* returned. Those used to be twelve separate checks. They are not divergences
|
|
46
|
+
* any more, because the normalization happens once and both sides see its
|
|
47
|
+
* result — so they need no checks at all.
|
|
48
|
+
*
|
|
49
|
+
* Own properties that Flight would drop (non-enumerable, symbol-keyed) are
|
|
50
|
+
* dropped here instead, symmetrically. Prototype pollution is handled by the
|
|
51
|
+
* same pass: `__proto__` is never copied, and every object is
|
|
52
|
+
* `Object.create(null)` (design/13-security.md #36b/#36c, TIM-873).
|
|
53
|
+
*
|
|
54
|
+
* ## The prototype flip
|
|
55
|
+
*
|
|
56
|
+
* Flight refuses to serialize a null-prototype object, so the canonical form
|
|
57
|
+
* cannot go on the wire as-is. `toPlainRecord` and `toNullProtoRecord` flip
|
|
58
|
+
* the prototype on the way out and back. They are exact inverses and both
|
|
59
|
+
* total, because they only ever see canonical values — there is nothing to
|
|
60
|
+
* validate and no shape to special-case.
|
|
61
|
+
*
|
|
62
|
+
* See design/41-global-params.md §"Transport".
|
|
63
|
+
*/
|
|
64
|
+
/**
|
|
65
|
+
* Deep-clone a codec's output into the canonical form, or throw.
|
|
66
|
+
*
|
|
67
|
+
* `seen` accumulates every object the walk has entered, and a second encounter
|
|
68
|
+
* is rejected. That is one rule for two things — a shared reference and a cycle
|
|
69
|
+
* are both "this object again" — and it is what keeps the result a tree.
|
|
70
|
+
*/
|
|
71
|
+
export declare function normalizeParamValue(value: unknown, path?: string): unknown;
|
|
72
|
+
/**
|
|
73
|
+
* Canonical form → wire form. React Flight rejects a null prototype
|
|
74
|
+
* ("Classes or null prototypes are not supported"), so objects cross as plain
|
|
75
|
+
* ones and are restored on arrival.
|
|
76
|
+
*/
|
|
77
|
+
export declare function toPlainRecord<T>(value: T): T;
|
|
78
|
+
/** Wire form → canonical form. The exact inverse of `toPlainRecord`. */
|
|
79
|
+
export declare function toNullProtoRecord<T>(value: T): T;
|
|
80
|
+
//# sourceMappingURL=param-value.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"param-value.d.ts","sourceRoot":"","sources":["../../src/shared/param-value.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AAqBH;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,SAAK,GAAG,OAAO,CAEtE;AAmGD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAE5C;AAED,wEAAwE;AACxE,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAEhD"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The shape of an RSC payload's root row.
|
|
3
|
+
*
|
|
4
|
+
* Every tree the server sends the browser is serialized as
|
|
5
|
+
* `{ tree, params, slotParams }` — the route's element tree, plus the coerced
|
|
6
|
+
* params it rendered with, as *siblings* rather than as a wrapper around the
|
|
7
|
+
* tree. See design/41-global-params.md §"Transport".
|
|
8
|
+
*
|
|
9
|
+
* Two reasons it is a sibling field rather than a provider inside the payload
|
|
10
|
+
* (TIM-1297, which is TIM-1294's mechanism corrected):
|
|
11
|
+
*
|
|
12
|
+
* 1. **A provider inside the payload cannot serve a partial navigation.** The
|
|
13
|
+
* client keeps the previous tree and splices the new payload in at the
|
|
14
|
+
* first updated `SegmentOutlet`, so the payload's own provider lands
|
|
15
|
+
* *below* the retained region — and the retained region's root is the
|
|
16
|
+
* *departing* route's provider, which therefore wins for every reader in a
|
|
17
|
+
* skipped layout. Wrapping something above it does not help: context
|
|
18
|
+
* resolves to the nearest provider, and the departing one is nearer.
|
|
19
|
+
* Params belong to the *navigation*, so the provider has to be owned by the
|
|
20
|
+
* client, above the merge point, and there must be exactly one.
|
|
21
|
+
*
|
|
22
|
+
* 2. **Element props are not readable at the instant the root resolves.**
|
|
23
|
+
* Flight outlines a React element's props and fills the record in after the
|
|
24
|
+
* root row resolves, so a reader that unblocks on the root sees `{}` — and
|
|
25
|
+
* since the object is filled *in place*, its identity never changes and any
|
|
26
|
+
* memo keyed on it caches the empty snapshot permanently. A plain model
|
|
27
|
+
* field has no such window: the root chunk stays blocked until everything
|
|
28
|
+
* it references has resolved.
|
|
29
|
+
*
|
|
30
|
+
* This module is the single declaration of that shape. The server builds roots
|
|
31
|
+
* through `server/publish-params.ts` and the client reads them through the
|
|
32
|
+
* helpers here — producer and consumer do not each describe the payload.
|
|
33
|
+
*/
|
|
34
|
+
import type { SlotParamsRecord } from './slot-params.js';
|
|
35
|
+
/** The params published beside a tree. */
|
|
36
|
+
export interface PublishedParams {
|
|
37
|
+
/** The main route's coerced params. */
|
|
38
|
+
params: Record<string, string | string[]>;
|
|
39
|
+
/** Per-slot params, or null when the route rendered no slots with params. */
|
|
40
|
+
slotParams: SlotParamsRecord | null;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Params ready to publish: settled, or a promise the root provider suspends on.
|
|
44
|
+
*
|
|
45
|
+
* Both forms exist on purpose. The hydration path cannot await — `hydrateRoot`
|
|
46
|
+
* has to be called before the inline Flight stream has necessarily produced
|
|
47
|
+
* the root row — so it hands over the promise and suspends exactly where React
|
|
48
|
+
* was already going to suspend on the tree. Every other path settles it inside
|
|
49
|
+
* the navigation transition first, which is what keeps a decode failure inside
|
|
50
|
+
* the app's own error boundaries instead of above them (TIM-1297).
|
|
51
|
+
*/
|
|
52
|
+
export type ParamsSource = PublishedParams | Promise<PublishedParams>;
|
|
53
|
+
/** The root row of an RSC payload. */
|
|
54
|
+
export interface RscPayloadRoot extends PublishedParams {
|
|
55
|
+
/** The route's element tree. */
|
|
56
|
+
tree: unknown;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* What a reader gets when the value it was handed is not a payload root.
|
|
60
|
+
*
|
|
61
|
+
* In the browser this is unreachable for a real response: all four producers
|
|
62
|
+
* of a route payload go through `withPublishedParams`, and a client talking to
|
|
63
|
+
* a different build is answered with 204 at Stage 1c
|
|
64
|
+
* (`server/pipeline-phases.ts`) before any payload exists. It is reachable in
|
|
65
|
+
* the router's test/fallback path, where `decodeRsc` is absent and the
|
|
66
|
+
* "payload" is the raw response text.
|
|
67
|
+
*/
|
|
68
|
+
export declare const NO_PUBLISHED_PARAMS: PublishedParams;
|
|
69
|
+
/**
|
|
70
|
+
* Read the params published beside a tree.
|
|
71
|
+
*
|
|
72
|
+
* Accepts a payload root *or* a `PublishedParams` already split off one, so
|
|
73
|
+
* the client can pre-resolve on the navigation path and still hand the same
|
|
74
|
+
* value to the same provider. Never throws.
|
|
75
|
+
*/
|
|
76
|
+
export declare function readPublishedParams(source: unknown): PublishedParams;
|
|
77
|
+
/**
|
|
78
|
+
* Read the renderable tree out of a payload root.
|
|
79
|
+
*
|
|
80
|
+
* Returns the value unchanged when it is not a root — the router's fallback
|
|
81
|
+
* path stores raw response text under the same name, and a test asserting on
|
|
82
|
+
* that text should see the text.
|
|
83
|
+
*/
|
|
84
|
+
export declare function readPayloadTree(root: unknown): unknown;
|
|
85
|
+
/** A decoded payload, split into the two things the client does with it. */
|
|
86
|
+
export interface SplitPayload {
|
|
87
|
+
/** The renderable tree — an element, or a thenable React suspends on. */
|
|
88
|
+
tree: unknown;
|
|
89
|
+
/**
|
|
90
|
+
* The params published beside it. Settled when the root already is, so the
|
|
91
|
+
* hydration path can render without an extra await.
|
|
92
|
+
*
|
|
93
|
+
* **Never rejects.** A decode failure has to surface where React renders
|
|
94
|
+
* `tree`, so the error boundary *around the tree* catches it. Rejecting here
|
|
95
|
+
* too would take down the provider above every boundary in the app, turning
|
|
96
|
+
* a contained failure into a blank page (TIM-1297).
|
|
97
|
+
*/
|
|
98
|
+
params: ParamsSource;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Split a decoded payload root into its tree and its params.
|
|
102
|
+
*
|
|
103
|
+
* Accepts a settled root or a thenable of one, and preserves which it was: a
|
|
104
|
+
* settled root splits synchronously, so no code path gains a suspend point it
|
|
105
|
+
* did not already have.
|
|
106
|
+
*/
|
|
107
|
+
export declare function splitPayloadRoot(root: unknown): SplitPayload;
|
|
108
|
+
//# sourceMappingURL=payload-root.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payload-root.d.ts","sourceRoot":"","sources":["../../src/shared/payload-root.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,0CAA0C;AAC1C,MAAM,WAAW,eAAe;IAC9B,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC1C,6EAA6E;IAC7E,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACrC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAEtE,sCAAsC;AACtC,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,gCAAgC;IAChC,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,EAAE,eAAkD,CAAC;AAarF;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,eAAe,CAGpE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAKtD;AAED,4EAA4E;AAC5E,MAAM,WAAW,YAAY;IAC3B,yEAAyE;IACzE,IAAI,EAAE,OAAO,CAAC;IACd;;;;;;;;OAQG;IACH,MAAM,EAAE,YAAY,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,CAgB5D"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Next.js redirect type discriminator.
|
|
3
|
+
*
|
|
4
|
+
* Provided for API compatibility with libraries that import `RedirectType`
|
|
5
|
+
* from `next/navigation`. In timber, `redirect()` always uses `replace`
|
|
6
|
+
* semantics (no history entry for the redirect itself).
|
|
7
|
+
*
|
|
8
|
+
* Lives in shared/ (isomorphic) so both the server primitives and the
|
|
9
|
+
* client-only next/navigation shim export the same definition without the
|
|
10
|
+
* client shim pulling in server code.
|
|
11
|
+
*/
|
|
12
|
+
export declare const RedirectType: {
|
|
13
|
+
readonly push: 'push';
|
|
14
|
+
readonly replace: 'replace';
|
|
15
|
+
};
|
|
16
|
+
export type RedirectTypeValue = (typeof RedirectType)[keyof typeof RedirectType];
|
|
17
|
+
//# sourceMappingURL=redirect-type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redirect-type.d.ts","sourceRoot":"","sources":["../../src/shared/redirect-type.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY;aACvB,IAAI,EAAE,MAAM;aACZ,OAAO,EAAE,SAAS;CACV,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `_rsc` payload cache key — derived identically on both sides.
|
|
3
|
+
*
|
|
4
|
+
* The client puts this in the payload URL so the document and its Flight
|
|
5
|
+
* payload occupy different cache keys (TIM-1268). The server recomputes it
|
|
6
|
+
* from the received headers so a request cannot claim one client's key while
|
|
7
|
+
* sending another client's headers — see `server/rsc-cache-key-guard.ts`.
|
|
8
|
+
* Both sides must agree exactly, which is why the derivation lives here and
|
|
9
|
+
* not in either one.
|
|
10
|
+
*
|
|
11
|
+
* Isomorphic: no server or client imports. The browser bundle audit
|
|
12
|
+
* (`tests/client-bundle-audit.test.ts`) enforces the client half of that.
|
|
13
|
+
*
|
|
14
|
+
* See design/19-client-navigation.md §"The `_rsc` cache key".
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* The request headers that vary an RSC payload response, in canonical
|
|
18
|
+
* casing — this list is also emitted verbatim as the response's `Vary`
|
|
19
|
+
* tokens (`server/pipeline.ts`), since "what varies the response" is one
|
|
20
|
+
* question with one answer, not two lists that happen to agree.
|
|
21
|
+
*
|
|
22
|
+
* This list is the contract, and it is enforced rather than trusted:
|
|
23
|
+
* `tests/rsc-cache-key.test.ts` asserts that the header names
|
|
24
|
+
* `buildRscHeaders()` can emit are exactly this set. A header added to the
|
|
25
|
+
* request without being added here fails that test, because a varying input
|
|
26
|
+
* outside the key is precisely the cache-poisoning hazard the key exists to
|
|
27
|
+
* close.
|
|
28
|
+
*
|
|
29
|
+
* **No credentials, session identifiers, or user-supplied content may be
|
|
30
|
+
* added.** Every value here is hashed into a URL, and URLs are logged by
|
|
31
|
+
* proxies, CDNs, and origin access logs. `fnv1aHash` is a cache-key hash,
|
|
32
|
+
* not a KDF — a low-entropy secret would be recoverable by brute force.
|
|
33
|
+
* Authentication travels on cookies, which never enter the key.
|
|
34
|
+
*/
|
|
35
|
+
export declare const RSC_KEY_HEADERS: readonly ['Accept', 'X-Timber-State-Tree', 'X-Timber-URL', 'X-Timber-Deployment-Id'];
|
|
36
|
+
/**
|
|
37
|
+
* Whether a value could be a key this module produced.
|
|
38
|
+
*
|
|
39
|
+
* `_rsc` is not a reserved parameter name — an application may already use
|
|
40
|
+
* it for its own search state, including for a value that happens to look
|
|
41
|
+
* like a digest. Anything without the `KEY_PREFIX` is therefore application
|
|
42
|
+
* data, not a claim on a payload cache key, and the origin guard leaves it
|
|
43
|
+
* alone rather than penalizing the response.
|
|
44
|
+
*
|
|
45
|
+
* Derived from `KEY_PREFIX` and `KEY_HEX_LENGTH` rather than spelled again,
|
|
46
|
+
* so the shape cannot drift from the digest that has to satisfy it.
|
|
47
|
+
*
|
|
48
|
+
* Ignoring a malformed value costs no protection: clients only ever send
|
|
49
|
+
* well-formed keys, so a URL bearing a malformed one is an address no
|
|
50
|
+
* legitimate request will ever ask for, and nothing can be poisoned at an
|
|
51
|
+
* address nobody reads.
|
|
52
|
+
*/
|
|
53
|
+
export declare function isRscCacheKeyShape(value: string): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* The query parameter carrying the payload cache key.
|
|
56
|
+
*
|
|
57
|
+
* Spelled here rather than at each of the four places that read or write it
|
|
58
|
+
* — the client that appends it, the origin guard that validates it, and the
|
|
59
|
+
* strip below — because it is a wire contract between two independent
|
|
60
|
+
* implementations, exactly like the digest itself.
|
|
61
|
+
*/
|
|
62
|
+
export declare const RSC_KEY_PARAM = "_rsc";
|
|
63
|
+
/**
|
|
64
|
+
* Remove framework-issued `_rsc` values from a raw query string.
|
|
65
|
+
*
|
|
66
|
+
* Only values matching `isRscCacheKeyShape` are removed. `_rsc` is not a
|
|
67
|
+
* reserved name (see that function), so `/search?_rsc=foo` is application
|
|
68
|
+
* state and survives — the same exemption the origin guard applies, derived
|
|
69
|
+
* from the same predicate so the two cannot disagree about what "ours"
|
|
70
|
+
* means.
|
|
71
|
+
*
|
|
72
|
+
* Operates on the raw string rather than round-tripping through
|
|
73
|
+
* `URLSearchParams`, so every surviving pair keeps its original bytes.
|
|
74
|
+
* Re-serializing would rewrite `?b` as `?b=` and `?a=%7E` as `?a=~` on RSC
|
|
75
|
+
* navigations only, which is the same class of inconsistency this function
|
|
76
|
+
* exists to remove.
|
|
77
|
+
*
|
|
78
|
+
* Matching decodes the name, because `?%5Frsc=<key>` is a `_rsc` parameter
|
|
79
|
+
* as far as `URLSearchParams` is concerned — the same reasoning as the
|
|
80
|
+
* guard's fast path.
|
|
81
|
+
*
|
|
82
|
+
* @param search - `url.search`, with or without the leading `?`.
|
|
83
|
+
* @returns The query string including a leading `?`, or `''` if empty.
|
|
84
|
+
*/
|
|
85
|
+
export declare function stripRscCacheKey(search: string): string;
|
|
86
|
+
/** A request's search state as application code should see it. */
|
|
87
|
+
export interface AppVisibleSearch {
|
|
88
|
+
/** Parsed params, with the framework's cache key removed. */
|
|
89
|
+
params: URLSearchParams;
|
|
90
|
+
/** The matching raw query string — `''` or `?…`. */
|
|
91
|
+
search: string;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* The search state application code sees, for any request URL.
|
|
95
|
+
*
|
|
96
|
+
* The `_rsc` key rides on the payload URL of every RSC navigation and on no
|
|
97
|
+
* other request, so reading search params straight off `req.url` makes the
|
|
98
|
+
* same page observe different search state depending on whether it was
|
|
99
|
+
* reached by a full load or a client navigation — and lets the cache key
|
|
100
|
+
* leak into whatever the page builds from it: a canonical URL, a pagination
|
|
101
|
+
* link, an analytics payload (TIM-1272).
|
|
102
|
+
*
|
|
103
|
+
* Every application-facing derivation of search state goes through here.
|
|
104
|
+
* `params` and `search` are returned together, from one strip, because they
|
|
105
|
+
* are two views of one answer and were previously two expressions that had
|
|
106
|
+
* to agree.
|
|
107
|
+
*
|
|
108
|
+
* The raw request URL is deliberately untouched: `server/rsc-cache-key-guard.ts`
|
|
109
|
+
* still reads the parameter from `req.url` to bind the key to the request.
|
|
110
|
+
*/
|
|
111
|
+
export declare function appVisibleSearch(url: URL): AppVisibleSearch;
|
|
112
|
+
/**
|
|
113
|
+
* Reads a header value by name. Must be case-insensitive — `Headers.get()`
|
|
114
|
+
* already is, and `recordLookup` below makes a plain record so.
|
|
115
|
+
*/
|
|
116
|
+
export type HeaderLookup = (name: string) => string | null | undefined;
|
|
117
|
+
/**
|
|
118
|
+
* Compute the `_rsc` cache key for a request.
|
|
119
|
+
*
|
|
120
|
+
* Absent headers are omitted rather than sent as empty, so "header missing"
|
|
121
|
+
* and "header present but empty" produce different keys.
|
|
122
|
+
*
|
|
123
|
+
* Values are length-prefixed rather than delimiter-separated. Any delimiter
|
|
124
|
+
* can be forged by a value that contains it: with a `\0` separator, an
|
|
125
|
+
* `accept` of `a\nx-timber-url\0b` serializes identically to an `accept` of
|
|
126
|
+
* `a` alongside an `x-timber-url` of `b`, which would let one header claim
|
|
127
|
+
* another's key. HTTP forbids control characters in header values and both
|
|
128
|
+
* `fetch()` and the server runtime reject them, so this is defense in depth
|
|
129
|
+
* — but a length prefix is unambiguous for *any* content, which is a
|
|
130
|
+
* property worth having in a function whose whole job is to be agreed on by
|
|
131
|
+
* two independent implementations.
|
|
132
|
+
*
|
|
133
|
+
* SHA-256, truncated to 128 bits. A fast non-cryptographic hash is the
|
|
134
|
+
* obvious choice for a cache key and is the wrong one here: the origin
|
|
135
|
+
* *compares* this value against a recomputed one, which makes it a check.
|
|
136
|
+
* FNV-1a — used for timber's other cache keys — is a multiply-xor over a
|
|
137
|
+
* fixed field, so an attacker controlling a few bytes of any input (their
|
|
138
|
+
* own `X-Timber-URL`, say) can solve for a chosen digest rather than search
|
|
139
|
+
* for one, and forge a key belonging to somebody else.
|
|
140
|
+
*
|
|
141
|
+
* Returns `null` when no digest is available — `crypto.subtle` is absent in
|
|
142
|
+
* non-secure browsing contexts (plain `http://` on a LAN address). Callers
|
|
143
|
+
* must treat that as "no key", never as "key matches": the client omits the
|
|
144
|
+
* parameter and the server refuses to share-cache. That returns those
|
|
145
|
+
* clients to the pre-TIM-1268 posture, where `Vary` alone separates HTML
|
|
146
|
+
* from Flight — acceptable, because a non-secure origin has no shared-CDN
|
|
147
|
+
* caching story to protect in the first place.
|
|
148
|
+
*/
|
|
149
|
+
export declare function rscCacheKey(lookup: HeaderLookup): Promise<string | null>;
|
|
150
|
+
/**
|
|
151
|
+
* An unverifiable stand-in key, for the one case where the digest cannot be
|
|
152
|
+
* computed: `crypto.subtle` is absent in non-secure browsing contexts.
|
|
153
|
+
* `crypto.getRandomValues` is not gated that way, so it is available exactly
|
|
154
|
+
* where the digest is not.
|
|
155
|
+
*
|
|
156
|
+
* Carries `KEY_PREFIX` like any other key, so the origin reads it as a claim
|
|
157
|
+
* it cannot verify — and refuses to share-cache the response — rather than
|
|
158
|
+
* exempting it as application data. Lives here so the prefix has one home.
|
|
159
|
+
*/
|
|
160
|
+
export declare function randomRscCacheKey(): string;
|
|
161
|
+
/** Build a case-insensitive lookup over a plain header record. */
|
|
162
|
+
export declare function recordLookup(headers: Record<string, string>): HeaderLookup;
|
|
163
|
+
//# sourceMappingURL=rsc-cache-key.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rsc-cache-key.d.ts","sourceRoot":"","sources":["../../src/shared/rsc-cache-key.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAgCH;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,eAAe,YAC1B,QAAQ,EACR,qBAAqB,EACrB,cAAc,EACd,wBAAwB,CAChB,CAAC;AAEX;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAIzD;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,SAAS,CAAC;AAoBpC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAUvD;AAED,kEAAkE;AAClE,MAAM,WAAW,gBAAgB;IAC/B,6DAA6D;IAC7D,MAAM,EAAE,eAAe,CAAC;IACxB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,gBAAgB,CAG3D;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAEvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiB9E;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAI1C;AAED,kEAAkE;AAClE,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,YAAY,CAM1E"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The hard-navigate error envelope shared by the server and the client router.
|
|
3
|
+
*
|
|
4
|
+
* A client-navigation (RSC) request cannot carry an error *page* — the response
|
|
5
|
+
* body must be Flight data or the decoder crashes. Instead the server answers
|
|
6
|
+
* with this envelope: an `X-Timber-Error: 1` header and a minimal JSON body.
|
|
7
|
+
* The client treats it as "give up on SPA navigation and hard-navigate", and
|
|
8
|
+
* the resulting document request renders the real error page as HTML.
|
|
9
|
+
*
|
|
10
|
+
* The header name lives here so the four server producers and the single
|
|
11
|
+
* client consumer cannot drift apart. See design/10-error-handling.md
|
|
12
|
+
* §"Error Page Rendering for Client Navigation".
|
|
13
|
+
*/
|
|
14
|
+
/** Header the client checks to decide whether to hard-navigate. */
|
|
15
|
+
export declare const TIMBER_ERROR_HEADER = "X-Timber-Error";
|
|
16
|
+
/**
|
|
17
|
+
* Build the hard-navigate envelope for a status code.
|
|
18
|
+
*
|
|
19
|
+
* `responseHeaders` carries anything middleware already set (cookies, cache
|
|
20
|
+
* directives); the content type and error header are overwritten because the
|
|
21
|
+
* body is always this envelope. The body deliberately carries no message —
|
|
22
|
+
* only the status already on the wire (design/13-security.md principle 4).
|
|
23
|
+
*/
|
|
24
|
+
export declare function rscErrorEnvelope(status: number, responseHeaders?: Headers): Response;
|
|
25
|
+
//# sourceMappingURL=rsc-error-envelope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rsc-error-envelope.d.ts","sourceRoot":"","sources":["../../src/shared/rsc-error-envelope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,mEAAmE;AACnE,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAEpD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,QAAQ,CAKpF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The RSC manifest — the shape the static build writes and the client reads.
|
|
3
|
+
*
|
|
4
|
+
* In `output: 'static'` there is no server at navigation time and a generated
|
|
5
|
+
* `.rsc` file carries no response headers, so anything a navigation would
|
|
6
|
+
* normally learn from headers has to be inlined here at build time.
|
|
7
|
+
*
|
|
8
|
+
* Route params used to be such a thing (TIM-1255, TIM-1285). They are not any
|
|
9
|
+
* more: they ride inside the payload, on its root row, so the
|
|
10
|
+
* `.rsc` file carries them the same way it carries the tree, and the static
|
|
11
|
+
* path stopped needing a special case (TIM-1294). What is left is the content
|
|
12
|
+
* hash, which genuinely cannot live inside the file it names.
|
|
13
|
+
*
|
|
14
|
+
* Declared once rather than in each half. The producer
|
|
15
|
+
* (`plugins/static-build.ts`) and the consumer (`client/rsc-fetch.ts`) each
|
|
16
|
+
* had their own copy, and the copies drifted the moment a field was added to
|
|
17
|
+
* one — a static SPA navigation then committed `null` for the field the
|
|
18
|
+
* producer was faithfully writing.
|
|
19
|
+
*
|
|
20
|
+
* Isomorphic: no server, client, or build-time imports.
|
|
21
|
+
*/
|
|
22
|
+
export interface RscManifestEntry {
|
|
23
|
+
/** The content-hashed URL the payload actually lives at, in route space. */
|
|
24
|
+
url: string;
|
|
25
|
+
}
|
|
26
|
+
/** Keyed by the unhashed `/_rsc/*.rsc` path. */
|
|
27
|
+
export type RscManifest = Record<string, RscManifestEntry>;
|
|
28
|
+
//# sourceMappingURL=rsc-manifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rsc-manifest.d.ts","sourceRoot":"","sources":["../../src/shared/rsc-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,4EAA4E;IAC5E,GAAG,EAAE,MAAM,CAAC;CACb;AAED,gDAAgD;AAChD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC"}
|