@rangojs/router 0.0.0-experimental.124 → 0.0.0-experimental.125
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/dist/bin/rango.js +3 -4
- package/dist/vite/index.js +9 -43
- package/package.json +1 -1
- package/skills/hooks/SKILL.md +2 -2
- package/skills/route/SKILL.md +6 -0
- package/src/__internal.ts +0 -65
- package/src/browser/action-coordinator.ts +1 -1
- package/src/browser/action-fence.ts +10 -0
- package/src/browser/event-controller.ts +1 -83
- package/src/browser/navigation-store-handle.ts +3 -4
- package/src/browser/navigation-store.ts +0 -39
- package/src/browser/navigation-transaction.ts +0 -32
- package/src/browser/partial-update.ts +1 -83
- package/src/browser/prefetch/cache.ts +6 -45
- package/src/browser/prefetch/queue.ts +6 -3
- package/src/browser/rango-state.ts +2 -23
- package/src/browser/react/Link.tsx +0 -2
- package/src/browser/react/NavigationProvider.tsx +2 -1
- package/src/browser/react/ScrollRestoration.tsx +10 -6
- package/src/browser/react/filter-segment-order.ts +0 -2
- package/src/browser/react/index.ts +0 -45
- package/src/browser/react/location-state-shared.ts +0 -13
- package/src/browser/react/location-state.ts +0 -1
- package/src/browser/react/use-action.ts +6 -15
- package/src/browser/react/use-handle.ts +0 -5
- package/src/browser/react/use-link-status.ts +0 -4
- package/src/browser/react/use-navigation.ts +0 -3
- package/src/browser/react/use-params.ts +0 -2
- package/src/browser/react/use-search-params.ts +0 -5
- package/src/browser/react/use-segments.ts +0 -13
- package/src/browser/rsc-router.tsx +2 -2
- package/src/browser/types.ts +0 -1
- package/src/browser/validate-redirect-origin.ts +4 -5
- package/src/build/route-trie.ts +3 -0
- package/src/build/route-types/param-extraction.ts +6 -3
- package/src/build/route-types/router-processing.ts +0 -8
- package/src/cache/cache-policy.ts +0 -54
- package/src/cache/cache-runtime.ts +27 -24
- package/src/cache/cache-scope.ts +0 -27
- package/src/cache/cache-tag.ts +0 -37
- package/src/cache/cf/cf-cache-store.ts +72 -45
- package/src/cache/cf/index.ts +0 -24
- package/src/cache/document-cache.ts +0 -36
- package/src/cache/handle-snapshot.ts +0 -40
- package/src/cache/index.ts +0 -27
- package/src/cache/memory-segment-store.ts +0 -52
- package/src/cache/profile-registry.ts +7 -3
- package/src/cache/read-through-swr.ts +41 -11
- package/src/cache/segment-codec.ts +0 -16
- package/src/cache/types.ts +0 -98
- package/src/client.rsc.tsx +1 -22
- package/src/client.tsx +14 -32
- package/src/deps/ssr.ts +0 -1
- package/src/handle.ts +2 -12
- package/src/handles/MetaTags.tsx +0 -14
- package/src/handles/meta.ts +0 -39
- package/src/host/cookie-handler.ts +0 -36
- package/src/host/errors.ts +0 -24
- package/src/host/index.ts +6 -0
- package/src/host/pattern-matcher.ts +7 -50
- package/src/host/router.ts +1 -65
- package/src/host/testing.ts +0 -16
- package/src/host/types.ts +6 -2
- package/src/href-client.ts +0 -4
- package/src/index.rsc.ts +20 -2
- package/src/internal-debug.ts +2 -4
- package/src/loader.rsc.ts +4 -15
- package/src/loader.ts +3 -9
- package/src/network-error-thrower.tsx +1 -6
- package/src/outlet-provider.tsx +1 -5
- package/src/prerender/param-hash.ts +10 -11
- package/src/prerender/store.ts +23 -30
- package/src/prerender.ts +34 -0
- package/src/root-error-boundary.tsx +1 -19
- package/src/route-content-wrapper.tsx +1 -44
- package/src/route-definition/dsl-helpers.ts +7 -19
- package/src/route-definition/helpers-types.ts +3 -3
- package/src/route-definition/redirect.ts +11 -1
- package/src/route-map-builder.ts +0 -16
- package/src/router/content-negotiation.ts +0 -13
- package/src/router/error-handling.ts +12 -16
- package/src/router/find-match.ts +4 -30
- package/src/router/intercept-resolution.ts +10 -1
- package/src/router/lazy-includes.ts +1 -57
- package/src/router/loader-resolution.ts +3 -2
- package/src/router/logging.ts +0 -6
- package/src/router/manifest.ts +1 -25
- package/src/router/match-api.ts +0 -20
- package/src/router/match-context.ts +0 -22
- package/src/router/match-handlers.ts +0 -43
- package/src/router/match-middleware/background-revalidation.ts +0 -7
- package/src/router/match-middleware/cache-lookup.ts +1 -54
- package/src/router/match-middleware/cache-store.ts +0 -31
- package/src/router/match-middleware/intercept-resolution.ts +0 -22
- package/src/router/match-middleware/segment-resolution.ts +0 -21
- package/src/router/match-pipelines.ts +1 -42
- package/src/router/match-result.ts +1 -52
- package/src/router/metrics.ts +0 -34
- package/src/router/middleware-cookies.ts +0 -13
- package/src/router/middleware-types.ts +0 -115
- package/src/router/middleware.ts +7 -30
- package/src/router/navigation-snapshot.ts +0 -51
- package/src/router/params-util.ts +23 -0
- package/src/router/pattern-matching.ts +1 -33
- package/src/router/prerender-match.ts +29 -45
- package/src/router/request-classification.ts +1 -38
- package/src/router/revalidation.ts +5 -58
- package/src/router/router-context.ts +0 -26
- package/src/router/segment-resolution/fresh.ts +25 -57
- package/src/router/segment-resolution/helpers.ts +34 -0
- package/src/router/segment-resolution/loader-cache.ts +10 -13
- package/src/router/segment-resolution/revalidation.ts +5 -42
- package/src/router/segment-resolution/streamed-handler-telemetry.ts +52 -0
- package/src/router/segment-resolution.ts +4 -1
- package/src/router/telemetry-otel.ts +0 -20
- package/src/router/telemetry.ts +0 -22
- package/src/router/timeout.ts +0 -20
- package/src/router/trie-matching.ts +63 -40
- package/src/router/types.ts +1 -63
- package/src/router/url-params.ts +0 -5
- package/src/router.ts +4 -2
- package/src/rsc/handler.ts +11 -2
- package/src/rsc/helpers.ts +15 -0
- package/src/rsc/origin-guard.ts +0 -12
- package/src/rsc/progressive-enhancement.ts +2 -1
- package/src/rsc/rsc-rendering.ts +2 -7
- package/src/rsc/runtime-warnings.ts +14 -0
- package/src/rsc/server-action.ts +30 -28
- package/src/rsc/types.ts +0 -1
- package/src/search-params.ts +0 -16
- package/src/segment-loader-promise.ts +14 -2
- package/src/segment-system.tsx +79 -88
- package/src/server/handle-store.ts +7 -24
- package/src/server/loader-registry.ts +5 -24
- package/src/server/request-context.ts +6 -78
- package/src/ssr/index.tsx +14 -14
- package/src/static-handler.ts +2 -27
- package/src/testing/cache-status.ts +0 -47
- package/src/testing/collect-handle.ts +1 -24
- package/src/testing/e2e/index.ts +0 -22
- package/src/testing/e2e/matchers.ts +0 -16
- package/src/testing/flight-matchers.ts +0 -13
- package/src/testing/flight-normalize.ts +3 -30
- package/src/testing/flight.ts +0 -48
- package/src/testing/generated-routes.ts +1 -41
- package/src/testing/index.ts +0 -21
- package/src/testing/internal/context.ts +3 -45
- package/src/testing/internal/seed-vars.ts +0 -26
- package/src/testing/render-handler.ts +0 -49
- package/src/testing/render-route.tsx +0 -90
- package/src/testing/run-loader.ts +0 -96
- package/src/testing/run-middleware.ts +0 -26
- package/src/theme/ThemeProvider.tsx +0 -52
- package/src/theme/ThemeScript.tsx +0 -6
- package/src/theme/constants.ts +0 -12
- package/src/theme/index.ts +0 -7
- package/src/theme/theme-context.ts +1 -5
- package/src/theme/theme-script.ts +0 -14
- package/src/theme/use-theme.ts +0 -3
- package/src/types/boundaries.ts +0 -35
- package/src/types/error-types.ts +25 -89
- package/src/types/global-namespace.ts +4 -14
- package/src/types/handler-context.ts +0 -8
- package/src/types/index.ts +0 -10
- package/src/types/request-scope.ts +0 -19
- package/src/types/route-config.ts +6 -50
- package/src/types/route-entry.ts +0 -6
- package/src/types/segments.ts +0 -13
- package/src/urls/include-helper.ts +0 -4
- package/src/urls/index.ts +0 -6
- package/src/urls/path-helper-types.ts +2 -2
- package/src/urls/path-helper.ts +0 -54
- package/src/urls/urls-function.ts +0 -13
- package/src/use-loader.tsx +0 -186
- package/src/vite/discovery/bundle-postprocess.ts +2 -1
- package/src/vite/discovery/discover-routers.ts +6 -7
- package/src/vite/discovery/virtual-module-codegen.ts +1 -11
- package/src/vite/plugin-types.ts +3 -1
- package/src/vite/plugins/cjs-to-esm.ts +0 -11
- package/src/vite/plugins/client-ref-dedup.ts +0 -11
- package/src/vite/plugins/client-ref-hashing.ts +0 -10
- package/src/vite/plugins/cloudflare-protocol-stub.ts +0 -20
- package/src/vite/plugins/expose-action-id.ts +2 -73
- package/src/vite/plugins/expose-id-utils.ts +0 -55
- package/src/vite/plugins/expose-ids/export-analysis.ts +0 -38
- package/src/vite/plugins/expose-ids/handler-transform.ts +0 -15
- package/src/vite/plugins/expose-ids/loader-transform.ts +0 -15
- package/src/vite/plugins/expose-ids/router-transform.ts +0 -13
- package/src/vite/plugins/expose-internal-ids.ts +10 -0
- package/src/vite/plugins/performance-tracks.ts +0 -3
- package/src/vite/plugins/use-cache-transform.ts +0 -36
- package/src/vite/plugins/version-injector.ts +0 -20
- package/src/vite/plugins/version-plugin.ts +1 -49
- package/src/vite/plugins/virtual-entries.ts +0 -15
- package/src/vite/rango.ts +1 -108
- package/src/vite/router-discovery.ts +2 -1
- package/src/vite/utils/ast-handler-extract.ts +0 -16
- package/src/vite/utils/bundle-analysis.ts +6 -13
- package/src/vite/utils/client-chunks.ts +0 -6
- package/src/vite/utils/forward-user-plugins.ts +0 -22
- package/src/vite/utils/manifest-utils.ts +0 -4
- package/src/vite/utils/package-resolution.ts +1 -73
- package/src/vite/utils/prerender-utils.ts +0 -35
- package/src/vite/utils/shared-utils.ts +3 -35
- package/dist/__internal.d.ts +0 -83
- package/dist/__internal.d.ts.map +0 -1
- package/dist/__internal.js +0 -19
- package/dist/__internal.js.map +0 -1
- package/dist/__mocks__/version.d.ts +0 -7
- package/dist/__mocks__/version.d.ts.map +0 -1
- package/dist/__mocks__/version.js +0 -7
- package/dist/__mocks__/version.js.map +0 -1
- package/dist/__tests__/client-href.test.d.ts +0 -2
- package/dist/__tests__/client-href.test.d.ts.map +0 -1
- package/dist/__tests__/client-href.test.js +0 -74
- package/dist/__tests__/client-href.test.js.map +0 -1
- package/dist/__tests__/component-utils.test.d.ts +0 -2
- package/dist/__tests__/component-utils.test.d.ts.map +0 -1
- package/dist/__tests__/component-utils.test.js +0 -51
- package/dist/__tests__/component-utils.test.js.map +0 -1
- package/dist/__tests__/event-controller.test.d.ts +0 -2
- package/dist/__tests__/event-controller.test.d.ts.map +0 -1
- package/dist/__tests__/event-controller.test.js +0 -538
- package/dist/__tests__/event-controller.test.js.map +0 -1
- package/dist/__tests__/helpers/route-tree.d.ts +0 -118
- package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
- package/dist/__tests__/helpers/route-tree.js +0 -374
- package/dist/__tests__/helpers/route-tree.js.map +0 -1
- package/dist/__tests__/match-result.test.d.ts +0 -2
- package/dist/__tests__/match-result.test.d.ts.map +0 -1
- package/dist/__tests__/match-result.test.js +0 -154
- package/dist/__tests__/match-result.test.js.map +0 -1
- package/dist/__tests__/navigation-store.test.d.ts +0 -2
- package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
- package/dist/__tests__/navigation-store.test.js +0 -440
- package/dist/__tests__/navigation-store.test.js.map +0 -1
- package/dist/__tests__/partial-update.test.d.ts +0 -2
- package/dist/__tests__/partial-update.test.d.ts.map +0 -1
- package/dist/__tests__/partial-update.test.js +0 -1009
- package/dist/__tests__/partial-update.test.js.map +0 -1
- package/dist/__tests__/reverse-types.test.d.ts +0 -8
- package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
- package/dist/__tests__/reverse-types.test.js +0 -656
- package/dist/__tests__/reverse-types.test.js.map +0 -1
- package/dist/__tests__/route-definition.test.d.ts +0 -2
- package/dist/__tests__/route-definition.test.d.ts.map +0 -1
- package/dist/__tests__/route-definition.test.js +0 -55
- package/dist/__tests__/route-definition.test.js.map +0 -1
- package/dist/__tests__/router-helpers.test.d.ts +0 -2
- package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
- package/dist/__tests__/router-helpers.test.js +0 -377
- package/dist/__tests__/router-helpers.test.js.map +0 -1
- package/dist/__tests__/router-integration-2.test.d.ts +0 -2
- package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
- package/dist/__tests__/router-integration-2.test.js +0 -426
- package/dist/__tests__/router-integration-2.test.js.map +0 -1
- package/dist/__tests__/router-integration.test.d.ts +0 -2
- package/dist/__tests__/router-integration.test.d.ts.map +0 -1
- package/dist/__tests__/router-integration.test.js +0 -1051
- package/dist/__tests__/router-integration.test.js.map +0 -1
- package/dist/__tests__/search-params.test.d.ts +0 -5
- package/dist/__tests__/search-params.test.d.ts.map +0 -1
- package/dist/__tests__/search-params.test.js +0 -306
- package/dist/__tests__/search-params.test.js.map +0 -1
- package/dist/__tests__/segment-system.test.d.ts +0 -2
- package/dist/__tests__/segment-system.test.d.ts.map +0 -1
- package/dist/__tests__/segment-system.test.js +0 -627
- package/dist/__tests__/segment-system.test.js.map +0 -1
- package/dist/__tests__/static-handler-types.test.d.ts +0 -8
- package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
- package/dist/__tests__/static-handler-types.test.js +0 -63
- package/dist/__tests__/static-handler-types.test.js.map +0 -1
- package/dist/__tests__/urls.test.d.ts +0 -2
- package/dist/__tests__/urls.test.d.ts.map +0 -1
- package/dist/__tests__/urls.test.js +0 -421
- package/dist/__tests__/urls.test.js.map +0 -1
- package/dist/__tests__/use-mount.test.d.ts +0 -2
- package/dist/__tests__/use-mount.test.d.ts.map +0 -1
- package/dist/__tests__/use-mount.test.js +0 -35
- package/dist/__tests__/use-mount.test.js.map +0 -1
- package/dist/bin/rango.d.ts +0 -2
- package/dist/bin/rango.d.ts.map +0 -1
- package/dist/bin/rango.js.map +0 -1
- package/dist/browser/event-controller.d.ts +0 -191
- package/dist/browser/event-controller.d.ts.map +0 -1
- package/dist/browser/event-controller.js +0 -559
- package/dist/browser/event-controller.js.map +0 -1
- package/dist/browser/index.d.ts +0 -2
- package/dist/browser/index.d.ts.map +0 -1
- package/dist/browser/index.js +0 -14
- package/dist/browser/index.js.map +0 -1
- package/dist/browser/link-interceptor.d.ts +0 -38
- package/dist/browser/link-interceptor.d.ts.map +0 -1
- package/dist/browser/link-interceptor.js +0 -99
- package/dist/browser/link-interceptor.js.map +0 -1
- package/dist/browser/logging.d.ts +0 -10
- package/dist/browser/logging.d.ts.map +0 -1
- package/dist/browser/logging.js +0 -29
- package/dist/browser/logging.js.map +0 -1
- package/dist/browser/lru-cache.d.ts +0 -17
- package/dist/browser/lru-cache.d.ts.map +0 -1
- package/dist/browser/lru-cache.js +0 -50
- package/dist/browser/lru-cache.js.map +0 -1
- package/dist/browser/merge-segment-loaders.d.ts +0 -39
- package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
- package/dist/browser/merge-segment-loaders.js +0 -102
- package/dist/browser/merge-segment-loaders.js.map +0 -1
- package/dist/browser/navigation-bridge.d.ts +0 -102
- package/dist/browser/navigation-bridge.d.ts.map +0 -1
- package/dist/browser/navigation-bridge.js +0 -708
- package/dist/browser/navigation-bridge.js.map +0 -1
- package/dist/browser/navigation-client.d.ts +0 -25
- package/dist/browser/navigation-client.d.ts.map +0 -1
- package/dist/browser/navigation-client.js +0 -157
- package/dist/browser/navigation-client.js.map +0 -1
- package/dist/browser/navigation-store.d.ts +0 -101
- package/dist/browser/navigation-store.d.ts.map +0 -1
- package/dist/browser/navigation-store.js +0 -625
- package/dist/browser/navigation-store.js.map +0 -1
- package/dist/browser/partial-update.d.ts +0 -75
- package/dist/browser/partial-update.d.ts.map +0 -1
- package/dist/browser/partial-update.js +0 -426
- package/dist/browser/partial-update.js.map +0 -1
- package/dist/browser/react/Link.d.ts +0 -86
- package/dist/browser/react/Link.d.ts.map +0 -1
- package/dist/browser/react/Link.js +0 -128
- package/dist/browser/react/Link.js.map +0 -1
- package/dist/browser/react/NavigationProvider.d.ts +0 -63
- package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
- package/dist/browser/react/NavigationProvider.js +0 -216
- package/dist/browser/react/NavigationProvider.js.map +0 -1
- package/dist/browser/react/ScrollRestoration.d.ts +0 -75
- package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
- package/dist/browser/react/ScrollRestoration.js +0 -57
- package/dist/browser/react/ScrollRestoration.js.map +0 -1
- package/dist/browser/react/context.d.ts +0 -46
- package/dist/browser/react/context.d.ts.map +0 -1
- package/dist/browser/react/context.js +0 -10
- package/dist/browser/react/context.js.map +0 -1
- package/dist/browser/react/index.d.ts +0 -11
- package/dist/browser/react/index.d.ts.map +0 -1
- package/dist/browser/react/index.js +0 -22
- package/dist/browser/react/index.js.map +0 -1
- package/dist/browser/react/location-state-shared.d.ts +0 -63
- package/dist/browser/react/location-state-shared.d.ts.map +0 -1
- package/dist/browser/react/location-state-shared.js +0 -81
- package/dist/browser/react/location-state-shared.js.map +0 -1
- package/dist/browser/react/location-state.d.ts +0 -23
- package/dist/browser/react/location-state.d.ts.map +0 -1
- package/dist/browser/react/location-state.js +0 -29
- package/dist/browser/react/location-state.js.map +0 -1
- package/dist/browser/react/mount-context.d.ts +0 -24
- package/dist/browser/react/mount-context.d.ts.map +0 -1
- package/dist/browser/react/mount-context.js +0 -24
- package/dist/browser/react/mount-context.js.map +0 -1
- package/dist/browser/react/use-action.d.ts +0 -64
- package/dist/browser/react/use-action.d.ts.map +0 -1
- package/dist/browser/react/use-action.js +0 -134
- package/dist/browser/react/use-action.js.map +0 -1
- package/dist/browser/react/use-client-cache.d.ts +0 -41
- package/dist/browser/react/use-client-cache.d.ts.map +0 -1
- package/dist/browser/react/use-client-cache.js +0 -39
- package/dist/browser/react/use-client-cache.js.map +0 -1
- package/dist/browser/react/use-handle.d.ts +0 -31
- package/dist/browser/react/use-handle.d.ts.map +0 -1
- package/dist/browser/react/use-handle.js +0 -144
- package/dist/browser/react/use-handle.js.map +0 -1
- package/dist/browser/react/use-href.d.ts +0 -33
- package/dist/browser/react/use-href.d.ts.map +0 -1
- package/dist/browser/react/use-href.js +0 -39
- package/dist/browser/react/use-href.js.map +0 -1
- package/dist/browser/react/use-link-status.d.ts +0 -37
- package/dist/browser/react/use-link-status.d.ts.map +0 -1
- package/dist/browser/react/use-link-status.js +0 -99
- package/dist/browser/react/use-link-status.js.map +0 -1
- package/dist/browser/react/use-mount.d.ts +0 -25
- package/dist/browser/react/use-mount.d.ts.map +0 -1
- package/dist/browser/react/use-mount.js +0 -30
- package/dist/browser/react/use-mount.js.map +0 -1
- package/dist/browser/react/use-navigation.d.ts +0 -27
- package/dist/browser/react/use-navigation.d.ts.map +0 -1
- package/dist/browser/react/use-navigation.js +0 -87
- package/dist/browser/react/use-navigation.js.map +0 -1
- package/dist/browser/react/use-segments.d.ts +0 -38
- package/dist/browser/react/use-segments.d.ts.map +0 -1
- package/dist/browser/react/use-segments.js +0 -130
- package/dist/browser/react/use-segments.js.map +0 -1
- package/dist/browser/request-controller.d.ts +0 -26
- package/dist/browser/request-controller.d.ts.map +0 -1
- package/dist/browser/request-controller.js +0 -147
- package/dist/browser/request-controller.js.map +0 -1
- package/dist/browser/rsc-router.d.ts +0 -129
- package/dist/browser/rsc-router.d.ts.map +0 -1
- package/dist/browser/rsc-router.js +0 -195
- package/dist/browser/rsc-router.js.map +0 -1
- package/dist/browser/scroll-restoration.d.ts +0 -93
- package/dist/browser/scroll-restoration.d.ts.map +0 -1
- package/dist/browser/scroll-restoration.js +0 -321
- package/dist/browser/scroll-restoration.js.map +0 -1
- package/dist/browser/segment-structure-assert.d.ts +0 -17
- package/dist/browser/segment-structure-assert.d.ts.map +0 -1
- package/dist/browser/segment-structure-assert.js +0 -59
- package/dist/browser/segment-structure-assert.js.map +0 -1
- package/dist/browser/server-action-bridge.d.ts +0 -26
- package/dist/browser/server-action-bridge.d.ts.map +0 -1
- package/dist/browser/server-action-bridge.js +0 -668
- package/dist/browser/server-action-bridge.js.map +0 -1
- package/dist/browser/shallow.d.ts +0 -12
- package/dist/browser/shallow.d.ts.map +0 -1
- package/dist/browser/shallow.js +0 -34
- package/dist/browser/shallow.js.map +0 -1
- package/dist/browser/types.d.ts +0 -369
- package/dist/browser/types.d.ts.map +0 -1
- package/dist/browser/types.js +0 -2
- package/dist/browser/types.js.map +0 -1
- package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
- package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
- package/dist/build/__tests__/generate-cli.test.js +0 -237
- package/dist/build/__tests__/generate-cli.test.js.map +0 -1
- package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
- package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
- package/dist/build/__tests__/generate-manifest.test.js +0 -119
- package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
- package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
- package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
- package/dist/build/__tests__/generate-route-types.test.js +0 -620
- package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
- package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
- package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
- package/dist/build/__tests__/per-router-manifest.test.js +0 -308
- package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
- package/dist/build/generate-manifest.d.ts +0 -81
- package/dist/build/generate-manifest.d.ts.map +0 -1
- package/dist/build/generate-manifest.js +0 -276
- package/dist/build/generate-manifest.js.map +0 -1
- package/dist/build/generate-route-types.d.ts +0 -115
- package/dist/build/generate-route-types.d.ts.map +0 -1
- package/dist/build/generate-route-types.js +0 -740
- package/dist/build/generate-route-types.js.map +0 -1
- package/dist/build/index.d.ts +0 -21
- package/dist/build/index.d.ts.map +0 -1
- package/dist/build/index.js +0 -21
- package/dist/build/index.js.map +0 -1
- package/dist/build/route-trie.d.ts +0 -71
- package/dist/build/route-trie.d.ts.map +0 -1
- package/dist/build/route-trie.js +0 -175
- package/dist/build/route-trie.js.map +0 -1
- package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
- package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
- package/dist/cache/__tests__/cache-scope.test.js +0 -208
- package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
- package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
- package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
- package/dist/cache/__tests__/document-cache.test.js +0 -345
- package/dist/cache/__tests__/document-cache.test.js.map +0 -1
- package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
- package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
- package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
- package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
- package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
- package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
- package/dist/cache/__tests__/memory-store.test.js +0 -367
- package/dist/cache/__tests__/memory-store.test.js.map +0 -1
- package/dist/cache/cache-scope.d.ts +0 -102
- package/dist/cache/cache-scope.d.ts.map +0 -1
- package/dist/cache/cache-scope.js +0 -440
- package/dist/cache/cache-scope.js.map +0 -1
- package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
- package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
- package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
- package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
- package/dist/cache/cf/cf-cache-store.d.ts +0 -165
- package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
- package/dist/cache/cf/cf-cache-store.js +0 -242
- package/dist/cache/cf/cf-cache-store.js.map +0 -1
- package/dist/cache/cf/index.d.ts +0 -14
- package/dist/cache/cf/index.d.ts.map +0 -1
- package/dist/cache/cf/index.js +0 -17
- package/dist/cache/cf/index.js.map +0 -1
- package/dist/cache/document-cache.d.ts +0 -64
- package/dist/cache/document-cache.d.ts.map +0 -1
- package/dist/cache/document-cache.js +0 -228
- package/dist/cache/document-cache.js.map +0 -1
- package/dist/cache/index.d.ts +0 -19
- package/dist/cache/index.d.ts.map +0 -1
- package/dist/cache/index.js +0 -21
- package/dist/cache/index.js.map +0 -1
- package/dist/cache/memory-segment-store.d.ts +0 -110
- package/dist/cache/memory-segment-store.d.ts.map +0 -1
- package/dist/cache/memory-segment-store.js +0 -117
- package/dist/cache/memory-segment-store.js.map +0 -1
- package/dist/cache/memory-store.d.ts +0 -41
- package/dist/cache/memory-store.d.ts.map +0 -1
- package/dist/cache/memory-store.js +0 -191
- package/dist/cache/memory-store.js.map +0 -1
- package/dist/cache/types.d.ts +0 -317
- package/dist/cache/types.d.ts.map +0 -1
- package/dist/cache/types.js +0 -12
- package/dist/cache/types.js.map +0 -1
- package/dist/client.d.ts +0 -248
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -367
- package/dist/client.js.map +0 -1
- package/dist/client.rsc.d.ts +0 -26
- package/dist/client.rsc.d.ts.map +0 -1
- package/dist/client.rsc.js +0 -46
- package/dist/client.rsc.js.map +0 -1
- package/dist/component-utils.d.ts +0 -36
- package/dist/component-utils.d.ts.map +0 -1
- package/dist/component-utils.js +0 -61
- package/dist/component-utils.js.map +0 -1
- package/dist/components/DefaultDocument.d.ts +0 -13
- package/dist/components/DefaultDocument.d.ts.map +0 -1
- package/dist/components/DefaultDocument.js +0 -15
- package/dist/components/DefaultDocument.js.map +0 -1
- package/dist/debug.d.ts +0 -58
- package/dist/debug.d.ts.map +0 -1
- package/dist/debug.js +0 -157
- package/dist/debug.js.map +0 -1
- package/dist/default-error-boundary.d.ts +0 -11
- package/dist/default-error-boundary.d.ts.map +0 -1
- package/dist/default-error-boundary.js +0 -45
- package/dist/default-error-boundary.js.map +0 -1
- package/dist/deps/browser.d.ts +0 -2
- package/dist/deps/browser.d.ts.map +0 -1
- package/dist/deps/browser.js +0 -3
- package/dist/deps/browser.js.map +0 -1
- package/dist/deps/html-stream-client.d.ts +0 -2
- package/dist/deps/html-stream-client.d.ts.map +0 -1
- package/dist/deps/html-stream-client.js +0 -3
- package/dist/deps/html-stream-client.js.map +0 -1
- package/dist/deps/html-stream-server.d.ts +0 -2
- package/dist/deps/html-stream-server.d.ts.map +0 -1
- package/dist/deps/html-stream-server.js +0 -3
- package/dist/deps/html-stream-server.js.map +0 -1
- package/dist/deps/rsc.d.ts +0 -2
- package/dist/deps/rsc.d.ts.map +0 -1
- package/dist/deps/rsc.js +0 -4
- package/dist/deps/rsc.js.map +0 -1
- package/dist/deps/ssr.d.ts +0 -2
- package/dist/deps/ssr.d.ts.map +0 -1
- package/dist/deps/ssr.js +0 -3
- package/dist/deps/ssr.js.map +0 -1
- package/dist/errors.d.ts +0 -174
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -241
- package/dist/errors.js.map +0 -1
- package/dist/handle.d.ts +0 -78
- package/dist/handle.d.ts.map +0 -1
- package/dist/handle.js +0 -82
- package/dist/handle.js.map +0 -1
- package/dist/handles/MetaTags.d.ts +0 -14
- package/dist/handles/MetaTags.d.ts.map +0 -1
- package/dist/handles/MetaTags.js +0 -136
- package/dist/handles/MetaTags.js.map +0 -1
- package/dist/handles/index.d.ts +0 -6
- package/dist/handles/index.d.ts.map +0 -1
- package/dist/handles/index.js +0 -6
- package/dist/handles/index.js.map +0 -1
- package/dist/handles/meta.d.ts +0 -39
- package/dist/handles/meta.d.ts.map +0 -1
- package/dist/handles/meta.js +0 -202
- package/dist/handles/meta.js.map +0 -1
- package/dist/host/__tests__/errors.test.d.ts +0 -2
- package/dist/host/__tests__/errors.test.d.ts.map +0 -1
- package/dist/host/__tests__/errors.test.js +0 -76
- package/dist/host/__tests__/errors.test.js.map +0 -1
- package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
- package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
- package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
- package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
- package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
- package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
- package/dist/host/__tests__/pattern-matcher.test.js +0 -251
- package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
- package/dist/host/__tests__/router.test.d.ts +0 -2
- package/dist/host/__tests__/router.test.d.ts.map +0 -1
- package/dist/host/__tests__/router.test.js +0 -241
- package/dist/host/__tests__/router.test.js.map +0 -1
- package/dist/host/__tests__/testing.test.d.ts +0 -2
- package/dist/host/__tests__/testing.test.d.ts.map +0 -1
- package/dist/host/__tests__/testing.test.js +0 -64
- package/dist/host/__tests__/testing.test.js.map +0 -1
- package/dist/host/__tests__/utils.test.d.ts +0 -2
- package/dist/host/__tests__/utils.test.d.ts.map +0 -1
- package/dist/host/__tests__/utils.test.js +0 -29
- package/dist/host/__tests__/utils.test.js.map +0 -1
- package/dist/host/cookie-handler.d.ts +0 -34
- package/dist/host/cookie-handler.d.ts.map +0 -1
- package/dist/host/cookie-handler.js +0 -124
- package/dist/host/cookie-handler.js.map +0 -1
- package/dist/host/errors.d.ts +0 -56
- package/dist/host/errors.d.ts.map +0 -1
- package/dist/host/errors.js +0 -79
- package/dist/host/errors.js.map +0 -1
- package/dist/host/index.d.ts +0 -29
- package/dist/host/index.d.ts.map +0 -1
- package/dist/host/index.js +0 -32
- package/dist/host/index.js.map +0 -1
- package/dist/host/pattern-matcher.d.ts +0 -36
- package/dist/host/pattern-matcher.d.ts.map +0 -1
- package/dist/host/pattern-matcher.js +0 -172
- package/dist/host/pattern-matcher.js.map +0 -1
- package/dist/host/router.d.ts +0 -26
- package/dist/host/router.d.ts.map +0 -1
- package/dist/host/router.js +0 -218
- package/dist/host/router.js.map +0 -1
- package/dist/host/testing.d.ts +0 -36
- package/dist/host/testing.d.ts.map +0 -1
- package/dist/host/testing.js +0 -55
- package/dist/host/testing.js.map +0 -1
- package/dist/host/types.d.ts +0 -115
- package/dist/host/types.d.ts.map +0 -1
- package/dist/host/types.js +0 -7
- package/dist/host/types.js.map +0 -1
- package/dist/host/utils.d.ts +0 -21
- package/dist/host/utils.d.ts.map +0 -1
- package/dist/host/utils.js +0 -23
- package/dist/host/utils.js.map +0 -1
- package/dist/href-client.d.ts +0 -131
- package/dist/href-client.d.ts.map +0 -1
- package/dist/href-client.js +0 -64
- package/dist/href-client.js.map +0 -1
- package/dist/href-context.d.ts +0 -29
- package/dist/href-context.d.ts.map +0 -1
- package/dist/href-context.js +0 -21
- package/dist/href-context.js.map +0 -1
- package/dist/index.d.ts +0 -73
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -91
- package/dist/index.js.map +0 -1
- package/dist/index.rsc.d.ts +0 -32
- package/dist/index.rsc.d.ts.map +0 -1
- package/dist/index.rsc.js +0 -40
- package/dist/index.rsc.js.map +0 -1
- package/dist/internal-debug.d.ts +0 -2
- package/dist/internal-debug.d.ts.map +0 -1
- package/dist/internal-debug.js +0 -5
- package/dist/internal-debug.js.map +0 -1
- package/dist/loader.d.ts +0 -14
- package/dist/loader.d.ts.map +0 -1
- package/dist/loader.js +0 -20
- package/dist/loader.js.map +0 -1
- package/dist/loader.rsc.d.ts +0 -19
- package/dist/loader.rsc.d.ts.map +0 -1
- package/dist/loader.rsc.js +0 -99
- package/dist/loader.rsc.js.map +0 -1
- package/dist/network-error-thrower.d.ts +0 -17
- package/dist/network-error-thrower.d.ts.map +0 -1
- package/dist/network-error-thrower.js +0 -14
- package/dist/network-error-thrower.js.map +0 -1
- package/dist/outlet-context.d.ts +0 -13
- package/dist/outlet-context.d.ts.map +0 -1
- package/dist/outlet-context.js +0 -3
- package/dist/outlet-context.js.map +0 -1
- package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
- package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
- package/dist/prerender/__tests__/param-hash.test.js +0 -148
- package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
- package/dist/prerender/param-hash.d.ts +0 -16
- package/dist/prerender/param-hash.d.ts.map +0 -1
- package/dist/prerender/param-hash.js +0 -36
- package/dist/prerender/param-hash.js.map +0 -1
- package/dist/prerender/store.d.ts +0 -38
- package/dist/prerender/store.d.ts.map +0 -1
- package/dist/prerender/store.js +0 -61
- package/dist/prerender/store.js.map +0 -1
- package/dist/prerender.d.ts +0 -66
- package/dist/prerender.d.ts.map +0 -1
- package/dist/prerender.js +0 -57
- package/dist/prerender.js.map +0 -1
- package/dist/reverse.d.ts +0 -196
- package/dist/reverse.d.ts.map +0 -1
- package/dist/reverse.js +0 -78
- package/dist/reverse.js.map +0 -1
- package/dist/root-error-boundary.d.ts +0 -33
- package/dist/root-error-boundary.d.ts.map +0 -1
- package/dist/root-error-boundary.js +0 -165
- package/dist/root-error-boundary.js.map +0 -1
- package/dist/route-content-wrapper.d.ts +0 -46
- package/dist/route-content-wrapper.d.ts.map +0 -1
- package/dist/route-content-wrapper.js +0 -77
- package/dist/route-content-wrapper.js.map +0 -1
- package/dist/route-definition.d.ts +0 -421
- package/dist/route-definition.d.ts.map +0 -1
- package/dist/route-definition.js +0 -868
- package/dist/route-definition.js.map +0 -1
- package/dist/route-map-builder.d.ts +0 -155
- package/dist/route-map-builder.d.ts.map +0 -1
- package/dist/route-map-builder.js +0 -237
- package/dist/route-map-builder.js.map +0 -1
- package/dist/route-types.d.ts +0 -165
- package/dist/route-types.d.ts.map +0 -1
- package/dist/route-types.js +0 -7
- package/dist/route-types.js.map +0 -1
- package/dist/router/__tests__/handler-context.test.d.ts +0 -2
- package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
- package/dist/router/__tests__/handler-context.test.js +0 -65
- package/dist/router/__tests__/handler-context.test.js.map +0 -1
- package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
- package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
- package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
- package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
- package/dist/router/__tests__/match-context.test.d.ts +0 -2
- package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
- package/dist/router/__tests__/match-context.test.js +0 -92
- package/dist/router/__tests__/match-context.test.js.map +0 -1
- package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
- package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
- package/dist/router/__tests__/match-pipelines.test.js +0 -417
- package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
- package/dist/router/__tests__/match-result.test.d.ts +0 -2
- package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
- package/dist/router/__tests__/match-result.test.js +0 -457
- package/dist/router/__tests__/match-result.test.js.map +0 -1
- package/dist/router/__tests__/on-error.test.d.ts +0 -2
- package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
- package/dist/router/__tests__/on-error.test.js +0 -678
- package/dist/router/__tests__/on-error.test.js.map +0 -1
- package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
- package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
- package/dist/router/__tests__/pattern-matching.test.js +0 -629
- package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
- package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
- package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
- package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
- package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
- package/dist/router/error-handling.d.ts +0 -77
- package/dist/router/error-handling.d.ts.map +0 -1
- package/dist/router/error-handling.js +0 -202
- package/dist/router/error-handling.js.map +0 -1
- package/dist/router/handler-context.d.ts +0 -20
- package/dist/router/handler-context.d.ts.map +0 -1
- package/dist/router/handler-context.js +0 -198
- package/dist/router/handler-context.js.map +0 -1
- package/dist/router/intercept-resolution.d.ts +0 -66
- package/dist/router/intercept-resolution.d.ts.map +0 -1
- package/dist/router/intercept-resolution.js +0 -246
- package/dist/router/intercept-resolution.js.map +0 -1
- package/dist/router/loader-resolution.d.ts +0 -64
- package/dist/router/loader-resolution.d.ts.map +0 -1
- package/dist/router/loader-resolution.js +0 -284
- package/dist/router/loader-resolution.js.map +0 -1
- package/dist/router/logging.d.ts +0 -15
- package/dist/router/logging.d.ts.map +0 -1
- package/dist/router/logging.js +0 -99
- package/dist/router/logging.js.map +0 -1
- package/dist/router/manifest.d.ts +0 -22
- package/dist/router/manifest.d.ts.map +0 -1
- package/dist/router/manifest.js +0 -181
- package/dist/router/manifest.js.map +0 -1
- package/dist/router/match-api.d.ts +0 -35
- package/dist/router/match-api.d.ts.map +0 -1
- package/dist/router/match-api.js +0 -406
- package/dist/router/match-api.js.map +0 -1
- package/dist/router/match-context.d.ts +0 -206
- package/dist/router/match-context.d.ts.map +0 -1
- package/dist/router/match-context.js +0 -17
- package/dist/router/match-context.js.map +0 -1
- package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
- package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
- package/dist/router/match-middleware/background-revalidation.js +0 -75
- package/dist/router/match-middleware/background-revalidation.js.map +0 -1
- package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
- package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
- package/dist/router/match-middleware/cache-lookup.js +0 -257
- package/dist/router/match-middleware/cache-lookup.js.map +0 -1
- package/dist/router/match-middleware/cache-store.d.ts +0 -113
- package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
- package/dist/router/match-middleware/cache-store.js +0 -108
- package/dist/router/match-middleware/cache-store.js.map +0 -1
- package/dist/router/match-middleware/index.d.ts +0 -81
- package/dist/router/match-middleware/index.d.ts.map +0 -1
- package/dist/router/match-middleware/index.js +0 -80
- package/dist/router/match-middleware/index.js.map +0 -1
- package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
- package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
- package/dist/router/match-middleware/intercept-resolution.js +0 -134
- package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
- package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
- package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
- package/dist/router/match-middleware/segment-resolution.js +0 -53
- package/dist/router/match-middleware/segment-resolution.js.map +0 -1
- package/dist/router/match-pipelines.d.ts +0 -147
- package/dist/router/match-pipelines.d.ts.map +0 -1
- package/dist/router/match-pipelines.js +0 -82
- package/dist/router/match-pipelines.js.map +0 -1
- package/dist/router/match-result.d.ts +0 -126
- package/dist/router/match-result.d.ts.map +0 -1
- package/dist/router/match-result.js +0 -93
- package/dist/router/match-result.js.map +0 -1
- package/dist/router/metrics.d.ts +0 -20
- package/dist/router/metrics.d.ts.map +0 -1
- package/dist/router/metrics.js +0 -47
- package/dist/router/metrics.js.map +0 -1
- package/dist/router/middleware.d.ts +0 -249
- package/dist/router/middleware.d.ts.map +0 -1
- package/dist/router/middleware.js +0 -434
- package/dist/router/middleware.js.map +0 -1
- package/dist/router/middleware.test.d.ts +0 -2
- package/dist/router/middleware.test.d.ts.map +0 -1
- package/dist/router/middleware.test.js +0 -816
- package/dist/router/middleware.test.js.map +0 -1
- package/dist/router/pattern-matching.d.ts +0 -149
- package/dist/router/pattern-matching.d.ts.map +0 -1
- package/dist/router/pattern-matching.js +0 -349
- package/dist/router/pattern-matching.js.map +0 -1
- package/dist/router/revalidation.d.ts +0 -44
- package/dist/router/revalidation.d.ts.map +0 -1
- package/dist/router/revalidation.js +0 -147
- package/dist/router/revalidation.js.map +0 -1
- package/dist/router/router-context.d.ts +0 -135
- package/dist/router/router-context.d.ts.map +0 -1
- package/dist/router/router-context.js +0 -36
- package/dist/router/router-context.js.map +0 -1
- package/dist/router/segment-resolution.d.ts +0 -127
- package/dist/router/segment-resolution.d.ts.map +0 -1
- package/dist/router/segment-resolution.js +0 -919
- package/dist/router/segment-resolution.js.map +0 -1
- package/dist/router/trie-matching.d.ts +0 -40
- package/dist/router/trie-matching.d.ts.map +0 -1
- package/dist/router/trie-matching.js +0 -127
- package/dist/router/trie-matching.js.map +0 -1
- package/dist/router/types.d.ts +0 -136
- package/dist/router/types.d.ts.map +0 -1
- package/dist/router/types.js +0 -7
- package/dist/router/types.js.map +0 -1
- package/dist/router.d.ts +0 -753
- package/dist/router.d.ts.map +0 -1
- package/dist/router.gen.d.ts +0 -6
- package/dist/router.gen.d.ts.map +0 -1
- package/dist/router.gen.js +0 -6
- package/dist/router.gen.js.map +0 -1
- package/dist/router.js +0 -1304
- package/dist/router.js.map +0 -1
- package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
- package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
- package/dist/rsc/__tests__/helpers.test.js +0 -140
- package/dist/rsc/__tests__/helpers.test.js.map +0 -1
- package/dist/rsc/handler.d.ts +0 -45
- package/dist/rsc/handler.d.ts.map +0 -1
- package/dist/rsc/handler.js +0 -1172
- package/dist/rsc/handler.js.map +0 -1
- package/dist/rsc/helpers.d.ts +0 -16
- package/dist/rsc/helpers.d.ts.map +0 -1
- package/dist/rsc/helpers.js +0 -55
- package/dist/rsc/helpers.js.map +0 -1
- package/dist/rsc/index.d.ts +0 -22
- package/dist/rsc/index.d.ts.map +0 -1
- package/dist/rsc/index.js +0 -23
- package/dist/rsc/index.js.map +0 -1
- package/dist/rsc/nonce.d.ts +0 -9
- package/dist/rsc/nonce.d.ts.map +0 -1
- package/dist/rsc/nonce.js +0 -18
- package/dist/rsc/nonce.js.map +0 -1
- package/dist/rsc/types.d.ts +0 -206
- package/dist/rsc/types.d.ts.map +0 -1
- package/dist/rsc/types.js +0 -8
- package/dist/rsc/types.js.map +0 -1
- package/dist/search-params.d.ts +0 -103
- package/dist/search-params.d.ts.map +0 -1
- package/dist/search-params.js +0 -74
- package/dist/search-params.js.map +0 -1
- package/dist/segment-system.d.ts +0 -75
- package/dist/segment-system.d.ts.map +0 -1
- package/dist/segment-system.js +0 -336
- package/dist/segment-system.js.map +0 -1
- package/dist/server/context.d.ts +0 -245
- package/dist/server/context.d.ts.map +0 -1
- package/dist/server/context.js +0 -197
- package/dist/server/context.js.map +0 -1
- package/dist/server/fetchable-loader-store.d.ts +0 -18
- package/dist/server/fetchable-loader-store.d.ts.map +0 -1
- package/dist/server/fetchable-loader-store.js +0 -18
- package/dist/server/fetchable-loader-store.js.map +0 -1
- package/dist/server/handle-store.d.ts +0 -85
- package/dist/server/handle-store.d.ts.map +0 -1
- package/dist/server/handle-store.js +0 -142
- package/dist/server/handle-store.js.map +0 -1
- package/dist/server/loader-registry.d.ts +0 -55
- package/dist/server/loader-registry.d.ts.map +0 -1
- package/dist/server/loader-registry.js +0 -132
- package/dist/server/loader-registry.js.map +0 -1
- package/dist/server/request-context.d.ts +0 -226
- package/dist/server/request-context.d.ts.map +0 -1
- package/dist/server/request-context.js +0 -290
- package/dist/server/request-context.js.map +0 -1
- package/dist/server/root-layout.d.ts +0 -4
- package/dist/server/root-layout.d.ts.map +0 -1
- package/dist/server/root-layout.js +0 -5
- package/dist/server/root-layout.js.map +0 -1
- package/dist/server.d.ts +0 -15
- package/dist/server.d.ts.map +0 -1
- package/dist/server.js +0 -20
- package/dist/server.js.map +0 -1
- package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
- package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
- package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
- package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
- package/dist/ssr/index.d.ts +0 -98
- package/dist/ssr/index.d.ts.map +0 -1
- package/dist/ssr/index.js +0 -158
- package/dist/ssr/index.js.map +0 -1
- package/dist/static-handler.d.ts +0 -50
- package/dist/static-handler.d.ts.map +0 -1
- package/dist/static-handler.gen.d.ts +0 -5
- package/dist/static-handler.gen.d.ts.map +0 -1
- package/dist/static-handler.gen.js +0 -5
- package/dist/static-handler.gen.js.map +0 -1
- package/dist/static-handler.js +0 -29
- package/dist/static-handler.js.map +0 -1
- package/dist/theme/ThemeProvider.d.ts +0 -20
- package/dist/theme/ThemeProvider.d.ts.map +0 -1
- package/dist/theme/ThemeProvider.js +0 -240
- package/dist/theme/ThemeProvider.js.map +0 -1
- package/dist/theme/ThemeScript.d.ts +0 -48
- package/dist/theme/ThemeScript.d.ts.map +0 -1
- package/dist/theme/ThemeScript.js +0 -13
- package/dist/theme/ThemeScript.js.map +0 -1
- package/dist/theme/__tests__/theme.test.d.ts +0 -2
- package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
- package/dist/theme/__tests__/theme.test.js +0 -103
- package/dist/theme/__tests__/theme.test.js.map +0 -1
- package/dist/theme/constants.d.ts +0 -29
- package/dist/theme/constants.d.ts.map +0 -1
- package/dist/theme/constants.js +0 -48
- package/dist/theme/constants.js.map +0 -1
- package/dist/theme/index.d.ts +0 -31
- package/dist/theme/index.d.ts.map +0 -1
- package/dist/theme/index.js +0 -36
- package/dist/theme/index.js.map +0 -1
- package/dist/theme/theme-context.d.ts +0 -40
- package/dist/theme/theme-context.d.ts.map +0 -1
- package/dist/theme/theme-context.js +0 -60
- package/dist/theme/theme-context.js.map +0 -1
- package/dist/theme/theme-script.d.ts +0 -27
- package/dist/theme/theme-script.d.ts.map +0 -1
- package/dist/theme/theme-script.js +0 -147
- package/dist/theme/theme-script.js.map +0 -1
- package/dist/theme/types.d.ts +0 -163
- package/dist/theme/types.d.ts.map +0 -1
- package/dist/theme/types.js +0 -11
- package/dist/theme/types.js.map +0 -1
- package/dist/theme/use-theme.d.ts +0 -12
- package/dist/theme/use-theme.d.ts.map +0 -1
- package/dist/theme/use-theme.js +0 -40
- package/dist/theme/use-theme.js.map +0 -1
- package/dist/types.d.ts +0 -1479
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -10
- package/dist/types.js.map +0 -1
- package/dist/urls.d.ts +0 -441
- package/dist/urls.d.ts.map +0 -1
- package/dist/urls.gen.d.ts +0 -8
- package/dist/urls.gen.d.ts.map +0 -1
- package/dist/urls.gen.js +0 -8
- package/dist/urls.gen.js.map +0 -1
- package/dist/urls.js +0 -443
- package/dist/urls.js.map +0 -1
- package/dist/use-loader.d.ts +0 -127
- package/dist/use-loader.d.ts.map +0 -1
- package/dist/use-loader.js +0 -237
- package/dist/use-loader.js.map +0 -1
- package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
- package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
- package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
- package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
- package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
- package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
- package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
- package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
- package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
- package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
- package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
- package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
- package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
- package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
- package/dist/vite/__tests__/expose-router-id.test.js +0 -39
- package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
- package/dist/vite/ast-handler-extract.d.ts +0 -49
- package/dist/vite/ast-handler-extract.d.ts.map +0 -1
- package/dist/vite/ast-handler-extract.js +0 -249
- package/dist/vite/ast-handler-extract.js.map +0 -1
- package/dist/vite/expose-action-id.d.ts +0 -19
- package/dist/vite/expose-action-id.d.ts.map +0 -1
- package/dist/vite/expose-action-id.js +0 -250
- package/dist/vite/expose-action-id.js.map +0 -1
- package/dist/vite/expose-id-utils.d.ts +0 -69
- package/dist/vite/expose-id-utils.d.ts.map +0 -1
- package/dist/vite/expose-id-utils.js +0 -289
- package/dist/vite/expose-id-utils.js.map +0 -1
- package/dist/vite/expose-internal-ids.d.ts +0 -22
- package/dist/vite/expose-internal-ids.d.ts.map +0 -1
- package/dist/vite/expose-internal-ids.js +0 -886
- package/dist/vite/expose-internal-ids.js.map +0 -1
- package/dist/vite/index.d.ts +0 -149
- package/dist/vite/index.d.ts.map +0 -1
- package/dist/vite/index.js.bak +0 -5448
- package/dist/vite/index.js.map +0 -1
- package/dist/vite/index.named-routes.gen.ts +0 -103
- package/dist/vite/package-resolution.d.ts +0 -43
- package/dist/vite/package-resolution.d.ts.map +0 -1
- package/dist/vite/package-resolution.js +0 -112
- package/dist/vite/package-resolution.js.map +0 -1
- package/dist/vite/virtual-entries.d.ts +0 -25
- package/dist/vite/virtual-entries.d.ts.map +0 -1
- package/dist/vite/virtual-entries.js +0 -110
- package/dist/vite/virtual-entries.js.map +0 -1
- package/src/browser/shallow.ts +0 -40
package/dist/bin/rango.js
CHANGED
|
@@ -27,10 +27,10 @@ function extractParamsFromPattern(pattern) {
|
|
|
27
27
|
function formatRouteEntry(key, pattern, _params, search) {
|
|
28
28
|
const hasSearch = search && Object.keys(search).length > 0;
|
|
29
29
|
if (!hasSearch) {
|
|
30
|
-
return ` ${key}:
|
|
30
|
+
return ` ${key}: ${JSON.stringify(pattern)},`;
|
|
31
31
|
}
|
|
32
|
-
const searchBody = Object.entries(search).map(([k, v]) => `${k}:
|
|
33
|
-
return ` ${key}: { path:
|
|
32
|
+
const searchBody = Object.entries(search).map(([k, v]) => `${k}: ${JSON.stringify(v)}`).join(", ");
|
|
33
|
+
return ` ${key}: { path: ${JSON.stringify(pattern)}, search: { ${searchBody} } },`;
|
|
34
34
|
}
|
|
35
35
|
var init_param_extraction = __esm({
|
|
36
36
|
"src/build/route-types/param-extraction.ts"() {
|
|
@@ -1292,7 +1292,6 @@ function createVersionPlugin() {
|
|
|
1292
1292
|
}
|
|
1293
1293
|
return null;
|
|
1294
1294
|
},
|
|
1295
|
-
// Track RSC module changes and update version
|
|
1296
1295
|
async hotUpdate(ctx) {
|
|
1297
1296
|
if (!isDev) return;
|
|
1298
1297
|
const isRscModule = this.environment?.name === "rsc";
|
package/dist/vite/index.js
CHANGED
|
@@ -431,7 +431,6 @@ function exposeActionId() {
|
|
|
431
431
|
counterTransform?.record(id, performance.now() - start);
|
|
432
432
|
}
|
|
433
433
|
},
|
|
434
|
-
// Build mode: renderChunk runs after all transforms and bundling complete
|
|
435
434
|
renderChunk(code, chunk) {
|
|
436
435
|
const start = counterRender ? performance.now() : 0;
|
|
437
436
|
try {
|
|
@@ -1345,6 +1344,7 @@ ${lazyImports.join(",\n")}
|
|
|
1345
1344
|
// --------------- Loader pre-scan (build mode) ---------------
|
|
1346
1345
|
async buildStart() {
|
|
1347
1346
|
if (!isBuild) return;
|
|
1347
|
+
if (this.environment && this.environment.name !== "rsc") return;
|
|
1348
1348
|
const fs2 = await import("node:fs/promises");
|
|
1349
1349
|
const SKIP_DIRS = /* @__PURE__ */ new Set(["node_modules", "dist", "build", "coverage"]);
|
|
1350
1350
|
async function scanDir(dir) {
|
|
@@ -1997,7 +1997,6 @@ function clientRefDedup() {
|
|
|
1997
1997
|
if (this.environment?.name !== "client") return;
|
|
1998
1998
|
if (!importer?.includes(CLIENT_IN_SERVER_PROXY_PREFIX)) return;
|
|
1999
1999
|
if (!source.includes("/node_modules/")) return;
|
|
2000
|
-
if (!importer) return;
|
|
2001
2000
|
const packageName = extractPackageName(source);
|
|
2002
2001
|
if (!packageName) return;
|
|
2003
2002
|
if (clientExclude.includes(packageName)) return;
|
|
@@ -2130,7 +2129,7 @@ import { resolve } from "node:path";
|
|
|
2130
2129
|
// package.json
|
|
2131
2130
|
var package_default = {
|
|
2132
2131
|
name: "@rangojs/router",
|
|
2133
|
-
version: "0.0.0-experimental.
|
|
2132
|
+
version: "0.0.0-experimental.125",
|
|
2134
2133
|
description: "Django-inspired RSC router with composable URL patterns",
|
|
2135
2134
|
keywords: [
|
|
2136
2135
|
"react",
|
|
@@ -2422,10 +2421,10 @@ function extractParamsFromPattern(pattern) {
|
|
|
2422
2421
|
function formatRouteEntry(key, pattern, _params, search) {
|
|
2423
2422
|
const hasSearch = search && Object.keys(search).length > 0;
|
|
2424
2423
|
if (!hasSearch) {
|
|
2425
|
-
return ` ${key}:
|
|
2424
|
+
return ` ${key}: ${JSON.stringify(pattern)},`;
|
|
2426
2425
|
}
|
|
2427
|
-
const searchBody = Object.entries(search).map(([k, v]) => `${k}:
|
|
2428
|
-
return ` ${key}: { path:
|
|
2426
|
+
const searchBody = Object.entries(search).map(([k, v]) => `${k}: ${JSON.stringify(v)}`).join(", ");
|
|
2427
|
+
return ` ${key}: { path: ${JSON.stringify(pattern)}, search: { ${searchBody} } },`;
|
|
2429
2428
|
}
|
|
2430
2429
|
|
|
2431
2430
|
// src/build/route-types/ast-route-extraction.ts
|
|
@@ -3282,7 +3281,6 @@ function createVersionPlugin() {
|
|
|
3282
3281
|
}
|
|
3283
3282
|
return null;
|
|
3284
3283
|
},
|
|
3285
|
-
// Track RSC module changes and update version
|
|
3286
3284
|
async hotUpdate(ctx) {
|
|
3287
3285
|
if (!isDev) return;
|
|
3288
3286
|
const isRscModule = this.environment?.name === "rsc";
|
|
@@ -3359,9 +3357,6 @@ function performanceTracksOptimizeDepsPlugin() {
|
|
|
3359
3357
|
const RSDW_CLIENT_RE = /react-server-dom-webpack-client\.browser\.(development|production)\.js$/;
|
|
3360
3358
|
return {
|
|
3361
3359
|
name: "@rangojs/router:performance-tracks-optimize-deps",
|
|
3362
|
-
// Vite 8 optimizes deps with Rolldown (Rollup-style plugin pipeline), so the
|
|
3363
|
-
// pre-bundled RSDW client is patched via load() rather than esbuild's onLoad.
|
|
3364
|
-
// Returning code overrides Rolldown's default filesystem read for the module.
|
|
3365
3360
|
async load(id) {
|
|
3366
3361
|
const cleanId = id.split("?")[0] ?? id;
|
|
3367
3362
|
if (!RSDW_CLIENT_RE.test(cleanId)) return null;
|
|
@@ -3551,7 +3546,6 @@ function hashClientRefs(projectRoot) {
|
|
|
3551
3546
|
const counter = createCounter(debug7, "hash-client-refs");
|
|
3552
3547
|
return {
|
|
3553
3548
|
name: "@rangojs/router:hash-client-refs",
|
|
3554
|
-
// Run after the RSC plugin's transform (default enforce is normal)
|
|
3555
3549
|
enforce: "post",
|
|
3556
3550
|
applyToEnvironment(env) {
|
|
3557
3551
|
return env.name === "rsc";
|
|
@@ -4864,18 +4858,14 @@ async function discoverRouters(state, rscEnv) {
|
|
|
4864
4858
|
if (manifest.routeTrailingSlash) {
|
|
4865
4859
|
Object.assign(mergedRouteTrailingSlash, manifest.routeTrailingSlash);
|
|
4866
4860
|
}
|
|
4867
|
-
flattenLeafEntries(
|
|
4868
|
-
manifest.prefixTree,
|
|
4869
|
-
manifest.routeManifest,
|
|
4870
|
-
newMergedPrecomputedEntries
|
|
4871
|
-
);
|
|
4872
|
-
newPerRouterManifestDataMap.set(id, manifest.routeManifest);
|
|
4873
4861
|
const routerPrecomputed = [];
|
|
4874
4862
|
flattenLeafEntries(
|
|
4875
4863
|
manifest.prefixTree,
|
|
4876
4864
|
manifest.routeManifest,
|
|
4877
4865
|
routerPrecomputed
|
|
4878
4866
|
);
|
|
4867
|
+
newMergedPrecomputedEntries.push(...routerPrecomputed);
|
|
4868
|
+
newPerRouterManifestDataMap.set(id, manifest.routeManifest);
|
|
4879
4869
|
newPerRouterPrecomputedMap.set(id, routerPrecomputed);
|
|
4880
4870
|
console.log(
|
|
4881
4871
|
`[rango] Router "${id}" -> ${routeCount} routes (${staticRoutes} static, ${dynamicRoutes} dynamic)`
|
|
@@ -5200,7 +5190,7 @@ function generatePerRouterModule(state, routerId) {
|
|
|
5200
5190
|
`export const precomputedEntries = ${jsonParseExpression(entries)};`
|
|
5201
5191
|
);
|
|
5202
5192
|
}
|
|
5203
|
-
return lines.join("\n") || "
|
|
5193
|
+
return lines.join("\n") || "";
|
|
5204
5194
|
}
|
|
5205
5195
|
|
|
5206
5196
|
// src/vite/discovery/bundle-postprocess.ts
|
|
@@ -5271,7 +5261,7 @@ function postprocessBundle(state) {
|
|
|
5271
5261
|
manifestMap[key] = `./assets/${assetFileName}`;
|
|
5272
5262
|
}
|
|
5273
5263
|
const manifestCode = [
|
|
5274
|
-
`const m
|
|
5264
|
+
`const m=${jsonParseExpression(manifestMap)};`,
|
|
5275
5265
|
`export function loadPrerenderAsset(s){return import(s)}`,
|
|
5276
5266
|
`export default m;`,
|
|
5277
5267
|
""
|
|
@@ -6535,8 +6525,6 @@ async function rango(options) {
|
|
|
6535
6525
|
enforce: "pre",
|
|
6536
6526
|
config() {
|
|
6537
6527
|
return {
|
|
6538
|
-
// Exclude rsc-router modules from optimization to prevent module duplication
|
|
6539
|
-
// This ensures the same Context instance is used by both browser entry and RSC proxy modules
|
|
6540
6528
|
optimizeDeps: {
|
|
6541
6529
|
exclude: excludeDeps,
|
|
6542
6530
|
rolldownOptions: sharedRolldownOptions
|
|
@@ -6559,21 +6547,12 @@ async function rango(options) {
|
|
|
6559
6547
|
client: {
|
|
6560
6548
|
build: {
|
|
6561
6549
|
rollupOptions: {
|
|
6562
|
-
// FILE_NAME_CONFLICT (and any other client-build warning) is
|
|
6563
|
-
// emitted by the CLIENT environment build, which consults THIS
|
|
6564
|
-
// env's onwarn -- Vite 8's environment builds do NOT propagate
|
|
6565
|
-
// the top-level build.rollupOptions.onwarn into the client env.
|
|
6566
|
-
// Wire it here so the suppression runs where the conflicts
|
|
6567
|
-
// originate (the top-level handler is invoked 0x for these; the
|
|
6568
|
-
// client-env handler is invoked for all of them).
|
|
6569
6550
|
onwarn,
|
|
6570
6551
|
output: {
|
|
6571
6552
|
manualChunks: getManualChunks
|
|
6572
6553
|
}
|
|
6573
6554
|
}
|
|
6574
6555
|
},
|
|
6575
|
-
// Pre-bundle rsc-html-stream to prevent discovery during first request
|
|
6576
|
-
// Exclude rsc-router modules to ensure same Context instance
|
|
6577
6556
|
optimizeDeps: {
|
|
6578
6557
|
include: [nested("rsc-html-stream/client")],
|
|
6579
6558
|
exclude: excludeDeps,
|
|
@@ -6581,12 +6560,9 @@ async function rango(options) {
|
|
|
6581
6560
|
}
|
|
6582
6561
|
},
|
|
6583
6562
|
ssr: {
|
|
6584
|
-
// Build SSR inside RSC directory so wrangler can deploy self-contained dist/rsc
|
|
6585
6563
|
build: {
|
|
6586
6564
|
outDir: "./dist/rsc/ssr"
|
|
6587
6565
|
},
|
|
6588
|
-
// Pre-bundle SSR entry and React for proper module linking with childEnvironments
|
|
6589
|
-
// All deps must be listed to avoid late discovery triggering ERR_OUTDATED_OPTIMIZED_DEP
|
|
6590
6566
|
optimizeDeps: {
|
|
6591
6567
|
entries: [finalEntries.ssr],
|
|
6592
6568
|
include: [
|
|
@@ -6606,10 +6582,7 @@ async function rango(options) {
|
|
|
6606
6582
|
}
|
|
6607
6583
|
},
|
|
6608
6584
|
rsc: {
|
|
6609
|
-
// RSC environment needs exclude list and esbuild options
|
|
6610
|
-
// Exclude rsc-router modules to prevent createContext in RSC environment
|
|
6611
6585
|
optimizeDeps: {
|
|
6612
|
-
// Pre-bundle all RSC deps to prevent late discovery triggering ERR_OUTDATED_OPTIMIZED_DEP
|
|
6613
6586
|
include: [
|
|
6614
6587
|
"react",
|
|
6615
6588
|
"react/jsx-runtime",
|
|
@@ -6695,13 +6668,6 @@ ${list}`);
|
|
|
6695
6668
|
client: {
|
|
6696
6669
|
build: {
|
|
6697
6670
|
rollupOptions: {
|
|
6698
|
-
// FILE_NAME_CONFLICT (and any other client-build warning) is
|
|
6699
|
-
// emitted by the CLIENT environment build, which consults THIS
|
|
6700
|
-
// env's onwarn -- Vite 8's environment builds do NOT propagate
|
|
6701
|
-
// the top-level build.rollupOptions.onwarn into the client env.
|
|
6702
|
-
// Wire it here so the suppression runs where the conflicts
|
|
6703
|
-
// originate (the top-level handler is invoked 0x for these; the
|
|
6704
|
-
// client-env handler is invoked for all of them).
|
|
6705
6671
|
onwarn,
|
|
6706
6672
|
output: {
|
|
6707
6673
|
manualChunks: getManualChunks
|
package/package.json
CHANGED
package/skills/hooks/SKILL.md
CHANGED
|
@@ -89,8 +89,8 @@ import { useSegments } from "@rangojs/router/client";
|
|
|
89
89
|
function Breadcrumbs() {
|
|
90
90
|
const { path, segmentIds, location } = useSegments();
|
|
91
91
|
|
|
92
|
-
// path: ["
|
|
93
|
-
// segmentIds: ["
|
|
92
|
+
// path: ["shop", "products", "123"] (split on "/", no leading slash on any element)
|
|
93
|
+
// segmentIds: ["L0", "L0L1", "L0L1R0"] (opaque internal short-codes, not route names)
|
|
94
94
|
// location: URL object
|
|
95
95
|
|
|
96
96
|
return <nav>{path.join(" > ")}</nav>;
|
package/skills/route/SKILL.md
CHANGED
|
@@ -296,6 +296,12 @@ path("/old-page", () => redirect("/new-page"), { name: "oldPage" });
|
|
|
296
296
|
path("/moved", () => redirect("/new-location", 301), { name: "moved" });
|
|
297
297
|
```
|
|
298
298
|
|
|
299
|
+
> **Redirecting from a route with `loading()`:** an `async` handler that returns
|
|
300
|
+
> a `Response`/`redirect()` on a route that also declares `loading()` is streamed,
|
|
301
|
+
> so the redirect is rendered into the RSC stream instead of becoming an HTTP
|
|
302
|
+
> redirect. Issue the redirect from `middleware`, a loader, or a **synchronous**
|
|
303
|
+
> handler return instead. (Dev logs a warning if this is hit.)
|
|
304
|
+
|
|
299
305
|
### Redirect with location state
|
|
300
306
|
|
|
301
307
|
Carry typed state through redirects (e.g. flash messages):
|
package/src/__internal.ts
CHANGED
|
@@ -9,10 +9,6 @@
|
|
|
9
9
|
* adding them to the public API.
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
// ============================================================================
|
|
13
|
-
// Segment Resolution (Internal)
|
|
14
|
-
// ============================================================================
|
|
15
|
-
|
|
16
12
|
/**
|
|
17
13
|
* @internal
|
|
18
14
|
* Internal representation of a resolved route segment.
|
|
@@ -26,10 +22,6 @@ export type { ResolvedSegment, SegmentMetadata } from "./types.js";
|
|
|
26
22
|
*/
|
|
27
23
|
export type { MatchResult, SlotState } from "./types.js";
|
|
28
24
|
|
|
29
|
-
// ============================================================================
|
|
30
|
-
// Intercept System (Internal)
|
|
31
|
-
// ============================================================================
|
|
32
|
-
|
|
33
25
|
/**
|
|
34
26
|
* @internal
|
|
35
27
|
* Context for intercept route selection.
|
|
@@ -40,10 +32,6 @@ export type {
|
|
|
40
32
|
InterceptWhenFn,
|
|
41
33
|
} from "./server/context.js";
|
|
42
34
|
|
|
43
|
-
// ============================================================================
|
|
44
|
-
// Browser State (Internal)
|
|
45
|
-
// ============================================================================
|
|
46
|
-
|
|
47
35
|
/**
|
|
48
36
|
* @internal
|
|
49
37
|
* RSC protocol payload structure.
|
|
@@ -68,10 +56,6 @@ export type {
|
|
|
68
56
|
NavigationUpdate,
|
|
69
57
|
} from "./browser/types.js";
|
|
70
58
|
|
|
71
|
-
// ============================================================================
|
|
72
|
-
// Handle System (Internal)
|
|
73
|
-
// ============================================================================
|
|
74
|
-
|
|
75
59
|
/**
|
|
76
60
|
* @internal
|
|
77
61
|
* Internal handle storage mechanism.
|
|
@@ -84,26 +68,17 @@ export type { HandleStore, HandleData } from "./server/handle-store.js";
|
|
|
84
68
|
*/
|
|
85
69
|
export type { SegmentHandleData } from "./cache/types.js";
|
|
86
70
|
|
|
87
|
-
// ============================================================================
|
|
88
|
-
// Cache Internals
|
|
89
|
-
// ============================================================================
|
|
90
|
-
|
|
91
71
|
/**
|
|
92
72
|
* @internal
|
|
93
73
|
* Internal cache entry data structure.
|
|
94
74
|
*/
|
|
95
75
|
export type {
|
|
96
76
|
CachedEntryData,
|
|
97
|
-
CachedEntryResult,
|
|
98
77
|
CacheGetResult,
|
|
99
78
|
SerializedSegmentData,
|
|
100
79
|
CacheDefaults,
|
|
101
80
|
} from "./cache/types.js";
|
|
102
81
|
|
|
103
|
-
// ============================================================================
|
|
104
|
-
// Router Context (Internal)
|
|
105
|
-
// ============================================================================
|
|
106
|
-
|
|
107
82
|
/**
|
|
108
83
|
* @internal
|
|
109
84
|
* Router context for AsyncLocalStorage.
|
|
@@ -114,10 +89,6 @@ export type {
|
|
|
114
89
|
InterceptResult,
|
|
115
90
|
} from "./router/router-context.js";
|
|
116
91
|
|
|
117
|
-
// ============================================================================
|
|
118
|
-
// Match Pipeline (Internal)
|
|
119
|
-
// ============================================================================
|
|
120
|
-
|
|
121
92
|
/**
|
|
122
93
|
* @internal
|
|
123
94
|
* Route match context during pipeline processing.
|
|
@@ -133,10 +104,6 @@ export type {
|
|
|
133
104
|
*/
|
|
134
105
|
export type { RouteMatchResult } from "./router/pattern-matching.js";
|
|
135
106
|
|
|
136
|
-
// ============================================================================
|
|
137
|
-
// Server Context (Internal)
|
|
138
|
-
// ============================================================================
|
|
139
|
-
|
|
140
107
|
/**
|
|
141
108
|
* @internal
|
|
142
109
|
* Entry data during route traversal.
|
|
@@ -153,10 +120,6 @@ export type {
|
|
|
153
120
|
EntryPropSegments,
|
|
154
121
|
} from "./server/context.js";
|
|
155
122
|
|
|
156
|
-
// ============================================================================
|
|
157
|
-
// Handler Context (Internal)
|
|
158
|
-
// ============================================================================
|
|
159
|
-
|
|
160
123
|
/**
|
|
161
124
|
* @internal
|
|
162
125
|
* Internal handler context with additional props for router internals.
|
|
@@ -164,30 +127,18 @@ export type {
|
|
|
164
127
|
*/
|
|
165
128
|
export type { InternalHandlerContext } from "./types.js";
|
|
166
129
|
|
|
167
|
-
// ============================================================================
|
|
168
|
-
// Rendering (Internal)
|
|
169
|
-
// ============================================================================
|
|
170
|
-
|
|
171
130
|
/**
|
|
172
131
|
* @internal
|
|
173
132
|
* Builds React element trees from route segments.
|
|
174
133
|
*/
|
|
175
134
|
export { renderSegments } from "./segment-system.js";
|
|
176
135
|
|
|
177
|
-
// ============================================================================
|
|
178
|
-
// Error Utilities (Internal)
|
|
179
|
-
// ============================================================================
|
|
180
|
-
|
|
181
136
|
/**
|
|
182
137
|
* @internal
|
|
183
138
|
* Error sanitization and network error utilities.
|
|
184
139
|
*/
|
|
185
140
|
export { sanitizeError, NetworkError, isNetworkError } from "./errors.js";
|
|
186
141
|
|
|
187
|
-
// ============================================================================
|
|
188
|
-
// Type Utilities (Internal)
|
|
189
|
-
// ============================================================================
|
|
190
|
-
|
|
191
142
|
/**
|
|
192
143
|
* @internal
|
|
193
144
|
* Scoped view of GeneratedRouteMap for Handler<"localName", ScopedRouteMap<"prefix">>.
|
|
@@ -217,10 +168,6 @@ export type {
|
|
|
217
168
|
RevalidationDecisionEvent,
|
|
218
169
|
} from "./router/telemetry.js";
|
|
219
170
|
|
|
220
|
-
// ============================================================================
|
|
221
|
-
// Pre-render / Static Handler Guards (Internal)
|
|
222
|
-
// ============================================================================
|
|
223
|
-
|
|
224
171
|
/**
|
|
225
172
|
* @internal
|
|
226
173
|
* Type guard for prerender handler definitions.
|
|
@@ -233,20 +180,12 @@ export { isPrerenderHandler, isPassthroughHandler } from "./prerender.js";
|
|
|
233
180
|
*/
|
|
234
181
|
export { isStaticHandler } from "./static-handler.js";
|
|
235
182
|
|
|
236
|
-
// ============================================================================
|
|
237
|
-
// URL Pattern Internals
|
|
238
|
-
// ============================================================================
|
|
239
|
-
|
|
240
183
|
/**
|
|
241
184
|
* @internal
|
|
242
185
|
* Sentinel used to tag response-type route entries.
|
|
243
186
|
*/
|
|
244
187
|
export { RESPONSE_TYPE } from "./urls.js";
|
|
245
188
|
|
|
246
|
-
// ============================================================================
|
|
247
|
-
// Route Match Debug (Internal)
|
|
248
|
-
// ============================================================================
|
|
249
|
-
|
|
250
189
|
/**
|
|
251
190
|
* @internal
|
|
252
191
|
* Debug utilities for route matching performance analysis.
|
|
@@ -256,10 +195,6 @@ export {
|
|
|
256
195
|
getMatchDebugStats,
|
|
257
196
|
} from "./router/pattern-matching.js";
|
|
258
197
|
|
|
259
|
-
// ============================================================================
|
|
260
|
-
// Debug Utilities (Internal)
|
|
261
|
-
// ============================================================================
|
|
262
|
-
|
|
263
198
|
/**
|
|
264
199
|
* @internal
|
|
265
200
|
* Debug utilities for manifest inspection and comparison.
|
|
@@ -5,7 +5,7 @@ import type { ActionEntry } from "./event-controller.js";
|
|
|
5
5
|
* full-update-unsupported cases are handled inline in the bridge before
|
|
6
6
|
* reconciliation; this only covers successfully-reconciled partial responses.
|
|
7
7
|
*/
|
|
8
|
-
|
|
8
|
+
type ActionScenario =
|
|
9
9
|
| {
|
|
10
10
|
type: "navigated-away";
|
|
11
11
|
historyKeyChanged: boolean;
|
|
@@ -15,6 +15,16 @@
|
|
|
15
15
|
* keeps a sibling tab from seeing a pre-commit signal. Refcounted so concurrent
|
|
16
16
|
* actions compose: each action raises and lowers its own reference, and the
|
|
17
17
|
* fence is down only when the count reaches zero.
|
|
18
|
+
*
|
|
19
|
+
* The refcount is a single module-level counter, not keyed by routerId.
|
|
20
|
+
* Consumers (navigation-client.ts, prefetch/fetch.ts, navigation-bridge.ts)
|
|
21
|
+
* read it unscoped, so an action in one router would suppress another router's
|
|
22
|
+
* navigation/prefetch caches. This is correct only because two routers cannot
|
|
23
|
+
* coexist in one live document: an SPA navigation crossing a host-router
|
|
24
|
+
* boundary forces a full document reload (src/router/request-classification.ts
|
|
25
|
+
* app-switch terminal), so there is always exactly one live router per
|
|
26
|
+
* document. A future multi-router-in-one-document feature must not silently
|
|
27
|
+
* inherit this global, cross-router cache suppression.
|
|
18
28
|
*/
|
|
19
29
|
|
|
20
30
|
let fenceCount = 0;
|
|
@@ -237,10 +237,6 @@ export interface EventController {
|
|
|
237
237
|
hadAnyConcurrentActions(): boolean;
|
|
238
238
|
}
|
|
239
239
|
|
|
240
|
-
// ============================================================================
|
|
241
|
-
// Default States
|
|
242
|
-
// ============================================================================
|
|
243
|
-
|
|
244
240
|
const DEFAULT_ACTION_STATE: TrackedActionState = {
|
|
245
241
|
state: "idle",
|
|
246
242
|
actionId: null,
|
|
@@ -261,16 +257,12 @@ function matchesActionId(
|
|
|
261
257
|
entryActionId: string,
|
|
262
258
|
): boolean {
|
|
263
259
|
if (subscriptionId.includes("#")) {
|
|
264
|
-
// Full ID: exact match
|
|
265
260
|
return subscriptionId === entryActionId;
|
|
266
261
|
}
|
|
267
|
-
// Action name only: suffix match (matches "anything#actionName")
|
|
268
262
|
return entryActionId.endsWith(`#${subscriptionId}`);
|
|
269
263
|
}
|
|
270
264
|
|
|
271
|
-
//
|
|
272
|
-
// setTimeout(0) batching prevents render storms. Each notifier owns its timer
|
|
273
|
-
// so listener kinds coalesce independently.
|
|
265
|
+
// Batch rapid notifications into one microtask to prevent render storms
|
|
274
266
|
function makeDebouncedNotifier(listeners: Set<() => void>): () => void {
|
|
275
267
|
let timeout: ReturnType<typeof setTimeout> | null = null;
|
|
276
268
|
return () => {
|
|
@@ -282,13 +274,6 @@ function makeDebouncedNotifier(listeners: Set<() => void>): () => void {
|
|
|
282
274
|
};
|
|
283
275
|
}
|
|
284
276
|
|
|
285
|
-
// ============================================================================
|
|
286
|
-
// Implementation
|
|
287
|
-
// ============================================================================
|
|
288
|
-
|
|
289
|
-
/**
|
|
290
|
-
* Configuration for creating an event controller
|
|
291
|
-
*/
|
|
292
277
|
export interface EventControllerConfig {
|
|
293
278
|
initialLocation?: NavigationLocation;
|
|
294
279
|
}
|
|
@@ -306,51 +291,34 @@ export interface EventControllerConfig {
|
|
|
306
291
|
export function createEventController(
|
|
307
292
|
config?: EventControllerConfig,
|
|
308
293
|
): EventController {
|
|
309
|
-
// ========================================================================
|
|
310
|
-
// Source of Truth
|
|
311
|
-
// ========================================================================
|
|
312
|
-
|
|
313
|
-
// Current navigation in progress (null = idle)
|
|
314
294
|
let currentNavigation: NavigationEntry | null = null;
|
|
315
295
|
|
|
316
|
-
// All in-flight actions (keyed by unique instance ID)
|
|
317
296
|
const inflightActions = new Map<string, ActionEntry>();
|
|
318
297
|
|
|
319
|
-
// Committed location (updated when navigation completes)
|
|
320
298
|
let location: NavigationLocation =
|
|
321
299
|
config?.initialLocation ??
|
|
322
300
|
(typeof window !== "undefined"
|
|
323
301
|
? new URL(window.location.href)
|
|
324
302
|
: new URL("/", "http://localhost"));
|
|
325
303
|
|
|
326
|
-
// Track if any concurrent actions occurred (for consolidation)
|
|
327
304
|
let hadAnyConcurrentActions = false;
|
|
328
305
|
|
|
329
|
-
// Track segments revalidated by concurrent actions
|
|
330
306
|
const concurrentRevalidatedSegments = new Set<string>();
|
|
331
307
|
|
|
332
|
-
// Active streaming count (independent of navigation/action lifecycle)
|
|
333
308
|
let activeStreamCount = 0;
|
|
334
309
|
|
|
335
|
-
// Handle data from RSC payload
|
|
336
310
|
let handleData: HandleData = {};
|
|
337
311
|
let handleSegmentOrder: string[] = [];
|
|
338
312
|
let routeSegmentIds: string[] = [];
|
|
339
313
|
|
|
340
|
-
// Merged route params from current match
|
|
341
314
|
let routeParams: Record<string, string> = {};
|
|
342
315
|
|
|
343
|
-
// ========================================================================
|
|
344
|
-
// Listeners
|
|
345
|
-
// ========================================================================
|
|
346
|
-
|
|
347
316
|
const stateListeners = new Set<StateListener>();
|
|
348
317
|
const actionListeners = new Map<string, Set<ActionStateListener>>();
|
|
349
318
|
const handleListeners = new Set<HandleListener>();
|
|
350
319
|
|
|
351
320
|
const notify = makeDebouncedNotifier(stateListeners);
|
|
352
321
|
|
|
353
|
-
// Debounce per-action notifications
|
|
354
322
|
const actionNotifyTimeouts = new Map<string, ReturnType<typeof setTimeout>>();
|
|
355
323
|
|
|
356
324
|
function notifyAction(actionId: string) {
|
|
@@ -362,8 +330,6 @@ export function createEventController(
|
|
|
362
330
|
actionId,
|
|
363
331
|
setTimeout(() => {
|
|
364
332
|
actionNotifyTimeouts.delete(actionId);
|
|
365
|
-
// Notify all listeners whose subscription ID matches this action
|
|
366
|
-
// This includes exact matches and suffix matches (e.g., "addToCart" matches "hash#addToCart")
|
|
367
333
|
for (const [subscriptionId, listeners] of actionListeners) {
|
|
368
334
|
if (matchesActionId(subscriptionId, actionId)) {
|
|
369
335
|
const state = getActionState(subscriptionId);
|
|
@@ -376,12 +342,7 @@ export function createEventController(
|
|
|
376
342
|
|
|
377
343
|
const notifyHandles = makeDebouncedNotifier(handleListeners);
|
|
378
344
|
|
|
379
|
-
// ========================================================================
|
|
380
|
-
// Derived State
|
|
381
|
-
// ========================================================================
|
|
382
|
-
|
|
383
345
|
function getState(): DerivedNavigationState {
|
|
384
|
-
// Build inflight actions list (for compatibility with existing API)
|
|
385
346
|
const inflightActionsList: InflightAction[] = [...inflightActions.values()]
|
|
386
347
|
.filter((a) => a.phase !== "settling")
|
|
387
348
|
.map((a) => ({
|
|
@@ -391,15 +352,12 @@ export function createEventController(
|
|
|
391
352
|
startedAt: a.startedAt,
|
|
392
353
|
}));
|
|
393
354
|
|
|
394
|
-
// State: loading if navigation OR actions are in progress
|
|
395
|
-
// Background revalidations (skipLoadingState) don't affect visible state
|
|
396
355
|
const hasActiveActions = inflightActionsList.length > 0;
|
|
397
356
|
const isVisibleNavigation =
|
|
398
357
|
currentNavigation !== null &&
|
|
399
358
|
!currentNavigation.options?.skipLoadingState;
|
|
400
359
|
const state = isVisibleNavigation || hasActiveActions ? "loading" : "idle";
|
|
401
360
|
|
|
402
|
-
// Streaming: true if any active streams (navigation or action) or loading
|
|
403
361
|
const isStreaming = activeStreamCount > 0 || state === "loading";
|
|
404
362
|
|
|
405
363
|
return {
|
|
@@ -421,8 +379,6 @@ export function createEventController(
|
|
|
421
379
|
}
|
|
422
380
|
|
|
423
381
|
function getActionState(actionId: string): TrackedActionState {
|
|
424
|
-
// Prefer the most-recent non-settling entry; fall back to most-recent
|
|
425
|
-
// settling so a just-settled action's result/error stays readable.
|
|
426
382
|
const entry = [...inflightActions.values()]
|
|
427
383
|
.filter((a) => matchesActionId(actionId, a.actionId))
|
|
428
384
|
.reduce<ActionEntry | undefined>((best, a) => {
|
|
@@ -437,7 +393,6 @@ export function createEventController(
|
|
|
437
393
|
return { ...DEFAULT_ACTION_STATE };
|
|
438
394
|
}
|
|
439
395
|
|
|
440
|
-
// Derive state from phase
|
|
441
396
|
let state: ActionLifecycleState;
|
|
442
397
|
switch (entry.phase) {
|
|
443
398
|
case "fetching":
|
|
@@ -881,40 +836,3 @@ export function createEventController(
|
|
|
881
836
|
hadAnyConcurrentActions: () => hadAnyConcurrentActions,
|
|
882
837
|
};
|
|
883
838
|
}
|
|
884
|
-
|
|
885
|
-
// ============================================================================
|
|
886
|
-
// Singleton
|
|
887
|
-
// ============================================================================
|
|
888
|
-
|
|
889
|
-
let controllerInstance: EventController | null = null;
|
|
890
|
-
|
|
891
|
-
/**
|
|
892
|
-
* Initialize the global event controller
|
|
893
|
-
*/
|
|
894
|
-
export function initEventController(
|
|
895
|
-
config?: EventControllerConfig,
|
|
896
|
-
): EventController {
|
|
897
|
-
if (!controllerInstance) {
|
|
898
|
-
controllerInstance = createEventController(config);
|
|
899
|
-
}
|
|
900
|
-
return controllerInstance;
|
|
901
|
-
}
|
|
902
|
-
|
|
903
|
-
/**
|
|
904
|
-
* Get the global event controller
|
|
905
|
-
*/
|
|
906
|
-
export function getEventController(): EventController {
|
|
907
|
-
if (!controllerInstance) {
|
|
908
|
-
throw new Error(
|
|
909
|
-
"Event controller not initialized. Call initEventController first.",
|
|
910
|
-
);
|
|
911
|
-
}
|
|
912
|
-
return controllerInstance;
|
|
913
|
-
}
|
|
914
|
-
|
|
915
|
-
/**
|
|
916
|
-
* Reset the controller instance (for testing)
|
|
917
|
-
*/
|
|
918
|
-
export function resetEventController(): void {
|
|
919
|
-
controllerInstance = null;
|
|
920
|
-
}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* A module-level handle to the active navigation store.
|
|
3
3
|
*
|
|
4
|
-
* The
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* This handle is the live reference for code that needs the store but does not
|
|
4
|
+
* The boot path (`rsc-router.tsx`) calls `createNavigationStore()` directly;
|
|
5
|
+
* there is no global store singleton. This handle is the live reference for
|
|
6
|
+
* code that needs the store but does not
|
|
8
7
|
* receive it by argument: the jar-divergence observer (below) and the client
|
|
9
8
|
* seat of `invalidateClientCache()` (added later).
|
|
10
9
|
*
|
|
@@ -813,42 +813,3 @@ export function createNavigationStore(
|
|
|
813
813
|
},
|
|
814
814
|
};
|
|
815
815
|
}
|
|
816
|
-
|
|
817
|
-
// Singleton store instance
|
|
818
|
-
let storeInstance: NavigationStore | null = null;
|
|
819
|
-
|
|
820
|
-
/**
|
|
821
|
-
* Initialize the global navigation store
|
|
822
|
-
*
|
|
823
|
-
* Should be called once during app initialization.
|
|
824
|
-
* Subsequent calls return the existing instance.
|
|
825
|
-
*/
|
|
826
|
-
export function initNavigationStore(
|
|
827
|
-
config?: NavigationStoreConfig,
|
|
828
|
-
): NavigationStore {
|
|
829
|
-
if (!storeInstance) {
|
|
830
|
-
storeInstance = createNavigationStore(config);
|
|
831
|
-
}
|
|
832
|
-
return storeInstance;
|
|
833
|
-
}
|
|
834
|
-
|
|
835
|
-
/**
|
|
836
|
-
* Get the global navigation store
|
|
837
|
-
*
|
|
838
|
-
* Throws if store hasn't been initialized.
|
|
839
|
-
*/
|
|
840
|
-
export function getNavigationStore(): NavigationStore {
|
|
841
|
-
if (!storeInstance) {
|
|
842
|
-
throw new Error(
|
|
843
|
-
"Navigation store not initialized. Call initNavigationStore first.",
|
|
844
|
-
);
|
|
845
|
-
}
|
|
846
|
-
return storeInstance;
|
|
847
|
-
}
|
|
848
|
-
|
|
849
|
-
/**
|
|
850
|
-
* Reset the store instance (for testing)
|
|
851
|
-
*/
|
|
852
|
-
export function resetNavigationStore(): void {
|
|
853
|
-
storeInstance = null;
|
|
854
|
-
}
|