@rangojs/router 0.5.1 → 0.6.0
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/README.md +5 -1
- package/dist/bin/rango.js +343 -125
- package/dist/types/browser/event-controller.d.ts +6 -0
- package/dist/types/browser/react/use-router.d.ts +10 -3
- package/dist/types/browser/react/use-search-params.d.ts +57 -10
- package/dist/types/browser/types.d.ts +22 -0
- package/dist/types/build/merge-full-manifests.d.ts +3 -0
- package/dist/types/build/route-trie.d.ts +4 -73
- package/dist/types/build/route-types/per-module-writer.d.ts +6 -4
- package/dist/types/build/route-types/router-processing.d.ts +2 -3
- package/dist/types/cache/cache-exec-scope.d.ts +31 -0
- package/dist/types/cache/cf/cf-cache-constants.d.ts +8 -1
- package/dist/types/cache/cf/cf-cache-store.d.ts +15 -1
- package/dist/types/cache/cf/cf-cache-types.d.ts +1 -1
- package/dist/types/cache/cf/cf-kv-utils.d.ts +21 -0
- package/dist/types/cache/taint.d.ts +12 -6
- package/dist/types/client-urls/client-root.d.ts +38 -0
- package/dist/types/client-urls/client-urls.d.ts +5 -0
- package/dist/types/client-urls/navigation.d.ts +38 -0
- package/dist/types/client-urls/revalidation-protocol.d.ts +25 -0
- package/dist/types/client-urls/server-projection.d.ts +62 -0
- package/dist/types/client-urls/types.d.ts +144 -0
- package/dist/types/client.d.ts +12 -4
- package/dist/types/client.rsc.d.ts +4 -1
- package/dist/types/decode-loader-results.d.ts +37 -0
- package/dist/types/errors.d.ts +1 -0
- package/dist/types/handles/is-thenable.d.ts +2 -4
- package/dist/types/index.d.ts +1 -1
- package/dist/types/loader-redirect.d.ts +27 -0
- package/dist/types/outlet-context.d.ts +12 -0
- package/dist/types/outlet-provider.d.ts +3 -1
- package/dist/types/redirect-origin.d.ts +4 -0
- package/dist/types/route-content-wrapper.d.ts +42 -1
- package/dist/types/route-definition/helpers-types.d.ts +13 -2
- package/dist/types/router/error-handling.d.ts +35 -1
- package/dist/types/router/intercept-resolution.d.ts +12 -0
- package/dist/types/router/loader-resolution.d.ts +24 -2
- package/dist/types/router/revalidation.d.ts +7 -0
- package/dist/{types.backup/build/route-trie.d.ts → types/router/route-trie-builder.d.ts} +4 -16
- package/dist/types/router/router-interfaces.d.ts +20 -0
- package/dist/types/router/segment-resolution/helpers.d.ts +1 -1
- package/dist/types/router/trie-matching.d.ts +1 -1
- package/dist/types/rsc/helpers.d.ts +3 -0
- package/dist/types/rsc/manifest-init.d.ts +5 -5
- package/dist/types/rsc/render-pipeline.d.ts +9 -0
- package/dist/types/rsc/routine-plan.d.ts +124 -0
- package/dist/types/rsc/shell-capture-constants.d.ts +17 -0
- package/dist/types/rsc/shell-capture.d.ts +9 -0
- package/dist/types/rsc/shell-serve.d.ts +11 -0
- package/dist/types/rsc/types.d.ts +30 -0
- package/dist/types/segment-system.d.ts +2 -0
- package/dist/types/server/context.d.ts +10 -0
- package/dist/types/server/handle-store.d.ts +34 -3
- package/dist/types/server/request-context.d.ts +14 -1
- package/dist/types/server.d.ts +1 -0
- package/dist/types/ssr/index.d.ts +22 -0
- package/dist/types/ssr/ssr-root.d.ts +10 -0
- package/dist/types/testing/dom.entry.d.ts +1 -1
- package/dist/types/testing/render-route.d.ts +16 -6
- package/dist/types/testing/run-loader.d.ts +9 -0
- package/dist/types/types/boundaries.d.ts +22 -0
- package/dist/types/types/index.d.ts +1 -1
- package/dist/types/types/loader-types.d.ts +57 -5
- package/dist/types/types/segments.d.ts +7 -0
- package/dist/types/urls/path-helper-types.d.ts +10 -4
- package/dist/types/vite/discovery/client-urls-projection.d.ts +53 -0
- package/dist/types/vite/discovery/discover-routers.d.ts +1 -1
- package/dist/types/vite/discovery/state.d.ts +8 -1
- package/dist/types/vite/encryption-key.d.ts +2 -0
- package/dist/types/vite/plugins/expose-internal-ids.d.ts +10 -0
- package/dist/types/vite/plugins/server-ref-hashing.d.ts +24 -0
- package/dist/types/vite/plugins/server-reference-pattern.d.ts +1 -0
- package/dist/types/vite/utils/shared-utils.d.ts +12 -0
- package/dist/vite/index.js +5101 -2056
- package/package.json +3 -3
- package/skills/breadcrumbs/SKILL.md +39 -9
- package/skills/caching/SKILL.md +1 -1
- package/skills/catalog.json +7 -1
- package/skills/client-urls/SKILL.md +338 -0
- package/skills/comparison/references/framework-comparison.md +23 -9
- package/skills/hooks/SKILL.md +2 -2
- package/skills/hooks/data.md +11 -2
- package/skills/hooks/handle-and-actions.md +7 -0
- package/skills/hooks/outlets.md +26 -5
- package/skills/hooks/urls.md +40 -3
- package/skills/loader/SKILL.md +132 -20
- package/skills/migrate-nextjs/SKILL.md +70 -10
- package/skills/migrate-react-router/SKILL.md +49 -13
- package/skills/migrate-react-router/component-migration.md +18 -13
- package/skills/migrate-react-router/data-and-actions.md +14 -3
- package/skills/migrate-react-router/route-mapping.md +15 -2
- package/skills/mime-routes/SKILL.md +3 -1
- package/skills/parallel/SKILL.md +32 -1
- package/skills/ppr/SKILL.md +16 -6
- package/skills/prerender/SKILL.md +8 -4
- package/skills/rango/SKILL.md +21 -17
- package/skills/react-compiler/SKILL.md +3 -3
- package/skills/response-routes/SKILL.md +4 -2
- package/skills/route/SKILL.md +5 -2
- package/skills/router-setup/SKILL.md +16 -2
- package/skills/scripts/SKILL.md +16 -6
- package/skills/shell-manifest/SKILL.md +16 -7
- package/skills/testing/SKILL.md +2 -2
- package/skills/testing/client-components.md +6 -0
- package/skills/testing/handles.md +30 -8
- package/skills/testing/loader.md +51 -49
- package/skills/testing/middleware.md +1 -1
- package/skills/theme/SKILL.md +8 -5
- package/skills/typesafety/generated-files-and-cli.md +16 -9
- package/skills/typesafety/route-types.md +5 -1
- package/skills/use-cache/SKILL.md +47 -0
- package/src/bin/rango.ts +7 -3
- package/src/browser/event-controller.ts +40 -15
- package/src/browser/navigation-bridge.ts +6 -0
- package/src/browser/navigation-client.ts +5 -0
- package/src/browser/partial-update.ts +77 -10
- package/src/browser/react/NavigationProvider.tsx +7 -0
- package/src/browser/react/use-router.ts +40 -11
- package/src/browser/react/use-search-params.ts +140 -17
- package/src/browser/rsc-router.tsx +59 -0
- package/src/browser/server-action-bridge.ts +26 -0
- package/src/browser/types.ts +22 -0
- package/src/build/merge-full-manifests.ts +161 -0
- package/src/build/route-trie.ts +9 -332
- package/src/build/route-types/include-resolution.ts +66 -11
- package/src/build/route-types/per-module-writer.ts +11 -6
- package/src/build/route-types/router-processing.ts +184 -153
- package/src/build/runtime-discovery.ts +23 -12
- package/src/cache/cache-exec-scope.ts +47 -0
- package/src/cache/cache-runtime.ts +113 -40
- package/src/cache/cf/cf-cache-constants.ts +8 -1
- package/src/cache/cf/cf-cache-store.ts +41 -64
- package/src/cache/cf/cf-cache-types.ts +1 -1
- package/src/cache/cf/cf-kv-utils.ts +38 -0
- package/src/cache/segment-codec.ts +21 -5
- package/src/cache/taint.ts +28 -9
- package/src/client-urls/client-root.tsx +168 -0
- package/src/client-urls/client-urls.ts +698 -0
- package/src/client-urls/navigation.ts +237 -0
- package/src/client-urls/revalidation-protocol.ts +56 -0
- package/src/client-urls/server-projection.ts +579 -0
- package/src/client-urls/types.ts +195 -0
- package/src/client.rsc.tsx +12 -0
- package/src/client.tsx +49 -6
- package/src/decode-loader-results.ts +113 -0
- package/src/errors.ts +14 -0
- package/src/handles/deferred-resolution.ts +14 -7
- package/src/handles/is-thenable.ts +2 -4
- package/src/index.ts +1 -0
- package/src/loader-redirect.tsx +64 -0
- package/src/outlet-context.ts +12 -0
- package/src/outlet-provider.tsx +15 -1
- package/src/redirect-origin.ts +29 -0
- package/src/route-content-wrapper.tsx +96 -3
- package/src/route-definition/dsl-helpers.ts +28 -3
- package/src/route-definition/helpers-types.ts +13 -0
- package/src/route-definition/redirect.ts +17 -18
- package/src/router/error-handling.ts +65 -11
- package/src/router/intercept-resolution.ts +29 -0
- package/src/router/loader-resolution.ts +261 -28
- package/src/router/match-middleware/cache-lookup.ts +24 -15
- package/src/router/match-result.ts +7 -0
- package/src/router/revalidation.ts +24 -11
- package/src/router/route-trie-builder.ts +334 -0
- package/src/router/router-interfaces.ts +38 -0
- package/src/router/segment-resolution/fresh.ts +47 -0
- package/src/router/segment-resolution/helpers.ts +9 -11
- package/src/router/segment-resolution/loader-cache.ts +14 -24
- package/src/router/segment-resolution/revalidation.ts +20 -1
- package/src/router/trie-matching.ts +3 -3
- package/src/router.ts +46 -1
- package/src/rsc/full-payload.ts +6 -0
- package/src/rsc/handler.ts +36 -12
- package/src/rsc/helpers.ts +13 -0
- package/src/rsc/loader-fetch.ts +2 -2
- package/src/rsc/manifest-init.ts +28 -9
- package/src/rsc/progressive-enhancement.ts +247 -70
- package/src/rsc/render-pipeline.ts +68 -24
- package/src/rsc/routine-plan.ts +359 -0
- package/src/rsc/rsc-rendering.ts +569 -302
- package/src/rsc/server-action.ts +180 -71
- package/src/rsc/shell-capture-constants.ts +18 -0
- package/src/rsc/shell-capture.ts +104 -21
- package/src/rsc/shell-serve.ts +15 -2
- package/src/rsc/ssr-setup.ts +10 -1
- package/src/rsc/types.ts +31 -2
- package/src/segment-system.tsx +83 -26
- package/src/server/context.ts +10 -0
- package/src/server/cookie-store.ts +19 -19
- package/src/server/handle-store.ts +185 -48
- package/src/server/request-context.ts +36 -6
- package/src/server.ts +7 -0
- package/src/ssr/index.tsx +37 -2
- package/src/ssr/ssr-root.tsx +30 -2
- package/src/testing/dom.entry.ts +1 -1
- package/src/testing/render-route.tsx +22 -8
- package/src/testing/run-loader.ts +51 -13
- package/src/types/boundaries.ts +19 -0
- package/src/types/index.ts +1 -0
- package/src/types/loader-types.ts +60 -5
- package/src/types/segments.ts +7 -0
- package/src/urls/include-helper.ts +22 -4
- package/src/urls/path-helper-types.ts +14 -1
- package/src/use-loader.tsx +67 -6
- package/src/vite/discovery/client-urls-projection.ts +322 -0
- package/src/vite/discovery/discover-routers.ts +43 -17
- package/src/vite/discovery/state.ts +11 -1
- package/src/vite/discovery/virtual-module-codegen.ts +20 -0
- package/src/vite/encryption-key.ts +29 -0
- package/src/vite/plugins/expose-action-id.ts +2 -2
- package/src/vite/plugins/expose-internal-ids.ts +46 -0
- package/src/vite/plugins/server-ref-hashing.ts +74 -0
- package/src/vite/plugins/server-reference-pattern.ts +10 -0
- package/src/vite/plugins/virtual-entries.ts +12 -3
- package/src/vite/rango.ts +9 -0
- package/src/vite/router-discovery.ts +184 -14
- package/src/vite/utils/shared-utils.ts +12 -7
- package/dist/types.backup/__internal.d.ts +0 -127
- package/dist/types.backup/bin/rango.d.ts +0 -1
- package/dist/types.backup/browser/action-coordinator.d.ts +0 -57
- package/dist/types.backup/browser/action-fence.d.ts +0 -33
- package/dist/types.backup/browser/app-shell.d.ts +0 -34
- package/dist/types.backup/browser/app-version.d.ts +0 -6
- package/dist/types.backup/browser/connection-warmup.d.ts +0 -31
- package/dist/types.backup/browser/cookie-name.d.ts +0 -66
- package/dist/types.backup/browser/event-controller.d.ts +0 -221
- package/dist/types.backup/browser/history-state.d.ts +0 -26
- package/dist/types.backup/browser/index.d.ts +0 -1
- package/dist/types.backup/browser/intercept-utils.d.ts +0 -30
- package/dist/types.backup/browser/invalidate-client-cache.d.ts +0 -17
- package/dist/types.backup/browser/link-interceptor.d.ts +0 -43
- package/dist/types.backup/browser/logging.d.ts +0 -33
- package/dist/types.backup/browser/merge-segment-loaders.d.ts +0 -38
- package/dist/types.backup/browser/navigation-bridge.d.ts +0 -27
- package/dist/types.backup/browser/navigation-client.d.ts +0 -17
- package/dist/types.backup/browser/navigation-store-handle.d.ts +0 -25
- package/dist/types.backup/browser/navigation-store.d.ts +0 -95
- package/dist/types.backup/browser/navigation-transaction.d.ts +0 -75
- package/dist/types.backup/browser/network-error-handler.d.ts +0 -35
- package/dist/types.backup/browser/partial-update.d.ts +0 -61
- package/dist/types.backup/browser/prefetch/cache.d.ts +0 -183
- package/dist/types.backup/browser/prefetch/fetch.d.ts +0 -52
- package/dist/types.backup/browser/prefetch/observer.d.ts +0 -27
- package/dist/types.backup/browser/prefetch/policy.d.ts +0 -13
- package/dist/types.backup/browser/prefetch/queue.d.ts +0 -48
- package/dist/types.backup/browser/prefetch/resource-ready.d.ts +0 -28
- package/dist/types.backup/browser/rango-state.d.ts +0 -52
- package/dist/types.backup/browser/react/Link.d.ts +0 -140
- package/dist/types.backup/browser/react/NavigationProvider.d.ts +0 -88
- package/dist/types.backup/browser/react/ScrollRestoration.d.ts +0 -78
- package/dist/types.backup/browser/react/context.d.ts +0 -54
- package/dist/types.backup/browser/react/filter-segment-order.d.ts +0 -35
- package/dist/types.backup/browser/react/index.d.ts +0 -1
- package/dist/types.backup/browser/react/location-state-shared.d.ts +0 -162
- package/dist/types.backup/browser/react/location-state.d.ts +0 -29
- package/dist/types.backup/browser/react/mount-context.d.ts +0 -23
- package/dist/types.backup/browser/react/nonce-context.d.ts +0 -14
- package/dist/types.backup/browser/react/shallow-equal.d.ts +0 -5
- package/dist/types.backup/browser/react/use-action.d.ts +0 -61
- package/dist/types.backup/browser/react/use-handle.d.ts +0 -21
- package/dist/types.backup/browser/react/use-href.d.ts +0 -32
- package/dist/types.backup/browser/react/use-link-status.d.ts +0 -36
- package/dist/types.backup/browser/react/use-mount.d.ts +0 -24
- package/dist/types.backup/browser/react/use-navigation.d.ts +0 -15
- package/dist/types.backup/browser/react/use-params.d.ts +0 -21
- package/dist/types.backup/browser/react/use-pathname.d.ts +0 -13
- package/dist/types.backup/browser/react/use-reverse.d.ts +0 -40
- package/dist/types.backup/browser/react/use-router.d.ts +0 -23
- package/dist/types.backup/browser/react/use-search-params.d.ts +0 -19
- package/dist/types.backup/browser/react/use-segments.d.ts +0 -29
- package/dist/types.backup/browser/response-adapter.d.ts +0 -58
- package/dist/types.backup/browser/rsc-router.d.ts +0 -141
- package/dist/types.backup/browser/scroll-restoration.d.ts +0 -103
- package/dist/types.backup/browser/segment-reconciler.d.ts +0 -74
- package/dist/types.backup/browser/segment-structure-assert.d.ts +0 -16
- package/dist/types.backup/browser/server-action-bridge.d.ts +0 -29
- package/dist/types.backup/browser/types.d.ts +0 -530
- package/dist/types.backup/browser/validate-redirect-origin.d.ts +0 -28
- package/dist/types.backup/build/collect-fallback-refs.d.ts +0 -5
- package/dist/types.backup/build/generate-manifest.d.ts +0 -100
- package/dist/types.backup/build/generate-route-types.d.ts +0 -8
- package/dist/types.backup/build/index.d.ts +0 -21
- package/dist/types.backup/build/prefix-tree-utils.d.ts +0 -56
- package/dist/types.backup/build/route-types/ast-helpers.d.ts +0 -3
- package/dist/types.backup/build/route-types/ast-route-extraction.d.ts +0 -13
- package/dist/types.backup/build/route-types/codegen.d.ts +0 -16
- package/dist/types.backup/build/route-types/include-resolution.d.ts +0 -74
- package/dist/types.backup/build/route-types/param-extraction.d.ts +0 -13
- package/dist/types.backup/build/route-types/per-module-writer.d.ts +0 -18
- package/dist/types.backup/build/route-types/router-processing.d.ts +0 -82
- package/dist/types.backup/build/route-types/scan-filter.d.ts +0 -17
- package/dist/types.backup/build/route-types/source-scan.d.ts +0 -13
- package/dist/types.backup/build/runtime-discovery.d.ts +0 -24
- package/dist/types.backup/cache/background-task.d.ts +0 -21
- package/dist/types.backup/cache/cache-error.d.ts +0 -71
- package/dist/types.backup/cache/cache-key-utils.d.ts +0 -35
- package/dist/types.backup/cache/cache-policy.d.ts +0 -59
- package/dist/types.backup/cache/cache-runtime.d.ts +0 -51
- package/dist/types.backup/cache/cache-scope.d.ts +0 -134
- package/dist/types.backup/cache/cache-tag.d.ts +0 -79
- package/dist/types.backup/cache/cf/cf-base64.d.ts +0 -4
- package/dist/types.backup/cache/cf/cf-cache-constants.d.ts +0 -105
- package/dist/types.backup/cache/cf/cf-cache-store.d.ts +0 -481
- package/dist/types.backup/cache/cf/cf-cache-types.d.ts +0 -300
- package/dist/types.backup/cache/cf/cf-kv-utils.d.ts +0 -22
- package/dist/types.backup/cache/cf/cf-tag-marker-memo.d.ts +0 -15
- package/dist/types.backup/cache/cf/index.d.ts +0 -3
- package/dist/types.backup/cache/document-cache.d.ts +0 -69
- package/dist/types.backup/cache/handle-capture.d.ts +0 -23
- package/dist/types.backup/cache/handle-snapshot.d.ts +0 -39
- package/dist/types.backup/cache/index.d.ts +0 -7
- package/dist/types.backup/cache/memory-segment-store.d.ts +0 -163
- package/dist/types.backup/cache/profile-registry.d.ts +0 -40
- package/dist/types.backup/cache/read-through-swr.d.ts +0 -60
- package/dist/types.backup/cache/segment-codec.d.ts +0 -78
- package/dist/types.backup/cache/shell-snapshot.d.ts +0 -162
- package/dist/types.backup/cache/tag-invalidation.d.ts +0 -74
- package/dist/types.backup/cache/taint.d.ts +0 -71
- package/dist/types.backup/cache/types.d.ts +0 -407
- package/dist/types.backup/cache/vercel/index.d.ts +0 -1
- package/dist/types.backup/cache/vercel/vercel-cache-store.d.ts +0 -267
- package/dist/types.backup/client.d.ts +0 -184
- package/dist/types.backup/client.rsc.d.ts +0 -39
- package/dist/types.backup/cloudflare/index.d.ts +0 -7
- package/dist/types.backup/cloudflare/tracing.d.ts +0 -53
- package/dist/types.backup/component-utils.d.ts +0 -46
- package/dist/types.backup/components/DefaultDocument.d.ts +0 -13
- package/dist/types.backup/context-var.d.ts +0 -84
- package/dist/types.backup/debug.d.ts +0 -57
- package/dist/types.backup/decode-loader-results.d.ts +0 -5
- package/dist/types.backup/default-error-boundary.d.ts +0 -10
- package/dist/types.backup/defer.d.ts +0 -89
- package/dist/types.backup/deps/browser.d.ts +0 -1
- package/dist/types.backup/deps/html-stream-client.d.ts +0 -1
- package/dist/types.backup/deps/html-stream-server.d.ts +0 -1
- package/dist/types.backup/deps/rsc.d.ts +0 -1
- package/dist/types.backup/deps/ssr.d.ts +0 -1
- package/dist/types.backup/encode-kv.d.ts +0 -35
- package/dist/types.backup/errors.d.ts +0 -226
- package/dist/types.backup/escape-script.d.ts +0 -44
- package/dist/types.backup/handle.d.ts +0 -93
- package/dist/types.backup/handles/MetaTags.d.ts +0 -17
- package/dist/types.backup/handles/Scripts.d.ts +0 -38
- package/dist/types.backup/handles/breadcrumbs.d.ts +0 -43
- package/dist/types.backup/handles/deferred-resolution.d.ts +0 -53
- package/dist/types.backup/handles/is-thenable.d.ts +0 -12
- package/dist/types.backup/handles/meta.d.ts +0 -43
- package/dist/types.backup/handles/script.d.ts +0 -139
- package/dist/types.backup/host/cookie-handler.d.ts +0 -8
- package/dist/types.backup/host/errors.d.ts +0 -40
- package/dist/types.backup/host/index.d.ts +0 -33
- package/dist/types.backup/host/pattern-matcher.d.ts +0 -30
- package/dist/types.backup/host/router.d.ts +0 -12
- package/dist/types.backup/host/testing.d.ts +0 -41
- package/dist/types.backup/host/types.d.ts +0 -148
- package/dist/types.backup/host/utils.d.ts +0 -20
- package/dist/types.backup/href-client.d.ts +0 -214
- package/dist/types.backup/index.d.ts +0 -112
- package/dist/types.backup/index.rsc.d.ts +0 -51
- package/dist/types.backup/internal-debug.d.ts +0 -1
- package/dist/types.backup/loader-store.d.ts +0 -193
- package/dist/types.backup/loader.d.ts +0 -18
- package/dist/types.backup/loader.rsc.d.ts +0 -18
- package/dist/types.backup/missing-id-error.d.ts +0 -1
- package/dist/types.backup/outlet-context.d.ts +0 -12
- package/dist/types.backup/outlet-provider.d.ts +0 -12
- package/dist/types.backup/prerender/build-shell-capture.d.ts +0 -104
- package/dist/types.backup/prerender/param-hash.d.ts +0 -6
- package/dist/types.backup/prerender/shell-manifest-key.d.ts +0 -18
- package/dist/types.backup/prerender/store.d.ts +0 -62
- package/dist/types.backup/prerender.d.ts +0 -292
- package/dist/types.backup/redirect-origin.d.ts +0 -55
- package/dist/types.backup/regex-escape.d.ts +0 -6
- package/dist/types.backup/render-error-thrower.d.ts +0 -13
- package/dist/types.backup/response-utils.d.ts +0 -35
- package/dist/types.backup/reverse.d.ts +0 -206
- package/dist/types.backup/root-error-boundary.d.ts +0 -32
- package/dist/types.backup/route-content-wrapper.d.ts +0 -40
- package/dist/types.backup/route-definition/dsl-helpers.d.ts +0 -130
- package/dist/types.backup/route-definition/helper-factories.d.ts +0 -22
- package/dist/types.backup/route-definition/helpers-types.d.ts +0 -392
- package/dist/types.backup/route-definition/index.d.ts +0 -7
- package/dist/types.backup/route-definition/redirect.d.ts +0 -48
- package/dist/types.backup/route-definition/resolve-handler-use.d.ts +0 -19
- package/dist/types.backup/route-definition/use-item-types.d.ts +0 -1
- package/dist/types.backup/route-definition.d.ts +0 -1
- package/dist/types.backup/route-map-builder.d.ts +0 -127
- package/dist/types.backup/route-name.d.ts +0 -27
- package/dist/types.backup/route-types.d.ts +0 -172
- package/dist/types.backup/router/basename.d.ts +0 -10
- package/dist/types.backup/router/content-negotiation.d.ts +0 -91
- package/dist/types.backup/router/debug-manifest.d.ts +0 -7
- package/dist/types.backup/router/error-handling.d.ts +0 -76
- package/dist/types.backup/router/find-match.d.ts +0 -19
- package/dist/types.backup/router/handler-context.d.ts +0 -41
- package/dist/types.backup/router/instrument.d.ts +0 -161
- package/dist/types.backup/router/intercept-resolution.d.ts +0 -79
- package/dist/types.backup/router/lazy-includes.d.ts +0 -26
- package/dist/types.backup/router/loader-resolution.d.ts +0 -63
- package/dist/types.backup/router/logging.d.ts +0 -41
- package/dist/types.backup/router/manifest.d.ts +0 -8
- package/dist/types.backup/router/match-api.d.ts +0 -19
- package/dist/types.backup/router/match-context.d.ts +0 -184
- package/dist/types.backup/router/match-handlers.d.ts +0 -49
- package/dist/types.backup/router/match-middleware/background-revalidation.d.ts +0 -113
- package/dist/types.backup/router/match-middleware/cache-lookup.d.ts +0 -113
- package/dist/types.backup/router/match-middleware/cache-store.d.ts +0 -112
- package/dist/types.backup/router/match-middleware/index.d.ts +0 -80
- package/dist/types.backup/router/match-middleware/intercept-resolution.d.ts +0 -116
- package/dist/types.backup/router/match-middleware/segment-resolution.d.ts +0 -94
- package/dist/types.backup/router/match-pipelines.d.ts +0 -103
- package/dist/types.backup/router/match-result.d.ts +0 -114
- package/dist/types.backup/router/metrics.d.ts +0 -6
- package/dist/types.backup/router/middleware-types.d.ts +0 -74
- package/dist/types.backup/router/middleware.d.ts +0 -116
- package/dist/types.backup/router/navigation-snapshot.d.ts +0 -22
- package/dist/types.backup/router/params-util.d.ts +0 -8
- package/dist/types.backup/router/parse-pattern.d.ts +0 -38
- package/dist/types.backup/router/pattern-matching.d.ts +0 -169
- package/dist/types.backup/router/prefetch-cache-ttl.d.ts +0 -27
- package/dist/types.backup/router/prefetch-limits.d.ts +0 -20
- package/dist/types.backup/router/prerender-match.d.ts +0 -50
- package/dist/types.backup/router/preview-match.d.ts +0 -22
- package/dist/types.backup/router/request-classification.d.ts +0 -104
- package/dist/types.backup/router/revalidation.d.ts +0 -57
- package/dist/types.backup/router/route-snapshot.d.ts +0 -112
- package/dist/types.backup/router/router-context.d.ts +0 -137
- package/dist/types.backup/router/router-interfaces.d.ts +0 -432
- package/dist/types.backup/router/router-options.d.ts +0 -738
- package/dist/types.backup/router/router-registry.d.ts +0 -15
- package/dist/types.backup/router/segment-resolution/fresh.d.ts +0 -55
- package/dist/types.backup/router/segment-resolution/helpers.d.ts +0 -93
- package/dist/types.backup/router/segment-resolution/loader-cache.d.ts +0 -33
- package/dist/types.backup/router/segment-resolution/loader-mask.d.ts +0 -44
- package/dist/types.backup/router/segment-resolution/loader-snapshot.d.ts +0 -90
- package/dist/types.backup/router/segment-resolution/mask-nested.d.ts +0 -53
- package/dist/types.backup/router/segment-resolution/revalidation.d.ts +0 -85
- package/dist/types.backup/router/segment-resolution/static-store.d.ts +0 -17
- package/dist/types.backup/router/segment-resolution/streamed-handler-telemetry.d.ts +0 -16
- package/dist/types.backup/router/segment-resolution/view-transition-default.d.ts +0 -28
- package/dist/types.backup/router/segment-resolution.d.ts +0 -3
- package/dist/types.backup/router/segment-wrappers.d.ts +0 -53
- package/dist/types.backup/router/state-cookie-name.d.ts +0 -1
- package/dist/types.backup/router/substitute-pattern-params.d.ts +0 -23
- package/dist/types.backup/router/telemetry-otel.d.ts +0 -113
- package/dist/types.backup/router/telemetry.d.ts +0 -215
- package/dist/types.backup/router/timeout.d.ts +0 -68
- package/dist/types.backup/router/tracing.d.ts +0 -125
- package/dist/types.backup/router/trie-matching.d.ts +0 -32
- package/dist/types.backup/router/types.d.ts +0 -98
- package/dist/types.backup/router/url-params.d.ts +0 -26
- package/dist/types.backup/router.d.ts +0 -7
- package/dist/types.backup/rsc/capture-queue.d.ts +0 -6
- package/dist/types.backup/rsc/full-payload.d.ts +0 -22
- package/dist/types.backup/rsc/handler-context.d.ts +0 -31
- package/dist/types.backup/rsc/handler.d.ts +0 -9
- package/dist/types.backup/rsc/helpers.d.ts +0 -213
- package/dist/types.backup/rsc/index.d.ts +0 -17
- package/dist/types.backup/rsc/json-route-result.d.ts +0 -20
- package/dist/types.backup/rsc/loader-fetch.d.ts +0 -14
- package/dist/types.backup/rsc/manifest-init.d.ts +0 -18
- package/dist/types.backup/rsc/nonce.d.ts +0 -28
- package/dist/types.backup/rsc/origin-guard.d.ts +0 -50
- package/dist/types.backup/rsc/progressive-enhancement.d.ts +0 -19
- package/dist/types.backup/rsc/redirect-guard.d.ts +0 -35
- package/dist/types.backup/rsc/response-cache-serve.d.ts +0 -46
- package/dist/types.backup/rsc/response-error.d.ts +0 -19
- package/dist/types.backup/rsc/response-route-handler.d.ts +0 -29
- package/dist/types.backup/rsc/rsc-rendering.d.ts +0 -23
- package/dist/types.backup/rsc/runtime-warnings.d.ts +0 -22
- package/dist/types.backup/rsc/server-action.d.ts +0 -68
- package/dist/types.backup/rsc/shell-build-manifest.d.ts +0 -84
- package/dist/types.backup/rsc/shell-capture-constants.d.ts +0 -27
- package/dist/types.backup/rsc/shell-capture.d.ts +0 -374
- package/dist/types.backup/rsc/shell-serve.d.ts +0 -136
- package/dist/types.backup/rsc/ssr-setup.d.ts +0 -48
- package/dist/types.backup/rsc/transition-gate.d.ts +0 -27
- package/dist/types.backup/rsc/types.d.ts +0 -290
- package/dist/types.backup/runtime-env.d.ts +0 -1
- package/dist/types.backup/search-params.d.ts +0 -125
- package/dist/types.backup/segment-content-promise.d.ts +0 -13
- package/dist/types.backup/segment-fragments.d.ts +0 -56
- package/dist/types.backup/segment-loader-promise.d.ts +0 -22
- package/dist/types.backup/segment-system.d.ts +0 -84
- package/dist/types.backup/serialize.d.ts +0 -164
- package/dist/types.backup/server/context.d.ts +0 -494
- package/dist/types.backup/server/cookie-parse.d.ts +0 -10
- package/dist/types.backup/server/cookie-store.d.ts +0 -107
- package/dist/types.backup/server/fetchable-loader-store.d.ts +0 -20
- package/dist/types.backup/server/handle-store.d.ts +0 -100
- package/dist/types.backup/server/loader-registry.d.ts +0 -32
- package/dist/types.backup/server/request-context.d.ts +0 -596
- package/dist/types.backup/server/root-layout.d.ts +0 -3
- package/dist/types.backup/server.d.ts +0 -15
- package/dist/types.backup/ssr/index.d.ts +0 -233
- package/dist/types.backup/ssr/inject-rsc-eager.d.ts +0 -3
- package/dist/types.backup/ssr/preinit-client-references.d.ts +0 -71
- package/dist/types.backup/ssr/ssr-root.d.ts +0 -69
- package/dist/types.backup/static-handler.d.ts +0 -57
- package/dist/types.backup/testing/cache-status.d.ts +0 -63
- package/dist/types.backup/testing/collect-handle.d.ts +0 -20
- package/dist/types.backup/testing/dispatch.d.ts +0 -123
- package/dist/types.backup/testing/dom.entry.d.ts +0 -15
- package/dist/types.backup/testing/e2e/fixture.d.ts +0 -37
- package/dist/types.backup/testing/e2e/index.d.ts +0 -30
- package/dist/types.backup/testing/e2e/matchers.d.ts +0 -17
- package/dist/types.backup/testing/e2e/page-helpers.d.ts +0 -62
- package/dist/types.backup/testing/e2e/parity.d.ts +0 -111
- package/dist/types.backup/testing/e2e/server.d.ts +0 -35
- package/dist/types.backup/testing/flight-matchers.d.ts +0 -55
- package/dist/types.backup/testing/flight-normalize.d.ts +0 -1
- package/dist/types.backup/testing/flight-tree.d.ts +0 -192
- package/dist/types.backup/testing/flight.d.ts +0 -115
- package/dist/types.backup/testing/flight.entry.d.ts +0 -27
- package/dist/types.backup/testing/generated-routes.d.ts +0 -66
- package/dist/types.backup/testing/index.d.ts +0 -52
- package/dist/types.backup/testing/internal/context.d.ts +0 -225
- package/dist/types.backup/testing/internal/flight-client-globals.d.ts +0 -1
- package/dist/types.backup/testing/internal/seed-vars.d.ts +0 -30
- package/dist/types.backup/testing/render-handler.d.ts +0 -160
- package/dist/types.backup/testing/render-route.d.ts +0 -246
- package/dist/types.backup/testing/run-loader.d.ts +0 -186
- package/dist/types.backup/testing/run-middleware.d.ts +0 -132
- package/dist/types.backup/testing/run-transition-when.d.ts +0 -77
- package/dist/types.backup/testing/vitest-stubs/cloudflare-email.d.ts +0 -6
- package/dist/types.backup/testing/vitest-stubs/cloudflare-workers.d.ts +0 -13
- package/dist/types.backup/testing/vitest-stubs/plugin-rsc.d.ts +0 -7
- package/dist/types.backup/testing/vitest-stubs/version.d.ts +0 -1
- package/dist/types.backup/testing/vitest.d.ts +0 -205
- package/dist/types.backup/theme/ThemeProvider.d.ts +0 -13
- package/dist/types.backup/theme/ThemeScript.d.ts +0 -45
- package/dist/types.backup/theme/constants.d.ts +0 -39
- package/dist/types.backup/theme/index.d.ts +0 -29
- package/dist/types.backup/theme/theme-context.d.ts +0 -21
- package/dist/types.backup/theme/theme-script.d.ts +0 -26
- package/dist/types.backup/theme/types.d.ts +0 -162
- package/dist/types.backup/theme/use-theme.d.ts +0 -8
- package/dist/types.backup/types/boundaries.d.ts +0 -93
- package/dist/types.backup/types/cache-types.d.ts +0 -191
- package/dist/types.backup/types/error-types.d.ts +0 -114
- package/dist/types.backup/types/global-namespace.d.ts +0 -90
- package/dist/types.backup/types/handler-context.d.ts +0 -658
- package/dist/types.backup/types/index.d.ts +0 -11
- package/dist/types.backup/types/loader-types.d.ts +0 -182
- package/dist/types.backup/types/request-scope.d.ts +0 -93
- package/dist/types.backup/types/route-config.d.ts +0 -105
- package/dist/types.backup/types/route-entry.d.ts +0 -95
- package/dist/types.backup/types/segments.d.ts +0 -234
- package/dist/types.backup/types.d.ts +0 -1
- package/dist/types.backup/urls/include-helper.d.ts +0 -17
- package/dist/types.backup/urls/include-provider.d.ts +0 -27
- package/dist/types.backup/urls/index.d.ts +0 -6
- package/dist/types.backup/urls/path-helper-types.d.ts +0 -197
- package/dist/types.backup/urls/path-helper.d.ts +0 -12
- package/dist/types.backup/urls/pattern-types.d.ts +0 -166
- package/dist/types.backup/urls/response-types.d.ts +0 -67
- package/dist/types.backup/urls/type-extraction.d.ts +0 -157
- package/dist/types.backup/urls/urls-function.d.ts +0 -24
- package/dist/types.backup/urls.d.ts +0 -1
- package/dist/types.backup/use-loader.d.ts +0 -150
- package/dist/types.backup/vercel/index.d.ts +0 -10
- package/dist/types.backup/vercel/tracing.d.ts +0 -70
- package/dist/types.backup/vite/debug.d.ts +0 -80
- package/dist/types.backup/vite/discovery/bundle-postprocess.d.ts +0 -12
- package/dist/types.backup/vite/discovery/dev-prerender-cache.d.ts +0 -65
- package/dist/types.backup/vite/discovery/discover-routers.d.ts +0 -17
- package/dist/types.backup/vite/discovery/discovery-errors.d.ts +0 -113
- package/dist/types.backup/vite/discovery/gate-state.d.ts +0 -79
- package/dist/types.backup/vite/discovery/prerender-collection.d.ts +0 -24
- package/dist/types.backup/vite/discovery/route-types-writer.d.ts +0 -32
- package/dist/types.backup/vite/discovery/self-gen-tracking.d.ts +0 -22
- package/dist/types.backup/vite/discovery/shell-prerender-phase.d.ts +0 -40
- package/dist/types.backup/vite/discovery/state.d.ts +0 -162
- package/dist/types.backup/vite/discovery/virtual-module-codegen.d.ts +0 -15
- package/dist/types.backup/vite/index.d.ts +0 -11
- package/dist/types.backup/vite/inject-client-debug.d.ts +0 -56
- package/dist/types.backup/vite/plugin-types.d.ts +0 -298
- package/dist/types.backup/vite/plugins/cjs-to-esm.d.ts +0 -6
- package/dist/types.backup/vite/plugins/client-ref-dedup.d.ts +0 -40
- package/dist/types.backup/vite/plugins/client-ref-hashing.d.ts +0 -35
- package/dist/types.backup/vite/plugins/cloudflare-protocol-stub.d.ts +0 -64
- package/dist/types.backup/vite/plugins/expose-action-id.d.ts +0 -18
- package/dist/types.backup/vite/plugins/expose-id-utils.d.ts +0 -37
- package/dist/types.backup/vite/plugins/expose-ids/export-analysis.d.ts +0 -19
- package/dist/types.backup/vite/plugins/expose-ids/handler-transform.d.ts +0 -10
- package/dist/types.backup/vite/plugins/expose-ids/loader-transform.d.ts +0 -8
- package/dist/types.backup/vite/plugins/expose-ids/router-transform.d.ts +0 -13
- package/dist/types.backup/vite/plugins/expose-ids/types.d.ts +0 -29
- package/dist/types.backup/vite/plugins/expose-internal-ids.d.ts +0 -6
- package/dist/types.backup/vite/plugins/performance-tracks.d.ts +0 -25
- package/dist/types.backup/vite/plugins/refresh-cmd.d.ts +0 -20
- package/dist/types.backup/vite/plugins/use-cache-transform.d.ts +0 -20
- package/dist/types.backup/vite/plugins/vercel-output.d.ts +0 -85
- package/dist/types.backup/vite/plugins/version-injector.d.ts +0 -21
- package/dist/types.backup/vite/plugins/version-plugin.d.ts +0 -19
- package/dist/types.backup/vite/plugins/virtual-entries.d.ts +0 -36
- package/dist/types.backup/vite/plugins/virtual-stub-plugin.d.ts +0 -7
- package/dist/types.backup/vite/rango.d.ts +0 -29
- package/dist/types.backup/vite/router-discovery.d.ts +0 -23
- package/dist/types.backup/vite/utils/ast-handler-extract.d.ts +0 -64
- package/dist/types.backup/vite/utils/banner.d.ts +0 -2
- package/dist/types.backup/vite/utils/bundle-analysis.d.ts +0 -28
- package/dist/types.backup/vite/utils/client-chunks.d.ts +0 -55
- package/dist/types.backup/vite/utils/directive-prologue.d.ts +0 -16
- package/dist/types.backup/vite/utils/forward-user-plugins.d.ts +0 -37
- package/dist/types.backup/vite/utils/manifest-utils.d.ts +0 -7
- package/dist/types.backup/vite/utils/package-resolution.d.ts +0 -6
- package/dist/types.backup/vite/utils/prerender-utils.d.ts +0 -32
- package/dist/types.backup/vite/utils/shared-utils.d.ts +0 -55
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Context passed to cache condition/key/tags functions.
|
|
3
|
-
*
|
|
4
|
-
* This is a subset of RequestContext that's guaranteed to be available
|
|
5
|
-
* during cache key generation (before middleware runs).
|
|
6
|
-
*
|
|
7
|
-
* Note: While the full RequestContext is passed, middleware-set variables
|
|
8
|
-
* read via `ctx.get()` may not be populated yet since cache lookup happens
|
|
9
|
-
* before middleware execution.
|
|
10
|
-
*/
|
|
11
|
-
export type { RequestContext as CacheContext } from "../server/request-context.js";
|
|
12
|
-
/**
|
|
13
|
-
* Cache configuration options for cache() DSL
|
|
14
|
-
*
|
|
15
|
-
* Controls how segments, layouts, and loaders are cached.
|
|
16
|
-
* Cache configuration inherits down the route tree unless overridden.
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* ```typescript
|
|
20
|
-
* // Basic caching with TTL
|
|
21
|
-
* cache({ ttl: 60 }, () => [
|
|
22
|
-
* layout(<BlogLayout />),
|
|
23
|
-
* route("post/:slug"),
|
|
24
|
-
* ])
|
|
25
|
-
*
|
|
26
|
-
* // With stale-while-revalidate
|
|
27
|
-
* cache({ ttl: 60, swr: 300 }, () => [
|
|
28
|
-
* route("product/:id"),
|
|
29
|
-
* ])
|
|
30
|
-
*
|
|
31
|
-
* // Conditional caching
|
|
32
|
-
* cache({
|
|
33
|
-
* ttl: 300,
|
|
34
|
-
* condition: (ctx) => !ctx.request.headers.get('x-preview'),
|
|
35
|
-
* }, () => [...])
|
|
36
|
-
*
|
|
37
|
-
* // Custom cache key
|
|
38
|
-
* cache({
|
|
39
|
-
* ttl: 300,
|
|
40
|
-
* key: (ctx) => `product-${ctx.params.id}-${ctx.searchParams.get('variant')}`,
|
|
41
|
-
* }, () => [...])
|
|
42
|
-
*
|
|
43
|
-
* // With tags for invalidation
|
|
44
|
-
* cache({
|
|
45
|
-
* ttl: 300,
|
|
46
|
-
* tags: (ctx) => [`product:${ctx.params.id}`, 'products'],
|
|
47
|
-
* }, () => [...])
|
|
48
|
-
* ```
|
|
49
|
-
*/
|
|
50
|
-
export interface CacheOptions<TEnv = unknown> {
|
|
51
|
-
/**
|
|
52
|
-
* Time-to-live in seconds.
|
|
53
|
-
* After this period, cached content is considered stale.
|
|
54
|
-
*/
|
|
55
|
-
ttl: number;
|
|
56
|
-
/**
|
|
57
|
-
* Stale-while-revalidate window in seconds (after TTL).
|
|
58
|
-
* During this window, stale content is served immediately while
|
|
59
|
-
* fresh content is fetched in the background via waitUntil.
|
|
60
|
-
*
|
|
61
|
-
* @example
|
|
62
|
-
* // TTL: 60s, SWR: 300s
|
|
63
|
-
* // 0-60s: FRESH (serve from cache)
|
|
64
|
-
* // 60-360s: STALE (serve from cache, revalidate in background)
|
|
65
|
-
* // 360s+: EXPIRED (cache miss, fetch fresh)
|
|
66
|
-
*/
|
|
67
|
-
swr?: number;
|
|
68
|
-
/**
|
|
69
|
-
* Override the cache store for this boundary.
|
|
70
|
-
* When specified, this boundary and its children use this store
|
|
71
|
-
* instead of the app-level store from handler config.
|
|
72
|
-
*
|
|
73
|
-
* Useful for:
|
|
74
|
-
* - Different backends per route section (memory vs KV vs Redis)
|
|
75
|
-
* - Loader-specific caching strategies
|
|
76
|
-
* - Hot data in fast cache, cold data in larger/slower cache
|
|
77
|
-
*
|
|
78
|
-
* Tag invalidation caveat: a per-boundary store becomes reachable by
|
|
79
|
-
* `updateTag()` / `revalidateTag()` once this boundary is resolved in the
|
|
80
|
-
* current process. If the store is *durable* (shared across processes) and the
|
|
81
|
-
* very first request to a fresh worker is an `updateTag`/`revalidateTag` for a
|
|
82
|
-
* tag held only in this store - before this boundary is matched - that
|
|
83
|
-
* invalidation can miss it. For data you invalidate by tag, prefer the
|
|
84
|
-
* app-level store (always reachable), or ensure the boundary is warmed.
|
|
85
|
-
*
|
|
86
|
-
* @example
|
|
87
|
-
* ```typescript
|
|
88
|
-
* const kvStore = new CloudflareKVStore(env.CACHE_KV);
|
|
89
|
-
* const memoryStore = new MemorySegmentCacheStore({ defaults: { ttl: 10 } });
|
|
90
|
-
*
|
|
91
|
-
* // Fast memory cache for hot data
|
|
92
|
-
* cache({ store: memoryStore }, () => [
|
|
93
|
-
* route("dashboard"),
|
|
94
|
-
* ])
|
|
95
|
-
*
|
|
96
|
-
* // KV for larger, less frequently accessed data
|
|
97
|
-
* cache({ store: kvStore, ttl: 3600 }, () => [
|
|
98
|
-
* route("archive/:year"),
|
|
99
|
-
* ])
|
|
100
|
-
* ```
|
|
101
|
-
*/
|
|
102
|
-
store?: import("../cache/types.js").SegmentCacheStore;
|
|
103
|
-
/**
|
|
104
|
-
* Conditional cache read function.
|
|
105
|
-
* Return false to skip cache for this request (always fetch fresh).
|
|
106
|
-
*
|
|
107
|
-
* Has access to full RequestContext including env, request, params, cookies, etc.
|
|
108
|
-
* Note: Middleware-set variables read via `ctx.get()` may not be populated yet.
|
|
109
|
-
*
|
|
110
|
-
* @example
|
|
111
|
-
* ```typescript
|
|
112
|
-
* condition: (ctx) => {
|
|
113
|
-
* // Skip cache for preview mode
|
|
114
|
-
* if (ctx.request.headers.get('x-preview')) return false;
|
|
115
|
-
* // Skip cache for authenticated users
|
|
116
|
-
* if (ctx.request.headers.has('authorization')) return false;
|
|
117
|
-
* return true;
|
|
118
|
-
* }
|
|
119
|
-
* ```
|
|
120
|
-
*/
|
|
121
|
-
condition?: (ctx: import("../server/request-context.js").RequestContext<TEnv>) => boolean;
|
|
122
|
-
/**
|
|
123
|
-
* Custom cache key function - FULL OVERRIDE.
|
|
124
|
-
* Bypasses default key generation AND store's keyGenerator.
|
|
125
|
-
*
|
|
126
|
-
* Has access to full RequestContext including env, request, params, cookies, etc.
|
|
127
|
-
* Note: Middleware-set variables read via `ctx.get()` may not be populated yet.
|
|
128
|
-
*
|
|
129
|
-
* @example
|
|
130
|
-
* ```typescript
|
|
131
|
-
* // Include query params in cache key
|
|
132
|
-
* key: (ctx) => `product-${ctx.params.id}-${ctx.searchParams.get('variant')}`
|
|
133
|
-
*
|
|
134
|
-
* // Include env bindings
|
|
135
|
-
* key: (ctx) => `${ctx.env.REGION}:product:${ctx.params.id}`
|
|
136
|
-
*
|
|
137
|
-
* // Include cookies
|
|
138
|
-
* key: (ctx) => `${cookies().get('locale')?.value ?? 'en'}:${ctx.pathname}`
|
|
139
|
-
* ```
|
|
140
|
-
*/
|
|
141
|
-
key?: (ctx: import("../server/request-context.js").RequestContext<TEnv>) => string | Promise<string>;
|
|
142
|
-
/**
|
|
143
|
-
* Tags for cache invalidation.
|
|
144
|
-
* Can be a static array or a function that returns tags.
|
|
145
|
-
*
|
|
146
|
-
* The built-in `MemorySegmentCacheStore` and `CFCacheStore` index by tag.
|
|
147
|
-
* Invalidate on demand with `updateTag(...tags)` (awaitable, read-your-own-writes;
|
|
148
|
-
* for server actions) or `revalidateTag(...tags)` (background hard-purge, not
|
|
149
|
-
* awaited; for route handlers / webhooks). For `CFCacheStore`, distributed
|
|
150
|
-
* invalidation requires a `kv` namespace (markers live in that same namespace).
|
|
151
|
-
*
|
|
152
|
-
* @example
|
|
153
|
-
* ```typescript
|
|
154
|
-
* // Static tags
|
|
155
|
-
* tags: ['products', 'catalog']
|
|
156
|
-
*
|
|
157
|
-
* // Dynamic tags
|
|
158
|
-
* tags: (ctx) => [`product:${ctx.params.id}`, 'products']
|
|
159
|
-
* ```
|
|
160
|
-
*/
|
|
161
|
-
tags?: string[] | ((ctx: import("../server/request-context.js").RequestContext<TEnv>) => string[]);
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* Partial cache options for cache() DSL.
|
|
165
|
-
*
|
|
166
|
-
* When `ttl` is not specified, it will use the default from cache config.
|
|
167
|
-
* This allows cache() calls to inherit app-level defaults:
|
|
168
|
-
*
|
|
169
|
-
* @example
|
|
170
|
-
* ```typescript
|
|
171
|
-
* // App-level default (in handler config)
|
|
172
|
-
* cache: { store: myStore, defaults: { ttl: 60 } }
|
|
173
|
-
*
|
|
174
|
-
* // Route-level (inherits ttl from defaults)
|
|
175
|
-
* cache(() => [
|
|
176
|
-
* route("products"),
|
|
177
|
-
* ])
|
|
178
|
-
*
|
|
179
|
-
* // Override with explicit ttl
|
|
180
|
-
* cache({ ttl: 300 }, () => [...])
|
|
181
|
-
* ```
|
|
182
|
-
*/
|
|
183
|
-
export type PartialCacheOptions<TEnv = unknown> = Partial<CacheOptions<TEnv>>;
|
|
184
|
-
/**
|
|
185
|
-
* Cache entry configuration stored in EntryData.
|
|
186
|
-
* Represents the resolved cache config for a segment.
|
|
187
|
-
*/
|
|
188
|
-
export interface EntryCacheConfig {
|
|
189
|
-
/** Cache options (false means caching disabled for this entry) - ttl is optional, uses defaults */
|
|
190
|
-
options: PartialCacheOptions | false;
|
|
191
|
-
}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Phase where the error occurred during request handling.
|
|
3
|
-
*
|
|
4
|
-
* Coverage notes:
|
|
5
|
-
* - "routing": Invoked when route matching fails (router.ts, rsc/handler.ts)
|
|
6
|
-
* - "manifest": Reserved for manifest loading errors (not currently invoked)
|
|
7
|
-
* - "middleware": Reserved for middleware execution errors (errors propagate to handler phase)
|
|
8
|
-
* - "loader": Invoked when loader execution fails (router.ts via wrapLoaderWithErrorHandling, rsc/handler.ts)
|
|
9
|
-
* - "handler": Invoked when route/layout handler execution fails (router.ts)
|
|
10
|
-
* - "rendering": Invoked during SSR rendering errors (ssr/index.tsx, separate callback)
|
|
11
|
-
* - "action": Invoked when server action execution fails (rsc/handler.ts, router.ts)
|
|
12
|
-
* - "revalidation": Invoked when revalidation fails (router.ts, conditional with action)
|
|
13
|
-
* - "origin": Invoked when cross-origin request validation rejects a request (rsc/handler.ts)
|
|
14
|
-
* - "unknown": Fallback for unclassified errors (not currently invoked)
|
|
15
|
-
*/
|
|
16
|
-
export type ErrorPhase = "routing" | "manifest" | "middleware" | "loader" | "handler" | "rendering" | "action" | "revalidation" | "cache" | "prerender" | "static" | "origin" | "unknown";
|
|
17
|
-
/**
|
|
18
|
-
* Comprehensive context passed to onError callback
|
|
19
|
-
*
|
|
20
|
-
* Provides all available information about where and when an error occurred
|
|
21
|
-
* during request handling. The callback can use this for logging, monitoring,
|
|
22
|
-
* error tracking services, or custom error responses.
|
|
23
|
-
*
|
|
24
|
-
* @example
|
|
25
|
-
* ```typescript
|
|
26
|
-
* const router = createRouter<AppEnv>({
|
|
27
|
-
* onError: (context) => {
|
|
28
|
-
* // Log to error tracking service
|
|
29
|
-
* errorTracker.capture({
|
|
30
|
-
* error: context.error,
|
|
31
|
-
* phase: context.phase,
|
|
32
|
-
* url: context.request.url,
|
|
33
|
-
* route: context.routeKey,
|
|
34
|
-
* userId: context.env?.user?.id,
|
|
35
|
-
* });
|
|
36
|
-
*
|
|
37
|
-
* // Log to console with context
|
|
38
|
-
* console.error(`[${context.phase}] Error in ${context.routeKey}:`, {
|
|
39
|
-
* message: context.error.message,
|
|
40
|
-
* segment: context.segmentId,
|
|
41
|
-
* duration: context.duration,
|
|
42
|
-
* });
|
|
43
|
-
* },
|
|
44
|
-
* });
|
|
45
|
-
* ```
|
|
46
|
-
*/
|
|
47
|
-
export interface OnErrorContext<TEnv = any> {
|
|
48
|
-
error: Error;
|
|
49
|
-
phase: ErrorPhase;
|
|
50
|
-
request: Request;
|
|
51
|
-
url: URL;
|
|
52
|
-
pathname: string;
|
|
53
|
-
method: string;
|
|
54
|
-
/** Matched route key (if available) e.g., "shop.products.detail" */
|
|
55
|
-
routeKey?: string;
|
|
56
|
-
/** Route params (if available) e.g., { slug: "headphones" } */
|
|
57
|
-
params?: Record<string, string>;
|
|
58
|
-
/** Segment ID where error occurred (if available) e.g., "M1L0" for a layout, "M1R0" for a route */
|
|
59
|
-
segmentId?: string;
|
|
60
|
-
/** Segment type where error occurred (if available) */
|
|
61
|
-
segmentType?: "layout" | "route" | "parallel" | "loader" | "middleware";
|
|
62
|
-
/** Loader name (if error occurred in a loader) */
|
|
63
|
-
loaderName?: string;
|
|
64
|
-
/** Middleware name/id (if error occurred in middleware) */
|
|
65
|
-
middlewareId?: string;
|
|
66
|
-
/** Action ID (if error occurred during server action) e.g., "src/actions.ts#addToCart" */
|
|
67
|
-
actionId?: string;
|
|
68
|
-
/** Environment/bindings (platform context) */
|
|
69
|
-
env?: TEnv;
|
|
70
|
-
/** Duration from request start to error (milliseconds) */
|
|
71
|
-
duration?: number;
|
|
72
|
-
/** Whether this is a partial/navigation request */
|
|
73
|
-
isPartial?: boolean;
|
|
74
|
-
/** Whether an error boundary caught the error */
|
|
75
|
-
handledByBoundary?: boolean;
|
|
76
|
-
/** Stack trace (if available) */
|
|
77
|
-
stack?: string;
|
|
78
|
-
/**
|
|
79
|
-
* Additional metadata specific to the error phase. For the `cache` phase,
|
|
80
|
-
* `metadata.category` is a `CacheErrorCategory` (exported from
|
|
81
|
-
* `@rangojs/router/cache`) identifying the failure kind, e.g. `cache-read`
|
|
82
|
-
* (transient outage, degraded to a miss) vs `cache-corrupt` (faulty entry
|
|
83
|
-
* self-healed) vs `cache-invalidate` (a failed background revalidateTag).
|
|
84
|
-
*/
|
|
85
|
-
metadata?: Record<string, unknown>;
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Callback function for error handling
|
|
89
|
-
*
|
|
90
|
-
* Called whenever an error occurs during request handling.
|
|
91
|
-
* The callback is for notification/logging purposes - it cannot
|
|
92
|
-
* modify the error handling flow (use errorBoundary for that).
|
|
93
|
-
*
|
|
94
|
-
* @param context - Comprehensive error context
|
|
95
|
-
*
|
|
96
|
-
* @example
|
|
97
|
-
* ```typescript
|
|
98
|
-
* const onError: OnErrorCallback = (context) => {
|
|
99
|
-
* // Send to error tracking service
|
|
100
|
-
* Sentry.captureException(context.error, {
|
|
101
|
-
* tags: {
|
|
102
|
-
* phase: context.phase,
|
|
103
|
-
* route: context.routeKey,
|
|
104
|
-
* },
|
|
105
|
-
* extra: {
|
|
106
|
-
* url: context.url.toString(),
|
|
107
|
-
* params: context.params,
|
|
108
|
-
* duration: context.duration,
|
|
109
|
-
* },
|
|
110
|
-
* });
|
|
111
|
-
* };
|
|
112
|
-
* ```
|
|
113
|
-
*/
|
|
114
|
-
export type OnErrorCallback<TEnv = any> = (context: OnErrorContext<TEnv>) => void | Promise<void>;
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Global namespace for module augmentation
|
|
3
|
-
*
|
|
4
|
-
* Users augment these interfaces for type-safe context:
|
|
5
|
-
*
|
|
6
|
-
* @example
|
|
7
|
-
* ```typescript
|
|
8
|
-
* // In env.ts or env.d.ts
|
|
9
|
-
* declare global {
|
|
10
|
-
* namespace Rango {
|
|
11
|
-
* interface Env extends AppBindings {}
|
|
12
|
-
* interface Vars extends AppVariables {}
|
|
13
|
-
* }
|
|
14
|
-
* }
|
|
15
|
-
*
|
|
16
|
-
* // Now all handlers have type-safe context without imports!
|
|
17
|
-
* // ctx.env.DB, ctx.get("user"), etc.
|
|
18
|
-
* ```
|
|
19
|
-
*/
|
|
20
|
-
declare global {
|
|
21
|
-
namespace Rango {
|
|
22
|
-
interface Env {
|
|
23
|
-
}
|
|
24
|
-
interface Vars {
|
|
25
|
-
}
|
|
26
|
-
interface RegisteredRoutes {
|
|
27
|
-
}
|
|
28
|
-
interface GeneratedRouteMap {
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Route map for path-validation surfaces (`href`, `ValidPaths`, `PathResponse`).
|
|
34
|
-
*
|
|
35
|
-
* Resolution order:
|
|
36
|
-
* 1. `RegisteredRoutes` — manual `extends typeof router.routeMap`; richest map,
|
|
37
|
-
* the only one carrying response-route payload metadata.
|
|
38
|
-
* 2. `GeneratedRouteMap` — auto-wired by `router.named-routes.gen.ts`; path +
|
|
39
|
-
* search only. Lets `rango generate` alone enable `href()`/`ValidPaths` path
|
|
40
|
-
* checking without a manual `RegisteredRoutes` declaration.
|
|
41
|
-
* 3. `Record<string, string>` — permissive fallback when nothing is registered.
|
|
42
|
-
*
|
|
43
|
-
* Referencing `GeneratedRouteMap` here is cycle-safe: it is declared in the
|
|
44
|
-
* standalone gen file with no imports, unlike `RegisteredRoutes extends typeof
|
|
45
|
-
* router.routeMap`.
|
|
46
|
-
*/
|
|
47
|
-
export type GetRegisteredRoutes = keyof Rango.RegisteredRoutes extends never ? keyof Rango.GeneratedRouteMap extends never ? Record<string, string> : Rango.GeneratedRouteMap : Rango.RegisteredRoutes;
|
|
48
|
-
/**
|
|
49
|
-
* Default route map for reverse() surfaces.
|
|
50
|
-
* Prefers GeneratedRouteMap to avoid router.tsx -> urls.tsx -> types -> router.tsx
|
|
51
|
-
* cycles, but falls back to RegisteredRoutes for manual augmentation and then to
|
|
52
|
-
* a permissive record when no route types are available.
|
|
53
|
-
*/
|
|
54
|
-
export type DefaultReverseRouteMap = keyof Rango.GeneratedRouteMap extends never ? keyof Rango.RegisteredRoutes extends never ? Record<string, string> : Rango.RegisteredRoutes : Rango.GeneratedRouteMap;
|
|
55
|
-
/**
|
|
56
|
-
* Default route map for Handler type.
|
|
57
|
-
* Uses GeneratedRouteMap (from gen file) instead of RegisteredRoutes to avoid
|
|
58
|
-
* circular dependencies: router.tsx -> urls.tsx -> handler.tsx -> RegisteredRoutes -> router.tsx.
|
|
59
|
-
* GeneratedRouteMap is declared in a standalone gen file with no imports.
|
|
60
|
-
*/
|
|
61
|
-
export type DefaultHandlerRouteMap = keyof Rango.GeneratedRouteMap extends never ? {} : Rango.GeneratedRouteMap;
|
|
62
|
-
/**
|
|
63
|
-
* Default environment type - uses global augmentation if available.
|
|
64
|
-
*
|
|
65
|
-
* Falls back to `unknown` (not `any`) when `Rango.Env` is not augmented, so
|
|
66
|
-
* an app that forgets to register its bindings gets a compile error on
|
|
67
|
-
* `ctx.env.SOMETHING` instead of silently losing all env type-checking. Augment
|
|
68
|
-
* `Rango.Env` to type `ctx.env`.
|
|
69
|
-
*/
|
|
70
|
-
export type DefaultEnv = keyof Rango.Env extends never ? unknown : Rango.Env;
|
|
71
|
-
/**
|
|
72
|
-
* Variables type backing the string-key `ctx.get` / `ctx.set` overloads.
|
|
73
|
-
*
|
|
74
|
-
* Uses `Rango.Vars` augmentation when present; otherwise falls back to
|
|
75
|
-
* `Record<string, any>` so an un-augmented app can use string-key vars with
|
|
76
|
-
* zero config -- at the cost of a typo'd key being silently `any`.
|
|
77
|
-
*
|
|
78
|
-
* This `any` fallback is deliberate (see #561) and is an intentional asymmetry
|
|
79
|
-
* with `DefaultEnv` above, which falls back to `unknown`: env bindings are
|
|
80
|
-
* platform-critical and should be registered, so a forgotten binding is made a
|
|
81
|
-
* compile error; vars are ad-hoc and middleware-set, so the zero-config path
|
|
82
|
-
* wins. Augment `Rango.Vars` for type-safe keys.
|
|
83
|
-
*/
|
|
84
|
-
export type DefaultVars = keyof Rango.Vars extends never ? Record<string, any> : Rango.Vars;
|
|
85
|
-
/**
|
|
86
|
-
* Default route name type for public `routeName` on contexts.
|
|
87
|
-
* When GeneratedRouteMap is augmented, narrows to the known route names.
|
|
88
|
-
* Otherwise falls back to `string` for untyped usage.
|
|
89
|
-
*/
|
|
90
|
-
export type DefaultRouteName = keyof Rango.GeneratedRouteMap extends never ? string : keyof Rango.GeneratedRouteMap & string;
|