@rangojs/router 0.9.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/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/rsc/nonce.d.ts +10 -0
- package/dist/types/rsc/types.d.ts +6 -2
- package/dist/types/ssr/index.d.ts +18 -0
- package/dist/types/ssr/ssr-root.d.ts +16 -0
- package/dist/types/ssr-suspension-warning.d.ts +20 -0
- package/dist/types/types/loader-types.d.ts +5 -1
- package/dist/types/types/segments.d.ts +17 -0
- 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 +51 -22
- 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 +21 -22
- package/skills/loader/SKILL.md +17 -2
- package/src/browser/merge-segment-loaders.ts +4 -0
- 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/router/segment-resolution/fresh.ts +48 -17
- package/src/router.ts +7 -2
- package/src/rsc/handler.ts +4 -4
- package/src/rsc/nonce.ts +16 -0
- package/src/rsc/shell-capture.ts +39 -6
- package/src/rsc/types.ts +6 -2
- package/src/segment-system.tsx +57 -12
- package/src/ssr/index.tsx +53 -1
- package/src/ssr/ssr-root.tsx +50 -22
- package/src/ssr-suspension-warning.ts +68 -0
- package/src/types/loader-types.ts +5 -1
- package/src/types/segments.ts +17 -0
- 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"}
|
|
@@ -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;
|
|
@@ -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.
|
|
@@ -252,9 +252,13 @@ export interface HandlerCacheConfig {
|
|
|
252
252
|
}
|
|
253
253
|
/**
|
|
254
254
|
* Nonce provider function type.
|
|
255
|
-
*
|
|
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.
|
|
256
260
|
*/
|
|
257
|
-
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>;
|
|
258
262
|
/**
|
|
259
263
|
* Options for creating an RSC handler
|
|
260
264
|
*/
|
|
@@ -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
|
|
@@ -129,6 +131,22 @@ export interface SSRDependencies<TEnv = unknown> {
|
|
|
129
131
|
* state on upgrade (the generated entry always passes an explicit value).
|
|
130
132
|
*/
|
|
131
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;
|
|
132
150
|
/**
|
|
133
151
|
* prerender from react-dom/static.edge. Optional; required only by
|
|
134
152
|
* {@link createShellCaptureHandler} for PPR shell capture.
|
|
@@ -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
|
/**
|
|
@@ -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;
|
|
@@ -170,7 +170,11 @@ export type LoaderFn<T, TParams = Record<string, string | undefined>, TEnv = Def
|
|
|
170
170
|
*
|
|
171
171
|
* Scoped per LOADER, not per segment: an `ssr: false` loader alongside a
|
|
172
172
|
* deliberately streaming sibling awaits only itself, and the sibling keeps
|
|
173
|
-
* streaming behind its `loading()`/Suspense boundary.
|
|
173
|
+
* streaming behind its `loading()`/Suspense boundary. Watch the scoping when
|
|
174
|
+
* the boundary must be SSR-complete: ONE unflagged read under it still
|
|
175
|
+
* suspends the whole boundary, which then streams as its fallback — looking
|
|
176
|
+
* exactly like the flag not working. In dev the router warns at the read
|
|
177
|
+
* site naming the unflagged loader (ssr-suspension-warning.ts).
|
|
174
178
|
*/
|
|
175
179
|
export type LoaderOptions = {
|
|
176
180
|
ssr?: boolean;
|
|
@@ -140,9 +140,26 @@ export interface ResolvedSegment {
|
|
|
140
140
|
loaderId?: string;
|
|
141
141
|
_inherited?: boolean;
|
|
142
142
|
loaderData?: any;
|
|
143
|
+
/**
|
|
144
|
+
* True when this loader was awaited before first flush
|
|
145
|
+
* (loader(Def, { ssr: false })). Stamped by resolveLoaders (fresh.ts) on
|
|
146
|
+
* document AND shell-capture renders — capture bakes flagged loaders and
|
|
147
|
+
* awaits the same lane. Feeds segment-system's settled-value delivery and
|
|
148
|
+
* the dev SSR suspension warning (ssr-suspension-warning.ts).
|
|
149
|
+
*/
|
|
150
|
+
awaitBeforeFlush?: true;
|
|
143
151
|
parallelLoading?: ReactNode;
|
|
144
152
|
loaderDataPromise?: Promise<any[]> | any[];
|
|
145
153
|
loaderIds?: string[];
|
|
154
|
+
/**
|
|
155
|
+
* Per-loader UNDECODED results for a layout/route stream map.
|
|
156
|
+
* Flagged (ssr:false) entries are settled values; unflagged siblings
|
|
157
|
+
* stay promises. Parallel slots do not use this channel — they pin
|
|
158
|
+
* loading() / live-lane holes via use(loaderDataPromise).
|
|
159
|
+
*/
|
|
160
|
+
loaderStreams?: Record<string, unknown>;
|
|
161
|
+
/** $$ids of loaders this segment awaited before flush. Dev diagnostic. */
|
|
162
|
+
awaitedLoaderIds?: string[];
|
|
146
163
|
error?: ErrorInfo;
|
|
147
164
|
notFoundInfo?: NotFoundInfo;
|
|
148
165
|
mountPath?: string;
|
|
@@ -45,6 +45,12 @@ export interface PluginOptions {
|
|
|
45
45
|
* capture endpoint with the app's configured head-script strategy.
|
|
46
46
|
*/
|
|
47
47
|
headScripts?: import("../plugin-types.js").HeadScriptsOption;
|
|
48
|
+
/**
|
|
49
|
+
* rango({ progressiveChunkSize }) — threaded alongside headScripts so the
|
|
50
|
+
* temp server's virtual SSR entry bakes the app's configured Fizz outlining
|
|
51
|
+
* budget into its capture/render handlers.
|
|
52
|
+
*/
|
|
53
|
+
progressiveChunkSize?: number;
|
|
48
54
|
}
|
|
49
55
|
export interface PrecomputedEntry {
|
|
50
56
|
staticPrefix: string;
|
|
@@ -135,6 +135,33 @@ interface RangoBaseOptions {
|
|
|
135
135
|
* @default "preinit"
|
|
136
136
|
*/
|
|
137
137
|
headScripts?: HeadScriptsOption;
|
|
138
|
+
/**
|
|
139
|
+
* React Fizz `progressiveChunkSize`, forwarded to the document renders the
|
|
140
|
+
* generated SSR entry performs: renderToReadableStream (live SSR) and
|
|
141
|
+
* prerender (PPR shell capture); resume() inherits the capture value from
|
|
142
|
+
* the stored postponed state.
|
|
143
|
+
*
|
|
144
|
+
* Controls COMPLETED-boundary outlining. Once the shell exceeds this budget
|
|
145
|
+
* (React's default is 12800 bytes — any real document), Fizz moves every
|
|
146
|
+
* completed Suspense boundary over ~500 bytes out of its document position
|
|
147
|
+
* to an end-of-stream `<div hidden>` + `$RC()` script reveal. Raise it (e.g.
|
|
148
|
+
* `Number.MAX_SAFE_INTEGER`) to keep completed content inline: in-place for
|
|
149
|
+
* non-executing HTML consumers, no reveal step. Boundaries with suspensey
|
|
150
|
+
* content (hoisted stylesheets) still outline — their reveal must wait for
|
|
151
|
+
* the CSS. Trade-off: inline content delays later shell bytes behind it,
|
|
152
|
+
* which is why React outlines by default.
|
|
153
|
+
*
|
|
154
|
+
* When UNSET, document renders whose matched chain has a
|
|
155
|
+
* `loader(Def, { ssr: false })` entry auto-raise to MAX_SAFE_INTEGER — the
|
|
156
|
+
* loader was awaited before first flush precisely so its content ships
|
|
157
|
+
* in-place, and outlining the boundary it feeds would defeat that. Setting
|
|
158
|
+
* an explicit value disables the auto-raise. The auto-raise is live-SSR
|
|
159
|
+
* only; captured shells use the explicit value or React's default.
|
|
160
|
+
*
|
|
161
|
+
* Apps with a custom SSR entry set this per-handler via
|
|
162
|
+
* `SSRDependencies.progressiveChunkSize`.
|
|
163
|
+
*/
|
|
164
|
+
progressiveChunkSize?: number;
|
|
138
165
|
/**
|
|
139
166
|
* Filter which files route discovery scans, by glob. Paths are matched
|
|
140
167
|
* root-relative (e.g. `src/routes/**`). `include` restricts discovery to
|
|
@@ -6,7 +6,7 @@ export declare const VIRTUAL_ENTRY_BROWSER: string;
|
|
|
6
6
|
* lets the SSR handlers convert the bootstrap to `bootstrapModules`;
|
|
7
7
|
* "preload" omits the hook and pins the handlers to the hint-only strategy.
|
|
8
8
|
*/
|
|
9
|
-
export declare function getVirtualEntrySSR(headScripts?: HeadScriptsOption): string;
|
|
9
|
+
export declare function getVirtualEntrySSR(headScripts?: HeadScriptsOption, progressiveChunkSize?: number): string;
|
|
10
10
|
/**
|
|
11
11
|
* Virtual modules an RSC entry must import at startup to register the data the
|
|
12
12
|
* request handler needs before the first request arrives:
|
|
@@ -45,6 +45,7 @@ export declare function createVirtualEntriesPlugin(entries: {
|
|
|
45
45
|
kind?: "router" | "host";
|
|
46
46
|
}, options?: {
|
|
47
47
|
headScripts?: HeadScriptsOption;
|
|
48
|
+
progressiveChunkSize?: number;
|
|
48
49
|
}): Plugin;
|
|
49
50
|
/**
|
|
50
51
|
* Suppress known harmless warnings: "use client" directives, sourcemap errors,
|