@rangojs/router 0.4.0 → 0.4.2
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 +19 -1
- package/dist/__internal.d.ts +83 -0
- package/dist/__internal.d.ts.map +1 -0
- package/dist/__internal.js +19 -0
- package/dist/__internal.js.map +1 -0
- package/dist/__mocks__/version.d.ts +7 -0
- package/dist/__mocks__/version.d.ts.map +1 -0
- package/dist/__mocks__/version.js +7 -0
- package/dist/__mocks__/version.js.map +1 -0
- package/dist/__tests__/client-href.test.d.ts +2 -0
- package/dist/__tests__/client-href.test.d.ts.map +1 -0
- package/dist/__tests__/client-href.test.js +74 -0
- package/dist/__tests__/client-href.test.js.map +1 -0
- package/dist/__tests__/component-utils.test.d.ts +2 -0
- package/dist/__tests__/component-utils.test.d.ts.map +1 -0
- package/dist/__tests__/component-utils.test.js +51 -0
- package/dist/__tests__/component-utils.test.js.map +1 -0
- package/dist/__tests__/event-controller.test.d.ts +2 -0
- package/dist/__tests__/event-controller.test.d.ts.map +1 -0
- package/dist/__tests__/event-controller.test.js +538 -0
- package/dist/__tests__/event-controller.test.js.map +1 -0
- package/dist/__tests__/helpers/route-tree.d.ts +118 -0
- package/dist/__tests__/helpers/route-tree.d.ts.map +1 -0
- package/dist/__tests__/helpers/route-tree.js +374 -0
- package/dist/__tests__/helpers/route-tree.js.map +1 -0
- package/dist/__tests__/match-result.test.d.ts +2 -0
- package/dist/__tests__/match-result.test.d.ts.map +1 -0
- package/dist/__tests__/match-result.test.js +154 -0
- package/dist/__tests__/match-result.test.js.map +1 -0
- package/dist/__tests__/navigation-store.test.d.ts +2 -0
- package/dist/__tests__/navigation-store.test.d.ts.map +1 -0
- package/dist/__tests__/navigation-store.test.js +440 -0
- package/dist/__tests__/navigation-store.test.js.map +1 -0
- package/dist/__tests__/partial-update.test.d.ts +2 -0
- package/dist/__tests__/partial-update.test.d.ts.map +1 -0
- package/dist/__tests__/partial-update.test.js +1009 -0
- package/dist/__tests__/partial-update.test.js.map +1 -0
- package/dist/__tests__/reverse-types.test.d.ts +8 -0
- package/dist/__tests__/reverse-types.test.d.ts.map +1 -0
- package/dist/__tests__/reverse-types.test.js +656 -0
- package/dist/__tests__/reverse-types.test.js.map +1 -0
- package/dist/__tests__/route-definition.test.d.ts +2 -0
- package/dist/__tests__/route-definition.test.d.ts.map +1 -0
- package/dist/__tests__/route-definition.test.js +55 -0
- package/dist/__tests__/route-definition.test.js.map +1 -0
- package/dist/__tests__/router-helpers.test.d.ts +2 -0
- package/dist/__tests__/router-helpers.test.d.ts.map +1 -0
- package/dist/__tests__/router-helpers.test.js +377 -0
- package/dist/__tests__/router-helpers.test.js.map +1 -0
- package/dist/__tests__/router-integration-2.test.d.ts +2 -0
- package/dist/__tests__/router-integration-2.test.d.ts.map +1 -0
- package/dist/__tests__/router-integration-2.test.js +426 -0
- package/dist/__tests__/router-integration-2.test.js.map +1 -0
- package/dist/__tests__/router-integration.test.d.ts +2 -0
- package/dist/__tests__/router-integration.test.d.ts.map +1 -0
- package/dist/__tests__/router-integration.test.js +1051 -0
- package/dist/__tests__/router-integration.test.js.map +1 -0
- package/dist/__tests__/search-params.test.d.ts +5 -0
- package/dist/__tests__/search-params.test.d.ts.map +1 -0
- package/dist/__tests__/search-params.test.js +306 -0
- package/dist/__tests__/search-params.test.js.map +1 -0
- package/dist/__tests__/segment-system.test.d.ts +2 -0
- package/dist/__tests__/segment-system.test.d.ts.map +1 -0
- package/dist/__tests__/segment-system.test.js +627 -0
- package/dist/__tests__/segment-system.test.js.map +1 -0
- package/dist/__tests__/static-handler-types.test.d.ts +8 -0
- package/dist/__tests__/static-handler-types.test.d.ts.map +1 -0
- package/dist/__tests__/static-handler-types.test.js +63 -0
- package/dist/__tests__/static-handler-types.test.js.map +1 -0
- package/dist/__tests__/urls.test.d.ts +2 -0
- package/dist/__tests__/urls.test.d.ts.map +1 -0
- package/dist/__tests__/urls.test.js +421 -0
- package/dist/__tests__/urls.test.js.map +1 -0
- package/dist/__tests__/use-mount.test.d.ts +2 -0
- package/dist/__tests__/use-mount.test.d.ts.map +1 -0
- package/dist/__tests__/use-mount.test.js +35 -0
- package/dist/__tests__/use-mount.test.js.map +1 -0
- package/dist/bin/rango.d.ts +2 -0
- package/dist/bin/rango.d.ts.map +1 -0
- package/dist/bin/rango.js.map +1 -0
- package/dist/browser/event-controller.d.ts +191 -0
- package/dist/browser/event-controller.d.ts.map +1 -0
- package/dist/browser/event-controller.js +559 -0
- package/dist/browser/event-controller.js.map +1 -0
- package/dist/browser/index.d.ts +2 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +14 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/link-interceptor.d.ts +38 -0
- package/dist/browser/link-interceptor.d.ts.map +1 -0
- package/dist/browser/link-interceptor.js +99 -0
- package/dist/browser/link-interceptor.js.map +1 -0
- package/dist/browser/logging.d.ts +10 -0
- package/dist/browser/logging.d.ts.map +1 -0
- package/dist/browser/logging.js +29 -0
- package/dist/browser/logging.js.map +1 -0
- package/dist/browser/lru-cache.d.ts +17 -0
- package/dist/browser/lru-cache.d.ts.map +1 -0
- package/dist/browser/lru-cache.js +50 -0
- package/dist/browser/lru-cache.js.map +1 -0
- package/dist/browser/merge-segment-loaders.d.ts +39 -0
- package/dist/browser/merge-segment-loaders.d.ts.map +1 -0
- package/dist/browser/merge-segment-loaders.js +102 -0
- package/dist/browser/merge-segment-loaders.js.map +1 -0
- package/dist/browser/navigation-bridge.d.ts +102 -0
- package/dist/browser/navigation-bridge.d.ts.map +1 -0
- package/dist/browser/navigation-bridge.js +708 -0
- package/dist/browser/navigation-bridge.js.map +1 -0
- package/dist/browser/navigation-client.d.ts +25 -0
- package/dist/browser/navigation-client.d.ts.map +1 -0
- package/dist/browser/navigation-client.js +157 -0
- package/dist/browser/navigation-client.js.map +1 -0
- package/dist/browser/navigation-store.d.ts +101 -0
- package/dist/browser/navigation-store.d.ts.map +1 -0
- package/dist/browser/navigation-store.js +625 -0
- package/dist/browser/navigation-store.js.map +1 -0
- package/dist/browser/partial-update.d.ts +75 -0
- package/dist/browser/partial-update.d.ts.map +1 -0
- package/dist/browser/partial-update.js +426 -0
- package/dist/browser/partial-update.js.map +1 -0
- package/dist/browser/react/Link.d.ts +86 -0
- package/dist/browser/react/Link.d.ts.map +1 -0
- package/dist/browser/react/Link.js +128 -0
- package/dist/browser/react/Link.js.map +1 -0
- package/dist/browser/react/NavigationProvider.d.ts +63 -0
- package/dist/browser/react/NavigationProvider.d.ts.map +1 -0
- package/dist/browser/react/NavigationProvider.js +216 -0
- package/dist/browser/react/NavigationProvider.js.map +1 -0
- package/dist/browser/react/ScrollRestoration.d.ts +75 -0
- package/dist/browser/react/ScrollRestoration.d.ts.map +1 -0
- package/dist/browser/react/ScrollRestoration.js +57 -0
- package/dist/browser/react/ScrollRestoration.js.map +1 -0
- package/dist/browser/react/context.d.ts +46 -0
- package/dist/browser/react/context.d.ts.map +1 -0
- package/dist/browser/react/context.js +10 -0
- package/dist/browser/react/context.js.map +1 -0
- package/dist/browser/react/index.d.ts +11 -0
- package/dist/browser/react/index.d.ts.map +1 -0
- package/dist/browser/react/index.js +22 -0
- package/dist/browser/react/index.js.map +1 -0
- package/dist/browser/react/location-state-shared.d.ts +63 -0
- package/dist/browser/react/location-state-shared.d.ts.map +1 -0
- package/dist/browser/react/location-state-shared.js +81 -0
- package/dist/browser/react/location-state-shared.js.map +1 -0
- package/dist/browser/react/location-state.d.ts +23 -0
- package/dist/browser/react/location-state.d.ts.map +1 -0
- package/dist/browser/react/location-state.js +29 -0
- package/dist/browser/react/location-state.js.map +1 -0
- package/dist/browser/react/mount-context.d.ts +24 -0
- package/dist/browser/react/mount-context.d.ts.map +1 -0
- package/dist/browser/react/mount-context.js +24 -0
- package/dist/browser/react/mount-context.js.map +1 -0
- package/dist/browser/react/use-action.d.ts +64 -0
- package/dist/browser/react/use-action.d.ts.map +1 -0
- package/dist/browser/react/use-action.js +134 -0
- package/dist/browser/react/use-action.js.map +1 -0
- package/dist/browser/react/use-client-cache.d.ts +41 -0
- package/dist/browser/react/use-client-cache.d.ts.map +1 -0
- package/dist/browser/react/use-client-cache.js +39 -0
- package/dist/browser/react/use-client-cache.js.map +1 -0
- package/dist/browser/react/use-handle.d.ts +31 -0
- package/dist/browser/react/use-handle.d.ts.map +1 -0
- package/dist/browser/react/use-handle.js +144 -0
- package/dist/browser/react/use-handle.js.map +1 -0
- package/dist/browser/react/use-href.d.ts +33 -0
- package/dist/browser/react/use-href.d.ts.map +1 -0
- package/dist/browser/react/use-href.js +39 -0
- package/dist/browser/react/use-href.js.map +1 -0
- package/dist/browser/react/use-link-status.d.ts +37 -0
- package/dist/browser/react/use-link-status.d.ts.map +1 -0
- package/dist/browser/react/use-link-status.js +99 -0
- package/dist/browser/react/use-link-status.js.map +1 -0
- package/dist/browser/react/use-mount.d.ts +25 -0
- package/dist/browser/react/use-mount.d.ts.map +1 -0
- package/dist/browser/react/use-mount.js +30 -0
- package/dist/browser/react/use-mount.js.map +1 -0
- package/dist/browser/react/use-navigation.d.ts +27 -0
- package/dist/browser/react/use-navigation.d.ts.map +1 -0
- package/dist/browser/react/use-navigation.js +87 -0
- package/dist/browser/react/use-navigation.js.map +1 -0
- package/dist/browser/react/use-segments.d.ts +38 -0
- package/dist/browser/react/use-segments.d.ts.map +1 -0
- package/dist/browser/react/use-segments.js +130 -0
- package/dist/browser/react/use-segments.js.map +1 -0
- package/dist/browser/request-controller.d.ts +26 -0
- package/dist/browser/request-controller.d.ts.map +1 -0
- package/dist/browser/request-controller.js +147 -0
- package/dist/browser/request-controller.js.map +1 -0
- package/dist/browser/rsc-router.d.ts +129 -0
- package/dist/browser/rsc-router.d.ts.map +1 -0
- package/dist/browser/rsc-router.js +195 -0
- package/dist/browser/rsc-router.js.map +1 -0
- package/dist/browser/scroll-restoration.d.ts +93 -0
- package/dist/browser/scroll-restoration.d.ts.map +1 -0
- package/dist/browser/scroll-restoration.js +321 -0
- package/dist/browser/scroll-restoration.js.map +1 -0
- package/dist/browser/segment-structure-assert.d.ts +17 -0
- package/dist/browser/segment-structure-assert.d.ts.map +1 -0
- package/dist/browser/segment-structure-assert.js +59 -0
- package/dist/browser/segment-structure-assert.js.map +1 -0
- package/dist/browser/server-action-bridge.d.ts +26 -0
- package/dist/browser/server-action-bridge.d.ts.map +1 -0
- package/dist/browser/server-action-bridge.js +668 -0
- package/dist/browser/server-action-bridge.js.map +1 -0
- package/dist/browser/shallow.d.ts +12 -0
- package/dist/browser/shallow.d.ts.map +1 -0
- package/dist/browser/shallow.js +34 -0
- package/dist/browser/shallow.js.map +1 -0
- package/dist/browser/types.d.ts +369 -0
- package/dist/browser/types.d.ts.map +1 -0
- package/dist/browser/types.js +2 -0
- package/dist/browser/types.js.map +1 -0
- package/dist/build/__tests__/generate-cli.test.d.ts +2 -0
- package/dist/build/__tests__/generate-cli.test.d.ts.map +1 -0
- package/dist/build/__tests__/generate-cli.test.js +237 -0
- package/dist/build/__tests__/generate-cli.test.js.map +1 -0
- package/dist/build/__tests__/generate-manifest.test.d.ts +2 -0
- package/dist/build/__tests__/generate-manifest.test.d.ts.map +1 -0
- package/dist/build/__tests__/generate-manifest.test.js +119 -0
- package/dist/build/__tests__/generate-manifest.test.js.map +1 -0
- package/dist/build/__tests__/generate-route-types.test.d.ts +2 -0
- package/dist/build/__tests__/generate-route-types.test.d.ts.map +1 -0
- package/dist/build/__tests__/generate-route-types.test.js +620 -0
- package/dist/build/__tests__/generate-route-types.test.js.map +1 -0
- package/dist/build/__tests__/per-router-manifest.test.d.ts +2 -0
- package/dist/build/__tests__/per-router-manifest.test.d.ts.map +1 -0
- package/dist/build/__tests__/per-router-manifest.test.js +308 -0
- package/dist/build/__tests__/per-router-manifest.test.js.map +1 -0
- package/dist/build/generate-manifest.d.ts +81 -0
- package/dist/build/generate-manifest.d.ts.map +1 -0
- package/dist/build/generate-manifest.js +276 -0
- package/dist/build/generate-manifest.js.map +1 -0
- package/dist/build/generate-route-types.d.ts +115 -0
- package/dist/build/generate-route-types.d.ts.map +1 -0
- package/dist/build/generate-route-types.js +740 -0
- package/dist/build/generate-route-types.js.map +1 -0
- package/dist/build/index.d.ts +21 -0
- package/dist/build/index.d.ts.map +1 -0
- package/dist/build/index.js +21 -0
- package/dist/build/index.js.map +1 -0
- package/dist/build/route-trie.d.ts +71 -0
- package/dist/build/route-trie.d.ts.map +1 -0
- package/dist/build/route-trie.js +175 -0
- package/dist/build/route-trie.js.map +1 -0
- package/dist/cache/__tests__/cache-scope.test.d.ts +2 -0
- package/dist/cache/__tests__/cache-scope.test.d.ts.map +1 -0
- package/dist/cache/__tests__/cache-scope.test.js +208 -0
- package/dist/cache/__tests__/cache-scope.test.js.map +1 -0
- package/dist/cache/__tests__/document-cache.test.d.ts +2 -0
- package/dist/cache/__tests__/document-cache.test.d.ts.map +1 -0
- package/dist/cache/__tests__/document-cache.test.js +345 -0
- package/dist/cache/__tests__/document-cache.test.js.map +1 -0
- package/dist/cache/__tests__/memory-segment-store.test.d.ts +2 -0
- package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +1 -0
- package/dist/cache/__tests__/memory-segment-store.test.js +425 -0
- package/dist/cache/__tests__/memory-segment-store.test.js.map +1 -0
- package/dist/cache/__tests__/memory-store.test.d.ts +2 -0
- package/dist/cache/__tests__/memory-store.test.d.ts.map +1 -0
- package/dist/cache/__tests__/memory-store.test.js +367 -0
- package/dist/cache/__tests__/memory-store.test.js.map +1 -0
- package/dist/cache/cache-scope.d.ts +102 -0
- package/dist/cache/cache-scope.d.ts.map +1 -0
- package/dist/cache/cache-scope.js +440 -0
- package/dist/cache/cache-scope.js.map +1 -0
- package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +2 -0
- package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +1 -0
- package/dist/cache/cf/__tests__/cf-cache-store.test.js +330 -0
- package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +1 -0
- package/dist/cache/cf/cf-cache-store.d.ts +165 -0
- package/dist/cache/cf/cf-cache-store.d.ts.map +1 -0
- package/dist/cache/cf/cf-cache-store.js +242 -0
- package/dist/cache/cf/cf-cache-store.js.map +1 -0
- package/dist/cache/cf/index.d.ts +14 -0
- package/dist/cache/cf/index.d.ts.map +1 -0
- package/dist/cache/cf/index.js +17 -0
- package/dist/cache/cf/index.js.map +1 -0
- package/dist/cache/document-cache.d.ts +64 -0
- package/dist/cache/document-cache.d.ts.map +1 -0
- package/dist/cache/document-cache.js +228 -0
- package/dist/cache/document-cache.js.map +1 -0
- package/dist/cache/index.d.ts +19 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +21 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cache/memory-segment-store.d.ts +110 -0
- package/dist/cache/memory-segment-store.d.ts.map +1 -0
- package/dist/cache/memory-segment-store.js +117 -0
- package/dist/cache/memory-segment-store.js.map +1 -0
- package/dist/cache/memory-store.d.ts +41 -0
- package/dist/cache/memory-store.d.ts.map +1 -0
- package/dist/cache/memory-store.js +191 -0
- package/dist/cache/memory-store.js.map +1 -0
- package/dist/cache/types.d.ts +317 -0
- package/dist/cache/types.d.ts.map +1 -0
- package/dist/cache/types.js +12 -0
- package/dist/cache/types.js.map +1 -0
- package/dist/client.d.ts +248 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +367 -0
- package/dist/client.js.map +1 -0
- package/dist/client.rsc.d.ts +26 -0
- package/dist/client.rsc.d.ts.map +1 -0
- package/dist/client.rsc.js +46 -0
- package/dist/client.rsc.js.map +1 -0
- package/dist/component-utils.d.ts +36 -0
- package/dist/component-utils.d.ts.map +1 -0
- package/dist/component-utils.js +61 -0
- package/dist/component-utils.js.map +1 -0
- package/dist/components/DefaultDocument.d.ts +13 -0
- package/dist/components/DefaultDocument.d.ts.map +1 -0
- package/dist/components/DefaultDocument.js +15 -0
- package/dist/components/DefaultDocument.js.map +1 -0
- package/dist/debug.d.ts +58 -0
- package/dist/debug.d.ts.map +1 -0
- package/dist/debug.js +157 -0
- package/dist/debug.js.map +1 -0
- package/dist/default-error-boundary.d.ts +11 -0
- package/dist/default-error-boundary.d.ts.map +1 -0
- package/dist/default-error-boundary.js +45 -0
- package/dist/default-error-boundary.js.map +1 -0
- package/dist/deps/browser.d.ts +2 -0
- package/dist/deps/browser.d.ts.map +1 -0
- package/dist/deps/browser.js +3 -0
- package/dist/deps/browser.js.map +1 -0
- package/dist/deps/html-stream-client.d.ts +2 -0
- package/dist/deps/html-stream-client.d.ts.map +1 -0
- package/dist/deps/html-stream-client.js +3 -0
- package/dist/deps/html-stream-client.js.map +1 -0
- package/dist/deps/html-stream-server.d.ts +2 -0
- package/dist/deps/html-stream-server.d.ts.map +1 -0
- package/dist/deps/html-stream-server.js +3 -0
- package/dist/deps/html-stream-server.js.map +1 -0
- package/dist/deps/rsc.d.ts +2 -0
- package/dist/deps/rsc.d.ts.map +1 -0
- package/dist/deps/rsc.js +4 -0
- package/dist/deps/rsc.js.map +1 -0
- package/dist/deps/ssr.d.ts +2 -0
- package/dist/deps/ssr.d.ts.map +1 -0
- package/dist/deps/ssr.js +3 -0
- package/dist/deps/ssr.js.map +1 -0
- package/dist/errors.d.ts +174 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +241 -0
- package/dist/errors.js.map +1 -0
- package/dist/handle.d.ts +78 -0
- package/dist/handle.d.ts.map +1 -0
- package/dist/handle.js +82 -0
- package/dist/handle.js.map +1 -0
- package/dist/handles/MetaTags.d.ts +14 -0
- package/dist/handles/MetaTags.d.ts.map +1 -0
- package/dist/handles/MetaTags.js +136 -0
- package/dist/handles/MetaTags.js.map +1 -0
- package/dist/handles/index.d.ts +6 -0
- package/dist/handles/index.d.ts.map +1 -0
- package/dist/handles/index.js +6 -0
- package/dist/handles/index.js.map +1 -0
- package/dist/handles/meta.d.ts +39 -0
- package/dist/handles/meta.d.ts.map +1 -0
- package/dist/handles/meta.js +202 -0
- package/dist/handles/meta.js.map +1 -0
- package/dist/host/__tests__/errors.test.d.ts +2 -0
- package/dist/host/__tests__/errors.test.d.ts.map +1 -0
- package/dist/host/__tests__/errors.test.js +76 -0
- package/dist/host/__tests__/errors.test.js.map +1 -0
- package/dist/host/__tests__/pattern-comprehensive.test.d.ts +2 -0
- package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +1 -0
- package/dist/host/__tests__/pattern-comprehensive.test.js +732 -0
- package/dist/host/__tests__/pattern-comprehensive.test.js.map +1 -0
- package/dist/host/__tests__/pattern-matcher.test.d.ts +2 -0
- package/dist/host/__tests__/pattern-matcher.test.d.ts.map +1 -0
- package/dist/host/__tests__/pattern-matcher.test.js +251 -0
- package/dist/host/__tests__/pattern-matcher.test.js.map +1 -0
- package/dist/host/__tests__/router.test.d.ts +2 -0
- package/dist/host/__tests__/router.test.d.ts.map +1 -0
- package/dist/host/__tests__/router.test.js +241 -0
- package/dist/host/__tests__/router.test.js.map +1 -0
- package/dist/host/__tests__/testing.test.d.ts +2 -0
- package/dist/host/__tests__/testing.test.d.ts.map +1 -0
- package/dist/host/__tests__/testing.test.js +64 -0
- package/dist/host/__tests__/testing.test.js.map +1 -0
- package/dist/host/__tests__/utils.test.d.ts +2 -0
- package/dist/host/__tests__/utils.test.d.ts.map +1 -0
- package/dist/host/__tests__/utils.test.js +29 -0
- package/dist/host/__tests__/utils.test.js.map +1 -0
- package/dist/host/cookie-handler.d.ts +34 -0
- package/dist/host/cookie-handler.d.ts.map +1 -0
- package/dist/host/cookie-handler.js +124 -0
- package/dist/host/cookie-handler.js.map +1 -0
- package/dist/host/errors.d.ts +56 -0
- package/dist/host/errors.d.ts.map +1 -0
- package/dist/host/errors.js +79 -0
- package/dist/host/errors.js.map +1 -0
- package/dist/host/index.d.ts +29 -0
- package/dist/host/index.d.ts.map +1 -0
- package/dist/host/index.js +32 -0
- package/dist/host/index.js.map +1 -0
- package/dist/host/pattern-matcher.d.ts +36 -0
- package/dist/host/pattern-matcher.d.ts.map +1 -0
- package/dist/host/pattern-matcher.js +172 -0
- package/dist/host/pattern-matcher.js.map +1 -0
- package/dist/host/router.d.ts +26 -0
- package/dist/host/router.d.ts.map +1 -0
- package/dist/host/router.js +218 -0
- package/dist/host/router.js.map +1 -0
- package/dist/host/testing.d.ts +36 -0
- package/dist/host/testing.d.ts.map +1 -0
- package/dist/host/testing.js +55 -0
- package/dist/host/testing.js.map +1 -0
- package/dist/host/types.d.ts +115 -0
- package/dist/host/types.d.ts.map +1 -0
- package/dist/host/types.js +7 -0
- package/dist/host/types.js.map +1 -0
- package/dist/host/utils.d.ts +21 -0
- package/dist/host/utils.d.ts.map +1 -0
- package/dist/host/utils.js +23 -0
- package/dist/host/utils.js.map +1 -0
- package/dist/href-client.d.ts +131 -0
- package/dist/href-client.d.ts.map +1 -0
- package/dist/href-client.js +64 -0
- package/dist/href-client.js.map +1 -0
- package/dist/href-context.d.ts +29 -0
- package/dist/href-context.d.ts.map +1 -0
- package/dist/href-context.js +21 -0
- package/dist/href-context.js.map +1 -0
- package/dist/index.d.ts +73 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +91 -0
- package/dist/index.js.map +1 -0
- package/dist/index.rsc.d.ts +32 -0
- package/dist/index.rsc.d.ts.map +1 -0
- package/dist/index.rsc.js +40 -0
- package/dist/index.rsc.js.map +1 -0
- package/dist/internal-debug.d.ts +2 -0
- package/dist/internal-debug.d.ts.map +1 -0
- package/dist/internal-debug.js +5 -0
- package/dist/internal-debug.js.map +1 -0
- package/dist/loader.d.ts +14 -0
- package/dist/loader.d.ts.map +1 -0
- package/dist/loader.js +20 -0
- package/dist/loader.js.map +1 -0
- package/dist/loader.rsc.d.ts +19 -0
- package/dist/loader.rsc.d.ts.map +1 -0
- package/dist/loader.rsc.js +99 -0
- package/dist/loader.rsc.js.map +1 -0
- package/dist/network-error-thrower.d.ts +17 -0
- package/dist/network-error-thrower.d.ts.map +1 -0
- package/dist/network-error-thrower.js +14 -0
- package/dist/network-error-thrower.js.map +1 -0
- package/dist/outlet-context.d.ts +13 -0
- package/dist/outlet-context.d.ts.map +1 -0
- package/dist/outlet-context.js +3 -0
- package/dist/outlet-context.js.map +1 -0
- package/dist/prerender/__tests__/param-hash.test.d.ts +2 -0
- package/dist/prerender/__tests__/param-hash.test.d.ts.map +1 -0
- package/dist/prerender/__tests__/param-hash.test.js +148 -0
- package/dist/prerender/__tests__/param-hash.test.js.map +1 -0
- package/dist/prerender/param-hash.d.ts +16 -0
- package/dist/prerender/param-hash.d.ts.map +1 -0
- package/dist/prerender/param-hash.js +36 -0
- package/dist/prerender/param-hash.js.map +1 -0
- package/dist/prerender/store.d.ts +38 -0
- package/dist/prerender/store.d.ts.map +1 -0
- package/dist/prerender/store.js +61 -0
- package/dist/prerender/store.js.map +1 -0
- package/dist/prerender.d.ts +66 -0
- package/dist/prerender.d.ts.map +1 -0
- package/dist/prerender.js +57 -0
- package/dist/prerender.js.map +1 -0
- package/dist/reverse.d.ts +196 -0
- package/dist/reverse.d.ts.map +1 -0
- package/dist/reverse.js +78 -0
- package/dist/reverse.js.map +1 -0
- package/dist/root-error-boundary.d.ts +33 -0
- package/dist/root-error-boundary.d.ts.map +1 -0
- package/dist/root-error-boundary.js +165 -0
- package/dist/root-error-boundary.js.map +1 -0
- package/dist/route-content-wrapper.d.ts +46 -0
- package/dist/route-content-wrapper.d.ts.map +1 -0
- package/dist/route-content-wrapper.js +77 -0
- package/dist/route-content-wrapper.js.map +1 -0
- package/dist/route-definition.d.ts +421 -0
- package/dist/route-definition.d.ts.map +1 -0
- package/dist/route-definition.js +868 -0
- package/dist/route-definition.js.map +1 -0
- package/dist/route-map-builder.d.ts +155 -0
- package/dist/route-map-builder.d.ts.map +1 -0
- package/dist/route-map-builder.js +237 -0
- package/dist/route-map-builder.js.map +1 -0
- package/dist/route-types.d.ts +165 -0
- package/dist/route-types.d.ts.map +1 -0
- package/dist/route-types.js +7 -0
- package/dist/route-types.js.map +1 -0
- package/dist/router/__tests__/handler-context.test.d.ts +2 -0
- package/dist/router/__tests__/handler-context.test.d.ts.map +1 -0
- package/dist/router/__tests__/handler-context.test.js +65 -0
- package/dist/router/__tests__/handler-context.test.js.map +1 -0
- package/dist/router/__tests__/loader-cycle-detection.test.d.ts +2 -0
- package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +1 -0
- package/dist/router/__tests__/loader-cycle-detection.test.js +221 -0
- package/dist/router/__tests__/loader-cycle-detection.test.js.map +1 -0
- package/dist/router/__tests__/match-context.test.d.ts +2 -0
- package/dist/router/__tests__/match-context.test.d.ts.map +1 -0
- package/dist/router/__tests__/match-context.test.js +92 -0
- package/dist/router/__tests__/match-context.test.js.map +1 -0
- package/dist/router/__tests__/match-pipelines.test.d.ts +2 -0
- package/dist/router/__tests__/match-pipelines.test.d.ts.map +1 -0
- package/dist/router/__tests__/match-pipelines.test.js +417 -0
- package/dist/router/__tests__/match-pipelines.test.js.map +1 -0
- package/dist/router/__tests__/match-result.test.d.ts +2 -0
- package/dist/router/__tests__/match-result.test.d.ts.map +1 -0
- package/dist/router/__tests__/match-result.test.js +457 -0
- package/dist/router/__tests__/match-result.test.js.map +1 -0
- package/dist/router/__tests__/on-error.test.d.ts +2 -0
- package/dist/router/__tests__/on-error.test.d.ts.map +1 -0
- package/dist/router/__tests__/on-error.test.js +678 -0
- package/dist/router/__tests__/on-error.test.js.map +1 -0
- package/dist/router/__tests__/pattern-matching.test.d.ts +2 -0
- package/dist/router/__tests__/pattern-matching.test.d.ts.map +1 -0
- package/dist/router/__tests__/pattern-matching.test.js +629 -0
- package/dist/router/__tests__/pattern-matching.test.js.map +1 -0
- package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +2 -0
- package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +1 -0
- package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +155 -0
- package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +1 -0
- package/dist/router/error-handling.d.ts +77 -0
- package/dist/router/error-handling.d.ts.map +1 -0
- package/dist/router/error-handling.js +202 -0
- package/dist/router/error-handling.js.map +1 -0
- package/dist/router/handler-context.d.ts +20 -0
- package/dist/router/handler-context.d.ts.map +1 -0
- package/dist/router/handler-context.js +198 -0
- package/dist/router/handler-context.js.map +1 -0
- package/dist/router/intercept-resolution.d.ts +66 -0
- package/dist/router/intercept-resolution.d.ts.map +1 -0
- package/dist/router/intercept-resolution.js +246 -0
- package/dist/router/intercept-resolution.js.map +1 -0
- package/dist/router/loader-resolution.d.ts +64 -0
- package/dist/router/loader-resolution.d.ts.map +1 -0
- package/dist/router/loader-resolution.js +284 -0
- package/dist/router/loader-resolution.js.map +1 -0
- package/dist/router/logging.d.ts +15 -0
- package/dist/router/logging.d.ts.map +1 -0
- package/dist/router/logging.js +99 -0
- package/dist/router/logging.js.map +1 -0
- package/dist/router/manifest.d.ts +22 -0
- package/dist/router/manifest.d.ts.map +1 -0
- package/dist/router/manifest.js +181 -0
- package/dist/router/manifest.js.map +1 -0
- package/dist/router/match-api.d.ts +35 -0
- package/dist/router/match-api.d.ts.map +1 -0
- package/dist/router/match-api.js +406 -0
- package/dist/router/match-api.js.map +1 -0
- package/dist/router/match-context.d.ts +206 -0
- package/dist/router/match-context.d.ts.map +1 -0
- package/dist/router/match-context.js +17 -0
- package/dist/router/match-context.js.map +1 -0
- package/dist/router/match-middleware/background-revalidation.d.ts +127 -0
- package/dist/router/match-middleware/background-revalidation.d.ts.map +1 -0
- package/dist/router/match-middleware/background-revalidation.js +75 -0
- package/dist/router/match-middleware/background-revalidation.js.map +1 -0
- package/dist/router/match-middleware/cache-lookup.d.ts +112 -0
- package/dist/router/match-middleware/cache-lookup.d.ts.map +1 -0
- package/dist/router/match-middleware/cache-lookup.js +257 -0
- package/dist/router/match-middleware/cache-lookup.js.map +1 -0
- package/dist/router/match-middleware/cache-store.d.ts +113 -0
- package/dist/router/match-middleware/cache-store.d.ts.map +1 -0
- package/dist/router/match-middleware/cache-store.js +108 -0
- package/dist/router/match-middleware/cache-store.js.map +1 -0
- package/dist/router/match-middleware/index.d.ts +81 -0
- package/dist/router/match-middleware/index.d.ts.map +1 -0
- package/dist/router/match-middleware/index.js +80 -0
- package/dist/router/match-middleware/index.js.map +1 -0
- package/dist/router/match-middleware/intercept-resolution.d.ts +117 -0
- package/dist/router/match-middleware/intercept-resolution.d.ts.map +1 -0
- package/dist/router/match-middleware/intercept-resolution.js +134 -0
- package/dist/router/match-middleware/intercept-resolution.js.map +1 -0
- package/dist/router/match-middleware/segment-resolution.d.ts +99 -0
- package/dist/router/match-middleware/segment-resolution.d.ts.map +1 -0
- package/dist/router/match-middleware/segment-resolution.js +53 -0
- package/dist/router/match-middleware/segment-resolution.js.map +1 -0
- package/dist/router/match-pipelines.d.ts +147 -0
- package/dist/router/match-pipelines.d.ts.map +1 -0
- package/dist/router/match-pipelines.js +82 -0
- package/dist/router/match-pipelines.js.map +1 -0
- package/dist/router/match-result.d.ts +126 -0
- package/dist/router/match-result.d.ts.map +1 -0
- package/dist/router/match-result.js +93 -0
- package/dist/router/match-result.js.map +1 -0
- package/dist/router/metrics.d.ts +20 -0
- package/dist/router/metrics.d.ts.map +1 -0
- package/dist/router/metrics.js +47 -0
- package/dist/router/metrics.js.map +1 -0
- package/dist/router/middleware.d.ts +249 -0
- package/dist/router/middleware.d.ts.map +1 -0
- package/dist/router/middleware.js +434 -0
- package/dist/router/middleware.js.map +1 -0
- package/dist/router/middleware.test.d.ts +2 -0
- package/dist/router/middleware.test.d.ts.map +1 -0
- package/dist/router/middleware.test.js +816 -0
- package/dist/router/middleware.test.js.map +1 -0
- package/dist/router/pattern-matching.d.ts +149 -0
- package/dist/router/pattern-matching.d.ts.map +1 -0
- package/dist/router/pattern-matching.js +349 -0
- package/dist/router/pattern-matching.js.map +1 -0
- package/dist/router/revalidation.d.ts +44 -0
- package/dist/router/revalidation.d.ts.map +1 -0
- package/dist/router/revalidation.js +147 -0
- package/dist/router/revalidation.js.map +1 -0
- package/dist/router/router-context.d.ts +135 -0
- package/dist/router/router-context.d.ts.map +1 -0
- package/dist/router/router-context.js +36 -0
- package/dist/router/router-context.js.map +1 -0
- package/dist/router/segment-resolution.d.ts +127 -0
- package/dist/router/segment-resolution.d.ts.map +1 -0
- package/dist/router/segment-resolution.js +919 -0
- package/dist/router/segment-resolution.js.map +1 -0
- package/dist/router/trie-matching.d.ts +40 -0
- package/dist/router/trie-matching.d.ts.map +1 -0
- package/dist/router/trie-matching.js +127 -0
- package/dist/router/trie-matching.js.map +1 -0
- package/dist/router/types.d.ts +136 -0
- package/dist/router/types.d.ts.map +1 -0
- package/dist/router/types.js +7 -0
- package/dist/router/types.js.map +1 -0
- package/dist/router.d.ts +753 -0
- package/dist/router.d.ts.map +1 -0
- package/dist/router.gen.d.ts +6 -0
- package/dist/router.gen.d.ts.map +1 -0
- package/dist/router.gen.js +6 -0
- package/dist/router.gen.js.map +1 -0
- package/dist/router.js +1304 -0
- package/dist/router.js.map +1 -0
- package/dist/rsc/__tests__/helpers.test.d.ts +2 -0
- package/dist/rsc/__tests__/helpers.test.d.ts.map +1 -0
- package/dist/rsc/__tests__/helpers.test.js +140 -0
- package/dist/rsc/__tests__/helpers.test.js.map +1 -0
- package/dist/rsc/handler.d.ts +45 -0
- package/dist/rsc/handler.d.ts.map +1 -0
- package/dist/rsc/handler.js +1172 -0
- package/dist/rsc/handler.js.map +1 -0
- package/dist/rsc/helpers.d.ts +16 -0
- package/dist/rsc/helpers.d.ts.map +1 -0
- package/dist/rsc/helpers.js +55 -0
- package/dist/rsc/helpers.js.map +1 -0
- package/dist/rsc/index.d.ts +22 -0
- package/dist/rsc/index.d.ts.map +1 -0
- package/dist/rsc/index.js +23 -0
- package/dist/rsc/index.js.map +1 -0
- package/dist/rsc/nonce.d.ts +9 -0
- package/dist/rsc/nonce.d.ts.map +1 -0
- package/dist/rsc/nonce.js +18 -0
- package/dist/rsc/nonce.js.map +1 -0
- package/dist/rsc/types.d.ts +206 -0
- package/dist/rsc/types.d.ts.map +1 -0
- package/dist/rsc/types.js +8 -0
- package/dist/rsc/types.js.map +1 -0
- package/dist/search-params.d.ts +103 -0
- package/dist/search-params.d.ts.map +1 -0
- package/dist/search-params.js +74 -0
- package/dist/search-params.js.map +1 -0
- package/dist/segment-system.d.ts +75 -0
- package/dist/segment-system.d.ts.map +1 -0
- package/dist/segment-system.js +336 -0
- package/dist/segment-system.js.map +1 -0
- package/dist/server/context.d.ts +245 -0
- package/dist/server/context.d.ts.map +1 -0
- package/dist/server/context.js +197 -0
- package/dist/server/context.js.map +1 -0
- package/dist/server/fetchable-loader-store.d.ts +18 -0
- package/dist/server/fetchable-loader-store.d.ts.map +1 -0
- package/dist/server/fetchable-loader-store.js +18 -0
- package/dist/server/fetchable-loader-store.js.map +1 -0
- package/dist/server/handle-store.d.ts +85 -0
- package/dist/server/handle-store.d.ts.map +1 -0
- package/dist/server/handle-store.js +142 -0
- package/dist/server/handle-store.js.map +1 -0
- package/dist/server/loader-registry.d.ts +55 -0
- package/dist/server/loader-registry.d.ts.map +1 -0
- package/dist/server/loader-registry.js +132 -0
- package/dist/server/loader-registry.js.map +1 -0
- package/dist/server/request-context.d.ts +226 -0
- package/dist/server/request-context.d.ts.map +1 -0
- package/dist/server/request-context.js +290 -0
- package/dist/server/request-context.js.map +1 -0
- package/dist/server/root-layout.d.ts +4 -0
- package/dist/server/root-layout.d.ts.map +1 -0
- package/dist/server/root-layout.js +5 -0
- package/dist/server/root-layout.js.map +1 -0
- package/dist/server.d.ts +15 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +20 -0
- package/dist/server.js.map +1 -0
- package/dist/ssr/__tests__/ssr-handler.test.d.ts +2 -0
- package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +1 -0
- package/dist/ssr/__tests__/ssr-handler.test.js +132 -0
- package/dist/ssr/__tests__/ssr-handler.test.js.map +1 -0
- package/dist/ssr/index.d.ts +98 -0
- package/dist/ssr/index.d.ts.map +1 -0
- package/dist/ssr/index.js +158 -0
- package/dist/ssr/index.js.map +1 -0
- package/dist/static-handler.d.ts +50 -0
- package/dist/static-handler.d.ts.map +1 -0
- package/dist/static-handler.gen.d.ts +5 -0
- package/dist/static-handler.gen.d.ts.map +1 -0
- package/dist/static-handler.gen.js +5 -0
- package/dist/static-handler.gen.js.map +1 -0
- package/dist/static-handler.js +29 -0
- package/dist/static-handler.js.map +1 -0
- package/dist/theme/ThemeProvider.d.ts +20 -0
- package/dist/theme/ThemeProvider.d.ts.map +1 -0
- package/dist/theme/ThemeProvider.js +240 -0
- package/dist/theme/ThemeProvider.js.map +1 -0
- package/dist/theme/ThemeScript.d.ts +48 -0
- package/dist/theme/ThemeScript.d.ts.map +1 -0
- package/dist/theme/ThemeScript.js +13 -0
- package/dist/theme/ThemeScript.js.map +1 -0
- package/dist/theme/__tests__/theme.test.d.ts +2 -0
- package/dist/theme/__tests__/theme.test.d.ts.map +1 -0
- package/dist/theme/__tests__/theme.test.js +103 -0
- package/dist/theme/__tests__/theme.test.js.map +1 -0
- package/dist/theme/constants.d.ts +29 -0
- package/dist/theme/constants.d.ts.map +1 -0
- package/dist/theme/constants.js +48 -0
- package/dist/theme/constants.js.map +1 -0
- package/dist/theme/index.d.ts +31 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +36 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/theme/theme-context.d.ts +40 -0
- package/dist/theme/theme-context.d.ts.map +1 -0
- package/dist/theme/theme-context.js +60 -0
- package/dist/theme/theme-context.js.map +1 -0
- package/dist/theme/theme-script.d.ts +27 -0
- package/dist/theme/theme-script.d.ts.map +1 -0
- package/dist/theme/theme-script.js +147 -0
- package/dist/theme/theme-script.js.map +1 -0
- package/dist/theme/types.d.ts +163 -0
- package/dist/theme/types.d.ts.map +1 -0
- package/dist/theme/types.js +11 -0
- package/dist/theme/types.js.map +1 -0
- package/dist/theme/use-theme.d.ts +12 -0
- package/dist/theme/use-theme.d.ts.map +1 -0
- package/dist/theme/use-theme.js +40 -0
- package/dist/theme/use-theme.js.map +1 -0
- package/dist/types/browser/event-controller.d.ts +4 -0
- package/dist/types/browser/link-interceptor.d.ts +17 -7
- package/dist/types/browser/navigation-bridge.d.ts +13 -1
- package/dist/types/browser/navigation-client.d.ts +1 -1
- package/dist/types/browser/notify-listeners.d.ts +2 -0
- package/dist/types/browser/prefetch/cache.d.ts +10 -1
- package/dist/types/browser/prefetch/default-strategy.d.ts +12 -3
- package/dist/types/browser/prefetch/invalidation.d.ts +6 -0
- package/dist/types/browser/prefetch/loader.d.ts +3 -1
- package/dist/types/browser/prefetch/observer.d.ts +3 -6
- package/dist/types/browser/rango-state.d.ts +4 -0
- package/dist/types/browser/react/Link.d.ts +4 -9
- package/dist/types/browser/react/context.d.ts +3 -0
- package/dist/types/browser/rsc-router.d.ts +7 -2
- package/dist/types/browser/types.d.ts +1 -0
- package/dist/types/cache/cache-key-utils.d.ts +11 -3
- package/dist/types/cache/cache-scope.d.ts +82 -3
- package/dist/types/cache/cf/cf-cache-store.d.ts +21 -10
- package/dist/types/cache/cf/cf-cache-types.d.ts +4 -2
- package/dist/types/cache/index.d.ts +3 -1
- package/dist/types/cache/search-params-filter.d.ts +64 -0
- package/dist/types/cache/shell-snapshot.d.ts +4 -4
- package/dist/types/cache/types.d.ts +30 -2
- package/dist/types/cache/vercel/vercel-cache-store.d.ts +2 -2
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.rsc.d.ts +1 -0
- package/dist/types/router/match-middleware/cache-lookup.d.ts +13 -0
- package/dist/types/router/navigation-snapshot.d.ts +29 -0
- package/dist/types/router/router-options.d.ts +27 -3
- package/dist/types/rsc/shell-build-manifest.d.ts +7 -1
- package/dist/types/rsc/shell-capture.d.ts +10 -8
- package/dist/types/rsc/shell-serve.d.ts +7 -1
- package/dist/types/rsc/types.d.ts +17 -0
- package/dist/types/segment-fragments.d.ts +27 -4
- package/dist/types/server/request-context.d.ts +78 -12
- package/dist/types/testing/render-route.d.ts +10 -1
- package/dist/types/testing/shell-status.d.ts +6 -3
- package/dist/types/vite/plugin-types.d.ts +1 -1
- package/dist/types.d.ts +1479 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +10 -0
- package/dist/types.js.map +1 -0
- package/dist/urls.d.ts +441 -0
- package/dist/urls.d.ts.map +1 -0
- package/dist/urls.gen.d.ts +8 -0
- package/dist/urls.gen.d.ts.map +1 -0
- package/dist/urls.gen.js +8 -0
- package/dist/urls.gen.js.map +1 -0
- package/dist/urls.js +443 -0
- package/dist/urls.js.map +1 -0
- package/dist/use-loader.d.ts +127 -0
- package/dist/use-loader.d.ts.map +1 -0
- package/dist/use-loader.js +237 -0
- package/dist/use-loader.js.map +1 -0
- package/dist/vite/__tests__/ast-handler-extract.test.d.ts +2 -0
- package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +1 -0
- package/dist/vite/__tests__/ast-handler-extract.test.js +294 -0
- package/dist/vite/__tests__/ast-handler-extract.test.js.map +1 -0
- package/dist/vite/__tests__/expose-id-utils.test.d.ts +2 -0
- package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +1 -0
- package/dist/vite/__tests__/expose-id-utils.test.js +224 -0
- package/dist/vite/__tests__/expose-id-utils.test.js.map +1 -0
- package/dist/vite/__tests__/expose-internal-ids.test.d.ts +2 -0
- package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +1 -0
- package/dist/vite/__tests__/expose-internal-ids.test.js +647 -0
- package/dist/vite/__tests__/expose-internal-ids.test.js.map +1 -0
- package/dist/vite/__tests__/expose-router-id.test.d.ts +2 -0
- package/dist/vite/__tests__/expose-router-id.test.d.ts.map +1 -0
- package/dist/vite/__tests__/expose-router-id.test.js +39 -0
- package/dist/vite/__tests__/expose-router-id.test.js.map +1 -0
- package/dist/vite/ast-handler-extract.d.ts +49 -0
- package/dist/vite/ast-handler-extract.d.ts.map +1 -0
- package/dist/vite/ast-handler-extract.js +249 -0
- package/dist/vite/ast-handler-extract.js.map +1 -0
- package/dist/vite/expose-action-id.d.ts +19 -0
- package/dist/vite/expose-action-id.d.ts.map +1 -0
- package/dist/vite/expose-action-id.js +250 -0
- package/dist/vite/expose-action-id.js.map +1 -0
- package/dist/vite/expose-id-utils.d.ts +69 -0
- package/dist/vite/expose-id-utils.d.ts.map +1 -0
- package/dist/vite/expose-id-utils.js +289 -0
- package/dist/vite/expose-id-utils.js.map +1 -0
- package/dist/vite/expose-internal-ids.d.ts +22 -0
- package/dist/vite/expose-internal-ids.d.ts.map +1 -0
- package/dist/vite/expose-internal-ids.js +886 -0
- package/dist/vite/expose-internal-ids.js.map +1 -0
- package/dist/vite/index.d.ts +149 -0
- package/dist/vite/index.d.ts.map +1 -0
- package/dist/vite/index.js +5 -5
- package/dist/vite/index.js.bak +5448 -0
- package/dist/vite/index.js.map +1 -0
- package/dist/vite/index.named-routes.gen.ts +103 -0
- package/dist/vite/package-resolution.d.ts +43 -0
- package/dist/vite/package-resolution.d.ts.map +1 -0
- package/dist/vite/package-resolution.js +112 -0
- package/dist/vite/package-resolution.js.map +1 -0
- package/dist/vite/virtual-entries.d.ts +25 -0
- package/dist/vite/virtual-entries.d.ts.map +1 -0
- package/dist/vite/virtual-entries.js +110 -0
- package/dist/vite/virtual-entries.js.map +1 -0
- package/package.json +23 -22
- package/skills/caching/SKILL.md +39 -0
- package/skills/cloudflare/SKILL.md +4 -2
- package/skills/comparison/references/framework-comparison.md +7 -1
- package/skills/links/SKILL.md +24 -0
- package/skills/ppr/SKILL.md +77 -12
- package/skills/router-setup/SKILL.md +7 -2
- package/skills/testing/client-components.md +15 -14
- package/skills/vercel/SKILL.md +1 -1
- package/src/browser/event-controller.ts +110 -11
- package/src/browser/link-interceptor.ts +469 -20
- package/src/browser/navigation-bridge.ts +71 -2
- package/src/browser/navigation-client.ts +77 -27
- package/src/browser/navigation-store.ts +24 -1
- package/src/browser/notify-listeners.ts +22 -0
- package/src/browser/prefetch/cache.ts +22 -2
- package/src/browser/prefetch/default-strategy.ts +43 -3
- package/src/browser/prefetch/fetch.ts +5 -0
- package/src/browser/prefetch/invalidation.ts +30 -0
- package/src/browser/prefetch/loader.ts +19 -12
- package/src/browser/prefetch/observer.ts +50 -22
- package/src/browser/rango-state.ts +21 -0
- package/src/browser/react/Link.tsx +97 -88
- package/src/browser/react/NavigationProvider.tsx +1 -0
- package/src/browser/react/context.ts +4 -0
- package/src/browser/rsc-router.tsx +34 -15
- package/src/browser/types.ts +1 -0
- package/src/cache/cache-key-utils.ts +18 -4
- package/src/cache/cache-runtime.ts +7 -2
- package/src/cache/cache-scope.ts +157 -24
- package/src/cache/cf/cf-cache-store.ts +472 -104
- package/src/cache/cf/cf-cache-types.ts +4 -2
- package/src/cache/document-cache.ts +31 -3
- package/src/cache/index.ts +7 -0
- package/src/cache/search-params-filter.ts +118 -0
- package/src/cache/shell-snapshot.ts +8 -4
- package/src/cache/types.ts +33 -2
- package/src/cache/vercel/vercel-cache-store.ts +17 -3
- package/src/index.rsc.ts +4 -0
- package/src/index.ts +6 -0
- package/src/router/match-middleware/cache-lookup.ts +146 -33
- package/src/router/match-middleware/cache-store.ts +70 -0
- package/src/router/navigation-snapshot.ts +46 -6
- package/src/router/router-options.ts +31 -4
- package/src/rsc/handler.ts +9 -0
- package/src/rsc/response-cache-serve.ts +1 -1
- package/src/rsc/rsc-rendering.ts +311 -31
- package/src/rsc/shell-build-manifest.ts +8 -1
- package/src/rsc/shell-capture.ts +24 -19
- package/src/rsc/shell-serve.ts +8 -2
- package/src/rsc/types.ts +17 -0
- package/src/segment-fragments.ts +45 -4
- package/src/server/request-context.ts +83 -11
- package/src/testing/dispatch.ts +21 -3
- package/src/testing/render-route.tsx +86 -17
- package/src/testing/shell-status.ts +20 -3
- package/src/vite/plugin-types.ts +1 -1
- package/src/vite/plugins/vercel-output.ts +2 -2
- 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-trie.d.ts +0 -89
- 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
package/src/rsc/types.ts
CHANGED
|
@@ -210,6 +210,23 @@ export interface HandlerCacheConfig {
|
|
|
210
210
|
store: import("../cache/types.js").SegmentCacheStore;
|
|
211
211
|
/** Enable/disable caching (default: true) */
|
|
212
212
|
enabled?: boolean;
|
|
213
|
+
/**
|
|
214
|
+
* Which query params key the cache (default: `"all"`). Affects cache keys
|
|
215
|
+
* ONLY -- handlers and loaders still see the full query string. Global by
|
|
216
|
+
* design: the per-route case is already reachable through `cache({ key })`.
|
|
217
|
+
*
|
|
218
|
+
* Excluding a param is a promise that rendered output does not depend on
|
|
219
|
+
* it; if it does, the first variant is cached and served to everyone.
|
|
220
|
+
*
|
|
221
|
+
* @example
|
|
222
|
+
* ```typescript
|
|
223
|
+
* cache: {
|
|
224
|
+
* store: cacheStore,
|
|
225
|
+
* searchParams: { exclude: TRACKING_SEARCH_PARAMS },
|
|
226
|
+
* }
|
|
227
|
+
* ```
|
|
228
|
+
*/
|
|
229
|
+
searchParams?: import("../cache/search-params-filter.js").CacheSearchParams;
|
|
213
230
|
}
|
|
214
231
|
|
|
215
232
|
/**
|
package/src/segment-fragments.ts
CHANGED
|
@@ -6,10 +6,11 @@
|
|
|
6
6
|
* fragment STRINGS ride the outgoing payload verbatim inside these envelopes
|
|
7
7
|
* — the outer Flight render copies a string instead of re-serializing a whole
|
|
8
8
|
* element tree — and the CONSUMER expands each envelope through its own Flight
|
|
9
|
-
* deserializer: the SSR resume pass (ssr/ssr-root.tsx)
|
|
10
|
-
*
|
|
11
|
-
* independently, exactly like the segment codec's
|
|
12
|
-
* there is no Flight row-id collision or shared-row
|
|
9
|
+
* deserializer: the SSR resume pass (ssr/ssr-root.tsx), browser hydration, and
|
|
10
|
+
* capability-gated partial navigation/prefetch decoders. Each fragment is its
|
|
11
|
+
* own row space, decoded independently, exactly like the segment codec's
|
|
12
|
+
* per-record decode — so there is no Flight row-id collision or shared-row
|
|
13
|
+
* dedupe hazard.
|
|
13
14
|
*
|
|
14
15
|
* Envelopes appear ONLY on fields that hold ReactNodes (component / layout /
|
|
15
16
|
* loading). A plain object is never a valid ReactNode, so the marker cannot
|
|
@@ -22,6 +23,25 @@
|
|
|
22
23
|
|
|
23
24
|
import type { ResolvedSegment } from "./types.js";
|
|
24
25
|
|
|
26
|
+
/** Partial-request capability gate for browser-side fragment expansion. */
|
|
27
|
+
export const SEGMENT_FRAGMENT_CAPABILITY_HEADER: string =
|
|
28
|
+
"X-Rango-Fragment-Passthrough";
|
|
29
|
+
|
|
30
|
+
/** One-shot request marker that forces server-side fragment validation. */
|
|
31
|
+
export const SEGMENT_FRAGMENT_RECOVERY_HEADER: string =
|
|
32
|
+
"X-Rango-Fragment-Recovery";
|
|
33
|
+
|
|
34
|
+
/** A stored fragment failed in its consumer-side Flight decoder. */
|
|
35
|
+
export class SegmentFragmentDecodeError extends Error {
|
|
36
|
+
readonly cause: unknown;
|
|
37
|
+
|
|
38
|
+
constructor(cause: unknown) {
|
|
39
|
+
super("Failed to decode a stored RSC segment fragment");
|
|
40
|
+
this.name = "SegmentFragmentDecodeError";
|
|
41
|
+
this.cause = cause;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
25
45
|
/**
|
|
26
46
|
* One RSC-encoded fragment traveling inside an RscPayload segment field.
|
|
27
47
|
* `f` is the stored Flight document (segment-codec output) for that field.
|
|
@@ -107,6 +127,27 @@ export async function expandSegmentFragments(
|
|
|
107
127
|
if (decodes.length > 0) await Promise.all(decodes);
|
|
108
128
|
}
|
|
109
129
|
|
|
130
|
+
/**
|
|
131
|
+
* Expand every envelope in an RscPayload-shaped object, in place. Decode
|
|
132
|
+
* failures use a distinct error so partial navigation can retry once through
|
|
133
|
+
* the server's decode-and-evict path. The
|
|
134
|
+
* hasSegmentFragments pre-scan keeps envelope-free payloads — every
|
|
135
|
+
* non-replay response — to one synchronous field walk; this runs on every
|
|
136
|
+
* navigation and prefetch decode.
|
|
137
|
+
*/
|
|
138
|
+
export async function expandPayloadFragments(
|
|
139
|
+
payload: { metadata?: { segments?: ResolvedSegment[] } },
|
|
140
|
+
decode: FragmentDecoder,
|
|
141
|
+
): Promise<void> {
|
|
142
|
+
const segments = payload.metadata?.segments;
|
|
143
|
+
if (!hasSegmentFragments(segments)) return;
|
|
144
|
+
try {
|
|
145
|
+
await expandSegmentFragments(segments, decode);
|
|
146
|
+
} catch (error) {
|
|
147
|
+
throw new SegmentFragmentDecodeError(error);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
110
151
|
/**
|
|
111
152
|
* True when any segment carries an unexpanded envelope. Cheap scan used by
|
|
112
153
|
* consumers that only need to know whether an expansion pass is required.
|
|
@@ -211,9 +211,27 @@ export interface RequestContext<
|
|
|
211
211
|
/** @internal PPR transition decisions evaluated before cache lookup/handlers. */
|
|
212
212
|
_pprTransitionDecisions?: Map<string, boolean>;
|
|
213
213
|
|
|
214
|
+
/**
|
|
215
|
+
* @internal Post-match serve-source truth for the PPR replay reporter.
|
|
216
|
+
* Stamped from the match context as `intercept`, then overwritten as
|
|
217
|
+
* `prerender-store` if that lookup actually serves. The latter wins because
|
|
218
|
+
* it identifies the response source. matchPartialWithPprReplay reads this
|
|
219
|
+
* AFTER matching to reclassify its pre-match guess and suppress pointless
|
|
220
|
+
* heal captures.
|
|
221
|
+
*/
|
|
222
|
+
_pprReplayPostMatchReason?: "prerender-store" | "intercept";
|
|
223
|
+
|
|
214
224
|
/** @internal Cache store for segment caching (optional, used by CacheScope) */
|
|
215
225
|
_cacheStore?: SegmentCacheStore;
|
|
216
226
|
|
|
227
|
+
/**
|
|
228
|
+
* @internal Compiled `cache.searchParams` filter for default cache-key
|
|
229
|
+
* generation (undefined = "all", the byte-stable unfiltered format). Set
|
|
230
|
+
* once per request by handler.ts; every URL-keyed tier (segment, document,
|
|
231
|
+
* response, shell, "use cache") reads it so the tiers cannot drift.
|
|
232
|
+
*/
|
|
233
|
+
_searchParamsFilter?: import("../cache/search-params-filter.js").SearchParamsFilter;
|
|
234
|
+
|
|
217
235
|
/**
|
|
218
236
|
* @internal PPR shell-capture ACTIVE marker. True ONLY inside the background
|
|
219
237
|
* capture task's derived request context (built by shell-capture.ts). This is
|
|
@@ -265,9 +283,13 @@ export interface RequestContext<
|
|
|
265
283
|
* (b) a HIT tail's seeded context, and (c) an eligible normal-route partial
|
|
266
284
|
* replay, where `store` is a request-local segment overlay. Handler-live holes
|
|
267
285
|
* and conditional transitions decline replay.
|
|
268
|
-
* Routes with their own cache() config
|
|
269
|
-
*
|
|
270
|
-
*
|
|
286
|
+
* Routes with their own cache() config are never overridden — their scope's
|
|
287
|
+
* store/key/ttl/swr/condition semantics stay authoritative. On the
|
|
288
|
+
* navigation-replay serve path (`onExplicitHit` set) the marker COMPOSES with
|
|
289
|
+
* such a scope instead of being ignored: the seeded doc record supplies the match
|
|
290
|
+
* only when the explicit tier misses (withCacheLookup). cache(false) and a
|
|
291
|
+
* false condition() stay absolute opt-outs — replay bypasses before any
|
|
292
|
+
* shell read (`cache-disabled`).
|
|
271
293
|
*/
|
|
272
294
|
_shellImplicitCache?: {
|
|
273
295
|
ttl?: number;
|
|
@@ -281,18 +303,59 @@ export interface RequestContext<
|
|
|
281
303
|
keyPrefix?: "doc";
|
|
282
304
|
/** @internal Called only after the implicit cache hit decodes successfully. */
|
|
283
305
|
onHit?: () => void;
|
|
306
|
+
/**
|
|
307
|
+
* @internal Called when the seeded document record fails server-side
|
|
308
|
+
* deserialization. Partial replay uses it to replace the enclosing shell
|
|
309
|
+
* snapshot after serving the fresh fallback.
|
|
310
|
+
*/
|
|
311
|
+
onCorrupt?: () => void;
|
|
312
|
+
/**
|
|
313
|
+
* @internal The resolved key of the canonical document segment record.
|
|
314
|
+
* Written during a CAPTURE render by CacheScope.cacheRoute when a
|
|
315
|
+
* doc-namespaced scope records the matched segments; captureAndStoreShell
|
|
316
|
+
* stamps it onto the ShellCacheEntry (`docKey`) so replay eligibility can
|
|
317
|
+
* require the exact consumable record instead of "any segment record".
|
|
318
|
+
*/
|
|
319
|
+
docKey?: string;
|
|
320
|
+
/**
|
|
321
|
+
* @internal Set ONLY by matchPartialWithPprReplay on the navigation-replay
|
|
322
|
+
* serve path. Its presence arms the explicit-scope composition in
|
|
323
|
+
* withCacheLookup: a route-derived cache() scope stays authoritative, and
|
|
324
|
+
* only when its lookup MISSes does the seeded doc record supply the match.
|
|
325
|
+
* A capture render must never set this (its match must re-run handlers so
|
|
326
|
+
* SWR recapture stays fresh), which is why the fallback keys off this
|
|
327
|
+
* field and not off the marker itself. Fired when the route-derived
|
|
328
|
+
* scope's own lookup supplied the match — the header then reports
|
|
329
|
+
* `BYPASS; reason=explicit-cache-hit`, never a false replay HIT.
|
|
330
|
+
*/
|
|
331
|
+
onExplicitHit?: () => void;
|
|
332
|
+
/**
|
|
333
|
+
* @internal Companion to onExplicitHit, same lifecycle: fired when the
|
|
334
|
+
* route-derived scope's lookup REFUSED the read (`bypass` outcome — a
|
|
335
|
+
* false condition() or no store). The gate only pre-decides the static
|
|
336
|
+
* cache(false) case; a predicate refusal is known only at lookup time and
|
|
337
|
+
* reports `BYPASS; reason=cache-disabled` post-match.
|
|
338
|
+
*/
|
|
339
|
+
onExplicitBypass?: () => void;
|
|
284
340
|
};
|
|
285
341
|
|
|
286
342
|
/**
|
|
287
|
-
* @internal
|
|
288
|
-
* render emit stored segment fragments VERBATIM into the payload
|
|
343
|
+
* @internal Fragment-passthrough marker: cache/prerender-store hits during
|
|
344
|
+
* THIS render emit stored segment fragments VERBATIM into the payload
|
|
289
345
|
* (segment-codec fragmentSegments) instead of deserialize -> re-serialize
|
|
290
|
-
* per request; the payload consumers (SSR resume
|
|
291
|
-
*
|
|
292
|
-
*
|
|
293
|
-
*
|
|
294
|
-
*
|
|
295
|
-
*
|
|
346
|
+
* per request; the payload consumers (SSR resume, browser hydration, and
|
|
347
|
+
* the client partial-navigation decode chokepoints) expand them
|
|
348
|
+
* (segment-fragments.ts, issue #700). Partial requests arm only after the
|
|
349
|
+
* browser advertises `X-Rango-Fragment-Passthrough: 1`; a decode failure
|
|
350
|
+
* retries without it so CacheScope can evict the bad record. Two arming sites,
|
|
351
|
+
* both scoped to a
|
|
352
|
+
* render/match window: serveShellHit's derived tail context (document
|
|
353
|
+
* HIT), and matchPartialWithPprReplay's mutate-restore around the partial
|
|
354
|
+
* match (matchPartialForReplay). It must never be visible to a capture
|
|
355
|
+
* render: the capture SSR-prerenders the payload AND serializes segments
|
|
356
|
+
* into records (cacheRoute), and an envelope reaching serializeSegments
|
|
357
|
+
* would store a double-encoded fragment — deriveShellCaptureContext resets
|
|
358
|
+
* it as an own property for exactly that reason.
|
|
296
359
|
*/
|
|
297
360
|
_shellFragmentPayload?: boolean;
|
|
298
361
|
|
|
@@ -656,7 +719,9 @@ export type PublicRequestContext<
|
|
|
656
719
|
| "_handleStore"
|
|
657
720
|
| "_transitionWhen"
|
|
658
721
|
| "_pprTransitionDecisions"
|
|
722
|
+
| "_pprReplayPostMatchReason"
|
|
659
723
|
| "_cacheStore"
|
|
724
|
+
| "_searchParamsFilter"
|
|
660
725
|
| "_shellCaptureRun"
|
|
661
726
|
| "_shellImplicitCache"
|
|
662
727
|
| "_shellLoaderSeed"
|
|
@@ -842,6 +907,11 @@ export interface CreateRequestContextOptions<TEnv> {
|
|
|
842
907
|
initialResponse?: Response;
|
|
843
908
|
/** Optional cache store for segment caching (used by CacheScope) */
|
|
844
909
|
cacheStore?: SegmentCacheStore;
|
|
910
|
+
/**
|
|
911
|
+
* Compiled `cache.searchParams` filter from the resolved handler cache
|
|
912
|
+
* config (handler.ts). Stored as _searchParamsFilter.
|
|
913
|
+
*/
|
|
914
|
+
searchParamsFilter?: import("../cache/search-params-filter.js").SearchParamsFilter;
|
|
845
915
|
/**
|
|
846
916
|
* Handler-owned registry of explicit per-scope stores for cross-store tag
|
|
847
917
|
* invalidation. Created once per handler, reused across requests.
|
|
@@ -882,6 +952,7 @@ export function createRequestContext<TEnv>(
|
|
|
882
952
|
variables,
|
|
883
953
|
initialResponse,
|
|
884
954
|
cacheStore,
|
|
955
|
+
searchParamsFilter,
|
|
885
956
|
explicitTaggedStores,
|
|
886
957
|
cacheProfiles,
|
|
887
958
|
executionContext,
|
|
@@ -1176,6 +1247,7 @@ export function createRequestContext<TEnv>(
|
|
|
1176
1247
|
_handleStore: handleStore,
|
|
1177
1248
|
_transitionWhen: [],
|
|
1178
1249
|
_cacheStore: cacheStore,
|
|
1250
|
+
_searchParamsFilter: searchParamsFilter,
|
|
1179
1251
|
_explicitTaggedStores: explicitTaggedStores,
|
|
1180
1252
|
_requestTags: new Set<string>(),
|
|
1181
1253
|
_cacheProfiles: cacheProfiles,
|
package/src/testing/dispatch.ts
CHANGED
|
@@ -116,6 +116,11 @@ import {
|
|
|
116
116
|
stripInternalParams,
|
|
117
117
|
} from "../router/handler-context.js";
|
|
118
118
|
import { NOCACHE_SYMBOL } from "../cache/taint.js";
|
|
119
|
+
import {
|
|
120
|
+
compileSearchParamsFilter,
|
|
121
|
+
type CacheSearchParams,
|
|
122
|
+
type SearchParamsFilter,
|
|
123
|
+
} from "../cache/search-params-filter.js";
|
|
119
124
|
import type { SegmentCacheStore } from "../cache/types.js";
|
|
120
125
|
import type { CacheProfile } from "../cache/profile-registry.js";
|
|
121
126
|
// cache-scope is loaded LAZILY inside the response-route cache path (below):
|
|
@@ -193,11 +198,19 @@ interface DispatchableRouter<TEnv> {
|
|
|
193
198
|
} | null>;
|
|
194
199
|
basename?: string;
|
|
195
200
|
cache?:
|
|
196
|
-
| {
|
|
201
|
+
| {
|
|
202
|
+
enabled?: boolean;
|
|
203
|
+
store?: SegmentCacheStore;
|
|
204
|
+
searchParams?: CacheSearchParams;
|
|
205
|
+
}
|
|
197
206
|
| ((
|
|
198
207
|
env: TEnv,
|
|
199
208
|
executionContext: unknown,
|
|
200
|
-
) => {
|
|
209
|
+
) => {
|
|
210
|
+
enabled?: boolean;
|
|
211
|
+
store?: SegmentCacheStore;
|
|
212
|
+
searchParams?: CacheSearchParams;
|
|
213
|
+
});
|
|
201
214
|
cacheProfiles?: Record<string, CacheProfile>;
|
|
202
215
|
}
|
|
203
216
|
|
|
@@ -375,13 +388,17 @@ export async function dispatch<TEnv = any>(
|
|
|
375
388
|
// "use cache" inside a response-route handler reaches the request-scope
|
|
376
389
|
// (NOCACHE) detection below instead of bypassing on a missing store.
|
|
377
390
|
let cacheStore: SegmentCacheStore | undefined;
|
|
391
|
+
let searchParamsFilter: SearchParamsFilter | undefined;
|
|
378
392
|
const cacheOption = router.cache;
|
|
379
393
|
if (cacheOption && !url.searchParams.has("__no_cache")) {
|
|
380
394
|
const cacheConfig =
|
|
381
395
|
typeof cacheOption === "function"
|
|
382
396
|
? cacheOption(env, undefined)
|
|
383
397
|
: cacheOption;
|
|
384
|
-
if (cacheConfig.enabled !== false)
|
|
398
|
+
if (cacheConfig.enabled !== false) {
|
|
399
|
+
cacheStore = cacheConfig.store;
|
|
400
|
+
searchParamsFilter = compileSearchParamsFilter(cacheConfig.searchParams);
|
|
401
|
+
}
|
|
385
402
|
}
|
|
386
403
|
|
|
387
404
|
const requestContext = createRequestContext<TEnv>({
|
|
@@ -390,6 +407,7 @@ export async function dispatch<TEnv = any>(
|
|
|
390
407
|
url,
|
|
391
408
|
variables,
|
|
392
409
|
cacheStore,
|
|
410
|
+
searchParamsFilter,
|
|
393
411
|
cacheProfiles: router.cacheProfiles,
|
|
394
412
|
});
|
|
395
413
|
// Wire background error reporting so cache degradation (reportCacheError ->
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
* (the segment chain is wrapped in a MountContext exactly as in production).
|
|
39
39
|
*/
|
|
40
40
|
|
|
41
|
-
import type
|
|
41
|
+
import { useEffect, type ReactNode, type ComponentType } from "react";
|
|
42
42
|
import type { RenderResult } from "@testing-library/react";
|
|
43
43
|
import { renderSegments } from "../segment-system.js";
|
|
44
44
|
import {
|
|
@@ -62,8 +62,14 @@ import type { Handle } from "../handle.js";
|
|
|
62
62
|
import type { ThemeConfig } from "../theme/types.js";
|
|
63
63
|
import { resolveThemeConfig } from "../theme/constants.js";
|
|
64
64
|
import { isUnderTestRunner } from "../runtime-env.js";
|
|
65
|
+
import { setupNavigationBridgeDelegatedPrefetch } from "../browser/navigation-bridge.js";
|
|
66
|
+
import { resetAdaptiveStrategyForTesting } from "../browser/prefetch/default-strategy.js";
|
|
67
|
+
import { resetPrefetchObserverForTesting } from "../browser/prefetch/observer.js";
|
|
68
|
+
import type { PrefetchStrategy } from "../router/prefetch-default.js";
|
|
65
69
|
|
|
66
70
|
const TEST_ORIGIN = "http://localhost";
|
|
71
|
+
let activePrefetchRegistrations = 0;
|
|
72
|
+
let pendingPrefetchReset: object | undefined;
|
|
67
73
|
|
|
68
74
|
/**
|
|
69
75
|
* Seed shape for `options.handle`, matching the handle wire format:
|
|
@@ -268,6 +274,14 @@ export interface RenderRouteOptions {
|
|
|
268
274
|
* expect(getByTestId("nonce").textContent).toBe("test-nonce");
|
|
269
275
|
*/
|
|
270
276
|
nonce?: string;
|
|
277
|
+
/**
|
|
278
|
+
* Router default prefetch strategy scoped to this rendered tree. This mirrors
|
|
279
|
+
* `createRouter({ defaultPrefetch })` for Links and eligible plain anchors
|
|
280
|
+
* inside `basename`. `data-prefetch="false"`/`"none"` opts out; `"true"`
|
|
281
|
+
* allows an application route with a common static-resource suffix but does
|
|
282
|
+
* not override a `"none"` default.
|
|
283
|
+
*/
|
|
284
|
+
defaultPrefetch?: PrefetchStrategy;
|
|
271
285
|
}
|
|
272
286
|
|
|
273
287
|
/**
|
|
@@ -299,6 +313,41 @@ interface ResolvedMatch {
|
|
|
299
313
|
pathname: string;
|
|
300
314
|
}
|
|
301
315
|
|
|
316
|
+
function DelegatedPrefetchRegistration({
|
|
317
|
+
bridge,
|
|
318
|
+
}: {
|
|
319
|
+
bridge: NavigationBridge;
|
|
320
|
+
}): null {
|
|
321
|
+
useEffect(() => {
|
|
322
|
+
const unregister = bridge.registerDelegatedPrefetch();
|
|
323
|
+
pendingPrefetchReset = undefined;
|
|
324
|
+
activePrefetchRegistrations++;
|
|
325
|
+
return () => {
|
|
326
|
+
try {
|
|
327
|
+
unregister();
|
|
328
|
+
} finally {
|
|
329
|
+
activePrefetchRegistrations--;
|
|
330
|
+
if (activePrefetchRegistrations === 0) {
|
|
331
|
+
const reset = {};
|
|
332
|
+
pendingPrefetchReset = reset;
|
|
333
|
+
queueMicrotask(() => {
|
|
334
|
+
if (
|
|
335
|
+
pendingPrefetchReset !== reset ||
|
|
336
|
+
activePrefetchRegistrations !== 0
|
|
337
|
+
) {
|
|
338
|
+
return;
|
|
339
|
+
}
|
|
340
|
+
pendingPrefetchReset = undefined;
|
|
341
|
+
resetPrefetchObserverForTesting();
|
|
342
|
+
resetAdaptiveStrategyForTesting();
|
|
343
|
+
});
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
};
|
|
347
|
+
}, [bridge]);
|
|
348
|
+
return null;
|
|
349
|
+
}
|
|
350
|
+
|
|
302
351
|
function matchLeaf(
|
|
303
352
|
pattern: string,
|
|
304
353
|
pathname: string,
|
|
@@ -429,6 +478,7 @@ export async function renderRoute(
|
|
|
429
478
|
|
|
430
479
|
const historyKey = generateHistoryKey(url.href);
|
|
431
480
|
const mount = normalizeBasename(options.mount);
|
|
481
|
+
const basename = normalizeBasename(options.basename);
|
|
432
482
|
// Fail loud on a request that cannot resolve the leaf route (a typo, or the
|
|
433
483
|
// mount-prefixed-vs-relative confusion) instead of silently rendering empty
|
|
434
484
|
// params (matchLeaf -> null -> {}). renderRoute paths are include-RELATIVE and
|
|
@@ -520,20 +570,31 @@ export async function renderRoute(
|
|
|
520
570
|
});
|
|
521
571
|
};
|
|
522
572
|
|
|
573
|
+
let prefetchRoot: HTMLElement | undefined;
|
|
523
574
|
const bridge: NavigationBridge = {
|
|
524
575
|
navigate: (target) => navigate(target),
|
|
525
576
|
refresh: () => navigate(url.pathname + url.search),
|
|
526
577
|
handlePopstate: async () => {},
|
|
527
578
|
registerLinkInterception: () => () => {},
|
|
579
|
+
registerDelegatedPrefetch: () =>
|
|
580
|
+
setupNavigationBridgeDelegatedPrefetch(
|
|
581
|
+
store,
|
|
582
|
+
eventController,
|
|
583
|
+
() => undefined,
|
|
584
|
+
{
|
|
585
|
+
defaultPrefetch: options.defaultPrefetch,
|
|
586
|
+
root: prefetchRoot,
|
|
587
|
+
basename,
|
|
588
|
+
},
|
|
589
|
+
),
|
|
528
590
|
getVersion: () => undefined,
|
|
529
591
|
updateVersion: () => {},
|
|
530
592
|
};
|
|
531
593
|
|
|
532
|
-
const initialMetadata =
|
|
533
|
-
url.pathname,
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
);
|
|
594
|
+
const initialMetadata = {
|
|
595
|
+
...makeMetadata(url.pathname, initialSegments, initialMatch.params),
|
|
596
|
+
defaultPrefetch: options.defaultPrefetch,
|
|
597
|
+
};
|
|
537
598
|
const initialTree = await renderSegments(initialSegments);
|
|
538
599
|
|
|
539
600
|
// Wrap render in an awaited async act so a tree that suspends (async loaders,
|
|
@@ -542,19 +603,27 @@ export async function renderRoute(
|
|
|
542
603
|
// suspended inside an act scope, but the act call was not awaited") and the
|
|
543
604
|
// resolved content never reaches the asserted DOM.
|
|
544
605
|
let result!: Awaited<ReturnType<typeof render>>;
|
|
606
|
+
const container = document.body.appendChild(document.createElement("div"));
|
|
607
|
+
prefetchRoot = container;
|
|
545
608
|
await act(async () => {
|
|
546
609
|
result = render(
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
610
|
+
<>
|
|
611
|
+
<NavigationProvider
|
|
612
|
+
store={store}
|
|
613
|
+
eventController={eventController}
|
|
614
|
+
initialPayload={{ root: initialTree, metadata: initialMetadata }}
|
|
615
|
+
bridge={bridge}
|
|
616
|
+
basename={basename}
|
|
617
|
+
themeConfig={
|
|
618
|
+
options.theme === undefined
|
|
619
|
+
? null
|
|
620
|
+
: resolveThemeConfig(options.theme)
|
|
621
|
+
}
|
|
622
|
+
nonce={options.nonce}
|
|
623
|
+
/>
|
|
624
|
+
<DelegatedPrefetchRegistration bridge={bridge} />
|
|
625
|
+
</>,
|
|
626
|
+
{ baseElement: document.body, container },
|
|
558
627
|
);
|
|
559
628
|
});
|
|
560
629
|
|
|
@@ -29,6 +29,10 @@
|
|
|
29
29
|
*/
|
|
30
30
|
|
|
31
31
|
import { sortedSearchString } from "../cache/cache-key-utils.js";
|
|
32
|
+
import {
|
|
33
|
+
compileSearchParamsFilter,
|
|
34
|
+
type CacheSearchParams,
|
|
35
|
+
} from "../cache/search-params-filter.js";
|
|
32
36
|
|
|
33
37
|
/** Production header name (`rsc/shell-serve.ts` `SHELL_STATUS_HEADER`). */
|
|
34
38
|
export const SHELL_STATUS_HEADER: string = "x-rango-shell";
|
|
@@ -45,6 +49,10 @@ const PPR_REPLAY_BYPASS_REASONS = [
|
|
|
45
49
|
"nonce",
|
|
46
50
|
"store-unavailable",
|
|
47
51
|
"passive-read-unsupported",
|
|
52
|
+
"no-navigation-context",
|
|
53
|
+
"prerender-store",
|
|
54
|
+
"intercept",
|
|
55
|
+
"cache-disabled",
|
|
48
56
|
"read-error",
|
|
49
57
|
"no-entry",
|
|
50
58
|
"invalid-version",
|
|
@@ -53,6 +61,7 @@ const PPR_REPLAY_BYPASS_REASONS = [
|
|
|
53
61
|
"transition-when",
|
|
54
62
|
"no-segment-snapshot",
|
|
55
63
|
"snapshot-miss",
|
|
64
|
+
"explicit-cache-hit",
|
|
56
65
|
"stale-build-entry",
|
|
57
66
|
] as const;
|
|
58
67
|
|
|
@@ -74,12 +83,20 @@ export type ShellStatusTarget = Response | { headers: Headers };
|
|
|
74
83
|
* module (it pulls React). A parity test pins the two implementations.
|
|
75
84
|
*
|
|
76
85
|
* Accepts a `URL` or an absolute/relative request URL string (relative strings
|
|
77
|
-
* resolve against `http://localhost`).
|
|
86
|
+
* resolve against `http://localhost`). Pass the router's `cache.searchParams`
|
|
87
|
+
* config as `searchParams` when the app under test sets one — the production
|
|
88
|
+
* key applies it, so the expected key must too.
|
|
78
89
|
*/
|
|
79
|
-
export function shellCacheKey(
|
|
90
|
+
export function shellCacheKey(
|
|
91
|
+
url: URL | string,
|
|
92
|
+
searchParams?: CacheSearchParams,
|
|
93
|
+
): string {
|
|
80
94
|
const resolved =
|
|
81
95
|
typeof url === "string" ? new URL(url, "http://localhost") : url;
|
|
82
|
-
const sorted = sortedSearchString(
|
|
96
|
+
const sorted = sortedSearchString(
|
|
97
|
+
resolved.searchParams,
|
|
98
|
+
compileSearchParamsFilter(searchParams),
|
|
99
|
+
);
|
|
83
100
|
const searchSuffix = sorted ? `?${sorted}` : "";
|
|
84
101
|
return `${resolved.host}${resolved.pathname}${searchSuffix}:shell`;
|
|
85
102
|
}
|
package/src/vite/plugin-types.ts
CHANGED
|
@@ -267,7 +267,7 @@ export interface RangoCloudflareOptions extends RangoBaseOptions {
|
|
|
267
267
|
* `.vc-config.json` (and `config.json` for `functionName`).
|
|
268
268
|
*/
|
|
269
269
|
export interface VercelPresetOptions {
|
|
270
|
-
/** Node runtime for the function. @default "
|
|
270
|
+
/** Node runtime for the function. @default "nodejs24.x" */
|
|
271
271
|
runtime?: string;
|
|
272
272
|
/** Max execution time in seconds. @default 30 */
|
|
273
273
|
maxDuration?: number;
|
|
@@ -99,7 +99,7 @@ export function assertVercelNodeRuntime(runtime: string | undefined): void {
|
|
|
99
99
|
throw new Error(
|
|
100
100
|
`[rango] preset "vercel": runtime "${runtime}" is not supported. ` +
|
|
101
101
|
`This preset emits a Node serverless function; use a "nodejs*" runtime ` +
|
|
102
|
-
`(default "
|
|
102
|
+
`(default "nodejs24.x"). The Edge runtime is not supported.`,
|
|
103
103
|
);
|
|
104
104
|
}
|
|
105
105
|
}
|
|
@@ -125,7 +125,7 @@ export function buildVercelVcConfig(
|
|
|
125
125
|
vercel: VercelPresetOptions,
|
|
126
126
|
): Record<string, unknown> {
|
|
127
127
|
const vcConfig: Record<string, unknown> = {
|
|
128
|
-
runtime: vercel.runtime ?? "
|
|
128
|
+
runtime: vercel.runtime ?? "nodejs24.x",
|
|
129
129
|
handler: "index.mjs",
|
|
130
130
|
launcherType: "Nodejs",
|
|
131
131
|
shouldAddHelpers: false,
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Internal Types - Implementation Details
|
|
3
|
-
*
|
|
4
|
-
* @internal
|
|
5
|
-
* These types are for internal use only and should not be relied upon by consumers.
|
|
6
|
-
* They may change without notice between versions.
|
|
7
|
-
*
|
|
8
|
-
* If you find yourself needing these types, please open an issue to discuss
|
|
9
|
-
* adding them to the public API.
|
|
10
|
-
*/
|
|
11
|
-
/**
|
|
12
|
-
* @internal
|
|
13
|
-
* Internal representation of a resolved route segment.
|
|
14
|
-
* Used during route matching and rendering pipeline.
|
|
15
|
-
*/
|
|
16
|
-
export type { ResolvedSegment, SegmentMetadata } from "./types.js";
|
|
17
|
-
/**
|
|
18
|
-
* @internal
|
|
19
|
-
* Internal match result from route resolution.
|
|
20
|
-
*/
|
|
21
|
-
export type { MatchResult, SlotState } from "./types.js";
|
|
22
|
-
/**
|
|
23
|
-
* @internal
|
|
24
|
-
* Context for intercept route selection.
|
|
25
|
-
*/
|
|
26
|
-
export type { InterceptSelectorContext, InterceptSegmentsState, InterceptWhenFn, } from "./server/context.js";
|
|
27
|
-
/**
|
|
28
|
-
* @internal
|
|
29
|
-
* RSC protocol payload structure.
|
|
30
|
-
*/
|
|
31
|
-
export type { RscPayload, ReactFormState } from "./rsc/types.js";
|
|
32
|
-
/**
|
|
33
|
-
* @internal
|
|
34
|
-
* Internal navigation store interface.
|
|
35
|
-
*/
|
|
36
|
-
export type { NavigationStore, NavigationBridge, RscMetadata, ActionResult, InflightAction, NavigationState, TrackedActionState, ActionStateListener, SegmentCache, SegmentState, NavigationUpdate, } from "./browser/types.js";
|
|
37
|
-
/**
|
|
38
|
-
* @internal
|
|
39
|
-
* Internal handle storage mechanism.
|
|
40
|
-
*/
|
|
41
|
-
export type { HandleStore, HandleData } from "./server/handle-store.js";
|
|
42
|
-
/**
|
|
43
|
-
* @internal
|
|
44
|
-
* Segment handle data in cache.
|
|
45
|
-
*/
|
|
46
|
-
export type { SegmentHandleData } from "./cache/types.js";
|
|
47
|
-
/**
|
|
48
|
-
* @internal
|
|
49
|
-
* Internal cache entry data structure.
|
|
50
|
-
*/
|
|
51
|
-
export type { CachedEntryData, CacheGetResult, SerializedSegmentData, CacheDefaults, } from "./cache/types.js";
|
|
52
|
-
/**
|
|
53
|
-
* @internal
|
|
54
|
-
* Router context for AsyncLocalStorage.
|
|
55
|
-
*/
|
|
56
|
-
export type { RouterContext, RevalidationContext, InterceptResult, } from "./router/router-context.js";
|
|
57
|
-
/**
|
|
58
|
-
* @internal
|
|
59
|
-
* Route match context during pipeline processing.
|
|
60
|
-
*/
|
|
61
|
-
export type { MatchContext, MatchPipelineState, } from "./router/match-context.js";
|
|
62
|
-
/**
|
|
63
|
-
* @internal
|
|
64
|
-
* Pattern matching result.
|
|
65
|
-
*/
|
|
66
|
-
export type { RouteMatchResult } from "./router/pattern-matching.js";
|
|
67
|
-
/**
|
|
68
|
-
* @internal
|
|
69
|
-
* Entry data during route traversal.
|
|
70
|
-
*/
|
|
71
|
-
export type { EntryData, InterceptEntry, MetricsStore, PerformanceMetric, EntryCacheConfig, EntryPropCommon, EntryPropDatas, LoaderEntry, EntryPropSegments, } from "./server/context.js";
|
|
72
|
-
/**
|
|
73
|
-
* @internal
|
|
74
|
-
* Internal handler context with additional props for router internals.
|
|
75
|
-
* Includes `_currentSegmentId` and `_responseType`.
|
|
76
|
-
*/
|
|
77
|
-
export type { InternalHandlerContext } from "./types.js";
|
|
78
|
-
/**
|
|
79
|
-
* @internal
|
|
80
|
-
* Builds React element trees from route segments.
|
|
81
|
-
*/
|
|
82
|
-
export { renderSegments } from "./segment-system.js";
|
|
83
|
-
/**
|
|
84
|
-
* @internal
|
|
85
|
-
* Error sanitization and network error utilities.
|
|
86
|
-
*/
|
|
87
|
-
export { sanitizeError, NetworkError, isNetworkError } from "./errors.js";
|
|
88
|
-
/**
|
|
89
|
-
* @internal
|
|
90
|
-
* Scoped view of GeneratedRouteMap for Handler<"localName", ScopedRouteMap<"prefix">>.
|
|
91
|
-
*/
|
|
92
|
-
export type { ScopedRouteMap } from "./types.js";
|
|
93
|
-
/**
|
|
94
|
-
* @internal
|
|
95
|
-
* Type-level utilities for reverse URL generation.
|
|
96
|
-
*/
|
|
97
|
-
export type { MergeRoutes, SanitizePrefix } from "./reverse.js";
|
|
98
|
-
/**
|
|
99
|
-
* @internal
|
|
100
|
-
* Individual telemetry event types.
|
|
101
|
-
*/
|
|
102
|
-
export type { RequestStartEvent, RequestEndEvent, RequestErrorEvent, RequestTimeoutEvent, LoaderStartEvent, LoaderEndEvent, LoaderErrorEvent, HandlerErrorEvent, CacheDecisionEvent, RevalidationDecisionEvent, } from "./router/telemetry.js";
|
|
103
|
-
/**
|
|
104
|
-
* @internal
|
|
105
|
-
* Type guard for prerender handler definitions.
|
|
106
|
-
*/
|
|
107
|
-
export { isPrerenderHandler, isPassthroughHandler } from "./prerender.js";
|
|
108
|
-
/**
|
|
109
|
-
* @internal
|
|
110
|
-
* Type guard for static handler definitions.
|
|
111
|
-
*/
|
|
112
|
-
export { isStaticHandler } from "./static-handler.js";
|
|
113
|
-
/**
|
|
114
|
-
* @internal
|
|
115
|
-
* Sentinel used to tag response-type route entries.
|
|
116
|
-
*/
|
|
117
|
-
export { RESPONSE_TYPE } from "./urls.js";
|
|
118
|
-
/**
|
|
119
|
-
* @internal
|
|
120
|
-
* Debug utilities for route matching performance analysis.
|
|
121
|
-
*/
|
|
122
|
-
export { enableMatchDebug, getMatchDebugStats, } from "./router/pattern-matching.js";
|
|
123
|
-
/**
|
|
124
|
-
* @internal
|
|
125
|
-
* Debug utilities for manifest inspection and comparison.
|
|
126
|
-
*/
|
|
127
|
-
export { serializeManifest, compareManifests, formatManifestDiff, type SerializedEntry, type SerializedManifest, } from "./debug.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|