@rangojs/router 0.8.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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/client-urls/server-projection.d.ts +4 -4
- package/dist/types/client-urls/types.d.ts +13 -12
- package/dist/types/outlet-context.d.ts +9 -0
- package/dist/types/outlet-provider.d.ts +2 -1
- package/dist/types/route-content-wrapper.d.ts +4 -1
- package/dist/types/route-definition/helpers-types.d.ts +6 -5
- package/dist/types/router/segment-resolution/loader-mask.d.ts +1 -1
- package/dist/types/rsc/nonce.d.ts +10 -0
- package/dist/types/rsc/shell-capture.d.ts +9 -0
- package/dist/types/rsc/types.d.ts +14 -2
- package/dist/types/server/context.d.ts +1 -1
- package/dist/types/server/request-context.d.ts +1 -1
- package/dist/types/ssr/index.d.ts +34 -0
- package/dist/types/ssr/ssr-root.d.ts +21 -0
- package/dist/types/ssr-suspension-warning.d.ts +20 -0
- package/dist/types/types/loader-types.d.ts +28 -22
- package/dist/types/types/segments.d.ts +17 -0
- package/dist/types/urls/path-helper-types.d.ts +8 -7
- package/dist/types/vite/discovery/state.d.ts +6 -0
- package/dist/types/vite/plugin-types.d.ts +27 -0
- package/dist/types/vite/plugins/virtual-entries.d.ts +1 -1
- package/dist/types/vite/utils/shared-utils.d.ts +1 -0
- 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 +58 -26
- 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 +1 -1
- package/skills/breadcrumbs/SKILL.md +2 -2
- package/skills/catalog.json +2 -2
- package/skills/client-urls/SKILL.md +9 -8
- package/skills/comparison/references/framework-comparison.md +2 -2
- package/skills/hooks/data.md +1 -1
- package/skills/hooks/handle-and-actions.md +1 -1
- package/skills/loader/SKILL.md +46 -30
- package/skills/migrate-nextjs/SKILL.md +3 -3
- package/skills/migrate-react-router/component-migration.md +1 -1
- package/skills/migrate-react-router/data-and-actions.md +1 -1
- package/skills/migrate-react-router/route-mapping.md +1 -1
- package/skills/parallel/SKILL.md +1 -1
- package/skills/ppr/SKILL.md +1 -1
- package/skills/rango/SKILL.md +20 -20
- package/skills/router-setup/SKILL.md +1 -1
- package/skills/scripts/SKILL.md +1 -1
- package/skills/shell-manifest/SKILL.md +1 -1
- package/src/browser/merge-segment-loaders.ts +4 -0
- package/src/browser/react/Link.tsx +27 -4
- package/src/client-urls/client-urls.ts +12 -9
- package/src/client-urls/server-projection.ts +6 -6
- package/src/client-urls/types.ts +13 -12
- package/src/client.tsx +2 -0
- package/src/outlet-context.ts +9 -0
- package/src/outlet-provider.tsx +4 -0
- package/src/route-content-wrapper.tsx +7 -0
- package/src/route-definition/dsl-helpers.ts +7 -3
- package/src/route-definition/helpers-types.ts +6 -5
- package/src/router/loader-resolution.ts +3 -3
- package/src/router/segment-resolution/fresh.ts +50 -19
- package/src/router/segment-resolution/loader-cache.ts +1 -1
- package/src/router/segment-resolution/loader-mask.ts +1 -1
- package/src/router.ts +7 -2
- package/src/rsc/handler.ts +4 -4
- package/src/rsc/nonce.ts +16 -0
- package/src/rsc/rsc-rendering.ts +10 -0
- package/src/rsc/shell-capture.ts +49 -6
- package/src/rsc/ssr-setup.ts +4 -0
- package/src/rsc/types.ts +24 -4
- package/src/segment-system.tsx +57 -12
- package/src/server/context.ts +1 -1
- package/src/server/request-context.ts +1 -1
- package/src/ssr/index.tsx +75 -3
- package/src/ssr/ssr-root.tsx +67 -23
- package/src/ssr-suspension-warning.ts +68 -0
- package/src/types/loader-types.ts +25 -19
- package/src/types/segments.ts +17 -0
- package/src/urls/path-helper-types.ts +8 -7
- package/src/use-loader.tsx +24 -1
- package/src/vite/discovery/shell-prerender-phase.ts +5 -0
- package/src/vite/discovery/state.ts +6 -0
- package/src/vite/plugin-types.ts +28 -0
- package/src/vite/plugins/virtual-entries.ts +26 -3
- package/src/vite/rango.ts +3 -0
- package/src/vite/router-discovery.ts +31 -19
- package/src/vite/utils/shared-utils.ts +8 -2
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Theme type definitions for rsc-router theme system.
|
|
3
|
+
*
|
|
4
|
+
* The theme system provides:
|
|
5
|
+
* - Opt-in via router config
|
|
6
|
+
* - FOUC prevention via inline script
|
|
7
|
+
* - Server-side theme access via ctx.theme/ctx.setTheme
|
|
8
|
+
* - Client-side theme access via useTheme hook
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Theme value - stored in cookies/localStorage
|
|
12
|
+
*/
|
|
13
|
+
export type Theme = "light" | "dark" | "system";
|
|
14
|
+
/**
|
|
15
|
+
* Resolved theme - actual visual appearance (system preference resolved)
|
|
16
|
+
*/
|
|
17
|
+
export type ResolvedTheme = "light" | "dark";
|
|
18
|
+
/**
|
|
19
|
+
* Attribute used to apply theme to HTML element
|
|
20
|
+
* - "class": Adds theme value as CSS class (e.g., <html class="dark">)
|
|
21
|
+
* - "data-*": Sets data attribute (e.g., <html data-theme="dark">)
|
|
22
|
+
*/
|
|
23
|
+
export type ThemeAttribute = "class" | `data-${string}`;
|
|
24
|
+
/**
|
|
25
|
+
* Theme configuration for router
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```typescript
|
|
29
|
+
* const router = createRouter<Env>({
|
|
30
|
+
* theme: {
|
|
31
|
+
* defaultTheme: "system",
|
|
32
|
+
* themes: ["light", "dark"],
|
|
33
|
+
* attribute: "class",
|
|
34
|
+
* storageKey: "theme",
|
|
35
|
+
* }
|
|
36
|
+
* });
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export interface ThemeConfig {
|
|
40
|
+
/**
|
|
41
|
+
* Default theme when no preference is stored
|
|
42
|
+
* @default "system"
|
|
43
|
+
*/
|
|
44
|
+
defaultTheme?: Theme;
|
|
45
|
+
/**
|
|
46
|
+
* Available theme options
|
|
47
|
+
* @default ["light", "dark"]
|
|
48
|
+
*/
|
|
49
|
+
themes?: string[];
|
|
50
|
+
/**
|
|
51
|
+
* Attribute to apply to HTML element
|
|
52
|
+
* @default "class"
|
|
53
|
+
*/
|
|
54
|
+
attribute?: ThemeAttribute;
|
|
55
|
+
/**
|
|
56
|
+
* Key for cookie and localStorage
|
|
57
|
+
* @default "theme"
|
|
58
|
+
*/
|
|
59
|
+
storageKey?: string;
|
|
60
|
+
/**
|
|
61
|
+
* Enable system preference detection
|
|
62
|
+
* When true, "system" theme will resolve based on prefers-color-scheme
|
|
63
|
+
* @default true
|
|
64
|
+
*/
|
|
65
|
+
enableSystem?: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Set CSS color-scheme property on HTML element
|
|
68
|
+
* This enables native dark mode for form controls, scrollbars, etc.
|
|
69
|
+
* @default true
|
|
70
|
+
*/
|
|
71
|
+
enableColorScheme?: boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Custom mapping of theme names to attribute values
|
|
74
|
+
* Useful when theme names don't match desired attribute values
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```typescript
|
|
78
|
+
* value: {
|
|
79
|
+
* light: "light-mode",
|
|
80
|
+
* dark: "dark-mode",
|
|
81
|
+
* }
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
value?: Record<string, string>;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Resolved theme configuration with defaults applied
|
|
88
|
+
*/
|
|
89
|
+
export interface ResolvedThemeConfig {
|
|
90
|
+
defaultTheme: Theme;
|
|
91
|
+
themes: string[];
|
|
92
|
+
attribute: ThemeAttribute;
|
|
93
|
+
storageKey: string;
|
|
94
|
+
enableSystem: boolean;
|
|
95
|
+
enableColorScheme: boolean;
|
|
96
|
+
value: Record<string, string>;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Return type from useTheme hook
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```tsx
|
|
103
|
+
* function ThemeToggle() {
|
|
104
|
+
* const { theme, setTheme, resolvedTheme, themes } = useTheme();
|
|
105
|
+
*
|
|
106
|
+
* return (
|
|
107
|
+
* <select value={theme} onChange={e => setTheme(e.target.value as Theme)}>
|
|
108
|
+
* {themes.map(t => <option key={t}>{t}</option>)}
|
|
109
|
+
* </select>
|
|
110
|
+
* );
|
|
111
|
+
* }
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
114
|
+
export interface UseThemeReturn {
|
|
115
|
+
/**
|
|
116
|
+
* Current theme setting ("light" | "dark" | "system")
|
|
117
|
+
*/
|
|
118
|
+
theme: Theme;
|
|
119
|
+
/**
|
|
120
|
+
* Set the theme
|
|
121
|
+
*/
|
|
122
|
+
setTheme: (theme: Theme) => void;
|
|
123
|
+
/**
|
|
124
|
+
* Resolved theme based on system preference
|
|
125
|
+
* When theme is "system", this reflects the actual appearance
|
|
126
|
+
*/
|
|
127
|
+
resolvedTheme: ResolvedTheme;
|
|
128
|
+
/**
|
|
129
|
+
* Current system preference ("light" | "dark")
|
|
130
|
+
*/
|
|
131
|
+
systemTheme: ResolvedTheme;
|
|
132
|
+
/**
|
|
133
|
+
* Available theme options (includes "system" if enableSystem is true)
|
|
134
|
+
*/
|
|
135
|
+
themes: string[];
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Props for ThemeProvider component
|
|
139
|
+
*/
|
|
140
|
+
export interface ThemeProviderProps {
|
|
141
|
+
/**
|
|
142
|
+
* Theme configuration
|
|
143
|
+
*/
|
|
144
|
+
config: ResolvedThemeConfig;
|
|
145
|
+
/**
|
|
146
|
+
* Initial theme from server (from cookie)
|
|
147
|
+
*/
|
|
148
|
+
initialTheme?: Theme;
|
|
149
|
+
/**
|
|
150
|
+
* Children to render
|
|
151
|
+
*/
|
|
152
|
+
children: React.ReactNode;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Context value for ThemeContext
|
|
156
|
+
*/
|
|
157
|
+
export interface ThemeContextValue extends UseThemeReturn {
|
|
158
|
+
/**
|
|
159
|
+
* Full theme configuration
|
|
160
|
+
*/
|
|
161
|
+
config: ResolvedThemeConfig;
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/theme/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;AAE7C;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,MAAM,EAAE,CAAC;AAExD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;IAErB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB;;;OAGG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,KAAK,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,cAAc,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjC;;;OAGG;IACH,aAAa,EAAE,aAAa,CAAC;IAE7B;;OAEG;IACH,WAAW,EAAE,aAAa,CAAC;IAE3B;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,MAAM,EAAE,mBAAmB,CAAC;IAE5B;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD;;OAEG;IACH,MAAM,EAAE,mBAAmB,CAAC;CAC7B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Theme type definitions for rsc-router theme system.
|
|
3
|
+
*
|
|
4
|
+
* The theme system provides:
|
|
5
|
+
* - Opt-in via router config
|
|
6
|
+
* - FOUC prevention via inline script
|
|
7
|
+
* - Server-side theme access via ctx.theme/ctx.setTheme
|
|
8
|
+
* - Client-side theme access via useTheme hook
|
|
9
|
+
*/
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/theme/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { UseThemeReturn } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Hook to access theme state and methods.
|
|
4
|
+
*
|
|
5
|
+
* Must be used within a ThemeProvider (which is automatically included
|
|
6
|
+
* in NavigationProvider when theme is enabled in router config).
|
|
7
|
+
*
|
|
8
|
+
* @returns Theme state and methods
|
|
9
|
+
* @throws Error if used outside ThemeProvider
|
|
10
|
+
*/
|
|
11
|
+
export declare function useTheme(): UseThemeReturn;
|
|
12
|
+
//# sourceMappingURL=use-theme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-theme.d.ts","sourceRoot":"","sources":["../../src/theme/use-theme.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,IAAI,cAAc,CAUzC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
/**
|
|
3
|
+
* useTheme - Hook for accessing theme state in client components.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```tsx
|
|
7
|
+
* import { useTheme } from "@rangojs/router/theme";
|
|
8
|
+
*
|
|
9
|
+
* function ThemeToggle() {
|
|
10
|
+
* const { theme, setTheme, resolvedTheme, themes } = useTheme();
|
|
11
|
+
*
|
|
12
|
+
* return (
|
|
13
|
+
* <select value={theme} onChange={e => setTheme(e.target.value)}>
|
|
14
|
+
* {themes.map(t => <option key={t}>{t}</option>)}
|
|
15
|
+
* </select>
|
|
16
|
+
* );
|
|
17
|
+
* }
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
import { requireThemeContext } from "./theme-context.js";
|
|
21
|
+
/**
|
|
22
|
+
* Hook to access theme state and methods.
|
|
23
|
+
*
|
|
24
|
+
* Must be used within a ThemeProvider (which is automatically included
|
|
25
|
+
* in NavigationProvider when theme is enabled in router config).
|
|
26
|
+
*
|
|
27
|
+
* @returns Theme state and methods
|
|
28
|
+
* @throws Error if used outside ThemeProvider
|
|
29
|
+
*/
|
|
30
|
+
export function useTheme() {
|
|
31
|
+
const ctx = requireThemeContext();
|
|
32
|
+
return {
|
|
33
|
+
theme: ctx.theme,
|
|
34
|
+
setTheme: ctx.setTheme,
|
|
35
|
+
resolvedTheme: ctx.resolvedTheme,
|
|
36
|
+
systemTheme: ctx.systemTheme,
|
|
37
|
+
themes: ctx.themes,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=use-theme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-theme.js","sourceRoot":"","sources":["../../src/theme/use-theme.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGzD;;;;;;;;GAQG;AACH,MAAM,UAAU,QAAQ;IACtB,MAAM,GAAG,GAAG,mBAAmB,EAAE,CAAC;IAElC,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;KACnB,CAAC;AACJ,CAAC"}
|
|
@@ -27,10 +27,10 @@ export interface ClientUrlProjectionRoute {
|
|
|
27
27
|
readonly options: ClientUrlProjectionOptions;
|
|
28
28
|
readonly loaderIds: readonly string[];
|
|
29
29
|
readonly hasLoading: boolean;
|
|
30
|
-
/** Indices into loaderIds of loaders declared loader(Def, {
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
30
|
+
/** Indices into loaderIds of loaders declared loader(Def, { ssr: false });
|
|
31
|
+
* materialization passes the option through to the server loader() so
|
|
32
|
+
* document renders await them before first flush. Absent (= none) in
|
|
33
|
+
* projections serialized before the option existed. */
|
|
34
34
|
readonly awaitedLoaderIndices?: readonly number[];
|
|
35
35
|
/** Data-only transition config (no `when` — server-tree only); absent in
|
|
36
36
|
* projections serialized before transition support. */
|
|
@@ -54,12 +54,12 @@ export interface ClientUrlLoaderRecord {
|
|
|
54
54
|
/** Client-run per-loader revalidation predicates; empty = locked defaults. */
|
|
55
55
|
readonly revalidate: readonly ClientRevalidateFn[];
|
|
56
56
|
/**
|
|
57
|
-
* loader(Def, {
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
57
|
+
* loader(Def, { ssr: false }): document renders await this loader before
|
|
58
|
+
* first flush (see {@link LoaderOptions}). Projected into the server tree,
|
|
59
|
+
* where the per-isSSR entry stamping applies — client navigations stream
|
|
60
|
+
* regardless.
|
|
61
61
|
*/
|
|
62
|
-
readonly
|
|
62
|
+
readonly ssr?: false;
|
|
63
63
|
}
|
|
64
64
|
/**
|
|
65
65
|
* The data-only subset of TransitionConfig a clientUrls() route may declare:
|
|
@@ -101,13 +101,14 @@ export interface ClientUrlHelpers {
|
|
|
101
101
|
* revalidate() only — a CLIENT-RUN per-loader predicate; its decision (not
|
|
102
102
|
* the function) is sent with the revalidation request.
|
|
103
103
|
*
|
|
104
|
-
* Pass `{
|
|
105
|
-
*
|
|
106
|
-
*
|
|
107
|
-
*
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
* live
|
|
104
|
+
* Pass `{ ssr: false }` — the same knob as loading(fallback, { ssr:
|
|
105
|
+
* false }) — to await this loader before first flush on DOCUMENT requests
|
|
106
|
+
* (see {@link LoaderOptions}): the opt-in for loaders whose data, handle
|
|
107
|
+
* pushes, or thrown notFound()/redirect() must be in the SSR'd HTML.
|
|
108
|
+
* Per-loader: a streaming sibling keeps streaming. Under a `ppr` group
|
|
109
|
+
* route the flag BAKES: the loader executes at shell capture and its
|
|
110
|
+
* settled return freezes into the shell (nested promises stay live
|
|
111
|
+
* holes).
|
|
111
112
|
*/
|
|
112
113
|
readonly loader: <TData>(definition: LoaderDefinition<TData>, optionsOrUse?: LoaderOptions | ClientUrlUse, use?: ClientUrlUse) => ClientUrlItem;
|
|
113
114
|
readonly loading: (component: ReactNode) => ClientUrlItem;
|
|
@@ -17,6 +17,15 @@ export interface OutletContextValue {
|
|
|
17
17
|
* the resolved `loaderData` record.
|
|
18
18
|
*/
|
|
19
19
|
loaderStreams?: Record<string, unknown>;
|
|
20
|
+
/**
|
|
21
|
+
* Loader $$ids on this segment that the render awaited before first flush
|
|
22
|
+
* (loader(Def, { ssr: false })). Dev-diagnostic input only: useLoader uses
|
|
23
|
+
* it to warn when a read still suspends during SSR on a render that awaited
|
|
24
|
+
* flagged loaders (ssr-suspension-warning.ts). Present only on streaming
|
|
25
|
+
* lanes with flagged loaders (document and shell-capture renders); absent
|
|
26
|
+
* on forceAwait/action lanes.
|
|
27
|
+
*/
|
|
28
|
+
awaitedLoaderIds?: readonly string[];
|
|
20
29
|
parent?: OutletContextValue | null;
|
|
21
30
|
/** Loading component for Suspense fallback (from segment's loading() definition) */
|
|
22
31
|
loading?: ReactNode;
|
|
@@ -3,12 +3,13 @@ import type { ResolvedSegment } from "./types.js";
|
|
|
3
3
|
/**
|
|
4
4
|
* Outlet content provider — stores parent context for useLoader chain walking.
|
|
5
5
|
*/
|
|
6
|
-
export declare function OutletProvider({ content, parallel, segment, loaderData, loaderStreams, pending, children, }: {
|
|
6
|
+
export declare function OutletProvider({ content, parallel, segment, loaderData, loaderStreams, awaitedLoaderIds, pending, children, }: {
|
|
7
7
|
content: ReactNode;
|
|
8
8
|
parallel?: ResolvedSegment[];
|
|
9
9
|
segment?: ResolvedSegment;
|
|
10
10
|
loaderData?: Record<string, any>;
|
|
11
11
|
loaderStreams?: Record<string, unknown>;
|
|
12
|
+
awaitedLoaderIds?: readonly string[];
|
|
12
13
|
pending?: boolean;
|
|
13
14
|
children: ReactNode;
|
|
14
15
|
}): ReactNode;
|
|
@@ -71,6 +71,9 @@ export interface LoaderBoundaryProps {
|
|
|
71
71
|
* the children; useLoader suspends per loader at the read site.
|
|
72
72
|
*/
|
|
73
73
|
loaderStreams?: Record<string, unknown>;
|
|
74
|
+
/** Dev-diagnostic input for the SSR suspension warning — see
|
|
75
|
+
* OutletContextValue.awaitedLoaderIds. Rides the streams lane only. */
|
|
76
|
+
awaitedLoaderIds?: readonly string[];
|
|
74
77
|
fallback?: ReactNode;
|
|
75
78
|
outletKey: string;
|
|
76
79
|
outletContent: ReactNode;
|
|
@@ -78,4 +81,4 @@ export interface LoaderBoundaryProps {
|
|
|
78
81
|
parallel?: ResolvedSegment[];
|
|
79
82
|
children: ReactNode;
|
|
80
83
|
}
|
|
81
|
-
export declare function LoaderBoundary({ loaderDataPromise, loaderIds, loaderStreams, fallback, outletKey, outletContent, segment, parallel, children, }: LoaderBoundaryProps): ReactNode;
|
|
84
|
+
export declare function LoaderBoundary({ loaderDataPromise, loaderIds, loaderStreams, awaitedLoaderIds, fallback, outletKey, outletContent, segment, parallel, children, }: LoaderBoundaryProps): ReactNode;
|
|
@@ -208,13 +208,14 @@ export type RouteHelpers<T extends RouteDefinition, TEnv> = {
|
|
|
208
208
|
* return <div>{data.name}</div>;
|
|
209
209
|
* }
|
|
210
210
|
* ```
|
|
211
|
-
* Pass `{
|
|
212
|
-
*
|
|
213
|
-
*
|
|
214
|
-
*
|
|
211
|
+
* Pass `{ ssr: false }` — the same knob as loading(fallback, { ssr:
|
|
212
|
+
* false }) — to await this loader before first flush on DOCUMENT requests
|
|
213
|
+
* (see {@link LoaderOptions}): the opt-in for loaders whose data, handle
|
|
214
|
+
* pushes, or thrown notFound()/redirect() must be in the SSR'd HTML.
|
|
215
|
+
* Per-loader: a streaming sibling in the same segment keeps streaming.
|
|
215
216
|
*
|
|
216
217
|
* ```typescript
|
|
217
|
-
* loader(ProductLoader, {
|
|
218
|
+
* loader(ProductLoader, { ssr: false }, () => [cache()]),
|
|
218
219
|
* loader(RecommendationsLoader), // still streams behind loading()
|
|
219
220
|
* ```
|
|
220
221
|
*
|
|
@@ -30,7 +30,7 @@ export { createMaskedLoaderPromise } from "./mask-nested.js";
|
|
|
30
30
|
/**
|
|
31
31
|
* Entry-level lane input for an entry's loaders under PPR (the loading()
|
|
32
32
|
* value; docs/design/loader-container-bake.md). The CAPTURE decision itself
|
|
33
|
-
* is per LOADER in loader-cache.ts:
|
|
33
|
+
* is per LOADER in loader-cache.ts: an `ssr: false`
|
|
34
34
|
* (awaitBeforeFlush) loader BAKES at capture regardless of this value — the
|
|
35
35
|
* flag's document promise ("data in the HTML before first flush") maps to
|
|
36
36
|
* the frozen prelude — while every other loader is LIVE (masked at capture,
|
|
@@ -21,6 +21,16 @@ import type { ContextVar } from "../context-var.js";
|
|
|
21
21
|
* scripts — useNonce() stays undefined for that request.
|
|
22
22
|
*/
|
|
23
23
|
export declare const nonce: ContextVar<string>;
|
|
24
|
+
/**
|
|
25
|
+
* Normalize a NonceProvider return value to the nonce the request runs with.
|
|
26
|
+
* `true` auto-generates; `false` and the empty string are the per-request
|
|
27
|
+
* opt-out and normalize to undefined — without this, a falsy string would be
|
|
28
|
+
* threaded as-is into the render: never written to the token (`if (nonce)`)
|
|
29
|
+
* yet still `!== undefined` for the ppr shell gate (rsc-rendering.ts
|
|
30
|
+
* activeNonce), pinning a ppr route to axis 1 with no way to opt a request
|
|
31
|
+
* out while keeping the provider for the rest of the app.
|
|
32
|
+
*/
|
|
33
|
+
export declare function resolveProviderNonce(result: string | boolean): string | undefined;
|
|
24
34
|
/**
|
|
25
35
|
* Generate a cryptographic nonce for CSP.
|
|
26
36
|
* Returns a 16-byte random value encoded as base64.
|
|
@@ -283,6 +283,15 @@ export interface ShellCaptureDescriptor {
|
|
|
283
283
|
* Omitted (build-time bare-pathname captures) = search-less, same as "".
|
|
284
284
|
*/
|
|
285
285
|
searchSeed?: string;
|
|
286
|
+
/**
|
|
287
|
+
* The scheduling request's origin, seeding the capture render's SSR store
|
|
288
|
+
* location. Shell keys are host-scoped, so the resume pass's request
|
|
289
|
+
* agrees modulo protocol drift; the seed keeps origin-dependent static
|
|
290
|
+
* markup (Link's data-external) identical across capture, resume, and
|
|
291
|
+
* browser hydration. Omitted (build-time host-agnostic captures) falls
|
|
292
|
+
* back to the internal host.
|
|
293
|
+
*/
|
|
294
|
+
originSeed?: string;
|
|
286
295
|
/**
|
|
287
296
|
* The RSC handler's build version (HandlerContext.version), stamped into the
|
|
288
297
|
* stored entry as ShellCacheEntry.buildVersion — the serve-side
|
|
@@ -175,6 +175,12 @@ export interface SSRRenderOptions {
|
|
|
175
175
|
* search; see ShellCaptureOptions.search in the SSR entry).
|
|
176
176
|
*/
|
|
177
177
|
search?: string;
|
|
178
|
+
/**
|
|
179
|
+
* The live request's origin (`url.origin`), seeding the SSR store
|
|
180
|
+
* location so origin-dependent markup (Link's data-external) agrees with
|
|
181
|
+
* the browser across hydration. Absent on host-agnostic build captures.
|
|
182
|
+
*/
|
|
183
|
+
origin?: string;
|
|
178
184
|
}
|
|
179
185
|
/**
|
|
180
186
|
* SSR module interface for HTML rendering
|
|
@@ -193,6 +199,7 @@ export interface SSRModule {
|
|
|
193
199
|
quiesce: Promise<void>;
|
|
194
200
|
maxWaitMs?: number;
|
|
195
201
|
search?: string;
|
|
202
|
+
origin?: string;
|
|
196
203
|
}) => Promise<{
|
|
197
204
|
prelude: Uint8Array;
|
|
198
205
|
postponed: string | null;
|
|
@@ -209,6 +216,7 @@ export interface SSRModule {
|
|
|
209
216
|
postponed: string | null;
|
|
210
217
|
nonce?: string;
|
|
211
218
|
search?: string;
|
|
219
|
+
origin?: string;
|
|
212
220
|
}) => Promise<ReadableStream<Uint8Array>>;
|
|
213
221
|
}
|
|
214
222
|
/**
|
|
@@ -244,9 +252,13 @@ export interface HandlerCacheConfig {
|
|
|
244
252
|
}
|
|
245
253
|
/**
|
|
246
254
|
* Nonce provider function type.
|
|
247
|
-
*
|
|
255
|
+
* Return a nonce string to use verbatim, `true` to auto-generate one, or
|
|
256
|
+
* `false` (or an empty string) to serve THIS request without a nonce — the
|
|
257
|
+
* per-request opt-out for apps that nonce globally but declare `ppr` on some
|
|
258
|
+
* routes: a shell is shared per host+URL and can never bake a per-request
|
|
259
|
+
* nonce, so a ppr route only captures when its requests opt out here.
|
|
248
260
|
*/
|
|
249
|
-
export type NonceProvider<TEnv = unknown> = (request: Request, env: TEnv) => string |
|
|
261
|
+
export type NonceProvider<TEnv = unknown> = (request: Request, env: TEnv) => string | boolean | Promise<string | boolean>;
|
|
250
262
|
/**
|
|
251
263
|
* Options for creating an RSC handler
|
|
252
264
|
*/
|
|
@@ -84,7 +84,7 @@ export type LoaderEntry = {
|
|
|
84
84
|
cache?: EntryCacheConfig;
|
|
85
85
|
/**
|
|
86
86
|
* Document renders await this loader before segment resolution returns
|
|
87
|
-
* (loader(Def, {
|
|
87
|
+
* (loader(Def, { ssr: false })), so its data, handle pushes, and
|
|
88
88
|
* thrown notFound()/redirect() deterministically precede first flush.
|
|
89
89
|
* Resolved at DSL-evaluation time from ctx.isSSR — entries are cached
|
|
90
90
|
* per-isSSR (router/manifest.ts cache key), so the flag is already
|
|
@@ -509,7 +509,7 @@ export interface RequestContext<TEnv = DefaultEnv, TParams = Record<string, stri
|
|
|
509
509
|
_handlerLoaderDeps?: Set<string>;
|
|
510
510
|
/**
|
|
511
511
|
* @internal Loader IDs ($$id) whose entries carry `awaitBeforeFlush`
|
|
512
|
-
* (loader(Def, {
|
|
512
|
+
* (loader(Def, { ssr: false })): segment resolution awaits these
|
|
513
513
|
* before returning, so the render barrier cannot resolve until they settle.
|
|
514
514
|
* rendered() checks this set to fail fast — a flagged loader awaiting the
|
|
515
515
|
* barrier is a guaranteed cycle, not a race. Registered by resolveLoaders
|
|
@@ -19,6 +19,7 @@ interface RenderToReadableStreamOptions {
|
|
|
19
19
|
bootstrapModules?: string[];
|
|
20
20
|
nonce?: string;
|
|
21
21
|
formState?: unknown;
|
|
22
|
+
progressiveChunkSize?: number;
|
|
22
23
|
}
|
|
23
24
|
/**
|
|
24
25
|
* ReadableStream with the allReady promise added by react-dom/server.edge.
|
|
@@ -34,6 +35,7 @@ interface PrerenderOptions {
|
|
|
34
35
|
bootstrapScriptContent?: string;
|
|
35
36
|
bootstrapModules?: string[];
|
|
36
37
|
onError?: (error: unknown) => void;
|
|
38
|
+
progressiveChunkSize?: number;
|
|
37
39
|
}
|
|
38
40
|
/**
|
|
39
41
|
* Result of prerender from react-dom/static.edge. `postponed` is React's
|
|
@@ -90,6 +92,13 @@ export interface SSRRenderOptions {
|
|
|
90
92
|
* only (runtime captures own the search variants, seeded per key).
|
|
91
93
|
*/
|
|
92
94
|
search?: string;
|
|
95
|
+
/**
|
|
96
|
+
* The live request's origin, seeding the SSR store location so
|
|
97
|
+
* origin-dependent markup (Link's data-external) agrees with the
|
|
98
|
+
* browser's window.location across hydration. Absent on the build-time
|
|
99
|
+
* prerender pass (host-agnostic bare captures).
|
|
100
|
+
*/
|
|
101
|
+
origin?: string;
|
|
93
102
|
}
|
|
94
103
|
/**
|
|
95
104
|
* SSR dependencies from external packages
|
|
@@ -122,6 +131,22 @@ export interface SSRDependencies<TEnv = unknown> {
|
|
|
122
131
|
* state on upgrade (the generated entry always passes an explicit value).
|
|
123
132
|
*/
|
|
124
133
|
headScripts?: HeadScriptsOption;
|
|
134
|
+
/**
|
|
135
|
+
* Fizz `progressiveChunkSize`, forwarded verbatim to renderToReadableStream
|
|
136
|
+
* (live SSR) and prerender (shell capture); resume() inherits the capture
|
|
137
|
+
* value from the postponed state. The generated virtual SSR entry threads
|
|
138
|
+
* the `rango({ progressiveChunkSize })` plugin option here (canonical docs
|
|
139
|
+
* on `RangoBaseOptions.progressiveChunkSize` in vite/plugin-types.ts).
|
|
140
|
+
*
|
|
141
|
+
* When UNSET, createSSRHandler auto-raises to Number.MAX_SAFE_INTEGER for
|
|
142
|
+
* document renders whose matched chain has a `loader(Def, { ssr: false })`
|
|
143
|
+
* entry (payload segments carry `awaitBeforeFlush`): the loader was awaited
|
|
144
|
+
* before first flush precisely so its content ships in-place, and React
|
|
145
|
+
* 19.2's Fizz would otherwise move any completed boundary over ~500 bytes
|
|
146
|
+
* to an end-of-stream `<div hidden>` + $RC reveal once the shell saturates
|
|
147
|
+
* the default 12800 budget. An explicit value disables the auto-raise.
|
|
148
|
+
*/
|
|
149
|
+
progressiveChunkSize?: number;
|
|
125
150
|
/**
|
|
126
151
|
* prerender from react-dom/static.edge. Optional; required only by
|
|
127
152
|
* {@link createShellCaptureHandler} for PPR shell capture.
|
|
@@ -184,6 +209,13 @@ interface ShellCaptureOptions {
|
|
|
184
209
|
* the shell's own key. MUST equal the resume pass's seed for the same key.
|
|
185
210
|
*/
|
|
186
211
|
search?: string;
|
|
212
|
+
/**
|
|
213
|
+
* The capture request's origin. Shell keys are host-scoped, so the resume
|
|
214
|
+
* pass's request agrees modulo protocol drift; seeding it keeps
|
|
215
|
+
* origin-dependent static markup (Link's data-external) identical across
|
|
216
|
+
* capture, resume, and browser hydration.
|
|
217
|
+
*/
|
|
218
|
+
origin?: string;
|
|
187
219
|
}
|
|
188
220
|
/**
|
|
189
221
|
* Result of a successful shell capture. `prelude` is the raw prelude bytes;
|
|
@@ -210,6 +242,8 @@ interface ShellResumeOptions {
|
|
|
210
242
|
* postponed holes.
|
|
211
243
|
*/
|
|
212
244
|
search?: string;
|
|
245
|
+
/** The HIT request's origin — same host as the capture's (key-scoped). */
|
|
246
|
+
origin?: string;
|
|
213
247
|
}
|
|
214
248
|
/**
|
|
215
249
|
* Create an SSR handler that converts RSC streams to HTML.
|
|
@@ -26,6 +26,15 @@ export interface RscPayload {
|
|
|
26
26
|
version?: string;
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Deserialize the Flight stream branch into the payload SsrRoot renders,
|
|
31
|
+
* fragment expansion included. Factored out of SsrRoot so createSSRHandler can
|
|
32
|
+
* create the promise BEFORE fizz starts and read metadata that must influence
|
|
33
|
+
* the fizz call itself (the ssr:false progressiveChunkSize auto-raise) —
|
|
34
|
+
* awaiting it there is latency-neutral because fizz cannot emit even <html>
|
|
35
|
+
* until this same promise settles.
|
|
36
|
+
*/
|
|
37
|
+
export declare function deserializeSsrPayload(createFromReadableStream: CreateFromReadableStream, rscStream: ReadableStream<Uint8Array>): Promise<RscPayload>;
|
|
29
38
|
/**
|
|
30
39
|
* Options for {@link createSsrRootComponent}.
|
|
31
40
|
*/
|
|
@@ -34,6 +43,13 @@ export interface SsrRootOptions {
|
|
|
34
43
|
createFromReadableStream: CreateFromReadableStream;
|
|
35
44
|
/** The Flight stream branch to deserialize into the SSR VDOM. */
|
|
36
45
|
rscStream: ReadableStream<Uint8Array>;
|
|
46
|
+
/**
|
|
47
|
+
* Pre-created payload promise (deserializeSsrPayload over the SAME
|
|
48
|
+
* rscStream). When present SsrRoot adopts it instead of deserializing
|
|
49
|
+
* lazily on first render — the stream can only be consumed once, so the
|
|
50
|
+
* caller that already started deserialization MUST pass the promise in.
|
|
51
|
+
*/
|
|
52
|
+
payload?: Promise<RscPayload>;
|
|
37
53
|
/** Nonce for CSP; propagated to NonceContext. */
|
|
38
54
|
nonce?: string;
|
|
39
55
|
/**
|
|
@@ -58,6 +74,11 @@ export interface SsrRootOptions {
|
|
|
58
74
|
* the resume tree matches the captured tree above the postponed holes.
|
|
59
75
|
*/
|
|
60
76
|
search?: string;
|
|
77
|
+
/**
|
|
78
|
+
* Origin seeding the SSR store location (see createSsrEventController):
|
|
79
|
+
* live fizz passes the request's origin; capture/resume pass theirs.
|
|
80
|
+
*/
|
|
81
|
+
origin?: string;
|
|
61
82
|
}
|
|
62
83
|
/**
|
|
63
84
|
* Build the closure component that deserializes the Flight payload, consumes
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dev-only diagnostic for the { ssr: false } SSR-completeness opt-in.
|
|
3
|
+
*
|
|
4
|
+
* A document render that awaits flagged loaders before first flush is usually
|
|
5
|
+
* expected to produce an SSR-complete boundary — but the await is scoped per
|
|
6
|
+
* LOADER (see LoaderOptions in types/loader-types.ts), so one unflagged read
|
|
7
|
+
* under the same Suspense boundary still suspends it and the boundary streams
|
|
8
|
+
* as its fallback, invisible without JS. That failure mode looks exactly like
|
|
9
|
+
* the flag not working; a consumer app burned hours on byte-level archaeology
|
|
10
|
+
* before the unflagged sibling read was identified. This warning names the
|
|
11
|
+
* culprit at the suspension site instead.
|
|
12
|
+
*
|
|
13
|
+
* Fires at most once per loader id per process, only during the SSR pass
|
|
14
|
+
* (`window` undefined), only in dev, and only when the render actually awaited
|
|
15
|
+
* flagged loaders (`awaitedLoaderIds`, stamped by segment resolution on
|
|
16
|
+
* document AND shell-capture renders — capture awaits the same flagged lane;
|
|
17
|
+
* its masked live-lane reads suspend by design and dedupe against the live
|
|
18
|
+
* render's warnings through the once-per-id set).
|
|
19
|
+
*/
|
|
20
|
+
export declare function warnAwaitedSsrSuspension(loaderId: string, awaitedLoaderIds: readonly string[] | undefined, stream: Promise<unknown>, isServer?: boolean): void;
|