@timber-js/app 0.2.0-alpha.16 → 0.2.0-alpha.160
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-C9yAuoX3.js +314 -0
- package/dist/_chunks/actions-C9yAuoX3.js.map +1 -0
- package/dist/_chunks/build-output-helper-DF5uScqS.js +158 -0
- package/dist/_chunks/build-output-helper-DF5uScqS.js.map +1 -0
- package/dist/_chunks/cache-api-swbefQ6F.js +1125 -0
- package/dist/_chunks/cache-api-swbefQ6F.js.map +1 -0
- package/dist/_chunks/{metadata-routes-Cjmvi3rQ.js → canonicalize-P41GR6tY.js} +94 -18
- package/dist/_chunks/canonicalize-P41GR6tY.js.map +1 -0
- package/dist/_chunks/cli-schema-sync-BhYDz_-x.js +638 -0
- package/dist/_chunks/cli-schema-sync-BhYDz_-x.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/define-Bssfp6ot.js +82 -0
- package/dist/_chunks/define-Bssfp6ot.js.map +1 -0
- package/dist/_chunks/define-CFmvb4Bt.js +203 -0
- package/dist/_chunks/define-CFmvb4Bt.js.map +1 -0
- package/dist/_chunks/dist-BA3u1z3W.js +423 -0
- package/dist/_chunks/dist-BA3u1z3W.js.map +1 -0
- package/dist/_chunks/fast-hash-D6hIVt1Y.js +36 -0
- package/dist/_chunks/fast-hash-D6hIVt1Y.js.map +1 -0
- package/dist/_chunks/format-CfwjgPz9.js +14 -0
- package/dist/_chunks/format-CfwjgPz9.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/logger-CPoQkGK6.js +1523 -0
- package/dist/_chunks/logger-CPoQkGK6.js.map +1 -0
- package/dist/_chunks/navigation-root-bUDZLw74.js +124 -0
- package/dist/_chunks/navigation-root-bUDZLw74.js.map +1 -0
- package/dist/_chunks/plugin-context-DeAxFRMq.js +280 -0
- package/dist/_chunks/plugin-context-DeAxFRMq.js.map +1 -0
- package/dist/_chunks/registry-DbJPKoBp.js +20 -0
- package/dist/_chunks/registry-DbJPKoBp.js.map +1 -0
- package/dist/_chunks/resolve-schema-3iUvBV5T.js +50 -0
- package/dist/_chunks/resolve-schema-3iUvBV5T.js.map +1 -0
- package/dist/_chunks/router-ref-CtmF-aPv.js +28 -0
- package/dist/_chunks/router-ref-CtmF-aPv.js.map +1 -0
- package/dist/_chunks/schema-bridge-BY3QLBL7.js +119 -0
- package/dist/_chunks/schema-bridge-BY3QLBL7.js.map +1 -0
- package/dist/_chunks/segment-classify-CDDRVKs7.js +137 -0
- package/dist/_chunks/segment-classify-CDDRVKs7.js.map +1 -0
- package/dist/_chunks/segment-context-ZDnXDkbz.js +34 -0
- package/dist/_chunks/segment-context-ZDnXDkbz.js.map +1 -0
- package/dist/_chunks/sizeof-lXffQ1Vr.js +35 -0
- package/dist/_chunks/sizeof-lXffQ1Vr.js.map +1 -0
- package/dist/_chunks/{ssr-data-MjmprTmO.js → ssr-data-BOWsq18U.js} +1 -1
- package/dist/_chunks/ssr-data-BOWsq18U.js.map +1 -0
- package/dist/_chunks/tree-match-D2l830j2.js +102 -0
- package/dist/_chunks/tree-match-D2l830j2.js.map +1 -0
- package/dist/_chunks/{use-query-states-D5KaffOK.js → use-query-states-CbeQmext.js} +7 -20
- package/dist/_chunks/use-query-states-CbeQmext.js.map +1 -0
- package/dist/_chunks/use-segment-params-D1CzlgBo.js +151 -0
- package/dist/_chunks/use-segment-params-D1CzlgBo.js.map +1 -0
- package/dist/_chunks/walkers-c8aReVgo.js +988 -0
- package/dist/_chunks/walkers-c8aReVgo.js.map +1 -0
- package/dist/adapters/build-output-helper.d.ts +29 -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 +64 -0
- package/dist/adapters/cloudflare-kv-cache.d.ts.map +1 -0
- package/dist/adapters/cloudflare-kv-cache.js +117 -0
- package/dist/adapters/cloudflare-kv-cache.js.map +1 -0
- package/dist/adapters/cloudflare.d.ts +177 -20
- package/dist/adapters/cloudflare.d.ts.map +1 -1
- package/dist/adapters/cloudflare.js +342 -67
- package/dist/adapters/cloudflare.js.map +1 -1
- package/dist/adapters/compress-module.d.ts +5 -4
- package/dist/adapters/compress-module.d.ts.map +1 -1
- package/dist/adapters/nitro.d.ts +1 -3
- package/dist/adapters/nitro.d.ts.map +1 -1
- package/dist/adapters/nitro.js +143 -144
- package/dist/adapters/nitro.js.map +1 -1
- package/dist/adapters/shared.d.ts +6 -0
- package/dist/adapters/shared.d.ts.map +1 -0
- package/dist/cache/cache-api.d.ts +26 -0
- package/dist/cache/cache-api.d.ts.map +1 -0
- 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 +27 -7
- 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/redis-handler.d.ts +97 -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 +51 -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/fastly-purge.d.ts +25 -0
- package/dist/cdn/fastly-purge.d.ts.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/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/cli-schema-sync.d.ts +59 -0
- package/dist/cli-schema-sync.d.ts.map +1 -0
- package/dist/cli.d.ts +34 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +107 -33
- 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 +46 -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 +26 -0
- package/dist/client/browser-entry/post-hydration.d.ts.map +1 -0
- package/dist/client/browser-entry/router-init.d.ts +26 -0
- package/dist/client/browser-entry/router-init.d.ts.map +1 -0
- package/dist/client/browser-entry/rsc-stream.d.ts +24 -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 +12 -5
- package/dist/client/error-boundary.d.ts.map +1 -1
- package/dist/client/error-boundary.js +47 -10
- package/dist/client/error-boundary.js.map +1 -1
- 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 +11 -6
- package/dist/client/history.d.ts.map +1 -1
- package/dist/client/index.d.ts +10 -24
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +182 -1134
- package/dist/client/index.js.map +1 -1
- package/dist/client/internal.d.ts +19 -0
- package/dist/client/internal.d.ts.map +1 -0
- package/dist/client/internal.js +825 -0
- package/dist/client/internal.js.map +1 -0
- package/dist/client/link.d.ts +69 -60
- package/dist/client/link.d.ts.map +1 -1
- package/dist/client/navigation-api.d.ts +120 -0
- package/dist/client/navigation-api.d.ts.map +1 -0
- package/dist/client/navigation-context.d.ts +3 -2
- package/dist/client/navigation-context.d.ts.map +1 -1
- package/dist/client/navigation-root.d.ts +119 -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/router-ref.d.ts +1 -1
- package/dist/client/router.d.ts +87 -14
- package/dist/client/router.d.ts.map +1 -1
- package/dist/client/rsc-fetch.d.ts +47 -14
- package/dist/client/rsc-fetch.d.ts.map +1 -1
- package/dist/client/segment-cache.d.ts +4 -4
- package/dist/client/segment-cache.d.ts.map +1 -1
- package/dist/client/segment-outlet.d.ts +49 -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/ssr-data.d.ts +13 -4
- package/dist/client/ssr-data.d.ts.map +1 -1
- package/dist/client/state.d.ts +1 -1
- package/dist/client/top-loader.d.ts +5 -5
- package/dist/client/top-loader.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 +1 -1
- package/dist/client/use-query-states.d.ts.map +1 -1
- package/dist/client/use-router.d.ts +1 -1
- 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} +8 -6
- 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 +75 -0
- package/dist/codec.js.map +1 -0
- package/dist/config-types.d.ts +304 -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 +253 -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} +2 -2
- 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 +158 -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 +46 -180
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7807 -13691
- 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 +190 -0
- package/dist/plugin-context.d.ts.map +1 -0
- package/dist/plugins/adapter-build.d.ts +20 -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 +43 -7
- 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 +95 -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 +1 -1
- 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.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/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 +5 -26
- package/dist/plugins/static-build.d.ts.map +1 -1
- package/dist/routing/codegen-shared.d.ts +67 -0
- package/dist/routing/codegen-shared.d.ts.map +1 -0
- package/dist/routing/codegen-types.d.ts +64 -0
- package/dist/routing/codegen-types.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/convention-lint.d.ts +41 -0
- package/dist/routing/convention-lint.d.ts.map +1 -0
- package/dist/routing/export-detect.d.ts +56 -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 +4 -2
- package/dist/routing/interception.d.ts +0 -5
- package/dist/routing/interception.d.ts.map +1 -1
- package/dist/routing/link-codegen.d.ts +90 -0
- package/dist/routing/link-codegen.d.ts.map +1 -0
- package/dist/routing/manifest-codegen.d.ts +32 -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 +75 -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/types.d.ts +77 -25
- package/dist/routing/types.d.ts.map +1 -1
- package/dist/routing/walkers.d.ts +51 -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 +91 -0
- package/dist/schema-bridge.d.ts.map +1 -0
- package/dist/search-params/define.d.ts +157 -0
- package/dist/search-params/define.d.ts.map +1 -0
- package/dist/search-params/index.d.ts +4 -7
- package/dist/search-params/index.d.ts.map +1 -1
- package/dist/search-params/index.js +37 -440
- package/dist/search-params/index.js.map +1 -1
- package/dist/search-params/registry.d.ts +2 -2
- package/dist/search-params/registry.d.ts.map +1 -1
- package/dist/search-params/wrappers.d.ts +53 -0
- package/dist/search-params/wrappers.d.ts.map +1 -0
- package/dist/segment-params/define.d.ts +89 -0
- package/dist/segment-params/define.d.ts.map +1 -0
- package/dist/segment-params/index.d.ts +3 -0
- package/dist/segment-params/index.d.ts.map +1 -0
- package/dist/segment-params/index.js +2 -0
- package/dist/server/access-gate.d.ts +8 -3
- package/dist/server/access-gate.d.ts.map +1 -1
- package/dist/server/action-client.d.ts +41 -6
- 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 +6 -30
- package/dist/server/actions.d.ts.map +1 -1
- package/dist/server/als-registry.d.ts +85 -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 +6 -29
- 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/coalesce-tick.d.ts +40 -0
- package/dist/server/coalesce-tick.d.ts.map +1 -0
- 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/deny-boundary.d.ts +115 -0
- package/dist/server/deny-boundary.d.ts.map +1 -0
- package/dist/server/deny-renderer.d.ts +2 -2
- 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 +7 -1
- 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/html-injector-core.d.ts +221 -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 -46
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +170 -2911
- package/dist/server/index.js.map +1 -1
- package/dist/server/internal.d.ts +49 -0
- package/dist/server/internal.d.ts.map +1 -0
- package/dist/server/internal.js +3577 -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-routes.d.ts +23 -7
- package/dist/server/metadata-routes.d.ts.map +1 -1
- package/dist/server/middleware-runner.d.ts +36 -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 +54 -0
- package/dist/server/param-coercion.d.ts.map +1 -0
- package/dist/server/pipeline-helpers.d.ts +95 -0
- package/dist/server/pipeline-helpers.d.ts.map +1 -0
- package/dist/server/pipeline-interception.d.ts +1 -1
- 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 +56 -0
- package/dist/server/pipeline-phases.d.ts.map +1 -0
- package/dist/server/pipeline.d.ts +122 -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 +58 -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/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/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 +101 -0
- package/dist/server/prebuilt-runtime.d.ts.map +1 -0
- package/dist/server/primitives.d.ts +83 -31
- package/dist/server/primitives.d.ts.map +1 -1
- 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 +62 -107
- package/dist/server/request-context.d.ts.map +1 -1
- package/dist/server/route-element-builder.d.ts +39 -25
- 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 +25 -36
- package/dist/server/route-matcher.d.ts.map +1 -1
- 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/error-renderer.d.ts +26 -13
- package/dist/server/rsc-entry/error-renderer.d.ts.map +1 -1
- package/dist/server/rsc-entry/helpers.d.ts +51 -28
- package/dist/server/rsc-entry/helpers.d.ts.map +1 -1
- package/dist/server/rsc-entry/index.d.ts +30 -8
- package/dist/server/rsc-entry/index.d.ts.map +1 -1
- package/dist/server/rsc-entry/render-route.d.ts +50 -0
- package/dist/server/rsc-entry/render-route.d.ts.map +1 -0
- package/dist/server/rsc-entry/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 +17 -1
- 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 +34 -4
- package/dist/server/rsc-entry/ssr-renderer.d.ts.map +1 -1
- package/dist/server/rsc-entry/wrap-action-dispatch.d.ts +119 -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/slot-resolver.d.ts +7 -5
- package/dist/server/slot-resolver.d.ts.map +1 -1
- package/dist/server/ssr-bridge-types.d.ts +121 -0
- package/dist/server/ssr-bridge-types.d.ts.map +1 -0
- package/dist/server/ssr-entry.d.ts +2 -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 +50 -0
- package/dist/server/ssr-wrappers.d.ts.map +1 -0
- package/dist/server/state-tree-diff.d.ts +12 -5
- package/dist/server/state-tree-diff.d.ts.map +1 -1
- package/dist/server/status-code-resolver.d.ts +22 -11
- 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 +62 -30
- 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 +71 -6
- package/dist/server/types.d.ts.map +1 -1
- 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/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/redirect-type.d.ts +17 -0
- package/dist/shared/redirect-type.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 +16 -16
- package/dist/shims/navigation-client.d.ts +35 -11
- package/dist/shims/navigation-client.d.ts.map +1 -1
- package/dist/shims/navigation.d.ts +11 -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 +161 -0
- package/docs/api/32-api-cache.mdx +199 -0
- package/docs/api/33-api-search-params.mdx +141 -0
- package/docs/api/34-api-config.mdx +189 -0
- package/docs/api/35-api-typescript.mdx +170 -0
- package/docs/api/36-cli.mdx +143 -0
- package/docs/learn/00-introduction.mdx +76 -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 +127 -0
- package/docs/learn/08-streaming.mdx +146 -0
- package/docs/learn/09-caching.mdx +136 -0
- package/docs/learn/10-middleware.mdx +157 -0
- package/docs/learn/11-error-handling.mdx +156 -0
- package/docs/learn/12-client-navigation.mdx +168 -0
- package/docs/learn/13-configuration.mdx +145 -0
- package/docs/learn/14-deploying.mdx +264 -0
- package/docs/more/01-advanced-routing.mdx +139 -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 +169 -0
- package/llms.txt +55 -0
- package/package.json +102 -26
- package/src/adapters/build-output-helper.ts +199 -0
- package/src/adapters/cloudflare-dev.ts +177 -0
- package/src/adapters/cloudflare-kv-cache.ts +179 -0
- package/src/adapters/cloudflare.ts +594 -119
- package/src/adapters/compress-module.ts +27 -92
- package/src/adapters/nitro.ts +131 -96
- package/src/adapters/raw-imports.d.ts +5 -0
- package/src/adapters/shared.ts +68 -0
- package/src/adapters/wrangler.d.ts +7 -0
- package/src/cache/cache-api.ts +107 -0
- package/src/cache/handler-store.ts +76 -0
- package/src/cache/index.ts +88 -18
- package/src/cache/invalidation-epoch.ts +93 -0
- package/src/cache/redis-handler.ts +122 -15
- 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 +233 -0
- package/src/cache/timber-cache.ts +142 -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-schema-sync.ts +388 -0
- package/src/cli.ts +157 -34
- package/src/client/browser-dev.ts +156 -1
- package/src/client/browser-entry/action-dispatch.ts +124 -0
- package/src/client/browser-entry/hmr.ts +70 -0
- package/src/client/browser-entry/hydrate.ts +187 -0
- package/src/client/browser-entry/index.ts +111 -0
- package/src/client/browser-entry/post-hydration.ts +103 -0
- package/src/client/browser-entry/router-init.ts +287 -0
- package/src/client/browser-entry/rsc-stream.ts +157 -0
- package/src/client/browser-entry/scroll.ts +50 -0
- package/src/client/error-boundary.tsx +127 -22
- package/src/client/error-reconstituter.tsx +79 -0
- package/src/client/form.tsx +31 -32
- package/src/client/history.ts +11 -7
- package/src/client/index.ts +67 -45
- package/src/client/internal.ts +58 -0
- package/src/client/link.tsx +346 -150
- package/src/client/navigation-api.ts +341 -0
- package/src/client/navigation-context.ts +15 -7
- package/src/client/navigation-root.tsx +355 -0
- package/src/client/nuqs-adapter.tsx +16 -3
- package/src/client/router-ref.ts +1 -1
- package/src/client/router.ts +482 -166
- package/src/client/rsc-fetch.ts +214 -33
- package/src/client/segment-cache.ts +7 -7
- package/src/client/segment-outlet.tsx +77 -0
- package/src/client/segment-update-context.ts +42 -0
- package/src/client/shallow-url.ts +22 -0
- package/src/client/ssr-data.ts +13 -5
- package/src/client/state.ts +2 -2
- package/src/client/top-loader.tsx +11 -9
- package/src/client/use-cookie.ts +49 -14
- 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 +9 -3
- package/src/client/use-router.ts +4 -1
- package/src/client/use-search-params.ts +31 -44
- package/src/client/{use-params.ts → use-segment-params.ts} +9 -6
- package/src/codec.ts +147 -0
- package/src/config-types.ts +302 -0
- package/src/config-validation.ts +328 -0
- package/src/content/index.ts +5 -13
- package/src/cookies/define-cookie.ts +217 -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} +9 -5
- 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 +63 -8
- package/src/fonts/local.ts +9 -8
- package/src/fonts/paths.ts +58 -0
- package/src/fonts/pipeline.ts +316 -0
- package/src/fonts/transform.ts +305 -0
- package/src/fonts/types.ts +52 -1
- package/src/fonts/virtual-modules.ts +179 -0
- package/src/index.ts +431 -352
- 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 +378 -0
- package/src/plugins/adapter-build.ts +98 -4
- package/src/plugins/build-manifest.ts +168 -23
- package/src/plugins/build-report.ts +253 -35
- package/src/plugins/cache.ts +186 -0
- package/src/plugins/callsite-ast.ts +167 -0
- package/src/plugins/callsite-jsx.ts +243 -0
- package/src/plugins/chunks.ts +74 -5
- package/src/plugins/client-chunks.ts +144 -0
- package/src/plugins/cloudflare-wasm.ts +141 -0
- package/src/plugins/content.ts +1 -1
- package/src/plugins/dev-server.ts +293 -46
- package/src/plugins/entries.ts +129 -8
- package/src/plugins/fonts.ts +191 -664
- package/src/plugins/mdx.ts +47 -10
- package/src/plugins/prebuilt-capture.ts +210 -0
- package/src/plugins/prebuilt.ts +700 -0
- package/src/plugins/prerender-sugar.ts +329 -0
- package/src/plugins/routing.ts +237 -241
- package/src/plugins/server-bundle.ts +97 -12
- package/src/plugins/shims.ts +217 -64
- package/src/plugins/static-build.ts +15 -90
- package/src/routing/codegen-shared.ts +115 -0
- package/src/routing/codegen-types.ts +65 -0
- package/src/routing/codegen.ts +360 -178
- package/src/routing/convention-lint.ts +394 -0
- package/src/routing/export-detect.ts +304 -0
- package/src/routing/file-cache.ts +23 -0
- package/src/routing/index.ts +10 -1
- package/src/routing/interception.ts +3 -22
- package/src/routing/link-codegen.ts +310 -0
- package/src/routing/manifest-codegen.ts +281 -0
- package/src/routing/scanner.ts +248 -188
- package/src/routing/schema-validation.ts +149 -0
- package/src/routing/segment-classify.ts +188 -0
- package/src/routing/segment-codegen.ts +98 -0
- package/src/routing/types.ts +78 -25
- package/src/routing/walkers.ts +90 -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 +252 -0
- package/src/search-params/define.ts +570 -0
- package/src/search-params/index.ts +14 -20
- package/src/search-params/registry.ts +2 -2
- package/src/search-params/wrappers.ts +110 -0
- package/src/segment-params/define.ts +249 -0
- package/src/segment-params/index.ts +9 -0
- package/src/server/access-gate.tsx +84 -34
- package/src/server/action-client.ts +119 -28
- package/src/server/action-encryption.ts +144 -0
- package/src/server/action-handler.ts +123 -33
- package/src/server/actions.ts +39 -54
- package/src/server/als-registry.ts +129 -20
- package/src/server/asset-headers.ts +15 -37
- package/src/server/body-limits.ts +10 -2
- package/src/server/build-manifest.ts +13 -56
- package/src/server/canonicalize.ts +6 -3
- package/src/server/coalesce-tick.ts +75 -0
- package/src/server/compress.ts +34 -7
- 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/deny-boundary.ts +311 -0
- package/src/server/deny-renderer.ts +85 -77
- 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 +61 -22
- 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/html-injector-core.ts +437 -0
- package/src/server/html-injectors.ts +267 -254
- package/src/server/index.ts +29 -183
- package/src/server/internal.ts +181 -0
- package/src/server/logger.ts +72 -36
- package/src/server/metadata-routes.ts +44 -19
- package/src/server/middleware-runner.ts +75 -4
- package/src/server/node-stream-transforms.ts +331 -0
- package/src/server/param-coercion.ts +206 -0
- package/src/server/pipeline-helpers.ts +204 -0
- package/src/server/pipeline-interception.ts +32 -18
- package/src/server/pipeline-metadata.ts +14 -0
- package/src/server/pipeline-outcome.ts +197 -0
- package/src/server/pipeline-phases.ts +538 -0
- package/src/server/pipeline.ts +226 -382
- package/src/server/port-resolution.ts +215 -0
- package/src/server/prebuilt/cache-key.ts +224 -0
- package/src/server/prebuilt/capture-state.ts +89 -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/synthetic-store.ts +121 -0
- package/src/server/prebuilt-builder.ts +696 -0
- package/src/server/prebuilt-runtime.ts +708 -0
- package/src/server/primitives.ts +155 -63
- package/src/server/render-timeout.ts +108 -0
- package/src/server/render-utils.ts +31 -0
- package/src/server/request-context.ts +168 -337
- package/src/server/route-element-builder.ts +523 -233
- package/src/server/route-handler.ts +31 -4
- package/src/server/route-matcher.ts +144 -277
- package/src/server/rsc-entry/action-middleware-runner.ts +167 -0
- package/src/server/rsc-entry/api-handler.ts +69 -32
- package/src/server/rsc-entry/error-renderer.ts +306 -89
- package/src/server/rsc-entry/helpers.ts +160 -76
- package/src/server/rsc-entry/index.ts +393 -329
- package/src/server/rsc-entry/render-route.ts +284 -0
- package/src/server/rsc-entry/revalidate-renderer.ts +349 -0
- package/src/server/rsc-entry/rsc-payload.ts +72 -33
- package/src/server/rsc-entry/rsc-stream.ts +85 -13
- package/src/server/rsc-entry/ssr-bridge.ts +18 -5
- package/src/server/rsc-entry/ssr-renderer.ts +273 -43
- package/src/server/rsc-entry/wrap-action-dispatch.ts +449 -0
- package/src/server/safe-load.ts +60 -0
- package/src/server/sensitive-fields.ts +230 -0
- package/src/server/sitemap-generator.ts +344 -0
- package/src/server/sitemap-handler.ts +157 -0
- package/src/server/slot-resolver.ts +258 -257
- package/src/server/ssr-bridge-types.ts +124 -0
- package/src/server/ssr-entry.ts +206 -78
- package/src/server/ssr-render.ts +345 -82
- package/src/server/ssr-wrappers.tsx +141 -0
- package/src/server/state-tree-diff.ts +30 -23
- package/src/server/status-code-resolver.ts +115 -130
- package/src/server/stream-utils.ts +286 -0
- package/src/server/tracing.ts +126 -14
- package/src/server/tree-builder.ts +204 -90
- package/src/server/tree-match.ts +220 -0
- package/src/server/types.ts +78 -9
- 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/href-validation.ts +159 -0
- package/src/shared/merge-search-params.ts +55 -0
- package/src/shared/redirect-type.ts +17 -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 +51 -29
- package/src/shims/navigation.ts +14 -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.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.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/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/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/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
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* createSearchParams — factory for SearchParamsDefinition<T>.
|
|
3
|
-
*
|
|
4
|
-
* Creates a typed, composable definition for a route's search parameters.
|
|
5
|
-
* Supports codec protocol, URL key aliasing, default-omission serialization,
|
|
6
|
-
* and composition via .extend() / .pick().
|
|
7
|
-
*
|
|
8
|
-
* Design doc: design/09-typescript.md §"Typed searchParams — search-params.ts"
|
|
9
|
-
*/
|
|
10
|
-
/**
|
|
11
|
-
* A codec that converts between URL string values and typed values.
|
|
12
|
-
*
|
|
13
|
-
* nuqs parsers (parseAsInteger, parseAsString, etc.) implement this
|
|
14
|
-
* interface natively — no adapter needed.
|
|
15
|
-
*/
|
|
16
|
-
export interface SearchParamCodec<T> {
|
|
17
|
-
/** URL string → typed value. Receives undefined when the param is absent. */
|
|
18
|
-
parse(value: string | string[] | undefined): T;
|
|
19
|
-
/** Typed value → URL string. Return null to omit from URL. */
|
|
20
|
-
serialize(value: T): string | null;
|
|
21
|
-
}
|
|
22
|
-
/** Infer the output type of a codec. */
|
|
23
|
-
export type InferCodec<C> = C extends SearchParamCodec<infer T> ? T : never;
|
|
24
|
-
/** Map of property names to codecs. */
|
|
25
|
-
export type CodecMap<T extends Record<string, unknown>> = {
|
|
26
|
-
[K in keyof T]: SearchParamCodec<T[K]>;
|
|
27
|
-
};
|
|
28
|
-
/** Options for useQueryStates setter. */
|
|
29
|
-
export interface SetParamsOptions {
|
|
30
|
-
/** Update URL without server roundtrip (default: false). */
|
|
31
|
-
shallow?: boolean;
|
|
32
|
-
/** Scroll to top after update (default: true). */
|
|
33
|
-
scroll?: boolean;
|
|
34
|
-
/** 'push' (default) or 'replace' for history state. */
|
|
35
|
-
history?: 'push' | 'replace';
|
|
36
|
-
}
|
|
37
|
-
/** Setter function returned by useQueryStates. */
|
|
38
|
-
export type SetParams<T> = (values: Partial<T>, options?: SetParamsOptions) => void;
|
|
39
|
-
/** Options for useQueryStates hook. */
|
|
40
|
-
export interface QueryStatesOptions {
|
|
41
|
-
/** Update URL without server roundtrip (default: false). */
|
|
42
|
-
shallow?: boolean;
|
|
43
|
-
/** Scroll to top after update (default: true). */
|
|
44
|
-
scroll?: boolean;
|
|
45
|
-
/** 'push' (default) or 'replace' for history state. */
|
|
46
|
-
history?: 'push' | 'replace';
|
|
47
|
-
}
|
|
48
|
-
/** Options for createSearchParams and .extend(). */
|
|
49
|
-
export interface SearchParamsOptions<Keys extends string = string> {
|
|
50
|
-
/** Map property names to different URL query parameter keys. */
|
|
51
|
-
urlKeys?: Partial<Record<Keys, string>>;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* A fully typed, composable search params definition.
|
|
55
|
-
*
|
|
56
|
-
* Returned by createSearchParams(). Carries a phantom _type property
|
|
57
|
-
* for build-time type extraction.
|
|
58
|
-
*/
|
|
59
|
-
export interface SearchParamsDefinition<T extends Record<string, unknown>> {
|
|
60
|
-
/** Parse raw URL search params into typed values. */
|
|
61
|
-
parse(raw: URLSearchParams | Record<string, string | string[] | undefined>): T;
|
|
62
|
-
/** Client hook — reads current URL params and returns typed values + setter. */
|
|
63
|
-
useQueryStates(options?: QueryStatesOptions): [T, SetParams<T>];
|
|
64
|
-
/** Extend with additional codecs. Key collisions are a type error. */
|
|
65
|
-
extend<U extends Record<string, SearchParamCodec<unknown>>>(codecs: U, options?: SearchParamsOptions<string>): SearchParamsDefinition<T & {
|
|
66
|
-
[K in keyof U]: InferCodec<U[K]>;
|
|
67
|
-
}>;
|
|
68
|
-
/** Pick a subset of keys. Preserves codecs and aliases. */
|
|
69
|
-
pick<K extends keyof T & string>(...keys: K[]): SearchParamsDefinition<Pick<T, K>>;
|
|
70
|
-
/** Serialize values to a query string (no leading '?'), omitting defaults. */
|
|
71
|
-
serialize(values: Partial<T>): string;
|
|
72
|
-
/** Build a full path with query string, omitting defaults. */
|
|
73
|
-
href(pathname: string, values: Partial<T>): string;
|
|
74
|
-
/** Build a URLSearchParams instance, omitting defaults. */
|
|
75
|
-
toSearchParams(values: Partial<T>): URLSearchParams;
|
|
76
|
-
/** Read-only codec map for spreading into .extend(). Aliases NOT carried. */
|
|
77
|
-
codecs: {
|
|
78
|
-
[K in keyof T]: SearchParamCodec<T[K]>;
|
|
79
|
-
};
|
|
80
|
-
/** Read-only URL key alias map. Maps property names to URL query parameter keys. */
|
|
81
|
-
readonly urlKeys: Readonly<Record<string, string>>;
|
|
82
|
-
/**
|
|
83
|
-
* Phantom property for build-time type extraction.
|
|
84
|
-
* Never set at runtime — exists only in the type system.
|
|
85
|
-
*/
|
|
86
|
-
readonly _type?: T;
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Create a SearchParamsDefinition from a codec map and optional URL key aliases.
|
|
90
|
-
*
|
|
91
|
-
* ```ts
|
|
92
|
-
* import { createSearchParams, fromSchema } from '@timber-js/app/search-params'
|
|
93
|
-
* import { z } from 'zod/v4'
|
|
94
|
-
*
|
|
95
|
-
* export default createSearchParams({
|
|
96
|
-
* page: fromSchema(z.coerce.number().int().min(1).default(1)),
|
|
97
|
-
* q: { parse: (v) => v ?? null, serialize: (v) => v },
|
|
98
|
-
* }, {
|
|
99
|
-
* urlKeys: { q: 'search' },
|
|
100
|
-
* })
|
|
101
|
-
* ```
|
|
102
|
-
*/
|
|
103
|
-
export declare function createSearchParams<C extends Record<string, SearchParamCodec<unknown>>>(codecs: C, options?: SearchParamsOptions<Extract<keyof C, string>>): SearchParamsDefinition<{
|
|
104
|
-
[K in keyof C]: InferCodec<C[K]>;
|
|
105
|
-
}>;
|
|
106
|
-
//# sourceMappingURL=create.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/search-params/create.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,6EAA6E;IAC7E,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG,CAAC,CAAC;IAC/C,8DAA8D;IAC9D,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,wCAAwC;AACxC,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE5E,uCAAuC;AACvC,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;KACvD,CAAC,IAAI,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACvC,CAAC;AAEF,yCAAyC;AACzC,MAAM,WAAW,gBAAgB;IAC/B,4DAA4D;IAC5D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kDAAkD;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,kDAAkD;AAClD,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAEpF,uCAAuC;AACvC,MAAM,WAAW,kBAAkB;IACjC,4DAA4D;IAC5D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kDAAkD;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,oDAAoD;AACpD,MAAM,WAAW,mBAAmB,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM;IAC/D,gEAAgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;CACzC;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACvE,qDAAqD;IACrD,KAAK,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAE/E,gFAAgF;IAChF,cAAc,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhE,sEAAsE;IACtE,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,EACxD,MAAM,EAAE,CAAC,EACT,OAAO,CAAC,EAAE,mBAAmB,CAAC,MAAM,CAAC,GACpC,sBAAsB,CAAC,CAAC,GAAG;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,CAAC,CAAC;IAEpE,2DAA2D;IAC3D,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEnF,8EAA8E;IAC9E,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;IAEtC,8DAA8D;IAC9D,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;IAEnD,2DAA2D;IAC3D,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;IAEpD,6EAA6E;IAC7E,MAAM,EAAE;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,CAAC;IAEnD,oFAAoF;IACpF,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAEnD;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;CACpB;AAqCD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,EACpF,MAAM,EAAE,CAAC,EACT,OAAO,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GACtD,sBAAsB,CAAC;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,CAU9D"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Client module map — maps client reference IDs to their SSR module loaders.
|
|
3
|
-
*
|
|
4
|
-
* When the RSC stream contains a client component reference (from a
|
|
5
|
-
* "use client" module), the SSR environment needs to resolve it to the
|
|
6
|
-
* actual component module so it can render the component to HTML.
|
|
7
|
-
*
|
|
8
|
-
* The @vitejs/plugin-rsc SSR runtime handles this internally via its
|
|
9
|
-
* setRequireModule hook — it imports client reference modules from the
|
|
10
|
-
* SSR environment's module graph. This module provides the configuration
|
|
11
|
-
* bridge between timber's entry system and the RSC plugin's runtime.
|
|
12
|
-
*
|
|
13
|
-
* Design docs: 18-build-system.md §"Entry Files", 02-rendering-pipeline.md
|
|
14
|
-
*/
|
|
15
|
-
/**
|
|
16
|
-
* Client reference metadata used during SSR to resolve client components.
|
|
17
|
-
*
|
|
18
|
-
* The RSC plugin tracks these internally via `clientReferenceMetaMap`.
|
|
19
|
-
* At SSR time, when `createFromReadableStream` encounters a client
|
|
20
|
-
* reference in the RSC payload, it uses the module map to import the
|
|
21
|
-
* actual component for server-side HTML rendering.
|
|
22
|
-
*/
|
|
23
|
-
export interface ClientModuleEntry {
|
|
24
|
-
/** The module ID (Vite-resolved file path) */
|
|
25
|
-
id: string;
|
|
26
|
-
/** The export name (e.g., 'default', 'Counter') */
|
|
27
|
-
name: string;
|
|
28
|
-
/** Async module loader */
|
|
29
|
-
load: () => Promise<Record<string, unknown>>;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Create a client module map for SSR resolution.
|
|
33
|
-
*
|
|
34
|
-
* In dev mode, the RSC plugin's SSR runtime (`@vitejs/plugin-rsc/ssr`)
|
|
35
|
-
* handles client reference resolution automatically via its initialize()
|
|
36
|
-
* function which sets up `setRequireModule` with dynamic imports through
|
|
37
|
-
* Vite's dev server. No explicit module map is needed.
|
|
38
|
-
*
|
|
39
|
-
* In production builds, the RSC plugin generates a `virtual:vite-rsc/client-references`
|
|
40
|
-
* module that maps client reference IDs to their chunk imports. The SSR
|
|
41
|
-
* runtime reads this at startup.
|
|
42
|
-
*
|
|
43
|
-
* This function returns an empty map as a placeholder — the actual
|
|
44
|
-
* resolution is handled by the RSC plugin's runtime internals.
|
|
45
|
-
*/
|
|
46
|
-
export declare function createClientModuleMap(): Record<string, ClientModuleEntry>;
|
|
47
|
-
//# sourceMappingURL=client-module-map.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client-module-map.d.ts","sourceRoot":"","sources":["../../src/server/client-module-map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,8CAA8C;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,IAAI,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC9C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAUzE"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Dev-mode fetch instrumentation — patches globalThis.fetch to create OTEL
|
|
3
|
-
* spans for every fetch call, giving visibility into async data fetching
|
|
4
|
-
* in the dev request log tree.
|
|
5
|
-
*
|
|
6
|
-
* Only activated in dev mode — zero overhead in production.
|
|
7
|
-
*
|
|
8
|
-
* The spans are automatically children of the active OTEL context (e.g. a
|
|
9
|
-
* timber.page or timber.layout span), so they appear nested under the
|
|
10
|
-
* component that initiated the fetch in the dev log tree.
|
|
11
|
-
*
|
|
12
|
-
* Design ref: 17-logging.md §"Dev Logging", LOCAL-289
|
|
13
|
-
*/
|
|
14
|
-
export type DevFetchCleanup = () => void;
|
|
15
|
-
/**
|
|
16
|
-
* Patch globalThis.fetch to wrap every call in an OTEL span.
|
|
17
|
-
*
|
|
18
|
-
* Returns a cleanup function that restores the original fetch.
|
|
19
|
-
* Only call this in dev mode.
|
|
20
|
-
*/
|
|
21
|
-
export declare function instrumentDevFetch(): DevFetchCleanup;
|
|
22
|
-
//# sourceMappingURL=dev-fetch-instrumentation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dev-fetch-instrumentation.d.ts","sourceRoot":"","sources":["../../src/server/dev-fetch-instrumentation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC;AAEzC;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CA+CpD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dev-logger.d.ts","sourceRoot":"","sources":["../../src/server/dev-logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAIlE,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3E,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAmMD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,UAAU,CAMnE;AAID;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,MAAM,CAgDtF;AAyGD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAc1F;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,CA6BxD"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DevSpanProcessor — Custom OTEL SpanProcessor that drives dev log output.
|
|
3
|
-
*
|
|
4
|
-
* Collects completed spans per-request (correlated by trace ID). When the
|
|
5
|
-
* root span (http.server.request) ends, all child spans are already collected
|
|
6
|
-
* (child spans end before parent in OTEL). The processor formats the span
|
|
7
|
-
* tree and writes it to stderr.
|
|
8
|
-
*
|
|
9
|
-
* This replaces the old DevLogEmitter/DevLogEvents system. OTEL spans are
|
|
10
|
-
* now the single source of truth for dev logging — no more parallel event
|
|
11
|
-
* systems that can drift.
|
|
12
|
-
*
|
|
13
|
-
* Design doc: 17-logging.md §"Dev Logging", 21-dev-server.md §"Dev Logging"
|
|
14
|
-
*/
|
|
15
|
-
import type { SpanProcessor, ReadableSpan } from '@opentelemetry/sdk-trace-base';
|
|
16
|
-
import type { Span, Context } from '@opentelemetry/api';
|
|
17
|
-
import { type DevLoggerConfig } from './dev-logger.js';
|
|
18
|
-
export declare class DevSpanProcessor implements SpanProcessor {
|
|
19
|
-
private spansByTrace;
|
|
20
|
-
private mode;
|
|
21
|
-
private config;
|
|
22
|
-
constructor(config: DevLoggerConfig);
|
|
23
|
-
onStart(_span: Span, _context: Context): void;
|
|
24
|
-
onEnd(span: ReadableSpan): void;
|
|
25
|
-
private format;
|
|
26
|
-
shutdown(): Promise<void>;
|
|
27
|
-
forceFlush(): Promise<void>;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=dev-span-processor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dev-span-processor.d.ts","sourceRoot":"","sources":["../../src/server/dev-span-processor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,iBAAiB,CAAC;AAEzB,qBAAa,gBAAiB,YAAW,aAAa;IACpD,OAAO,CAAC,YAAY,CAAqC;IACzD,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,MAAM,CAAkB;gBAEpB,MAAM,EAAE,eAAe;IAKnC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAI7C,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAqB/B,OAAO,CAAC,MAAM;IAUR,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAGlC"}
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Dev-mode warnings for common timber.js misuse patterns.
|
|
3
|
-
*
|
|
4
|
-
* These fire in development only and are stripped from production builds.
|
|
5
|
-
* Each warning targets a specific misuse identified during design review.
|
|
6
|
-
*
|
|
7
|
-
* Warnings are deduplicated by warningId:filePath:line so the same warning
|
|
8
|
-
* is only emitted once per dev session (per unique source location).
|
|
9
|
-
*
|
|
10
|
-
* Warnings are written to stderr and, when a Vite dev server is available,
|
|
11
|
-
* forwarded to the browser console via Vite's WebSocket.
|
|
12
|
-
*
|
|
13
|
-
* See design/21-dev-server.md §"Dev-Mode Warnings"
|
|
14
|
-
* See design/11-platform.md §"Dev Mode"
|
|
15
|
-
*/
|
|
16
|
-
import type { ViteDevServer } from 'vite';
|
|
17
|
-
export declare const WarningId: {
|
|
18
|
-
readonly SUSPENSE_WRAPS_CHILDREN: "SUSPENSE_WRAPS_CHILDREN";
|
|
19
|
-
readonly DENY_IN_SUSPENSE: "DENY_IN_SUSPENSE";
|
|
20
|
-
readonly REDIRECT_IN_SUSPENSE: "REDIRECT_IN_SUSPENSE";
|
|
21
|
-
readonly REDIRECT_IN_ACCESS: "REDIRECT_IN_ACCESS";
|
|
22
|
-
readonly STATIC_REQUEST_API: "STATIC_REQUEST_API";
|
|
23
|
-
readonly CACHE_REQUEST_PROPS: "CACHE_REQUEST_PROPS";
|
|
24
|
-
readonly SLOW_SLOT_NO_SUSPENSE: "SLOW_SLOT_NO_SUSPENSE";
|
|
25
|
-
};
|
|
26
|
-
export type WarningId = (typeof WarningId)[keyof typeof WarningId];
|
|
27
|
-
/** Configuration for dev warning behavior. */
|
|
28
|
-
export interface DevWarningConfig {
|
|
29
|
-
/** Threshold in ms for "slow slot" warnings. Default: 200. */
|
|
30
|
-
slowSlotThresholdMs?: number;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Register the Vite dev server for browser console forwarding.
|
|
34
|
-
* Called by timber-dev-server during configureServer.
|
|
35
|
-
*/
|
|
36
|
-
export declare function setViteServer(server: ViteDevServer | null): void;
|
|
37
|
-
/**
|
|
38
|
-
* Warn when a layout wraps {children} in <Suspense>.
|
|
39
|
-
*
|
|
40
|
-
* This defers the page content — the primary resource — behind a fallback.
|
|
41
|
-
* The page's data fetches won't affect the HTTP status code because they
|
|
42
|
-
* resolve after onShellReady. If the page calls deny(404), the status code
|
|
43
|
-
* is already committed as 200.
|
|
44
|
-
*
|
|
45
|
-
* @param layoutFile - Relative path to the layout file (e.g., "app/(dashboard)/layout.tsx")
|
|
46
|
-
*/
|
|
47
|
-
export declare function warnSuspenseWrappingChildren(layoutFile: string): void;
|
|
48
|
-
/**
|
|
49
|
-
* Warn when deny() is called inside a Suspense boundary.
|
|
50
|
-
*
|
|
51
|
-
* After the shell has flushed and the status code is committed, deny()
|
|
52
|
-
* cannot change the HTTP response. The signal will be caught by the nearest
|
|
53
|
-
* error boundary instead of producing a correct status code.
|
|
54
|
-
*
|
|
55
|
-
* @param file - Relative path to the file
|
|
56
|
-
* @param line - Line number where deny() was called
|
|
57
|
-
*/
|
|
58
|
-
export declare function warnDenyInSuspense(file: string, line?: number): void;
|
|
59
|
-
/**
|
|
60
|
-
* Warn when redirect() is called inside a Suspense boundary.
|
|
61
|
-
*
|
|
62
|
-
* This will perform a client-side navigation instead of an HTTP redirect.
|
|
63
|
-
*
|
|
64
|
-
* @param file - Relative path to the file
|
|
65
|
-
* @param line - Line number where redirect() was called
|
|
66
|
-
*/
|
|
67
|
-
export declare function warnRedirectInSuspense(file: string, line?: number): void;
|
|
68
|
-
/**
|
|
69
|
-
* Warn when redirect() is called in a slot's access.ts.
|
|
70
|
-
*
|
|
71
|
-
* Slots use deny() for graceful degradation. Redirecting from a slot would
|
|
72
|
-
* redirect the entire page, breaking the contract that slot failure is
|
|
73
|
-
* isolated to the slot.
|
|
74
|
-
*
|
|
75
|
-
* @param accessFile - Relative path to the access.ts file
|
|
76
|
-
* @param line - Line number where redirect() was called
|
|
77
|
-
*/
|
|
78
|
-
export declare function warnRedirectInAccess(accessFile: string, line?: number): void;
|
|
79
|
-
/**
|
|
80
|
-
* Warn when cookies() or headers() is called during a static build.
|
|
81
|
-
*
|
|
82
|
-
* In output: 'static' mode, there is no per-request context — these APIs
|
|
83
|
-
* read build-time values only. This is almost always a mistake.
|
|
84
|
-
*
|
|
85
|
-
* @param api - The dynamic API name ("cookies" or "headers")
|
|
86
|
-
* @param file - Relative path to the file calling the API
|
|
87
|
-
*/
|
|
88
|
-
export declare function warnStaticRequestApi(api: 'cookies' | 'headers', file: string): void;
|
|
89
|
-
/**
|
|
90
|
-
* Warn when a "use cache" component receives request-specific props.
|
|
91
|
-
*
|
|
92
|
-
* Cached components should not depend on per-request data — a userId or
|
|
93
|
-
* sessionId in the props means the cache will either be ineffective
|
|
94
|
-
* (key per user) or dangerous (serve one user's data to another).
|
|
95
|
-
*
|
|
96
|
-
* @param componentName - Name of the cached component
|
|
97
|
-
* @param propName - Name of the suspicious prop
|
|
98
|
-
* @param file - Relative path to the component file
|
|
99
|
-
* @param line - Line number
|
|
100
|
-
*/
|
|
101
|
-
export declare function warnCacheRequestProps(componentName: string, propName: string, file: string, line?: number): void;
|
|
102
|
-
/**
|
|
103
|
-
* Warn when a parallel slot resolves slowly without a <Suspense> wrapper.
|
|
104
|
-
*
|
|
105
|
-
* A slow slot without Suspense blocks onShellReady — and therefore the
|
|
106
|
-
* status code commit — for the entire page. Wrapping it in <Suspense>
|
|
107
|
-
* lets the shell flush without waiting for the slot.
|
|
108
|
-
*
|
|
109
|
-
* @param slotName - The slot name (e.g., "@admin")
|
|
110
|
-
* @param durationMs - How long the slot took to resolve
|
|
111
|
-
*/
|
|
112
|
-
export declare function warnSlowSlotWithoutSuspense(slotName: string, durationMs: number): void;
|
|
113
|
-
/** @deprecated Use warnStaticRequestApi instead */
|
|
114
|
-
export declare const warnDynamicApiInStaticBuild: typeof warnStaticRequestApi;
|
|
115
|
-
/** @deprecated Use warnRedirectInAccess instead */
|
|
116
|
-
export declare function warnRedirectInSlotAccess(slotName: string): void;
|
|
117
|
-
/** @deprecated Use warnDenyInSuspense / warnRedirectInSuspense instead */
|
|
118
|
-
export declare function warnDenyAfterFlush(signal: 'deny' | 'redirect'): void;
|
|
119
|
-
/**
|
|
120
|
-
* Reset emitted warnings. For testing only.
|
|
121
|
-
* @internal
|
|
122
|
-
*/
|
|
123
|
-
export declare function _resetWarnings(): void;
|
|
124
|
-
/**
|
|
125
|
-
* Get the set of emitted dedup keys. For testing only.
|
|
126
|
-
* @internal
|
|
127
|
-
*/
|
|
128
|
-
export declare function _getEmitted(): ReadonlySet<string>;
|
|
129
|
-
//# sourceMappingURL=dev-warnings.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dev-warnings.d.ts","sourceRoot":"","sources":["../../src/server/dev-warnings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAK1C,eAAO,MAAM,SAAS;;;;;;;;CAQZ,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAInE,8CAA8C;AAC9C,MAAM,WAAW,gBAAgB;IAC/B,8DAA8D;IAC9D,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AASD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI,CAEhE;AA0CD;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CASrE;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAUpE;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CASxE;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAU5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAQnF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,GACZ,IAAI,CASN;AAED;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAQtF;AAID,mDAAmD;AACnD,eAAO,MAAM,2BAA2B,6BAAuB,CAAC;AAEhE,mDAAmD;AACnD,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAE/D;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAMpE;AAID;;;GAGG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC,CAEjD"}
|
package/dist/server/flush.d.ts
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Flush controller for timber.js rendering.
|
|
3
|
-
*
|
|
4
|
-
* Holds the response until `onShellReady` fires, then commits the HTTP status
|
|
5
|
-
* code and flushes the shell. Render-phase signals (deny, redirect, unhandled
|
|
6
|
-
* throws) caught before flush produce correct HTTP status codes.
|
|
7
|
-
*
|
|
8
|
-
* See design/02-rendering-pipeline.md §"The Flush Point" and §"The Hold Window"
|
|
9
|
-
*/
|
|
10
|
-
/** The readable stream from React's renderToReadableStream. */
|
|
11
|
-
export interface ReactRenderStream {
|
|
12
|
-
/** The underlying ReadableStream of HTML bytes. */
|
|
13
|
-
readable: ReadableStream<Uint8Array>;
|
|
14
|
-
/** Resolves when the shell has finished rendering (all non-Suspense content). */
|
|
15
|
-
allReady?: Promise<void>;
|
|
16
|
-
}
|
|
17
|
-
/** Options for the flush controller. */
|
|
18
|
-
export interface FlushOptions {
|
|
19
|
-
/** Response headers to include (from middleware.ts, proxy.ts, etc.). */
|
|
20
|
-
responseHeaders?: Headers;
|
|
21
|
-
/** Default status code when rendering succeeds. Default: 200. */
|
|
22
|
-
defaultStatus?: number;
|
|
23
|
-
}
|
|
24
|
-
/** Result of the flush process. */
|
|
25
|
-
export interface FlushResult {
|
|
26
|
-
/** The final HTTP Response. */
|
|
27
|
-
response: Response;
|
|
28
|
-
/** The status code committed. */
|
|
29
|
-
status: number;
|
|
30
|
-
/** Whether the response was a redirect. */
|
|
31
|
-
isRedirect: boolean;
|
|
32
|
-
/** Whether the response was a denial. */
|
|
33
|
-
isDenial: boolean;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* A function that performs the React render.
|
|
37
|
-
*
|
|
38
|
-
* The flush controller calls this, catches any signals thrown during the
|
|
39
|
-
* synchronous shell render (before onShellReady), and produces the
|
|
40
|
-
* correct HTTP response.
|
|
41
|
-
*
|
|
42
|
-
* Must return an object with:
|
|
43
|
-
* - `stream`: The ReadableStream from renderToReadableStream
|
|
44
|
-
* - `shellReady`: A Promise that resolves when onShellReady fires
|
|
45
|
-
*/
|
|
46
|
-
export interface RenderResult {
|
|
47
|
-
/** The HTML byte stream. */
|
|
48
|
-
stream: ReadableStream<Uint8Array>;
|
|
49
|
-
/** Resolves when the shell is ready (all non-Suspense content rendered). */
|
|
50
|
-
shellReady: Promise<void>;
|
|
51
|
-
}
|
|
52
|
-
export type RenderFn = () => RenderResult | Promise<RenderResult>;
|
|
53
|
-
/**
|
|
54
|
-
* Execute a render and hold the response until the shell is ready.
|
|
55
|
-
*
|
|
56
|
-
* The flush controller:
|
|
57
|
-
* 1. Calls the render function to start renderToReadableStream
|
|
58
|
-
* 2. Waits for shellReady (onShellReady)
|
|
59
|
-
* 3. If a render-phase signal was thrown (deny, redirect, error), produces
|
|
60
|
-
* the correct HTTP status code
|
|
61
|
-
* 4. If the shell rendered successfully, commits the status and streams
|
|
62
|
-
*
|
|
63
|
-
* Render-phase signals caught before flush:
|
|
64
|
-
* - `DenySignal` → HTTP 4xx with appropriate status code
|
|
65
|
-
* - `RedirectSignal` → HTTP 3xx with Location header
|
|
66
|
-
* - `RenderError` → HTTP status from error (default 500)
|
|
67
|
-
* - Unhandled error → HTTP 500
|
|
68
|
-
*
|
|
69
|
-
* @param renderFn - Function that starts the React render.
|
|
70
|
-
* @param options - Flush configuration.
|
|
71
|
-
* @returns The committed HTTP Response.
|
|
72
|
-
*/
|
|
73
|
-
export declare function flushResponse(renderFn: RenderFn, options?: FlushOptions): Promise<FlushResult>;
|
|
74
|
-
//# sourceMappingURL=flush.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flush.d.ts","sourceRoot":"","sources":["../../src/server/flush.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,+DAA+D;AAC/D,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACrC,iFAAiF;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,wCAAwC;AACxC,MAAM,WAAW,YAAY;IAC3B,wEAAwE;IACxE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iEAAiE;IACjE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,mCAAmC;AACnC,MAAM,WAAW,WAAW;IAC1B,+BAA+B;IAC/B,QAAQ,EAAE,QAAQ,CAAC;IACnB,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,UAAU,EAAE,OAAO,CAAC;IACpB,yCAAyC;IACzC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAID;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAY;IAC3B,4BAA4B;IAC5B,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACnC,4EAA4E;IAC5E,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAIlE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,CAiCtB"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Manifest-compatible status-code file resolver.
|
|
3
|
-
*
|
|
4
|
-
* The existing status-code-resolver.ts works with SegmentNode (Map-based).
|
|
5
|
-
* This module works with ManifestSegmentNode (object-based) for use at
|
|
6
|
-
* runtime in the RSC/SSR entries, where the route manifest provides
|
|
7
|
-
* plain objects instead of Maps.
|
|
8
|
-
*
|
|
9
|
-
* Supports two format families:
|
|
10
|
-
* - 'component' (default): .tsx/.jsx/.mdx status files → React rendering pipeline
|
|
11
|
-
* - 'json': .json status files → raw JSON response, no React
|
|
12
|
-
*
|
|
13
|
-
* Follows the same fallback chains as status-code-resolver.ts:
|
|
14
|
-
*
|
|
15
|
-
* **Component chain (4xx):**
|
|
16
|
-
* Pass 1 — status files (leaf → root): {status}.tsx → 4xx.tsx
|
|
17
|
-
* Pass 2 — legacy compat (leaf → root): not-found.tsx / forbidden.tsx / unauthorized.tsx
|
|
18
|
-
* Pass 3 — error.tsx (leaf → root)
|
|
19
|
-
* Pass 4 — framework default (returns null)
|
|
20
|
-
*
|
|
21
|
-
* **JSON chain (4xx):**
|
|
22
|
-
* Pass 1 — json status files (leaf → root): {status}.json → 4xx.json
|
|
23
|
-
* Pass 2 — framework default JSON (returns null, caller provides bare JSON)
|
|
24
|
-
*
|
|
25
|
-
* See design/10-error-handling.md §"Status-Code Files"
|
|
26
|
-
*/
|
|
27
|
-
import type { ManifestSegmentNode } from './route-matcher.js';
|
|
28
|
-
/** A file reference in the manifest (lazy import + path). */
|
|
29
|
-
interface ManifestFile {
|
|
30
|
-
load: () => Promise<unknown>;
|
|
31
|
-
filePath: string;
|
|
32
|
-
}
|
|
33
|
-
/** How the status-code file was matched. */
|
|
34
|
-
export type ManifestStatusFileKind = 'exact' | 'category' | 'legacy' | 'error';
|
|
35
|
-
/** Response format family for status-code resolution. */
|
|
36
|
-
export type ManifestStatusFileFormat = 'component' | 'json';
|
|
37
|
-
/** Result of resolving a status-code file from manifest segments. */
|
|
38
|
-
export interface ManifestStatusFileResolution {
|
|
39
|
-
/** The matched manifest file (has load() and filePath). */
|
|
40
|
-
file: ManifestFile;
|
|
41
|
-
/** The HTTP status code (always the original status, not the file's code). */
|
|
42
|
-
status: number;
|
|
43
|
-
/** How the file was matched. */
|
|
44
|
-
kind: ManifestStatusFileKind;
|
|
45
|
-
/** Index into the segments array where the file was found. */
|
|
46
|
-
segmentIndex: number;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Resolve the status-code file to render for a given HTTP status code,
|
|
50
|
-
* using manifest segment nodes (plain objects, not Maps).
|
|
51
|
-
*
|
|
52
|
-
* @param status - The HTTP status code (4xx or 5xx).
|
|
53
|
-
* @param segments - The matched segment chain from root (index 0) to leaf (last).
|
|
54
|
-
* @param format - The response format family ('component' or 'json'). Defaults to 'component'.
|
|
55
|
-
*/
|
|
56
|
-
export declare function resolveManifestStatusFile(status: number, segments: ReadonlyArray<ManifestSegmentNode>, format?: ManifestStatusFileFormat): ManifestStatusFileResolution | null;
|
|
57
|
-
export {};
|
|
58
|
-
//# sourceMappingURL=manifest-status-resolver.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"manifest-status-resolver.d.ts","sourceRoot":"","sources":["../../src/server/manifest-status-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAI9D,6DAA6D;AAC7D,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,4CAA4C;AAC5C,MAAM,MAAM,sBAAsB,GAC9B,OAAO,GACP,UAAU,GACV,QAAQ,GACR,OAAO,CAAC;AAEZ,yDAAyD;AACzD,MAAM,MAAM,wBAAwB,GAAG,WAAW,GAAG,MAAM,CAAC;AAE5D,qEAAqE;AACrE,MAAM,WAAW,4BAA4B;IAC3C,2DAA2D;IAC3D,IAAI,EAAE,YAAY,CAAC;IACnB,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,8DAA8D;IAC9D,YAAY,EAAE,MAAM,CAAC;CACtB;AAYD;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAC5C,MAAM,GAAE,wBAAsC,GAC7C,4BAA4B,GAAG,IAAI,CAcrC"}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pre-rendering types and utilities.
|
|
3
|
-
*
|
|
4
|
-
* A `prerender.ts` file in a route segment signals the framework to
|
|
5
|
-
* pre-render the route's shell at build time. This module defines the
|
|
6
|
-
* types that a user exports from `prerender.ts` and utilities for
|
|
7
|
-
* loading and validating those exports.
|
|
8
|
-
*
|
|
9
|
-
* Design doc: design/15-future-prerendering.md
|
|
10
|
-
*/
|
|
11
|
-
/**
|
|
12
|
-
* The shape of a prerender.ts module's exports.
|
|
13
|
-
*
|
|
14
|
-
* ```ts
|
|
15
|
-
* // app/docs/[slug]/prerender.ts
|
|
16
|
-
* export async function generateParams() {
|
|
17
|
-
* return docs.map(d => ({ slug: d.slug }))
|
|
18
|
-
* }
|
|
19
|
-
* export const ttl = '1h'
|
|
20
|
-
* export const tags = ['docs']
|
|
21
|
-
* ```
|
|
22
|
-
*/
|
|
23
|
-
export interface PrerenderConfig {
|
|
24
|
-
/**
|
|
25
|
-
* Generate the set of params to pre-render at build time.
|
|
26
|
-
* Required for dynamic segments (`[param]`).
|
|
27
|
-
* Optional for static segments (the single URL is pre-rendered automatically).
|
|
28
|
-
*/
|
|
29
|
-
generateParams?: () => Promise<Record<string, string>[]> | Record<string, string>[];
|
|
30
|
-
/**
|
|
31
|
-
* How long the pre-rendered shell is considered fresh.
|
|
32
|
-
* Accepts duration strings ('30s', '5m', '1h', '2d', '1w') or seconds as a number.
|
|
33
|
-
* Default: Infinity (cache until explicit invalidation).
|
|
34
|
-
*/
|
|
35
|
-
ttl?: string | number;
|
|
36
|
-
/**
|
|
37
|
-
* Invalidation tags. Calling `revalidateTag('docs')` purges all
|
|
38
|
-
* pre-rendered shells with that tag.
|
|
39
|
-
*/
|
|
40
|
-
tags?: string[];
|
|
41
|
-
/**
|
|
42
|
-
* Fallback strategy for dynamic routes without `generateParams`.
|
|
43
|
-
* Only valid in `output: 'static'` mode.
|
|
44
|
-
* - `'shell'`: emit a single pre-rendered shell that serves as client-side fallback
|
|
45
|
-
*/
|
|
46
|
-
fallback?: 'shell';
|
|
47
|
-
}
|
|
48
|
-
export interface ResolvedPrerenderConfig {
|
|
49
|
-
/** TTL in seconds. Infinity if not set. */
|
|
50
|
-
ttlSeconds: number;
|
|
51
|
-
/** Invalidation tags */
|
|
52
|
-
tags: string[];
|
|
53
|
-
/** The generateParams function, if provided */
|
|
54
|
-
generateParams?: () => Promise<Record<string, string>[]> | Record<string, string>[];
|
|
55
|
-
/** Fallback strategy */
|
|
56
|
-
fallback?: 'shell';
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Resolve raw prerender.ts exports into a normalized config.
|
|
60
|
-
*
|
|
61
|
-
* Validates:
|
|
62
|
-
* - `ttl` is a valid duration string or number
|
|
63
|
-
* - `tags` is an array of strings
|
|
64
|
-
* - `fallback` is 'shell' or undefined
|
|
65
|
-
*/
|
|
66
|
-
export declare function resolvePrerenderConfig(raw: PrerenderConfig): ResolvedPrerenderConfig;
|
|
67
|
-
export interface PrerenderDiagnostic {
|
|
68
|
-
type: 'DYNAMIC_SEGMENT_NO_PARAMS';
|
|
69
|
-
segmentPath: string;
|
|
70
|
-
message: string;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Check if a dynamic segment has `generateParams` when prerender.ts is present.
|
|
74
|
-
* If not, emit a diagnostic — the route falls back to SSR.
|
|
75
|
-
*/
|
|
76
|
-
export declare function checkDynamicSegmentParams(segmentPath: string, isDynamic: boolean, hasGenerateParams: boolean, fallback?: 'shell'): PrerenderDiagnostic | null;
|
|
77
|
-
//# sourceMappingURL=prerender.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prerender.d.ts","sourceRoot":"","sources":["../../src/server/prerender.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAEpF;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEtB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAMD,MAAM,WAAW,uBAAuB;IACtC,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IACpF,wBAAwB;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,eAAe,GAAG,uBAAuB,CAsBpF;AAMD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,2BAA2B,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,OAAO,EAClB,iBAAiB,EAAE,OAAO,EAC1B,QAAQ,CAAC,EAAE,OAAO,GACjB,mBAAmB,GAAG,IAAI,CAc5B"}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AST-based directive detection for 'use cache', 'use dynamic',
|
|
3
|
-
* 'use client', and 'use server'.
|
|
4
|
-
*
|
|
5
|
-
* Uses acorn to parse source code and detect directives properly,
|
|
6
|
-
* avoiding false positives from regex matching inside string literals,
|
|
7
|
-
* comments, or template expressions.
|
|
8
|
-
*
|
|
9
|
-
* @module
|
|
10
|
-
*/
|
|
11
|
-
export interface FileDirective {
|
|
12
|
-
/** The directive value, e.g. 'use client', 'use server' */
|
|
13
|
-
directive: string;
|
|
14
|
-
/** 1-based line number where the directive appears */
|
|
15
|
-
line: number;
|
|
16
|
-
}
|
|
17
|
-
export interface FunctionWithDirective {
|
|
18
|
-
/** Function name (or 'default' for anonymous default exports) */
|
|
19
|
-
name: string;
|
|
20
|
-
/** The directive found in the function body */
|
|
21
|
-
directive: string;
|
|
22
|
-
/** 1-based line number of the directive */
|
|
23
|
-
directiveLine: number;
|
|
24
|
-
/** Start offset of the function in the source */
|
|
25
|
-
start: number;
|
|
26
|
-
/** End offset of the function in the source */
|
|
27
|
-
end: number;
|
|
28
|
-
/** Start offset of the function body block (after the '{') */
|
|
29
|
-
bodyStart: number;
|
|
30
|
-
/** End offset of the function body block (the '}') */
|
|
31
|
-
bodyEnd: number;
|
|
32
|
-
/** Content between { and } of the function body */
|
|
33
|
-
bodyContent: string;
|
|
34
|
-
/** 'export ', 'export default ', or '' */
|
|
35
|
-
prefix: string;
|
|
36
|
-
/** Whether this is an arrow function */
|
|
37
|
-
isArrow: boolean;
|
|
38
|
-
/** The function signature (everything before the body '{') */
|
|
39
|
-
declaration: string;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Detect a file-level directive ('use client', 'use server', etc.).
|
|
43
|
-
*
|
|
44
|
-
* Per the ECMAScript spec, directives are string literal expression
|
|
45
|
-
* statements at the start of a program body (before any non-directive
|
|
46
|
-
* statements). This function checks the AST `Program.body` for
|
|
47
|
-
* `ExpressionStatement` nodes whose expression is a `Literal` string
|
|
48
|
-
* matching a known directive.
|
|
49
|
-
*
|
|
50
|
-
* Returns the first matching directive, or null if none found.
|
|
51
|
-
*/
|
|
52
|
-
export declare function detectFileDirective(code: string, directives?: string[]): FileDirective | null;
|
|
53
|
-
/**
|
|
54
|
-
* Find all functions in the source code that contain a directive
|
|
55
|
-
* (e.g. 'use cache', 'use dynamic') as their first body statement.
|
|
56
|
-
*
|
|
57
|
-
* Parses the source with acorn and walks the AST looking for function
|
|
58
|
-
* declarations and arrow function expressions whose body is a
|
|
59
|
-
* BlockStatement with a directive prologue.
|
|
60
|
-
*
|
|
61
|
-
* Returns an array of function info objects, sorted by position
|
|
62
|
-
* (descending) for safe end-to-start replacement.
|
|
63
|
-
*/
|
|
64
|
-
export declare function findFunctionsWithDirective(code: string, directive: string): FunctionWithDirective[];
|
|
65
|
-
/**
|
|
66
|
-
* Quick regex check for whether code contains a directive string.
|
|
67
|
-
* Use as a fast bail-out before calling the AST-based functions.
|
|
68
|
-
*/
|
|
69
|
-
export declare function containsDirective(code: string, directive: string): boolean;
|
|
70
|
-
//# sourceMappingURL=directive-parser.d.ts.map
|