@timber-js/app 0.2.0-alpha.191 → 0.2.0-alpha.194
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agent-skill.md +2 -0
- package/dist/_chunks/{actions-BjbbNRFN.js → actions-CWYtq6ii.js} +3 -3
- package/dist/_chunks/actions-CWYtq6ii.js.map +1 -0
- package/dist/_chunks/als-registry-C6kcfprT.js.map +1 -1
- package/dist/_chunks/als-slots-BEEIPKYm.js.map +1 -1
- package/dist/_chunks/{build-output-helper-C3DrfzZR.js → build-output-helper-9dqCv1pZ.js} +3 -2
- package/dist/_chunks/build-output-helper-9dqCv1pZ.js.map +1 -0
- package/dist/_chunks/{cache-api-DllJ-Lyw.js → cache-api-CQeYzA5g.js} +6 -8
- package/dist/_chunks/cache-api-CQeYzA5g.js.map +1 -0
- package/dist/_chunks/chains-h7EO-u3n.js +412 -0
- package/dist/_chunks/chains-h7EO-u3n.js.map +1 -0
- package/dist/_chunks/{cli-check-DJZDc22E.js → cli-check-BVthpfLS.js} +43 -6
- package/dist/_chunks/cli-check-BVthpfLS.js.map +1 -0
- package/dist/_chunks/{cli-schema-sync-D4_AZVUb.js → cli-schema-sync-ZwM9u_ob.js} +6 -5
- package/dist/_chunks/{cli-schema-sync-D4_AZVUb.js.map → cli-schema-sync-ZwM9u_ob.js.map} +1 -1
- package/dist/_chunks/{cloudflare-CGP6BZKO.js → cloudflare-BKJC3SC_.js} +28 -22
- package/dist/_chunks/{cloudflare-CGP6BZKO.js.map → cloudflare-BKJC3SC_.js.map} +1 -1
- package/dist/_chunks/codec-registry-oOUxugz3.js.map +1 -1
- package/dist/_chunks/{convention-lint-CpteIpTm.js → convention-lint-DO10_pVl.js} +93 -7
- package/dist/_chunks/convention-lint-DO10_pVl.js.map +1 -0
- package/dist/_chunks/dist-DtrJyBbw.js +386 -0
- package/dist/_chunks/dist-DtrJyBbw.js.map +1 -0
- package/dist/_chunks/error-boundary-D-ODYX41.js.map +1 -1
- package/dist/_chunks/{file-cache-DmX7OqZP.js → file-cache-Dw6BJPG7.js} +5 -1
- package/dist/_chunks/{file-cache-DmX7OqZP.js.map → file-cache-Dw6BJPG7.js.map} +1 -1
- package/dist/_chunks/{format-CfwjgPz9.js → format-BKclgVbk.js} +3 -3
- package/dist/_chunks/{format-CfwjgPz9.js.map → format-BKclgVbk.js.map} +1 -1
- package/dist/_chunks/graph-cache-CP4GEmf9.js +304 -0
- package/dist/_chunks/graph-cache-CP4GEmf9.js.map +1 -0
- package/dist/_chunks/href-validation-CMc5JRls.js.map +1 -1
- package/dist/_chunks/live-graph-Bx4HodF1.js +150 -0
- package/dist/_chunks/live-graph-Bx4HodF1.js.map +1 -0
- package/dist/_chunks/{logger-CH7IcMmg.js → logger-pumCm3Il.js} +25 -7
- package/dist/_chunks/{logger-CH7IcMmg.js.map → logger-pumCm3Il.js.map} +1 -1
- package/dist/_chunks/{mdx-file-C005ay-P.js → mdx-file-CXyHGUpS.js} +3 -3
- package/dist/_chunks/mdx-file-CXyHGUpS.js.map +1 -0
- package/dist/_chunks/{plugin-context-rCinWLiE.js → plugin-context-8idfR3UZ.js} +2 -2
- package/dist/_chunks/plugin-context-8idfR3UZ.js.map +1 -0
- package/dist/_chunks/poison-rules-DoEhbqaY.js +110 -0
- package/dist/_chunks/poison-rules-DoEhbqaY.js.map +1 -0
- package/dist/_chunks/poison-scan-BAxfTT5L.js +101 -0
- package/dist/_chunks/poison-scan-BAxfTT5L.js.map +1 -0
- package/dist/_chunks/resolve-schema-CBR6Lm4i.js.map +1 -1
- package/dist/_chunks/rolldown-runtime-D7D4PA-g.js +13 -0
- package/dist/_chunks/router-ref-DuYuV_0Q.js.map +1 -1
- package/dist/_chunks/{rsc-media-type-DRqE_lD_.js → rsc-media-type-DDc7duTD.js} +17 -2
- package/dist/_chunks/{rsc-media-type-DRqE_lD_.js.map → rsc-media-type-DDc7duTD.js.map} +1 -1
- package/dist/_chunks/scan-BoP17W3w.js +140 -0
- package/dist/_chunks/scan-BoP17W3w.js.map +1 -0
- package/dist/_chunks/{scanner-CAietmj4.js → scanner-BRIOmHE2.js} +43 -4
- package/dist/_chunks/scanner-BRIOmHE2.js.map +1 -0
- package/dist/_chunks/schema-bridge-C83xa9lT.js.map +1 -1
- package/dist/_chunks/segment-classify-C539Pa2O.js.map +1 -1
- package/dist/_chunks/{segment-keys-BawYuNFO.js → segment-keys-BhqoHiLc.js} +14 -2
- package/dist/_chunks/{segment-keys-BawYuNFO.js.map → segment-keys-BhqoHiLc.js.map} +1 -1
- package/dist/_chunks/slot-params-BCTmZkQB.js.map +1 -1
- package/dist/_chunks/ssr-data-14MXm7Pj.js.map +1 -1
- package/dist/_chunks/use-query-states-I3JMng6J.js.map +1 -1
- package/dist/_chunks/use-segment-params-C4r4BD9T.js.map +1 -1
- package/dist/_chunks/{walkers-BsVLmD1S.js → walkers-uCu3WW6_.js} +9 -6
- package/dist/_chunks/{walkers-BsVLmD1S.js.map → walkers-uCu3WW6_.js.map} +1 -1
- package/dist/adapters/build-output-helper.d.ts +1 -1
- package/dist/adapters/build-output-helper.d.ts.map +1 -1
- package/dist/adapters/cloudflare-dev.d.ts.map +1 -1
- package/dist/adapters/cloudflare-dev.js +2 -1
- package/dist/adapters/cloudflare-dev.js.map +1 -1
- package/dist/adapters/cloudflare-kv-cache.d.ts +1 -1
- package/dist/adapters/cloudflare-kv-cache.d.ts.map +1 -1
- package/dist/adapters/cloudflare-kv-cache.js +7 -8
- package/dist/adapters/cloudflare-kv-cache.js.map +1 -1
- package/dist/adapters/cloudflare.d.ts +1 -1
- package/dist/adapters/cloudflare.d.ts.map +1 -1
- package/dist/adapters/cloudflare.js +1 -1
- package/dist/adapters/nitro-presets.d.ts +37 -0
- package/dist/adapters/nitro-presets.d.ts.map +1 -0
- package/dist/adapters/nitro-preview.d.ts +32 -0
- package/dist/adapters/nitro-preview.d.ts.map +1 -0
- package/dist/adapters/nitro.d.ts +28 -51
- package/dist/adapters/nitro.d.ts.map +1 -1
- package/dist/adapters/nitro.js +224 -171
- package/dist/adapters/nitro.js.map +1 -1
- package/dist/analyze/chains.d.ts +124 -0
- package/dist/analyze/chains.d.ts.map +1 -0
- package/dist/analyze/classify.d.ts +150 -0
- package/dist/analyze/classify.d.ts.map +1 -0
- package/dist/analyze/crawl-entry.d.ts +17 -0
- package/dist/analyze/crawl-entry.d.ts.map +1 -0
- package/dist/analyze/crawl-entry.js +313 -0
- package/dist/analyze/crawl-entry.js.map +1 -0
- package/dist/analyze/crawl.d.ts +134 -0
- package/dist/analyze/crawl.d.ts.map +1 -0
- package/dist/analyze/graph-cache.d.ts +104 -0
- package/dist/analyze/graph-cache.d.ts.map +1 -0
- package/dist/analyze/graph-command.d.ts +43 -0
- package/dist/analyze/graph-command.d.ts.map +1 -0
- package/dist/analyze/graph-command.js +472 -0
- package/dist/analyze/graph-command.js.map +1 -0
- package/dist/analyze/live-graph.d.ts +81 -0
- package/dist/analyze/live-graph.d.ts.map +1 -0
- package/dist/analyze/poison-rules.d.ts +72 -0
- package/dist/analyze/poison-rules.d.ts.map +1 -0
- package/dist/analyze/poison-scan.d.ts +48 -0
- package/dist/analyze/poison-scan.d.ts.map +1 -0
- package/dist/analyze/scan.d.ts +73 -0
- package/dist/analyze/scan.d.ts.map +1 -0
- package/dist/cache/cache-api.d.ts +2 -2
- package/dist/cache/cache-api.d.ts.map +1 -1
- package/dist/cache/index.d.ts +8 -8
- package/dist/cache/index.d.ts.map +1 -1
- package/dist/cache/index.js +1 -1
- package/dist/cache/redis-handler.d.ts +1 -1
- package/dist/cache/redis-handler.d.ts.map +1 -1
- package/dist/cache/stores/cloudflare-kv.d.ts +1 -1
- package/dist/cache/stores/cloudflare-kv.d.ts.map +1 -1
- package/dist/cache/stores/cloudflare-kv.js.map +1 -1
- package/dist/cache/stores/memory.d.ts +1 -1
- package/dist/cache/stores/memory.d.ts.map +1 -1
- package/dist/cache/stores/memory.js.map +1 -1
- package/dist/cache/stores/redis.d.ts +1 -1
- package/dist/cache/stores/redis.d.ts.map +1 -1
- package/dist/cache/stores/redis.js.map +1 -1
- package/dist/cache/stores/vercel.d.ts +1 -1
- package/dist/cache/stores/vercel.d.ts.map +1 -1
- package/dist/cache/stores/vercel.js.map +1 -1
- package/dist/cache/tag-aware-handler.d.ts +2 -2
- package/dist/cache/tag-aware-handler.d.ts.map +1 -1
- package/dist/cache/timber-cache.d.ts +1 -1
- package/dist/cache/timber-cache.d.ts.map +1 -1
- package/dist/cdn/cloudflare-purge.d.ts +1 -1
- package/dist/cdn/cloudflare-purge.d.ts.map +1 -1
- package/dist/cdn/cloudflare-purge.js.map +1 -1
- package/dist/cdn/fastly-purge.d.ts +1 -1
- package/dist/cdn/fastly-purge.d.ts.map +1 -1
- package/dist/cdn/fastly-purge.js.map +1 -1
- package/dist/cdn/index.d.ts +4 -4
- package/dist/cdn/index.d.ts.map +1 -1
- package/dist/cdn/workers-cache-purge.d.ts +5 -1
- package/dist/cdn/workers-cache-purge.d.ts.map +1 -1
- package/dist/cdn/workers-cache-purge.js.map +1 -1
- package/dist/cli-check.d.ts +10 -0
- package/dist/cli-check.d.ts.map +1 -1
- package/dist/cli.d.ts +12 -4
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +30 -6
- package/dist/cli.js.map +1 -1
- package/dist/client/browser-entry/hydrate.d.ts +2 -2
- package/dist/client/browser-entry/hydrate.d.ts.map +1 -1
- package/dist/client/browser-entry/post-hydration.d.ts +2 -2
- package/dist/client/browser-entry/router-init.d.ts +2 -2
- package/dist/client/browser-entry/rsc-stream.d.ts +1 -1
- package/dist/client/form.d.ts +2 -2
- package/dist/client/form.d.ts.map +1 -1
- package/dist/client/history.d.ts +2 -2
- package/dist/client/index.d.ts +18 -18
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/internal.d.ts +19 -19
- package/dist/client/internal.d.ts.map +1 -1
- package/dist/client/internal.js +11 -15
- package/dist/client/internal.js.map +1 -1
- package/dist/client/link.d.ts +3 -3
- package/dist/client/navigation-commit.d.ts +5 -5
- package/dist/client/navigation-root.d.ts +1 -1
- package/dist/client/navigation-root.d.ts.map +1 -1
- package/dist/client/params-context.d.ts +3 -3
- package/dist/client/router-pipeline.d.ts +7 -7
- package/dist/client/router-ref.d.ts +1 -1
- package/dist/client/router-types.d.ts +6 -6
- package/dist/client/router-types.d.ts.map +1 -1
- package/dist/client/router.d.ts +1 -1
- package/dist/client/rsc-fetch.d.ts +4 -4
- package/dist/client/rsc-fetch.d.ts.map +1 -1
- package/dist/client/segment-cache.d.ts +2 -2
- package/dist/client/slot-provider.d.ts +1 -1
- package/dist/client/ssr-data.d.ts +2 -2
- package/dist/client/state.d.ts +4 -4
- package/dist/client/use-query-states.d.ts +1 -1
- package/dist/client/use-segment-params.d.ts +3 -3
- package/dist/codec.d.ts +2 -2
- package/dist/codec.js.map +1 -1
- package/dist/config-types.d.ts +24 -6
- package/dist/config-types.d.ts.map +1 -1
- package/dist/config-validation.d.ts +1 -1
- package/dist/cookies/define-cookie.d.ts +3 -3
- package/dist/cookies/index.d.ts +3 -3
- package/dist/cookies/index.js +3 -4
- package/dist/cookies/index.js.map +1 -1
- package/dist/cookies/json-cookie.d.ts +1 -1
- package/dist/dev-tools/404-page.d.ts +2 -2
- package/dist/dev-tools/error-page.d.ts +2 -2
- package/dist/dev-tools/index.d.ts +12 -12
- package/dist/dev-tools/instrumentation.d.ts +1 -1
- package/dist/dev-tools/logs.d.ts +1 -1
- package/dist/dev-tools/overlay.d.ts +2 -2
- package/dist/dev-tools/terminal.d.ts +1 -1
- package/dist/fonts/ast.d.ts +4 -4
- package/dist/fonts/bundle.d.ts +3 -3
- package/dist/fonts/css.d.ts +1 -1
- package/dist/fonts/dev-middleware.d.ts +1 -1
- package/dist/fonts/google.d.ts +1 -1
- package/dist/fonts/local.d.ts +1 -1
- package/dist/fonts/pipeline.d.ts +3 -3
- package/dist/fonts/transform.d.ts +2 -2
- package/dist/fonts/types.d.ts +1 -1
- package/dist/fonts/virtual-modules.d.ts +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +816 -310
- package/dist/index.js.map +1 -1
- package/dist/params/codec-registry.d.ts +1 -1
- package/dist/params/define-schema.d.ts +2 -2
- package/dist/params/index.d.ts +4 -4
- package/dist/params/index.js.map +1 -1
- package/dist/params/resolve-schema.d.ts +1 -1
- package/dist/plugin-context.d.ts +9 -9
- package/dist/plugin-context.d.ts.map +1 -1
- package/dist/plugins/adapter-build.d.ts +2 -2
- package/dist/plugins/build-manifest.d.ts +2 -2
- package/dist/plugins/build-report.d.ts +5 -5
- package/dist/plugins/cache.d.ts +1 -1
- package/dist/plugins/callsite-jsx.d.ts +2 -2
- package/dist/plugins/chunks.d.ts +1 -1
- package/dist/plugins/chunks.d.ts.map +1 -1
- package/dist/plugins/cloudflare-wasm.d.ts +1 -1
- package/dist/plugins/content.d.ts +1 -1
- package/dist/plugins/content.d.ts.map +1 -1
- package/dist/plugins/dev-discovery.d.ts +123 -0
- package/dist/plugins/dev-discovery.d.ts.map +1 -0
- package/dist/plugins/dev-server.d.ts +1 -1
- package/dist/plugins/dev-server.d.ts.map +1 -1
- package/dist/plugins/entries.d.ts +1 -1
- package/dist/plugins/fonts.d.ts +3 -3
- package/dist/plugins/fonts.d.ts.map +1 -1
- package/dist/plugins/graph-endpoint.d.ts +112 -0
- package/dist/plugins/graph-endpoint.d.ts.map +1 -0
- package/dist/plugins/mdx.d.ts +18 -5
- package/dist/plugins/mdx.d.ts.map +1 -1
- package/dist/plugins/prebuilt-capture.d.ts +2 -2
- package/dist/plugins/prebuilt-options-analysis.d.ts +1 -1
- package/dist/plugins/prebuilt.d.ts +1 -1
- package/dist/plugins/prerender-sugar.d.ts +11 -14
- package/dist/plugins/prerender-sugar.d.ts.map +1 -1
- package/dist/plugins/request-dep/analysis.d.ts +1 -1
- package/dist/plugins/request-dep/index.d.ts +5 -5
- package/dist/plugins/request-dep/origin.d.ts +1 -1
- 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 +1 -1
- package/dist/plugins/shims.d.ts.map +1 -1
- package/dist/plugins/static-build.d.ts +5 -5
- package/dist/routing/codegen-shared.d.ts +1 -1
- package/dist/routing/codegen-write.d.ts +1 -1
- package/dist/routing/codegen.d.ts +1 -1
- package/dist/routing/collision-probe.d.ts +1 -1
- package/dist/routing/collision-spaces.d.ts +1 -1
- package/dist/routing/convention-lint.d.ts +1 -1
- package/dist/routing/convention-lint.d.ts.map +1 -1
- package/dist/routing/index.d.ts +13 -13
- package/dist/routing/index.js +3 -3
- package/dist/routing/interception.d.ts +1 -1
- package/dist/routing/interception.d.ts.map +1 -1
- package/dist/routing/link-codegen.d.ts +1 -1
- package/dist/routing/manifest-codegen.d.ts +1 -1
- package/dist/routing/scanner.d.ts +14 -1
- package/dist/routing/scanner.d.ts.map +1 -1
- package/dist/routing/schema-validation.d.ts +1 -1
- package/dist/routing/segment-classify.d.ts +1 -1
- package/dist/routing/segment-codegen.d.ts +1 -1
- package/dist/routing/segment-keys.d.ts +1 -1
- package/dist/routing/slot-placement.d.ts +1 -1
- package/dist/routing/walkers.d.ts +1 -1
- package/dist/rsc-runtime/transforms.d.ts +13 -0
- package/dist/rsc-runtime/transforms.d.ts.map +1 -0
- package/dist/schema-bridge.d.ts +1 -1
- package/dist/search-params/define.d.ts +3 -3
- package/dist/search-params/index.d.ts +3 -3
- package/dist/search-params/index.js.map +1 -1
- package/dist/search-params/wrappers.d.ts +1 -1
- package/dist/server/access-gate.d.ts +1 -1
- package/dist/server/action-client.d.ts +1 -1
- package/dist/server/action-handler.d.ts +5 -5
- package/dist/server/actions.d.ts +2 -2
- package/dist/server/als-registry.d.ts +8 -8
- package/dist/server/asset-headers.d.ts +1 -1
- package/dist/server/chain-url-parts.d.ts +3 -3
- package/dist/server/children-interception.d.ts +2 -2
- package/dist/server/cookie-context.d.ts +1 -1
- package/dist/server/cookie-parsing.d.ts +2 -2
- package/dist/server/default-logger.d.ts +1 -1
- package/dist/server/deny-boundary.d.ts +2 -2
- package/dist/server/deny-renderer.d.ts +5 -5
- package/dist/server/early-hints.d.ts +1 -1
- package/dist/server/error-boundary-wrapper.d.ts +2 -4
- package/dist/server/error-boundary-wrapper.d.ts.map +1 -1
- package/dist/server/fallback-error.d.ts +5 -5
- package/dist/server/flight-injection-state.d.ts +1 -1
- package/dist/server/form-flash.d.ts +1 -1
- package/dist/server/html-injector-core.d.ts +2 -2
- package/dist/server/html-injectors.d.ts +1 -1
- package/dist/server/index.d.ts +18 -18
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +33 -32
- package/dist/server/index.js.map +1 -1
- package/dist/server/instrumentation.d.ts +1 -1
- package/dist/server/internal.d.ts +50 -50
- package/dist/server/internal.d.ts.map +1 -1
- package/dist/server/internal.js +1023 -1025
- package/dist/server/internal.js.map +1 -1
- package/dist/server/metadata-collector.d.ts +2 -2
- package/dist/server/metadata-platform.d.ts +2 -2
- package/dist/server/metadata-render.d.ts +2 -2
- package/dist/server/metadata-routes.d.ts +3 -3
- package/dist/server/metadata-social.d.ts +2 -2
- package/dist/server/metadata.d.ts +2 -2
- package/dist/server/middleware-runner.d.ts +1 -1
- package/dist/server/node-stream-transforms.d.ts +1 -1
- package/dist/server/param-coercion.d.ts +4 -4
- package/dist/server/pipeline-helpers.d.ts +3 -3
- package/dist/server/pipeline-interception.d.ts +1 -1
- package/dist/server/pipeline-metadata.d.ts +1 -1
- package/dist/server/pipeline-outcome.d.ts +2 -2
- package/dist/server/pipeline-phases.d.ts +3 -3
- package/dist/server/pipeline-phases.d.ts.map +1 -1
- package/dist/server/pipeline.d.ts +9 -9
- package/dist/server/prebuilt/cache-key.d.ts +1 -1
- package/dist/server/prebuilt/capture-state.d.ts +1 -1
- package/dist/server/prebuilt/key-discipline.d.ts +1 -1
- package/dist/server/prebuilt/manifest-tag-index.d.ts +1 -1
- package/dist/server/prebuilt/overlay.d.ts +2 -2
- package/dist/server/prebuilt/payload-source.d.ts +1 -1
- package/dist/server/prebuilt/slots.d.ts +1 -1
- package/dist/server/prebuilt/synthetic-store.d.ts +2 -2
- package/dist/server/prebuilt-builder.d.ts +2 -2
- package/dist/server/primitives.d.ts +2 -2
- package/dist/server/publish-params.d.ts +1 -1
- package/dist/server/request-context.d.ts +3 -3
- package/dist/server/route-element-builder.d.ts +16 -6
- package/dist/server/route-element-builder.d.ts.map +1 -1
- package/dist/server/route-handler.d.ts +1 -1
- package/dist/server/route-matcher.d.ts +4 -4
- package/dist/server/rsc-cache-key-guard.d.ts.map +1 -1
- package/dist/server/rsc-entry/action-middleware-runner.d.ts +2 -2
- package/dist/server/rsc-entry/api-handler.d.ts +1 -1
- package/dist/server/rsc-entry/api-handler.d.ts.map +1 -1
- package/dist/server/rsc-entry/deny-fallback.d.ts +3 -3
- package/dist/server/rsc-entry/error-renderer.d.ts +4 -4
- package/dist/server/rsc-entry/helpers.d.ts +6 -6
- package/dist/server/rsc-entry/index.d.ts +7 -6
- package/dist/server/rsc-entry/index.d.ts.map +1 -1
- package/dist/server/rsc-entry/render-route.d.ts +4 -4
- package/dist/server/rsc-entry/revalidate-renderer.d.ts +4 -4
- package/dist/server/rsc-entry/rsc-payload.d.ts +4 -4
- package/dist/server/rsc-entry/rsc-payload.d.ts.map +1 -1
- package/dist/server/rsc-entry/rsc-stream.d.ts +3 -3
- package/dist/server/rsc-entry/ssr-bridge.d.ts +1 -1
- package/dist/server/rsc-entry/ssr-renderer.d.ts +7 -7
- package/dist/server/rsc-entry/wrap-action-dispatch.d.ts +5 -5
- package/dist/server/sitemap-generator.d.ts +2 -2
- package/dist/server/sitemap-handler.d.ts +1 -1
- package/dist/server/skippable-prefix.d.ts +3 -3
- package/dist/server/slot-interception.d.ts +2 -2
- package/dist/server/slot-resolver.d.ts +3 -7
- package/dist/server/slot-resolver.d.ts.map +1 -1
- package/dist/server/ssr-bridge-types.d.ts +2 -2
- package/dist/server/ssr-entry.d.ts +1 -1
- package/dist/server/static-generator.d.ts +1 -1
- package/dist/server/static-not-found.d.ts +1 -1
- package/dist/server/status-code-resolver.d.ts +1 -1
- package/dist/server/tracing.d.ts +3 -3
- package/dist/server/tree-builder.d.ts +3 -3
- package/dist/server/tree-match.d.ts +1 -1
- package/dist/server/types.d.ts +2 -2
- package/dist/server/utils/mdx-file.d.ts +2 -0
- package/dist/server/utils/mdx-file.d.ts.map +1 -1
- package/dist/server/workers-cache-bridge.d.ts +1 -1
- package/dist/shared/als-slots.d.ts +1 -1
- package/dist/shared/payload-root.d.ts +2 -2
- package/dist/shared/rsc-media-type.d.ts +12 -0
- package/dist/shared/rsc-media-type.d.ts.map +1 -1
- package/dist/shared/slot-params.d.ts +1 -1
- package/dist/shims/font-google.d.ts +1 -1
- package/dist/shims/font-google.js.map +1 -1
- package/dist/shims/font-local.d.ts +1 -1
- package/dist/shims/font-local.js.map +1 -1
- package/dist/shims/navigation-client.d.ts +4 -4
- package/dist/shims/navigation.d.ts +2 -2
- package/docs/api/34-api-config.mdx +9 -8
- package/docs/api/36-cli.mdx +23 -3
- package/docs/learn/11-error-handling.mdx +11 -0
- package/docs/more/01-advanced-routing.mdx +1 -0
- package/docs/more/04b-mdx.mdx +38 -18
- package/package.json +23 -18
- package/src/adapters/build-output-helper.ts +4 -4
- package/src/adapters/cloudflare-dev.ts +7 -1
- package/src/adapters/cloudflare-kv-cache.ts +11 -8
- package/src/adapters/cloudflare.ts +21 -15
- package/src/adapters/compress-module.ts +2 -2
- package/src/adapters/nitro-presets.ts +139 -0
- package/src/adapters/nitro-preview.ts +340 -0
- package/src/adapters/nitro.ts +100 -465
- package/src/adapters/shared.ts +1 -1
- package/src/analyze/chains.ts +411 -0
- package/src/analyze/classify.ts +258 -0
- package/src/analyze/crawl-entry.ts +68 -0
- package/src/analyze/crawl.ts +500 -0
- package/src/analyze/graph-cache.ts +332 -0
- package/src/analyze/graph-command.ts +762 -0
- package/src/analyze/live-graph.ts +232 -0
- package/src/analyze/poison-rules.ts +165 -0
- package/src/analyze/poison-scan.ts +162 -0
- package/src/analyze/scan.ts +149 -0
- package/src/cache/cache-api.ts +7 -7
- package/src/cache/index.ts +9 -9
- package/src/cache/redis-handler.ts +2 -2
- package/src/cache/stores/cloudflare-kv.ts +1 -1
- package/src/cache/stores/memory.ts +2 -2
- package/src/cache/stores/redis.ts +1 -1
- package/src/cache/stores/vercel.ts +1 -1
- package/src/cache/tag-aware-handler.ts +2 -2
- package/src/cache/timber-cache.ts +8 -8
- package/src/cdn/cloudflare-purge.ts +1 -1
- package/src/cdn/fastly-purge.ts +1 -1
- package/src/cdn/index.ts +10 -4
- package/src/cdn/workers-cache-purge.ts +6 -2
- package/src/cli-check.ts +53 -4
- package/src/cli-schema-sync.ts +3 -3
- package/src/cli.ts +50 -11
- package/src/client/browser-dev.ts +1 -1
- package/src/client/browser-entry/action-dispatch.ts +5 -5
- package/src/client/browser-entry/hmr.ts +1 -1
- package/src/client/browser-entry/hydrate.ts +9 -9
- package/src/client/browser-entry/index.ts +10 -10
- package/src/client/browser-entry/post-hydration.ts +5 -5
- package/src/client/browser-entry/router-init.ts +9 -9
- package/src/client/browser-entry/rsc-stream.ts +3 -3
- package/src/client/error-boundary.tsx +4 -4
- package/src/client/form.tsx +7 -2
- package/src/client/history.ts +2 -2
- package/src/client/index.ts +21 -18
- package/src/client/internal.ts +19 -19
- package/src/client/link.tsx +9 -9
- package/src/client/navigation-api.ts +1 -1
- package/src/client/navigation-commit.ts +5 -5
- package/src/client/navigation-context.ts +1 -1
- package/src/client/navigation-root.tsx +1 -1
- package/src/client/nuqs-adapter.tsx +2 -2
- package/src/client/params-context.ts +4 -4
- package/src/client/router-effects.ts +3 -3
- package/src/client/router-lifecycle.ts +2 -2
- package/src/client/router-pipeline.ts +10 -10
- package/src/client/router-ref.ts +2 -2
- package/src/client/router-skew.ts +2 -2
- package/src/client/router-types.ts +6 -6
- package/src/client/router.ts +13 -13
- package/src/client/rsc-fetch.ts +11 -16
- package/src/client/segment-cache.ts +2 -2
- package/src/client/segment-outlet.tsx +1 -1
- package/src/client/shallow-url.ts +1 -1
- package/src/client/slot-outlet.tsx +1 -1
- package/src/client/slot-provider.tsx +1 -1
- package/src/client/ssr-data.ts +3 -3
- package/src/client/stale-client.ts +1 -1
- package/src/client/state.ts +4 -4
- package/src/client/top-loader.tsx +1 -1
- package/src/client/unload-guard.ts +1 -1
- package/src/client/use-cookie.ts +2 -2
- package/src/client/use-pathname.ts +2 -2
- package/src/client/use-pending-navigation.ts +1 -1
- package/src/client/use-query-states.ts +3 -3
- package/src/client/use-router.ts +2 -2
- package/src/client/use-search-params.ts +3 -3
- package/src/client/use-segment-params.ts +6 -6
- package/src/client/use-selected-layout-segment.ts +2 -2
- package/src/codec.ts +2 -2
- package/src/config-types.ts +27 -7
- package/src/config-validation.ts +1 -1
- package/src/cookies/define-cookie.ts +6 -6
- package/src/cookies/index.ts +3 -3
- package/src/cookies/json-cookie.ts +1 -1
- package/src/dev-tools/404-page.ts +4 -4
- package/src/dev-tools/dev-page-shell.ts +1 -1
- package/src/dev-tools/error-page.ts +4 -4
- package/src/dev-tools/index.ts +12 -12
- package/src/dev-tools/instrumentation.ts +1 -1
- package/src/dev-tools/logs.ts +1 -1
- package/src/dev-tools/overlay.ts +3 -3
- package/src/dev-tools/terminal.ts +2 -2
- package/src/fonts/ast.ts +5 -5
- package/src/fonts/bundle.ts +5 -5
- package/src/fonts/css.ts +1 -1
- package/src/fonts/dev-middleware.ts +2 -2
- package/src/fonts/google.ts +2 -2
- package/src/fonts/local.ts +4 -4
- package/src/fonts/pipeline.ts +8 -8
- package/src/fonts/transform.ts +5 -5
- package/src/fonts/types.ts +1 -1
- package/src/fonts/virtual-modules.ts +1 -1
- package/src/index.ts +46 -37
- package/src/params/codec-registry.ts +1 -1
- package/src/params/define-schema.ts +2 -2
- package/src/params/index.ts +4 -4
- package/src/params/resolve-schema.ts +2 -2
- package/src/plugin-context.ts +10 -10
- package/src/plugins/adapter-build.ts +5 -5
- package/src/plugins/build-manifest.ts +4 -4
- package/src/plugins/build-report.ts +6 -6
- package/src/plugins/cache.ts +3 -3
- package/src/plugins/callsite-ast.ts +1 -1
- package/src/plugins/callsite-jsx.ts +2 -2
- package/src/plugins/chunks.ts +1 -1
- package/src/plugins/cloudflare-wasm.ts +1 -1
- package/src/plugins/content.ts +5 -1
- package/src/plugins/dev-discovery.ts +218 -0
- package/src/plugins/dev-server.ts +97 -12
- package/src/plugins/entries.ts +1 -1
- package/src/plugins/fonts.ts +17 -10
- package/src/plugins/graph-endpoint.ts +532 -0
- package/src/plugins/mdx.ts +73 -38
- package/src/plugins/prebuilt-capture.ts +3 -3
- package/src/plugins/prebuilt-options-analysis.ts +1 -1
- package/src/plugins/prebuilt.ts +7 -7
- package/src/plugins/prerender-sugar.ts +11 -19
- package/src/plugins/request-dep/analysis.ts +1 -1
- package/src/plugins/request-dep/index.ts +8 -8
- package/src/plugins/request-dep/origin.ts +1 -1
- package/src/plugins/routing.ts +12 -7
- package/src/plugins/server-bundle.ts +11 -3
- package/src/plugins/shims.ts +16 -31
- package/src/plugins/static-build.ts +10 -10
- package/src/routing/codegen-shared.ts +1 -1
- package/src/routing/codegen-write.ts +3 -3
- package/src/routing/codegen.ts +14 -5
- package/src/routing/collision-probe.ts +3 -3
- package/src/routing/collision-spaces.ts +3 -3
- package/src/routing/convention-lint.ts +136 -6
- package/src/routing/export-detect.ts +1 -1
- package/src/routing/index.ts +13 -13
- package/src/routing/interception.ts +41 -4
- package/src/routing/link-codegen.ts +3 -3
- package/src/routing/manifest-codegen.ts +2 -2
- package/src/routing/scanner.ts +33 -9
- package/src/routing/schema-validation.ts +4 -4
- package/src/routing/segment-classify.ts +2 -2
- package/src/routing/segment-codegen.ts +1 -1
- package/src/routing/segment-keys.ts +1 -1
- package/src/routing/slot-placement.ts +1 -1
- package/src/routing/walkers.ts +1 -1
- package/src/rsc-runtime/transforms.ts +13 -0
- package/src/rsc-runtime/vendor-types.d.ts +12 -0
- package/src/schema-bridge.ts +1 -1
- package/src/search-params/define.ts +8 -8
- package/src/search-params/index.ts +3 -3
- package/src/search-params/wrappers.ts +3 -3
- package/src/server/access-gate.tsx +6 -6
- package/src/server/action-client.ts +5 -5
- package/src/server/action-handler.ts +16 -16
- package/src/server/actions.ts +5 -5
- package/src/server/als-registry.ts +8 -8
- package/src/server/asset-headers.ts +2 -2
- package/src/server/chain-url-parts.ts +5 -5
- package/src/server/children-interception.ts +4 -4
- package/src/server/compress.ts +1 -1
- package/src/server/cookie-context.ts +4 -4
- package/src/server/cookie-parsing.ts +2 -2
- package/src/server/default-logger.ts +3 -3
- package/src/server/deny-boundary.ts +10 -10
- package/src/server/deny-renderer.ts +38 -25
- package/src/server/early-hints-sender.ts +2 -2
- package/src/server/early-hints.ts +2 -2
- package/src/server/error-boundary-wrapper.ts +4 -12
- package/src/server/fallback-error.ts +13 -13
- package/src/server/flight-injection-state.ts +1 -1
- package/src/server/form-flash.ts +2 -2
- package/src/server/html-injector-core.ts +4 -4
- package/src/server/html-injectors.ts +5 -5
- package/src/server/index.ts +18 -18
- package/src/server/instrumentation.ts +1 -1
- package/src/server/internal.ts +50 -50
- package/src/server/logger.ts +4 -4
- package/src/server/metadata-collector.ts +7 -7
- package/src/server/metadata-platform.ts +2 -2
- package/src/server/metadata-render.ts +4 -4
- package/src/server/metadata-routes.ts +3 -3
- package/src/server/metadata-social.ts +2 -2
- package/src/server/metadata.ts +2 -2
- package/src/server/middleware-runner.ts +1 -1
- package/src/server/node-stream-transforms.ts +4 -4
- package/src/server/param-coercion.ts +8 -8
- package/src/server/pipeline-helpers.ts +7 -7
- package/src/server/pipeline-interception.ts +2 -2
- package/src/server/pipeline-metadata.ts +1 -1
- package/src/server/pipeline-outcome.ts +8 -8
- package/src/server/pipeline-phases.ts +24 -28
- package/src/server/pipeline.ts +22 -22
- package/src/server/prebuilt/cache-key.ts +1 -1
- package/src/server/prebuilt/capture-state.ts +1 -1
- package/src/server/prebuilt/key-discipline.ts +1 -1
- package/src/server/prebuilt/manifest-tag-index.ts +1 -1
- package/src/server/prebuilt/overlay.ts +6 -6
- package/src/server/prebuilt/payload-source.ts +2 -2
- package/src/server/prebuilt/slots.ts +5 -5
- package/src/server/prebuilt/synthetic-store.ts +2 -2
- package/src/server/prebuilt-builder.ts +16 -16
- package/src/server/prebuilt-runtime.ts +12 -12
- package/src/server/primitives.ts +7 -7
- package/src/server/publish-params.ts +3 -3
- package/src/server/request-context.ts +7 -7
- package/src/server/route-element-builder.ts +108 -50
- package/src/server/route-handler.ts +4 -4
- package/src/server/route-matcher.ts +5 -5
- package/src/server/rsc-cache-key-guard.ts +3 -5
- package/src/server/rsc-entry/action-middleware-runner.ts +7 -7
- package/src/server/rsc-entry/api-handler.ts +18 -9
- package/src/server/rsc-entry/deny-fallback.ts +10 -10
- package/src/server/rsc-entry/error-renderer.ts +27 -27
- package/src/server/rsc-entry/helpers.ts +10 -10
- package/src/server/rsc-entry/index.ts +51 -47
- package/src/server/rsc-entry/render-route.ts +20 -20
- package/src/server/rsc-entry/revalidate-renderer.ts +12 -12
- package/src/server/rsc-entry/rsc-payload.ts +19 -15
- package/src/server/rsc-entry/rsc-stream.ts +8 -8
- package/src/server/rsc-entry/ssr-bridge.ts +3 -3
- package/src/server/rsc-entry/ssr-renderer.ts +23 -23
- package/src/server/rsc-entry/wrap-action-dispatch.ts +9 -9
- package/src/server/rsc-prop-warnings.ts +1 -1
- package/src/server/sensitive-fields.ts +1 -1
- package/src/server/server-timing.ts +1 -1
- package/src/server/sitemap-generator.ts +3 -3
- package/src/server/sitemap-handler.ts +3 -3
- package/src/server/skippable-prefix.ts +7 -7
- package/src/server/slot-interception.ts +5 -5
- package/src/server/slot-resolver.ts +20 -28
- package/src/server/ssr-bridge-types.ts +2 -2
- package/src/server/ssr-entry.ts +18 -18
- package/src/server/ssr-render.ts +4 -4
- package/src/server/ssr-wrappers.tsx +1 -1
- package/src/server/state-tree-diff.ts +1 -1
- package/src/server/static-generator.ts +6 -6
- package/src/server/static-not-found.ts +3 -3
- package/src/server/status-code-resolver.ts +1 -1
- package/src/server/tracing.ts +5 -5
- package/src/server/tree-builder.ts +4 -4
- package/src/server/tree-match.ts +1 -1
- package/src/server/types.ts +2 -2
- package/src/server/utils/mdx-file.ts +2 -2
- package/src/server/waituntil-bridge.ts +1 -1
- package/src/server/workers-cache-bridge.ts +2 -2
- package/src/shared/als-slots.ts +1 -1
- package/src/shared/payload-root.ts +2 -2
- package/src/shared/rsc-media-type.ts +16 -0
- package/src/shared/slot-params.ts +1 -1
- package/src/shims/font-google.ts +1 -1
- package/src/shims/font-local.ts +1 -1
- package/src/shims/navigation-client.ts +5 -5
- package/src/shims/navigation.ts +2 -2
- package/LICENSE +0 -8
- package/dist/_chunks/actions-BjbbNRFN.js.map +0 -1
- package/dist/_chunks/build-output-helper-C3DrfzZR.js.map +0 -1
- package/dist/_chunks/cache-api-DllJ-Lyw.js.map +0 -1
- package/dist/_chunks/cli-check-DJZDc22E.js.map +0 -1
- package/dist/_chunks/convention-lint-CpteIpTm.js.map +0 -1
- package/dist/_chunks/dist-BA3u1z3W.js +0 -423
- package/dist/_chunks/dist-BA3u1z3W.js.map +0 -1
- package/dist/_chunks/mdx-file-C005ay-P.js.map +0 -1
- package/dist/_chunks/plugin-context-rCinWLiE.js.map +0 -1
- package/dist/_chunks/scanner-CAietmj4.js.map +0 -1
- package/dist/content/index.d.ts +0 -2
- package/dist/content/index.d.ts.map +0 -1
- package/dist/content/index.js +0 -0
- package/src/content/index.ts +0 -5
- package/src/shims/server-only-noop.js +0 -6
|
@@ -27,15 +27,15 @@
|
|
|
27
27
|
* belongs in `createActionClient({ middleware })`.
|
|
28
28
|
*/
|
|
29
29
|
|
|
30
|
-
import type { FormRerender } from '../action-handler.
|
|
31
|
-
import { handleActionRequest, isActionRequest } from '../action-handler.
|
|
32
|
-
import type { BodyLimitsConfig } from '../body-limits.
|
|
33
|
-
import { validateCsrf, type CsrfConfig } from '../csrf.
|
|
34
|
-
import { runWithFormFlash } from '../form-flash.
|
|
35
|
-
import { seedRequestCookies } from '../cookie-context.
|
|
36
|
-
import type { RouteMatcher } from '../pipeline.
|
|
37
|
-
import type { SensitiveFieldsOption } from '../sensitive-fields.
|
|
38
|
-
import type { RevalidateRenderer } from '../actions.
|
|
30
|
+
import type { FormRerender } from '../action-handler.ts';
|
|
31
|
+
import { handleActionRequest, isActionRequest } from '../action-handler.ts';
|
|
32
|
+
import type { BodyLimitsConfig } from '../body-limits.ts';
|
|
33
|
+
import { validateCsrf, type CsrfConfig } from '../csrf.ts';
|
|
34
|
+
import { runWithFormFlash } from '../form-flash.ts';
|
|
35
|
+
import { seedRequestCookies } from '../cookie-context.ts';
|
|
36
|
+
import type { RouteMatcher } from '../pipeline.ts';
|
|
37
|
+
import type { SensitiveFieldsOption } from '../sensitive-fields.ts';
|
|
38
|
+
import type { RevalidateRenderer } from '../actions.ts';
|
|
39
39
|
|
|
40
40
|
// ─── Types ────────────────────────────────────────────────────────────────
|
|
41
41
|
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
* See design/16-metadata.md §"Auto-generated Sitemap"
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { serializeSitemap, serializeSitemapIndex } from './pipeline-metadata.
|
|
18
|
-
import type { SegmentNode } from '../routing/types.
|
|
19
|
-
import type { CoercedParams } from '../shared/param-value.
|
|
17
|
+
import { serializeSitemap, serializeSitemapIndex } from './pipeline-metadata.ts';
|
|
18
|
+
import type { SegmentNode } from '../routing/types.ts';
|
|
19
|
+
import type { CoercedParams } from '../shared/param-value.ts';
|
|
20
20
|
|
|
21
21
|
// ─── Types ───────────────────────────────────────────────────────────────────
|
|
22
22
|
|
|
@@ -15,9 +15,9 @@ import {
|
|
|
15
15
|
hasUserSitemap,
|
|
16
16
|
type SitemapConfig,
|
|
17
17
|
type SitemapResult,
|
|
18
|
-
} from './sitemap-generator.
|
|
19
|
-
import { loadModule } from './safe-load.
|
|
20
|
-
import type { SegmentNode } from '../routing/types.
|
|
18
|
+
} from './sitemap-generator.ts';
|
|
19
|
+
import { loadModule } from './safe-load.ts';
|
|
20
|
+
import type { SegmentNode } from '../routing/types.ts';
|
|
21
21
|
|
|
22
22
|
/** Regex to match /sitemap/N.xml where N is a non-negative integer. */
|
|
23
23
|
const SITEMAP_PAGE_PATTERN = /^\/sitemap\/(\d+)\.xml$/;
|
|
@@ -7,13 +7,13 @@
|
|
|
7
7
|
* no dependency on element construction.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import type { ManifestSegmentNode } from './route-matcher.
|
|
11
|
-
import type { RouteMatch } from './pipeline.
|
|
12
|
-
import { shouldSkipSlot, type ClientStateTree } from './state-tree-diff.
|
|
13
|
-
import { consumedUrlParts } from './chain-url-parts.
|
|
14
|
-
import { computeSlotContentKey, computeSlotKey } from '../routing/segment-keys.
|
|
15
|
-
import { matchUrlParts } from './tree-match.
|
|
16
|
-
import { slotUrlParts } from './slot-resolver.
|
|
10
|
+
import type { ManifestSegmentNode } from './route-matcher.ts';
|
|
11
|
+
import type { RouteMatch } from './pipeline.ts';
|
|
12
|
+
import { shouldSkipSlot, type ClientStateTree } from './state-tree-diff.ts';
|
|
13
|
+
import { consumedUrlParts } from './chain-url-parts.ts';
|
|
14
|
+
import { computeSlotContentKey, computeSlotKey } from '../routing/segment-keys.ts';
|
|
15
|
+
import { matchUrlParts } from './tree-match.ts';
|
|
16
|
+
import { slotUrlParts } from './slot-resolver.ts';
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
19
|
* Truncate the skippable prefix when a skippable layout has slots whose
|
|
@@ -15,15 +15,15 @@
|
|
|
15
15
|
* See design/07-routing.md §"Intercepting Routes"
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
import type { ManifestFile, ManifestSegmentNode } from './route-matcher.
|
|
19
|
-
import type { SlotMatchResult } from './slot-resolver.
|
|
18
|
+
import type { ManifestFile, ManifestSegmentNode } from './route-matcher.ts';
|
|
19
|
+
import type { SlotMatchResult } from './slot-resolver.ts';
|
|
20
20
|
import {
|
|
21
21
|
groupByInterceptedAnchor,
|
|
22
22
|
interceptorProxy,
|
|
23
23
|
type InterceptorAnchorGroup,
|
|
24
|
-
} from '../routing/interception.
|
|
25
|
-
import { matchUrlParts } from './tree-match.
|
|
26
|
-
import { pathnameMatchesPattern } from './pipeline-interception.
|
|
24
|
+
} from '../routing/interception.ts';
|
|
25
|
+
import { matchUrlParts } from './tree-match.ts';
|
|
26
|
+
import { pathnameMatchesPattern } from './pipeline-interception.ts';
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
29
|
* Whether an anchor group applies to this target at all.
|
|
@@ -16,26 +16,26 @@
|
|
|
16
16
|
* See design/02-rendering-pipeline.md §"Parallel Slots"
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
import { TimberErrorBoundary } from '../client/error-boundary.
|
|
20
|
-
import SlotErrorFallback from '../client/slot-error-fallback.
|
|
21
|
-
import { SlotAccessGate } from './access-gate.
|
|
22
|
-
import { wrapSegmentWithErrorBoundaries } from './error-boundary-wrapper.
|
|
23
|
-
import { isClientReference } from './route-element-builder.
|
|
24
|
-
import { loadModule } from './safe-load.
|
|
25
|
-
import type { InterceptionContext, RouteMatch } from './pipeline.
|
|
26
|
-
import { DenySignal, RedirectSignal } from './primitives.
|
|
27
|
-
import { logRenderError } from './logger.
|
|
28
|
-
import type { ManifestSegmentNode } from './route-matcher.
|
|
29
|
-
import { setSlotParams, runWithSlotSegmentParams } from './request-context.
|
|
30
|
-
import { coerceSlotParams } from './param-coercion.
|
|
31
|
-
import type { CoercedParams } from '../shared/param-value.
|
|
32
|
-
import { matchUrlParts } from './tree-match.
|
|
33
|
-
import { extractUrlParts, consumedPartsThroughSegment } from './chain-url-parts.
|
|
34
|
-
import { findInterceptingMatch } from './slot-interception.
|
|
35
|
-
import { SegmentOutlet } from '../client/segment-outlet.
|
|
36
|
-
import { shouldSkipSlot, type ClientStateTree } from './state-tree-diff.
|
|
37
|
-
import { computeSlotKey, computeSlotContentKey } from '../routing/segment-keys.
|
|
38
|
-
import { isStaticRequestDependent } from './request-dep.
|
|
19
|
+
import { TimberErrorBoundary } from '../client/error-boundary.tsx';
|
|
20
|
+
import SlotErrorFallback from '../client/slot-error-fallback.tsx';
|
|
21
|
+
import { SlotAccessGate } from './access-gate.tsx';
|
|
22
|
+
import { wrapSegmentWithErrorBoundaries } from './error-boundary-wrapper.ts';
|
|
23
|
+
import { isClientReference } from './route-element-builder.ts';
|
|
24
|
+
import { loadModule } from './safe-load.ts';
|
|
25
|
+
import type { InterceptionContext, RouteMatch } from './pipeline.ts';
|
|
26
|
+
import { DenySignal, RedirectSignal } from './primitives.ts';
|
|
27
|
+
import { logRenderError } from './logger.ts';
|
|
28
|
+
import type { ManifestSegmentNode } from './route-matcher.ts';
|
|
29
|
+
import { setSlotParams, runWithSlotSegmentParams } from './request-context.ts';
|
|
30
|
+
import { coerceSlotParams } from './param-coercion.ts';
|
|
31
|
+
import type { CoercedParams } from '../shared/param-value.ts';
|
|
32
|
+
import { matchUrlParts } from './tree-match.ts';
|
|
33
|
+
import { extractUrlParts, consumedPartsThroughSegment } from './chain-url-parts.ts';
|
|
34
|
+
import { findInterceptingMatch } from './slot-interception.ts';
|
|
35
|
+
import { SegmentOutlet } from '../client/segment-outlet.tsx';
|
|
36
|
+
import { shouldSkipSlot, type ClientStateTree } from './state-tree-diff.ts';
|
|
37
|
+
import { computeSlotKey, computeSlotContentKey } from '../routing/segment-keys.ts';
|
|
38
|
+
import { isStaticRequestDependent } from './request-dep.ts';
|
|
39
39
|
|
|
40
40
|
type CreateElementFn = (...args: unknown[]) => React.ReactElement;
|
|
41
41
|
|
|
@@ -428,10 +428,6 @@ export interface SlotMatchResult {
|
|
|
428
428
|
* pathname at the same point and already used `indexOf(owner)`. Two derivations
|
|
429
429
|
* of one index is how they came apart; this is the shared one.
|
|
430
430
|
*
|
|
431
|
-
* The `urlPath` search survives only as a fallback for a `slotNode` that is not
|
|
432
|
-
* attached to any segment in the chain. Production never does that —
|
|
433
|
-
* `resolveSlotProps` iterates `segment.slots` — but unit tests construct a slot
|
|
434
|
-
* node standalone, and for those the old behaviour is still the right answer.
|
|
435
431
|
*/
|
|
436
432
|
export function findSlotOwnerIndex(
|
|
437
433
|
slotNode: ManifestSegmentNode,
|
|
@@ -443,10 +439,6 @@ export function findSlotOwnerIndex(
|
|
|
443
439
|
}
|
|
444
440
|
}
|
|
445
441
|
|
|
446
|
-
for (let i = segments.length - 1; i >= 0; i--) {
|
|
447
|
-
if (segments[i].urlPath === slotNode.urlPath) return i;
|
|
448
|
-
}
|
|
449
|
-
|
|
450
442
|
return -1;
|
|
451
443
|
}
|
|
452
444
|
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
* and `CLAUDE.md` §"RSC and SSR Are Separate Vite Environments".
|
|
30
30
|
*/
|
|
31
31
|
|
|
32
|
-
import type { CoercedParams } from '../shared/param-value.
|
|
33
|
-
import type { SlotParamsRecord } from '../shared/slot-params.
|
|
32
|
+
import type { CoercedParams } from '../shared/param-value.ts';
|
|
33
|
+
import type { SlotParamsRecord } from '../shared/slot-params.ts';
|
|
34
34
|
|
|
35
35
|
/**
|
|
36
36
|
* Navigation context passed from the RSC environment to SSR.
|
package/src/server/ssr-entry.ts
CHANGED
|
@@ -18,13 +18,13 @@ import config from 'virtual:timber-config';
|
|
|
18
18
|
// use codec.serialize() instead of String() fallback for URL interpolation.
|
|
19
19
|
// @ts-expect-error — virtual module provided by timber-routing plugin
|
|
20
20
|
import schemaCodecs from 'virtual:timber-schema';
|
|
21
|
-
import { setLinkCodecs } from '../params/codec-registry.
|
|
21
|
+
import { setLinkCodecs } from '../params/codec-registry.ts';
|
|
22
22
|
setLinkCodecs(schemaCodecs);
|
|
23
23
|
import {
|
|
24
24
|
createFromReadableStream,
|
|
25
25
|
createFromNodeStream,
|
|
26
26
|
hasNodeStreamDecode,
|
|
27
|
-
} from '../rsc-runtime/ssr.
|
|
27
|
+
} from '../rsc-runtime/ssr.ts';
|
|
28
28
|
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
29
29
|
|
|
30
30
|
import {
|
|
@@ -33,26 +33,26 @@ import {
|
|
|
33
33
|
nodeReadableToWeb,
|
|
34
34
|
useNodeStreams,
|
|
35
35
|
buildSsrResponse,
|
|
36
|
-
} from './ssr-render.
|
|
37
|
-
import { logRenderError } from './logger.
|
|
38
|
-
import { SsrStreamError } from './primitives.
|
|
39
|
-
import { createBufferedTransformStream, injectHead, injectRscPayload } from './html-injectors.
|
|
40
|
-
import { wrapSsrElement } from './ssr-wrappers.
|
|
41
|
-
import { withSpan } from './tracing.
|
|
42
|
-
import { setCurrentParams } from '../client/use-segment-params.
|
|
43
|
-
import { registerSsrDataProvider, type SsrData } from '../client/ssr-data.
|
|
44
|
-
import { readPayloadTree } from '../shared/payload-root.
|
|
45
|
-
import type { NavContext } from './ssr-bridge-types.
|
|
36
|
+
} from './ssr-render.ts';
|
|
37
|
+
import { logRenderError } from './logger.ts';
|
|
38
|
+
import { SsrStreamError } from './primitives.ts';
|
|
39
|
+
import { createBufferedTransformStream, injectHead, injectRscPayload } from './html-injectors.ts';
|
|
40
|
+
import { wrapSsrElement } from './ssr-wrappers.tsx';
|
|
41
|
+
import { withSpan } from './tracing.ts';
|
|
42
|
+
import { setCurrentParams } from '../client/use-segment-params.ts';
|
|
43
|
+
import { registerSsrDataProvider, type SsrData } from '../client/ssr-data.ts';
|
|
44
|
+
import { readPayloadTree } from '../shared/payload-root.ts';
|
|
45
|
+
import type { NavContext } from './ssr-bridge-types.ts';
|
|
46
46
|
|
|
47
47
|
// Pre-import Node.js stream modules at module load time — not per-request.
|
|
48
48
|
// Dynamic imports of node-stream-transforms and node:stream/promises were
|
|
49
49
|
// costing 3-17ms per request due to module resolution overhead.
|
|
50
50
|
let _nodeStreamImports: {
|
|
51
|
-
createNodeBufferedTransform: typeof import('./node-stream-transforms.
|
|
52
|
-
createNodeHeadInjector: typeof import('./node-stream-transforms.
|
|
53
|
-
createNodeMoveSuffixTransform: typeof import('./node-stream-transforms.
|
|
54
|
-
createNodeFlightInjector: typeof import('./node-stream-transforms.
|
|
55
|
-
runNodePipelineWithErrorHandling: typeof import('./node-stream-transforms.
|
|
51
|
+
createNodeBufferedTransform: typeof import('./node-stream-transforms.ts').createNodeBufferedTransform;
|
|
52
|
+
createNodeHeadInjector: typeof import('./node-stream-transforms.ts').createNodeHeadInjector;
|
|
53
|
+
createNodeMoveSuffixTransform: typeof import('./node-stream-transforms.ts').createNodeMoveSuffixTransform;
|
|
54
|
+
createNodeFlightInjector: typeof import('./node-stream-transforms.ts').createNodeFlightInjector;
|
|
55
|
+
runNodePipelineWithErrorHandling: typeof import('./node-stream-transforms.ts').runNodePipelineWithErrorHandling;
|
|
56
56
|
ReadableFromWeb: (
|
|
57
57
|
webStream: import('stream/web').ReadableStream
|
|
58
58
|
) => import('node:stream').Readable;
|
|
@@ -61,7 +61,7 @@ let _nodeStreamImports: {
|
|
|
61
61
|
if (useNodeStreams) {
|
|
62
62
|
try {
|
|
63
63
|
const [transforms, stream] = await Promise.all([
|
|
64
|
-
import('./node-stream-transforms.
|
|
64
|
+
import('./node-stream-transforms.ts'),
|
|
65
65
|
import('node:stream'),
|
|
66
66
|
]);
|
|
67
67
|
_nodeStreamImports = {
|
package/src/server/ssr-render.ts
CHANGED
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
import type { ReactNode } from 'react';
|
|
24
24
|
import { renderToReadableStream } from 'react-dom/server';
|
|
25
25
|
|
|
26
|
-
import { createRenderTimeout, RenderTimeoutError } from './render-timeout.
|
|
27
|
-
import { logRenderError, logStreamingError } from './logger.
|
|
28
|
-
import { isAbortError, NOINDEX_SCRIPT } from './render-utils.
|
|
26
|
+
import { createRenderTimeout, RenderTimeoutError } from './render-timeout.ts';
|
|
27
|
+
import { logRenderError, logStreamingError } from './logger.ts';
|
|
28
|
+
import { isAbortError, NOINDEX_SCRIPT } from './render-utils.ts';
|
|
29
29
|
|
|
30
30
|
/**
|
|
31
31
|
* React's production error sanitization message. When NODE_ENV=production,
|
|
@@ -312,7 +312,7 @@ async function renderViaReadableStream(
|
|
|
312
312
|
|
|
313
313
|
// If a render timeout is configured, create a combined signal that
|
|
314
314
|
// fires on either request abort OR timeout — whichever comes first.
|
|
315
|
-
let renderTimeout: import('./render-timeout.
|
|
315
|
+
let renderTimeout: import('./render-timeout.ts').RenderTimeout | null = null;
|
|
316
316
|
let effectiveSignal = signal;
|
|
317
317
|
if (timeoutMs && timeoutMs > 0) {
|
|
318
318
|
renderTimeout = createRenderTimeout(timeoutMs, signal);
|
|
@@ -19,17 +19,17 @@
|
|
|
19
19
|
* Design docs: design/11-platform.md §"static output mode"
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
|
-
import type { ManifestRoot, ManifestSegmentNode, ManifestFile } from './route-matcher.
|
|
23
|
-
import { hasDynamicSegments, hasUserSitemap, resolvePathWithParams } from './sitemap-generator.
|
|
24
|
-
import { loadModule } from './safe-load.
|
|
25
|
-
import { METADATA_ROUTE_CONVENTIONS, resolveServePathForFile } from './metadata-routes.
|
|
26
|
-
import { RSC_CONTENT_TYPE } from '../shared/rsc-media-type.
|
|
22
|
+
import type { ManifestRoot, ManifestSegmentNode, ManifestFile } from './route-matcher.ts';
|
|
23
|
+
import { hasDynamicSegments, hasUserSitemap, resolvePathWithParams } from './sitemap-generator.ts';
|
|
24
|
+
import { loadModule } from './safe-load.ts';
|
|
25
|
+
import { METADATA_ROUTE_CONVENTIONS, resolveServePathForFile } from './metadata-routes.ts';
|
|
26
|
+
import { RSC_CONTENT_TYPE } from '../shared/rsc-media-type.ts';
|
|
27
27
|
import {
|
|
28
28
|
NOT_FOUND_ENTRY_PATH,
|
|
29
29
|
NOT_FOUND_PROBE_PATH,
|
|
30
30
|
resolveNotFoundPage,
|
|
31
31
|
type NotFoundProbe,
|
|
32
|
-
} from './static-not-found.
|
|
32
|
+
} from './static-not-found.ts';
|
|
33
33
|
|
|
34
34
|
// ─── Types ───────────────────────────────────────────────────────────────
|
|
35
35
|
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
* to a developer, and a wrong one sends them to the wrong file.
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
|
-
import { resolveStatusFile } from './status-code-resolver.
|
|
16
|
-
import { DEFAULT_STATUS_PAGE_CONTENT_TYPE, defaultStatusPageHtml } from './default-status-page.
|
|
17
|
-
import type { ManifestSegmentNode } from './route-matcher.
|
|
15
|
+
import { resolveStatusFile } from './status-code-resolver.ts';
|
|
16
|
+
import { DEFAULT_STATUS_PAGE_CONTENT_TYPE, defaultStatusPageHtml } from './default-status-page.ts';
|
|
17
|
+
import type { ManifestSegmentNode } from './route-matcher.ts';
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* The probe path. `_timber/` is the framework's reserved prefix and
|
package/src/server/tracing.ts
CHANGED
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import { randomUUID } from 'node:crypto';
|
|
12
|
-
import { traceAls, type TraceStore } from './als-registry.
|
|
12
|
+
import { traceAls, type TraceStore } from './als-registry.ts';
|
|
13
13
|
|
|
14
14
|
// Re-export the TraceStore type for public API consumers.
|
|
15
|
-
export type { TraceStore } from './als-registry.
|
|
15
|
+
export type { TraceStore } from './als-registry.ts';
|
|
16
16
|
|
|
17
17
|
// ─── Public API ───────────────────────────────────────────────────────────
|
|
18
18
|
|
|
@@ -116,7 +116,7 @@ const DEV_TRACING_INIT_KEY = Symbol.for('timber.dev.tracing-initialized');
|
|
|
116
116
|
* registers. Only called in dev mode — zero overhead in production.
|
|
117
117
|
*/
|
|
118
118
|
export async function initDevTracing(
|
|
119
|
-
config: import('../dev-tools/logger.
|
|
119
|
+
config: import('../dev-tools/logger.ts').DevLoggerConfig
|
|
120
120
|
): Promise<void> {
|
|
121
121
|
const globals = globalThis as Record<symbol, unknown>;
|
|
122
122
|
if (globals[DEV_TRACING_INIT_KEY]) return;
|
|
@@ -124,12 +124,12 @@ export async function initDevTracing(
|
|
|
124
124
|
const api = await getOtelApi();
|
|
125
125
|
if (!api) return;
|
|
126
126
|
|
|
127
|
-
let DevSpanProcessor: typeof import('../dev-tools/instrumentation.
|
|
127
|
+
let DevSpanProcessor: typeof import('../dev-tools/instrumentation.ts').DevSpanProcessor;
|
|
128
128
|
let BasicTracerProvider: typeof import('@opentelemetry/sdk-trace-base').BasicTracerProvider;
|
|
129
129
|
let AsyncLocalStorageContextManager: typeof import('@opentelemetry/context-async-hooks').AsyncLocalStorageContextManager;
|
|
130
130
|
|
|
131
131
|
try {
|
|
132
|
-
({ DevSpanProcessor } = await import('../dev-tools/instrumentation.
|
|
132
|
+
({ DevSpanProcessor } = await import('../dev-tools/instrumentation.ts'));
|
|
133
133
|
({ BasicTracerProvider } = await import('@opentelemetry/sdk-trace-base'));
|
|
134
134
|
({ AsyncLocalStorageContextManager } = await import('@opentelemetry/context-async-hooks'));
|
|
135
135
|
} catch (err) {
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
import type { ReactNode } from 'react';
|
|
14
|
-
import type { RouteFile, SegmentNode } from '../routing/types.
|
|
15
|
-
import { wrapSegmentWithErrorBoundaries } from './error-boundary-wrapper.
|
|
16
|
-
import type { LoadedComponent } from './utils/element-type.
|
|
14
|
+
import type { RouteFile, SegmentNode } from '../routing/types.ts';
|
|
15
|
+
import { wrapSegmentWithErrorBoundaries } from './error-boundary-wrapper.ts';
|
|
16
|
+
import type { LoadedComponent } from './utils/element-type.ts';
|
|
17
17
|
|
|
18
18
|
// ─── Types ───────────────────────────────────────────────────────────────────
|
|
19
19
|
|
|
@@ -104,7 +104,7 @@ export interface AccessGateProps {
|
|
|
104
104
|
* Omitted for skipped segments — a deny there must hard-navigate to
|
|
105
105
|
* avoid rendering the deny page inside cached layout chrome (TIM-1074).
|
|
106
106
|
*/
|
|
107
|
-
denyPages?: import('./deny-boundary.
|
|
107
|
+
denyPages?: import('./deny-boundary.ts').DenyPageEntry[];
|
|
108
108
|
/**
|
|
109
109
|
* When true, this gate wraps a skipped segment. On deny, the gate
|
|
110
110
|
* records the deny in ALS and rethrows so the response path can
|
package/src/server/tree-match.ts
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* See design/07-routing.md §"Request Lifecycle" and TIM-940.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
import type { SegmentNode } from '../routing/types.
|
|
18
|
+
import type { SegmentNode } from '../routing/types.ts';
|
|
19
19
|
|
|
20
20
|
// ─── Public API ───────────────────────────────────────────────────────────
|
|
21
21
|
|
package/src/server/types.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Server-side type definitions
|
|
2
2
|
|
|
3
|
-
import type { CoercedParams } from '../shared/param-value.
|
|
4
|
-
import type { EarlyHint } from './early-hints.
|
|
3
|
+
import type { CoercedParams } from '../shared/param-value.ts';
|
|
4
|
+
import type { EarlyHint } from './early-hints.ts';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* A value that is safe to pass through `JSON.stringify` without data loss.
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
* See design/10-error-handling.md §"Status-Code File Variants".
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
/** MDX/markdown extensions —
|
|
13
|
-
const MDX_EXTENSIONS = new Set(['.mdx', '.md']);
|
|
12
|
+
/** MDX/markdown extensions (dotted) — the canonical list, also used by plugins/mdx.ts. */
|
|
13
|
+
export const MDX_EXTENSIONS = new Set(['.mdx', '.md']);
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Check if a file path ends with an MDX/markdown extension.
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
* Design doc: design/06-caching.md, design/25-production-deployments.md
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import { workersCachePurgeAls } from './als-registry.
|
|
13
|
-
import type { WorkersCachePurgeCtx } from './als-registry.
|
|
12
|
+
import { workersCachePurgeAls } from './als-registry.ts';
|
|
13
|
+
import type { WorkersCachePurgeCtx } from './als-registry.ts';
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Run a function with Workers Cache purge context available.
|
package/src/shared/als-slots.ts
CHANGED
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
* design/41-global-params.md.
|
|
32
32
|
*/
|
|
33
33
|
|
|
34
|
-
import type { CoercedParams } from './param-value.
|
|
34
|
+
import type { CoercedParams } from './param-value.ts';
|
|
35
35
|
|
|
36
36
|
interface AlsSlot<T> {
|
|
37
37
|
/** Register the server-side getter. Called once at module-init time. */
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
* helpers here — producer and consumer do not each describe the payload.
|
|
33
33
|
*/
|
|
34
34
|
|
|
35
|
-
import type { CoercedParams } from './param-value.
|
|
36
|
-
import type { SlotParamsRecord } from './slot-params.
|
|
35
|
+
import type { CoercedParams } from './param-value.ts';
|
|
36
|
+
import type { SlotParamsRecord } from './slot-params.ts';
|
|
37
37
|
|
|
38
38
|
/** The params published beside a tree. */
|
|
39
39
|
export interface PublishedParams {
|
|
@@ -41,3 +41,19 @@ export const RSC_CONTENT_TYPE = 'text/x-component';
|
|
|
41
41
|
export function isRscRequest(req: Request): boolean {
|
|
42
42
|
return (req.headers.get('Accept') ?? '').includes(RSC_CONTENT_TYPE);
|
|
43
43
|
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Does this Content-Type header value designate an RSC Flight payload?
|
|
47
|
+
*
|
|
48
|
+
* Case-insensitive exact media-type match per RFC 9110 §8.3.1 — media types
|
|
49
|
+
* are case-insensitive. Parameters (`;charset=utf-8`) are stripped before
|
|
50
|
+
* comparison.
|
|
51
|
+
*
|
|
52
|
+
* Contrast with `isRscRequest`, which uses substring containment because
|
|
53
|
+
* `Accept` is a list of types. A `Content-Type` header names exactly one
|
|
54
|
+
* type, so substring would over-match (e.g. `text/x-component-v2`).
|
|
55
|
+
*/
|
|
56
|
+
export function isRscContentType(contentType: string | null): boolean {
|
|
57
|
+
if (!contentType) return false;
|
|
58
|
+
return contentType.split(';')[0].trim().toLowerCase() === RSC_CONTENT_TYPE;
|
|
59
|
+
}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* See design/41-global-params.md §"Params in a parallel slot".
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
|
-
import type { CoercedParams } from './param-value.
|
|
21
|
+
import type { CoercedParams } from './param-value.ts';
|
|
22
22
|
|
|
23
23
|
/** Slot tree path → that slot's own coerced params. */
|
|
24
24
|
export type SlotParamsRecord = Record<string, CoercedParams>;
|
package/src/shims/font-google.ts
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* Design doc: 24-fonts.md, "Next.js Font Compatibility"
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
|
-
import type { GoogleFontConfig, FontResult } from '../fonts/types.
|
|
20
|
+
import type { GoogleFontConfig, FontResult } from '../fonts/types.ts';
|
|
21
21
|
|
|
22
22
|
export type { GoogleFontConfig, FontResult };
|
|
23
23
|
|
package/src/shims/font-local.ts
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* Design doc: 24-fonts.md, "Next.js Font Compatibility"
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
|
-
import type { LocalFontConfig, FontResult } from '../fonts/types.
|
|
16
|
+
import type { LocalFontConfig, FontResult } from '../fonts/types.ts';
|
|
17
17
|
|
|
18
18
|
export type { LocalFontConfig, FontResult };
|
|
19
19
|
|
|
@@ -23,13 +23,13 @@
|
|
|
23
23
|
* See design/14-ecosystem.md §"next/navigation" for the full shim audit.
|
|
24
24
|
*/
|
|
25
25
|
|
|
26
|
-
import { assertRelativeRedirectPath } from '../shared/href-validation.
|
|
27
|
-
import type { RedirectTypeValue } from '../shared/redirect-type.
|
|
26
|
+
import { assertRelativeRedirectPath } from '../shared/href-validation.ts';
|
|
27
|
+
import type { RedirectTypeValue } from '../shared/redirect-type.ts';
|
|
28
28
|
|
|
29
29
|
// Hooks — useSegmentParams and useSearchParams import from direct modules
|
|
30
30
|
// since they're no longer in @timber-js/app/client public exports.
|
|
31
|
-
export { useSegmentParams, useSegmentParams as useParams } from '../client/use-segment-params.
|
|
32
|
-
export { useSearchParams } from '../client/use-search-params.
|
|
31
|
+
export { useSegmentParams, useSegmentParams as useParams } from '../client/use-segment-params.ts';
|
|
32
|
+
export { useSearchParams } from '../client/use-search-params.ts';
|
|
33
33
|
export {
|
|
34
34
|
usePathname,
|
|
35
35
|
useRouter,
|
|
@@ -38,7 +38,7 @@ export {
|
|
|
38
38
|
} from '@timber-js/app/client';
|
|
39
39
|
|
|
40
40
|
// Single source of truth shared with server/primitives.ts.
|
|
41
|
-
export { RedirectType } from '../shared/redirect-type.
|
|
41
|
+
export { RedirectType } from '../shared/redirect-type.ts';
|
|
42
42
|
|
|
43
43
|
/** Throw a plain Error carrying a framework signal digest. */
|
|
44
44
|
function throwSignal(message: string, digest: Record<string, unknown>): never {
|
package/src/shims/navigation.ts
CHANGED
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
// Hooks re-exported for next/navigation compat
|
|
13
|
-
export { useSegmentParams, useSegmentParams as useParams } from '../client/use-segment-params.
|
|
14
|
-
export { useSearchParams } from '../client/use-search-params.
|
|
13
|
+
export { useSegmentParams, useSegmentParams as useParams } from '../client/use-segment-params.ts';
|
|
14
|
+
export { useSearchParams } from '../client/use-search-params.ts';
|
|
15
15
|
export {
|
|
16
16
|
usePathname,
|
|
17
17
|
useRouter,
|
package/LICENSE
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
DONTFUCKINGUSE LICENSE
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2025 Daniel Saewitz
|
|
4
|
-
|
|
5
|
-
This software may not be used, copied, modified, merged, published,
|
|
6
|
-
distributed, sublicensed, or sold by anyone other than the copyright holder.
|
|
7
|
-
|
|
8
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND.
|