@rangojs/router 0.0.0-experimental.7dc955ec → 0.0.0-experimental.7f5e6b80
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/AGENTS.md +8 -4
- package/README.md +303 -741
- 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 +724 -183
- 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/{src/browser/react/use-client-cache.ts → dist/browser/react/use-client-cache.js} +9 -28
- 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/{src/handles/index.ts → dist/handles/index.d.ts} +1 -2
- 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/{src/network-error-thrower.tsx → dist/network-error-thrower.d.ts} +4 -10
- 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/testing/vitest.js +82 -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.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 +4267 -1213
- 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/plugins/cloudflare-protocol-loader-hook.mjs +76 -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 +86 -15
- package/skills/api-client/SKILL.md +211 -0
- package/skills/breadcrumbs/SKILL.md +85 -6
- package/skills/bundle-analysis/SKILL.md +159 -0
- package/skills/cache-guide/SKILL.md +228 -33
- package/skills/caching/SKILL.md +336 -19
- package/skills/catalog.json +271 -0
- package/skills/comparison/SKILL.md +50 -0
- package/skills/comparison/agents/openai.yaml +4 -0
- package/skills/comparison/references/framework-comparison.md +837 -0
- package/skills/composability/SKILL.md +110 -4
- package/skills/css/SKILL.md +76 -0
- package/skills/debug-manifest/SKILL.md +5 -3
- package/skills/defer-hydration/SKILL.md +235 -0
- package/skills/document-cache/SKILL.md +87 -56
- package/skills/fonts/SKILL.md +1 -1
- package/skills/handler-use/SKILL.md +364 -0
- package/skills/hooks/SKILL.md +73 -691
- package/skills/hooks/data.md +273 -0
- package/skills/hooks/handle-and-actions.md +103 -0
- package/skills/hooks/navigation.md +110 -0
- package/skills/hooks/outlets.md +41 -0
- package/skills/hooks/state.md +228 -0
- package/skills/hooks/urls.md +135 -0
- package/skills/host-router/SKILL.md +129 -27
- package/skills/i18n/SKILL.md +276 -0
- package/skills/intercept/SKILL.md +94 -18
- package/skills/layout/SKILL.md +62 -19
- package/skills/links/SKILL.md +249 -17
- package/skills/loader/SKILL.md +302 -54
- package/skills/middleware/SKILL.md +59 -16
- package/skills/migrate-nextjs/SKILL.md +745 -0
- package/skills/migrate-react-router/SKILL.md +153 -0
- package/skills/migrate-react-router/cloudflare-workers.md +129 -0
- package/skills/migrate-react-router/component-migration.md +196 -0
- package/skills/migrate-react-router/data-and-actions.md +225 -0
- package/skills/migrate-react-router/route-mapping.md +271 -0
- package/skills/mime-routes/SKILL.md +29 -2
- package/skills/observability/SKILL.md +202 -0
- package/skills/parallel/SKILL.md +99 -10
- package/skills/ppr/SKILL.md +616 -0
- package/skills/prerender/SKILL.md +178 -124
- package/skills/rango/SKILL.md +318 -24
- package/skills/react-compiler/SKILL.md +168 -0
- package/skills/response-routes/SKILL.md +138 -49
- package/skills/route/SKILL.md +141 -9
- package/skills/router-setup/SKILL.md +131 -11
- package/skills/scripts/SKILL.md +179 -0
- package/skills/server-actions/SKILL.md +776 -0
- package/skills/shell-manifest/SKILL.md +185 -0
- package/skills/streams-and-websockets/SKILL.md +283 -0
- package/skills/tailwind/SKILL.md +28 -4
- package/skills/testing/SKILL.md +130 -0
- package/skills/testing/bindings.md +103 -0
- package/skills/testing/cache-prerender.md +127 -0
- package/skills/testing/client-components.md +124 -0
- package/skills/testing/e2e-parity.md +125 -0
- package/skills/testing/flight.md +91 -0
- package/skills/testing/handles.md +131 -0
- package/skills/testing/loader.md +128 -0
- package/skills/testing/middleware.md +99 -0
- package/skills/testing/render-handler.md +122 -0
- package/skills/testing/response-routes.md +95 -0
- package/skills/testing/reverse-and-types.md +85 -0
- package/skills/testing/server-actions.md +107 -0
- package/skills/testing/server-tree.md +128 -0
- package/skills/testing/setup.md +123 -0
- package/skills/theme/SKILL.md +1 -1
- package/skills/typesafety/SKILL.md +45 -626
- package/skills/typesafety/env-and-bindings.md +254 -0
- package/skills/typesafety/generated-files-and-cli.md +335 -0
- package/skills/typesafety/params-and-search.md +153 -0
- package/skills/typesafety/route-types.md +209 -0
- package/skills/use-cache/SKILL.md +74 -15
- package/skills/vercel/SKILL.md +128 -0
- package/skills/view-transitions/SKILL.md +337 -0
- package/src/__augment-tests__/augment.ts +81 -0
- package/src/__augment-tests__/augmented.check.ts +116 -0
- package/src/__internal.ts +1 -66
- package/src/browser/action-coordinator.ts +53 -36
- package/src/browser/action-fence.ts +47 -0
- package/src/browser/app-shell.ts +39 -0
- package/src/browser/app-version.ts +14 -0
- package/src/browser/connection-warmup.ts +134 -0
- package/src/browser/cookie-name.ts +140 -0
- package/src/browser/event-controller.ts +252 -158
- package/src/browser/history-state.ts +21 -0
- package/src/browser/index.ts +3 -3
- package/src/browser/invalidate-client-cache.ts +52 -0
- package/src/browser/logging.ts +28 -0
- package/src/browser/merge-segment-loaders.ts +6 -4
- package/src/browser/navigation-bridge.ts +131 -30
- package/src/browser/navigation-client.ts +204 -87
- package/src/browser/navigation-store-handle.ts +38 -0
- package/src/browser/navigation-store.ts +203 -80
- package/src/browser/navigation-transaction.ts +9 -59
- package/src/browser/network-error-handler.ts +34 -7
- package/src/browser/partial-update.ts +198 -125
- package/src/browser/prefetch/cache.ts +246 -71
- package/src/browser/prefetch/fetch.ts +358 -40
- package/src/browser/prefetch/queue.ts +113 -32
- package/src/browser/prefetch/resource-ready.ts +77 -0
- package/src/browser/rango-state.ts +158 -76
- package/src/browser/react/Link.tsx +112 -15
- package/src/browser/react/NavigationProvider.tsx +213 -122
- package/src/browser/react/ScrollRestoration.tsx +10 -6
- package/src/browser/react/context.ts +7 -2
- package/src/browser/react/filter-segment-order.ts +66 -7
- package/src/browser/react/index.ts +0 -48
- package/src/browser/react/location-state-shared.ts +178 -8
- package/src/browser/react/location-state.ts +39 -14
- package/src/browser/react/use-action.ts +6 -15
- package/src/browser/react/use-handle.ts +23 -69
- package/src/browser/react/use-href.tsx +8 -1
- package/src/browser/react/use-link-status.ts +33 -8
- package/src/browser/react/use-navigation.ts +32 -7
- package/src/browser/react/use-params.ts +20 -10
- package/src/browser/react/use-reverse.ts +106 -0
- package/src/browser/react/use-router.ts +46 -11
- package/src/browser/react/use-search-params.ts +0 -5
- package/src/browser/react/use-segments.ts +11 -21
- package/src/browser/response-adapter.ts +99 -8
- package/src/browser/rsc-router.tsx +168 -28
- package/src/browser/scroll-restoration.ts +44 -27
- package/src/browser/segment-reconciler.ts +44 -12
- package/src/browser/segment-structure-assert.ts +2 -2
- package/src/browser/server-action-bridge.ts +244 -71
- package/src/browser/types.ts +127 -12
- package/src/browser/validate-redirect-origin.ts +43 -16
- package/src/build/collect-fallback-refs.ts +107 -0
- package/src/build/generate-manifest.ts +207 -158
- package/src/build/generate-route-types.ts +6 -1
- package/src/build/index.ts +11 -3
- package/src/build/prefix-tree-utils.ts +123 -0
- package/src/build/route-trie.ts +198 -41
- package/src/build/route-types/ast-route-extraction.ts +15 -8
- package/src/build/route-types/codegen.ts +16 -5
- package/src/build/route-types/include-resolution.ts +464 -63
- package/src/build/route-types/param-extraction.ts +6 -3
- package/src/build/route-types/per-module-writer.ts +22 -6
- package/src/build/route-types/router-processing.ts +333 -117
- package/src/build/route-types/scan-filter.ts +9 -2
- package/src/build/route-types/source-scan.ts +216 -0
- package/src/build/runtime-discovery.ts +13 -21
- package/src/cache/cache-error.ts +104 -0
- package/src/cache/cache-key-utils.ts +58 -13
- package/src/cache/cache-policy.ts +108 -34
- package/src/cache/cache-runtime.ts +421 -58
- package/src/cache/cache-scope.ts +187 -96
- package/src/cache/cache-tag.ts +149 -0
- package/src/cache/cf/cf-base64.ts +33 -0
- package/src/cache/cf/cf-cache-constants.ts +127 -0
- package/src/cache/cf/cf-cache-store.ts +2202 -372
- package/src/cache/cf/cf-cache-types.ts +349 -0
- package/src/cache/cf/cf-kv-utils.ts +46 -0
- package/src/cache/cf/cf-tag-marker-memo.ts +105 -0
- package/src/cache/cf/index.ts +6 -16
- package/src/cache/document-cache.ts +126 -41
- package/src/cache/handle-snapshot.ts +70 -0
- package/src/cache/index.ts +23 -20
- package/src/cache/memory-segment-store.ts +243 -37
- package/src/cache/profile-registry.ts +46 -31
- package/src/cache/read-through-swr.ts +56 -12
- package/src/cache/segment-codec.ts +13 -21
- package/src/cache/shell-snapshot.ts +417 -0
- package/src/cache/tag-invalidation.ts +230 -0
- package/src/cache/types.ts +180 -99
- package/src/cache/vercel/index.ts +11 -0
- package/src/cache/vercel/vercel-cache-store.ts +1127 -0
- package/src/client.rsc.tsx +41 -21
- package/src/client.tsx +116 -290
- package/src/cloudflare/index.ts +11 -0
- package/src/cloudflare/tracing.ts +108 -0
- package/src/component-utils.ts +19 -0
- package/src/components/DefaultDocument.tsx +8 -2
- package/src/context-var.ts +18 -6
- package/src/decode-loader-results.ts +52 -0
- package/src/defer.ts +185 -0
- package/src/deps/ssr.ts +0 -1
- package/src/encode-kv.ts +49 -0
- package/src/errors.ts +30 -4
- package/src/escape-script.ts +52 -0
- package/src/handle.ts +104 -34
- package/src/handles/MetaTags.tsx +24 -53
- package/src/handles/Scripts.tsx +183 -0
- package/src/handles/breadcrumbs.ts +35 -8
- package/src/handles/deferred-resolution.ts +127 -0
- package/src/handles/is-thenable.ts +18 -0
- package/src/handles/meta.ts +14 -40
- package/src/handles/script.ts +244 -0
- package/src/host/cookie-handler.ts +9 -60
- package/src/host/errors.ts +13 -22
- package/src/host/index.ts +9 -2
- package/src/host/pattern-matcher.ts +23 -52
- package/src/host/router.ts +107 -99
- package/src/host/testing.ts +40 -27
- package/src/host/types.ts +37 -4
- package/src/host/utils.ts +1 -1
- package/src/href-client.ts +137 -22
- package/src/index.rsc.ts +100 -13
- package/src/index.ts +143 -19
- package/src/internal-debug.ts +11 -10
- package/src/loader-store.ts +500 -0
- package/src/loader.rsc.ts +20 -13
- package/src/loader.ts +12 -11
- package/src/missing-id-error.ts +68 -0
- package/src/outlet-context.ts +1 -1
- package/src/outlet-provider.tsx +1 -5
- package/src/prerender/param-hash.ts +16 -16
- package/src/prerender/store.ts +37 -41
- package/src/prerender.ts +215 -86
- package/src/redirect-origin.ts +114 -0
- package/src/regex-escape.ts +8 -0
- package/src/render-error-thrower.tsx +20 -0
- package/src/response-utils.ts +62 -0
- package/src/reverse.ts +65 -15
- package/src/root-error-boundary.tsx +1 -19
- package/src/route-content-wrapper.tsx +19 -77
- package/src/route-definition/dsl-helpers.ts +461 -304
- package/src/route-definition/helper-factories.ts +28 -140
- package/src/route-definition/helpers-types.ts +153 -77
- package/src/route-definition/index.ts +4 -2
- package/src/route-definition/redirect.ts +51 -10
- package/src/route-definition/resolve-handler-use.ts +160 -0
- package/src/route-definition/use-item-types.ts +29 -0
- package/src/route-map-builder.ts +41 -20
- package/src/route-types.ts +37 -46
- package/src/router/basename.ts +14 -0
- package/src/router/content-negotiation.ts +164 -17
- package/src/router/error-handling.ts +45 -18
- package/src/router/find-match.ts +129 -30
- package/src/router/handler-context.ts +52 -31
- package/src/router/instrument.ts +355 -0
- package/src/router/intercept-resolution.ts +48 -24
- package/src/router/lazy-includes.ts +85 -62
- package/src/router/loader-resolution.ts +286 -56
- package/src/router/logging.ts +0 -6
- package/src/router/manifest.ts +96 -53
- package/src/router/match-api.ts +178 -218
- package/src/router/match-context.ts +0 -22
- package/src/router/match-handlers.ts +211 -165
- package/src/router/match-middleware/background-revalidation.ts +40 -24
- package/src/router/match-middleware/cache-lookup.ts +170 -276
- package/src/router/match-middleware/cache-store.ts +64 -52
- package/src/router/match-middleware/intercept-resolution.ts +0 -22
- package/src/router/match-middleware/segment-resolution.ts +45 -14
- package/src/router/match-pipelines.ts +1 -42
- package/src/router/match-result.ts +113 -45
- package/src/router/metrics.ts +0 -34
- package/src/router/middleware-types.ts +7 -140
- package/src/router/middleware.ts +298 -175
- package/src/router/navigation-snapshot.ts +133 -0
- package/src/router/params-util.ts +23 -0
- package/src/router/parse-pattern.ts +115 -0
- package/src/router/pattern-matching.ts +181 -150
- package/src/router/prefetch-cache-ttl.ts +51 -0
- package/src/router/prefetch-limits.ts +37 -0
- package/src/router/prerender-match.ts +203 -58
- package/src/router/preview-match.ts +35 -103
- package/src/router/request-classification.ts +291 -0
- package/src/router/revalidation.ts +123 -73
- package/src/router/route-snapshot.ts +256 -0
- package/src/router/router-context.ts +6 -29
- package/src/router/router-interfaces.ts +146 -35
- package/src/router/router-options.ts +202 -15
- package/src/router/router-registry.ts +2 -5
- package/src/router/segment-resolution/fresh.ts +196 -97
- package/src/router/segment-resolution/helpers.ts +115 -30
- package/src/router/segment-resolution/loader-cache.ts +139 -39
- package/src/router/segment-resolution/loader-mask.ts +67 -0
- package/src/router/segment-resolution/loader-snapshot.ts +251 -0
- package/src/router/segment-resolution/revalidation.ts +351 -330
- package/src/router/segment-resolution/static-store.ts +19 -5
- package/src/router/segment-resolution/streamed-handler-telemetry.ts +52 -0
- package/src/router/segment-resolution/view-transition-default.ts +56 -0
- package/src/router/segment-resolution.ts +5 -1
- package/src/router/segment-wrappers.ts +6 -5
- package/src/router/state-cookie-name.ts +33 -0
- package/src/router/substitute-pattern-params.ts +75 -0
- package/src/router/telemetry-otel.ts +160 -200
- package/src/router/telemetry.ts +105 -20
- package/src/router/timeout.ts +0 -20
- package/src/router/tracing.ts +215 -0
- package/src/router/trie-matching.ts +171 -59
- package/src/router/types.ts +10 -63
- package/src/router/url-params.ts +57 -0
- package/src/router.ts +205 -70
- package/src/rsc/full-payload.ts +70 -0
- package/src/rsc/handler-context.ts +3 -2
- package/src/rsc/handler.ts +682 -508
- package/src/rsc/helpers.ts +168 -46
- package/src/rsc/index.ts +2 -5
- package/src/rsc/json-route-result.ts +38 -0
- package/src/rsc/loader-fetch.ts +127 -31
- package/src/rsc/manifest-init.ts +33 -42
- package/src/rsc/nonce.ts +10 -1
- package/src/rsc/origin-guard.ts +39 -25
- package/src/rsc/progressive-enhancement.ts +138 -15
- package/src/rsc/redirect-guard.ts +100 -0
- package/src/rsc/response-cache-serve.ts +238 -0
- package/src/rsc/response-error.ts +79 -12
- package/src/rsc/response-route-handler.ts +99 -189
- package/src/rsc/rsc-rendering.ts +461 -73
- package/src/rsc/runtime-warnings.ts +23 -10
- package/src/rsc/server-action.ts +287 -113
- package/src/rsc/shell-capture.ts +1158 -0
- package/src/rsc/shell-serve.ts +150 -0
- package/src/rsc/ssr-setup.ts +18 -2
- package/src/rsc/transition-gate.ts +89 -0
- package/src/rsc/types.ts +62 -6
- package/src/runtime-env.ts +18 -0
- package/src/search-params.ts +35 -30
- package/src/segment-content-promise.ts +67 -0
- package/src/segment-loader-promise.ts +167 -0
- package/src/segment-system.tsx +355 -204
- package/src/serialize.ts +243 -0
- package/src/server/context.ts +269 -52
- package/src/server/cookie-parse.ts +32 -0
- package/src/server/cookie-store.ts +152 -5
- package/src/server/handle-store.ts +40 -38
- package/src/server/loader-registry.ts +38 -46
- package/src/server/request-context.ts +510 -166
- package/src/ssr/index.tsx +467 -175
- package/src/ssr/inject-rsc-eager.ts +167 -0
- package/src/ssr/ssr-root.tsx +228 -0
- package/src/static-handler.ts +27 -18
- package/src/testing/cache-status.ts +162 -0
- package/src/testing/collect-handle.ts +46 -0
- package/src/testing/dispatch.ts +813 -0
- package/src/testing/dom.entry.ts +22 -0
- package/src/testing/e2e/fixture.ts +188 -0
- package/src/testing/e2e/index.ts +128 -0
- package/src/testing/e2e/matchers.ts +35 -0
- package/src/testing/e2e/page-helpers.ts +272 -0
- package/src/testing/e2e/parity.ts +387 -0
- package/src/testing/e2e/server.ts +195 -0
- package/src/testing/flight-matchers.ts +97 -0
- package/src/testing/flight-normalize.ts +11 -0
- package/src/testing/flight-runtime.d.ts +57 -0
- package/src/testing/flight-tree.ts +682 -0
- package/src/testing/flight.entry.ts +52 -0
- package/src/testing/flight.ts +257 -0
- package/src/testing/generated-routes.ts +199 -0
- package/src/testing/index.ts +105 -0
- package/src/testing/internal/context.ts +371 -0
- package/src/testing/internal/flight-client-globals.ts +30 -0
- package/src/testing/internal/seed-vars.ts +54 -0
- package/src/testing/render-handler.ts +357 -0
- package/src/testing/render-route.tsx +584 -0
- package/src/testing/run-loader.ts +385 -0
- package/src/testing/run-middleware.ts +205 -0
- package/src/testing/run-transition-when.ts +164 -0
- package/src/testing/vitest-stubs/cloudflare-email.ts +9 -0
- package/src/testing/vitest-stubs/cloudflare-workers.ts +21 -0
- package/src/testing/vitest-stubs/plugin-rsc.ts +16 -0
- package/src/testing/vitest-stubs/version.ts +5 -0
- package/src/testing/vitest.ts +305 -0
- package/src/theme/ThemeProvider.tsx +56 -84
- package/src/theme/ThemeScript.tsx +7 -9
- package/src/theme/constants.ts +52 -13
- package/src/theme/index.ts +0 -7
- package/src/theme/theme-context.ts +1 -5
- package/src/theme/theme-script.ts +22 -21
- package/src/theme/use-theme.ts +0 -3
- package/src/types/boundaries.ts +0 -35
- package/src/types/cache-types.ts +17 -8
- package/src/types/error-types.ts +30 -90
- package/src/types/global-namespace.ts +54 -41
- package/src/types/handler-context.ts +138 -80
- package/src/types/index.ts +3 -10
- package/src/types/loader-types.ts +44 -15
- package/src/types/request-scope.ts +112 -0
- package/src/types/route-config.ts +20 -52
- package/src/types/route-entry.ts +12 -7
- package/src/types/segments.ts +136 -15
- package/src/urls/include-helper.ts +40 -75
- package/src/urls/include-provider.ts +71 -0
- package/src/urls/index.ts +2 -11
- package/src/urls/path-helper-types.ts +102 -23
- package/src/urls/path-helper.ts +62 -111
- package/src/urls/pattern-types.ts +84 -19
- package/src/urls/response-types.ts +25 -22
- package/src/urls/type-extraction.ts +98 -154
- package/src/urls/urls-function.ts +1 -19
- package/src/use-loader.tsx +346 -89
- package/src/vercel/index.ts +11 -0
- package/src/vercel/tracing.ts +88 -0
- package/src/vite/debug.ts +185 -0
- package/src/vite/discovery/bundle-postprocess.ts +36 -38
- package/src/vite/discovery/dev-prerender-cache.ts +117 -0
- package/src/vite/discovery/discover-routers.ts +130 -85
- package/src/vite/discovery/discovery-errors.ts +255 -0
- package/src/vite/discovery/gate-state.ts +171 -0
- package/src/vite/discovery/prerender-collection.ts +214 -132
- package/src/vite/discovery/route-types-writer.ts +40 -84
- package/src/vite/discovery/self-gen-tracking.ts +27 -1
- package/src/vite/discovery/state.ts +57 -4
- package/src/vite/discovery/virtual-module-codegen.ts +14 -34
- package/src/vite/index.ts +8 -0
- package/src/vite/inject-client-debug.ts +88 -0
- package/src/vite/plugin-types.ts +261 -6
- package/src/vite/plugins/cjs-to-esm.ts +16 -19
- package/src/vite/plugins/client-ref-dedup.ts +16 -11
- package/src/vite/plugins/client-ref-hashing.ts +28 -15
- package/src/vite/plugins/cloudflare-protocol-loader-hook.d.mts +23 -0
- package/src/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
- package/src/vite/plugins/cloudflare-protocol-stub.ts +194 -0
- package/src/vite/plugins/expose-action-id.ts +48 -95
- package/src/vite/plugins/expose-id-utils.ts +96 -51
- package/src/vite/plugins/expose-ids/export-analysis.ts +101 -34
- package/src/vite/plugins/expose-ids/handler-transform.ts +15 -64
- package/src/vite/plugins/expose-ids/loader-transform.ts +14 -24
- package/src/vite/plugins/expose-ids/router-transform.ts +118 -29
- package/src/vite/plugins/expose-internal-ids.ts +553 -317
- package/src/vite/plugins/performance-tracks.ts +89 -0
- package/src/vite/plugins/refresh-cmd.ts +89 -27
- package/src/vite/plugins/use-cache-transform.ts +73 -83
- package/src/vite/plugins/vercel-output.ts +384 -0
- package/src/vite/plugins/version-injector.ts +40 -29
- package/src/vite/plugins/version-plugin.ts +37 -40
- package/src/vite/plugins/virtual-entries.ts +138 -27
- package/src/vite/rango.ts +247 -132
- package/src/vite/router-discovery.ts +1091 -159
- package/src/vite/utils/ast-handler-extract.ts +26 -35
- package/src/vite/utils/banner.ts +1 -1
- package/src/vite/utils/bundle-analysis.ts +10 -15
- package/src/vite/utils/client-chunks.ts +184 -0
- package/src/vite/utils/directive-prologue.ts +40 -0
- package/src/vite/utils/forward-user-plugins.ts +171 -0
- package/src/vite/utils/manifest-utils.ts +4 -59
- package/src/vite/utils/package-resolution.ts +20 -52
- package/src/vite/utils/prerender-utils.ts +98 -38
- package/src/vite/utils/shared-utils.ts +144 -44
- package/src/browser/action-response-classifier.ts +0 -99
- package/src/browser/shallow.ts +0 -40
- package/src/router/middleware-cookies.ts +0 -55
package/src/href-client.ts
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import type { GetRegisteredRoutes } from "./types.js";
|
|
18
|
-
import type {
|
|
18
|
+
import type { JsonSerialize } from "./serialize.js";
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* Parse constraint values into a union type for paths
|
|
@@ -103,29 +103,75 @@ type NameForPattern<TPattern extends string, TRoutes = GetRegisteredRoutes> = {
|
|
|
103
103
|
}[keyof TRoutes];
|
|
104
104
|
|
|
105
105
|
/**
|
|
106
|
-
*
|
|
107
|
-
*
|
|
108
|
-
*
|
|
109
|
-
*
|
|
106
|
+
* Strip a query (`?…`) and/or hash (`#…`) suffix before matching, so a concrete
|
|
107
|
+
* URL like `/api/health?ts=1` still resolves to its route's response. Removes
|
|
108
|
+
* from the earliest of `?`/`#`: a `#` before the first `?` (the query is part of
|
|
109
|
+
* a fragment, e.g. `/health#top?x=1`) is handled, as is a `/:` that only appears
|
|
110
|
+
* inside the query (e.g. `/health?next=/:id`).
|
|
111
|
+
*/
|
|
112
|
+
type StripPathSuffix<T extends string> = T extends `${infer Base}?${string}`
|
|
113
|
+
? Base extends `${infer Frag}#${string}`
|
|
114
|
+
? Frag
|
|
115
|
+
: Base
|
|
116
|
+
: T extends `${infer Base}#${string}`
|
|
117
|
+
? Base
|
|
118
|
+
: T;
|
|
119
|
+
|
|
120
|
+
/** Extract a route entry's response payload (or `never` for RSC routes). */
|
|
121
|
+
type ResponsePayloadOf<TRoutes, K extends keyof TRoutes> = TRoutes[K] extends {
|
|
122
|
+
readonly response: infer R;
|
|
123
|
+
}
|
|
124
|
+
? Exclude<R, Response>
|
|
125
|
+
: never;
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Look up the response payload for a route, keyed by either a route pattern
|
|
129
|
+
* (`/api/products/:id`) or a concrete path (`/api/products/123`). The same type
|
|
130
|
+
* serves a pattern lookup and a typed `fetch` wrapper that forwards a concrete
|
|
131
|
+
* `Rango.Path`:
|
|
110
132
|
*
|
|
111
|
-
*
|
|
112
|
-
* PathResponse<"/api/
|
|
133
|
+
* PathResponse<"/api/products/:id"> → Product // by pattern
|
|
134
|
+
* PathResponse<"/api/products/123"> → Product // by concrete path
|
|
113
135
|
*
|
|
114
|
-
*
|
|
115
|
-
*
|
|
136
|
+
* The query/hash suffix is stripped first; the stripped key is then treated as a
|
|
137
|
+
* pattern when it contains a `/:param` segment and matched exactly (precise even
|
|
138
|
+
* for nested dynamic routes), otherwise as a concrete path matched against each
|
|
139
|
+
* route's `PatternToPath` template. Because those holes are `${string}`
|
|
140
|
+
* (slash-greedy), a concrete path under a *nested* dynamic route can match several
|
|
141
|
+
* patterns and union their responses — pattern lookups do not have this
|
|
142
|
+
* looseness. RSC routes (no response) and unmatched keys resolve to `never`.
|
|
143
|
+
*/
|
|
144
|
+
type ResponsePayloadFor<
|
|
145
|
+
TPath extends string,
|
|
146
|
+
TRoutes = GetRegisteredRoutes,
|
|
147
|
+
> = ResponsePayloadForKey<StripPathSuffix<TPath>, TRoutes>;
|
|
148
|
+
|
|
149
|
+
type ResponsePayloadForKey<
|
|
150
|
+
TKey extends string,
|
|
151
|
+
TRoutes,
|
|
152
|
+
> = TKey extends `${string}/:${string}`
|
|
153
|
+
? {
|
|
154
|
+
[K in keyof TRoutes]: RoutePattern<TRoutes, K> extends TKey
|
|
155
|
+
? ResponsePayloadOf<TRoutes, K>
|
|
156
|
+
: never;
|
|
157
|
+
}[keyof TRoutes]
|
|
158
|
+
: {
|
|
159
|
+
[K in keyof TRoutes]: TKey extends PatternToPath<RoutePattern<TRoutes, K>>
|
|
160
|
+
? ResponsePayloadOf<TRoutes, K>
|
|
161
|
+
: never;
|
|
162
|
+
}[keyof TRoutes];
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* Public response type for a route, keyed by pattern or concrete path. JSON
|
|
166
|
+
* response routes send the handler's return value verbatim (bare), so the
|
|
167
|
+
* payload is wrapped only in `JsonSerialize` to describe the JSON **wire** value
|
|
168
|
+
* a consumer receives from `fetch().then(r => r.json())` — e.g. a handler
|
|
169
|
+
* returning `{ createdAt: Date }` resolves here to `{ createdAt: string }`.
|
|
116
170
|
*/
|
|
117
171
|
export type PathResponse<
|
|
118
|
-
|
|
172
|
+
TPath extends string,
|
|
119
173
|
TRoutes = GetRegisteredRoutes,
|
|
120
|
-
> =
|
|
121
|
-
{
|
|
122
|
-
[K in keyof TRoutes]: RoutePattern<TRoutes, K> extends TPattern
|
|
123
|
-
? TRoutes[K] extends { readonly response: infer R }
|
|
124
|
-
? Exclude<R, Response>
|
|
125
|
-
: never
|
|
126
|
-
: never;
|
|
127
|
-
}[keyof TRoutes]
|
|
128
|
-
>;
|
|
174
|
+
> = JsonSerialize<ResponsePayloadFor<TPath, TRoutes>>;
|
|
129
175
|
|
|
130
176
|
/**
|
|
131
177
|
* Strip trailing slash from a path (e.g., "/blog/" -> "/blog" | "/blog/")
|
|
@@ -140,7 +186,7 @@ type OptionalTrailingSlash<T extends string> = T extends `${infer Base}/`
|
|
|
140
186
|
/**
|
|
141
187
|
* Union of all valid paths from registered routes
|
|
142
188
|
*
|
|
143
|
-
* Generated from
|
|
189
|
+
* Generated from Rango.RegisteredRoutes via module augmentation.
|
|
144
190
|
* Allows optional query strings and hash fragments.
|
|
145
191
|
*/
|
|
146
192
|
export type ValidPaths<TRoutes = GetRegisteredRoutes> =
|
|
@@ -154,6 +200,76 @@ export type ValidPaths<TRoutes = GetRegisteredRoutes> =
|
|
|
154
200
|
}[keyof TRoutes]
|
|
155
201
|
>;
|
|
156
202
|
|
|
203
|
+
// Module-scoped alias so the ambient `Rango.PathResponse` below can reference
|
|
204
|
+
// the module-level `PathResponse` without the global namespace shadowing the
|
|
205
|
+
// name when both are called `PathResponse`.
|
|
206
|
+
type GlobalPathResponse<
|
|
207
|
+
TPattern extends string,
|
|
208
|
+
TRoutes = GetRegisteredRoutes,
|
|
209
|
+
> = PathResponse<TPattern, TRoutes>;
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* Ambient path types on the `Rango` namespace.
|
|
213
|
+
*
|
|
214
|
+
* These live on the same global namespace consumers already augment for
|
|
215
|
+
* `Rango.Env` / `Rango.Vars`, so they are reachable with no import wherever the
|
|
216
|
+
* router's types are in scope. They are the public, recommended surface for
|
|
217
|
+
* typing anything that wraps `href()`. `ValidPaths` / `PathResponse` stay as the
|
|
218
|
+
* internal building blocks behind them.
|
|
219
|
+
*/
|
|
220
|
+
declare global {
|
|
221
|
+
namespace Rango {
|
|
222
|
+
/**
|
|
223
|
+
* Union of every valid route path accepted by `href()`.
|
|
224
|
+
*
|
|
225
|
+
* Type a wrapper's path parameter as `Rango.Path` so it shares `href()`'s
|
|
226
|
+
* compile-time validation against the registered routes:
|
|
227
|
+
*
|
|
228
|
+
* ```ts
|
|
229
|
+
* import { href } from "@rangojs/router/client";
|
|
230
|
+
*
|
|
231
|
+
* export const appHref = (path: Rango.Path) => href(path);
|
|
232
|
+
* ```
|
|
233
|
+
*
|
|
234
|
+
* Resolves from `Rango.RegisteredRoutes` when augmented, otherwise the
|
|
235
|
+
* auto-generated `Rango.GeneratedRouteMap`, otherwise a permissive
|
|
236
|
+
* `/${string}` fallback.
|
|
237
|
+
*/
|
|
238
|
+
type Path<TRoutes = GetRegisteredRoutes> = ValidPaths<TRoutes>;
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
* Response payload for a route, looked up from the global route map by
|
|
242
|
+
* either a route pattern (`/api/products/:id`) or a concrete path
|
|
243
|
+
* (`/api/products/123`). Because it accepts a concrete `Rango.Path`, it
|
|
244
|
+
* doubles as the return type of a typed `fetch` wrapper:
|
|
245
|
+
*
|
|
246
|
+
* ```ts
|
|
247
|
+
* type Product = Rango.PathResponse<"/api/products/:id">; // by pattern
|
|
248
|
+
* type Same = Rango.PathResponse<"/api/products/42">; // by concrete path
|
|
249
|
+
*
|
|
250
|
+
* const get = async <T extends Rango.Path>(
|
|
251
|
+
* path: T,
|
|
252
|
+
* ): Promise<Rango.PathResponse<T>> =>
|
|
253
|
+
* fetch(href(path)).then((r) => r.json());
|
|
254
|
+
* ```
|
|
255
|
+
*
|
|
256
|
+
* The payload is the JSON **wire** shape (via `Rango.JsonSerialize`), not the
|
|
257
|
+
* handler's raw return — a handler returning `{ createdAt: Date }` resolves
|
|
258
|
+
* here to `{ createdAt: string }` (bare, no envelope), matching what
|
|
259
|
+
* `fetch().then(r => r.json())` actually yields.
|
|
260
|
+
*
|
|
261
|
+
* Only resolves once `Rango.RegisteredRoutes` carries response metadata (the
|
|
262
|
+
* generated map has paths and search but no payloads). Pass an explicit route
|
|
263
|
+
* map as the second argument to look up against a non-global map (rarely
|
|
264
|
+
* needed in app code).
|
|
265
|
+
*/
|
|
266
|
+
type PathResponse<
|
|
267
|
+
TPath extends string,
|
|
268
|
+
TRoutes = GetRegisteredRoutes,
|
|
269
|
+
> = GlobalPathResponse<TPath, TRoutes>;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
|
|
157
273
|
/**
|
|
158
274
|
* Type-safe href function for client-side use
|
|
159
275
|
*
|
|
@@ -182,11 +298,10 @@ export type ValidPaths<TRoutes = GetRegisteredRoutes> =
|
|
|
182
298
|
*/
|
|
183
299
|
export function href<T extends ValidPaths>(path: T, mount?: string): string {
|
|
184
300
|
if (mount && mount !== "/") {
|
|
185
|
-
// Strip trailing slash from mount to avoid double-slash when joining
|
|
186
301
|
const normalizedMount = mount.endsWith("/") ? mount.slice(0, -1) : mount;
|
|
187
302
|
return normalizedMount + path;
|
|
188
303
|
}
|
|
189
|
-
return path;
|
|
304
|
+
return path as string;
|
|
190
305
|
}
|
|
191
306
|
|
|
192
307
|
/**
|
package/src/index.rsc.ts
CHANGED
|
@@ -18,6 +18,7 @@ export {
|
|
|
18
18
|
MiddlewareError,
|
|
19
19
|
HandlerError,
|
|
20
20
|
BuildError,
|
|
21
|
+
DslContextError,
|
|
21
22
|
InvalidHandlerError,
|
|
22
23
|
RouterError,
|
|
23
24
|
Skip,
|
|
@@ -43,6 +44,7 @@ export type {
|
|
|
43
44
|
// Revalidation types
|
|
44
45
|
RevalidateParams,
|
|
45
46
|
Revalidate,
|
|
47
|
+
ActionRef,
|
|
46
48
|
RouteKeys,
|
|
47
49
|
// Loader types
|
|
48
50
|
LoaderDefinition,
|
|
@@ -63,16 +65,29 @@ export type {
|
|
|
63
65
|
ErrorPhase,
|
|
64
66
|
OnErrorContext,
|
|
65
67
|
OnErrorCallback,
|
|
68
|
+
// View transition types (also exported from the default entry; route
|
|
69
|
+
// definitions resolve to this react-server entry, so they must be here too)
|
|
70
|
+
TransitionConfig,
|
|
71
|
+
TransitionWhenFn,
|
|
72
|
+
TransitionWhenContext,
|
|
73
|
+
ViewTransitionClass,
|
|
66
74
|
} from "./types.js";
|
|
67
75
|
|
|
68
76
|
// Router options type (server-only, so import directly)
|
|
69
77
|
export type {
|
|
70
|
-
|
|
78
|
+
RangoOptions,
|
|
71
79
|
SSRStreamMode,
|
|
72
80
|
SSROptions,
|
|
73
81
|
ResolveStreamingContext,
|
|
74
82
|
} from "./router.js";
|
|
75
83
|
|
|
84
|
+
// Origin-check callback types (referenced by the RangoOptions.originCheck JSDoc)
|
|
85
|
+
export type {
|
|
86
|
+
OriginCheckConfig,
|
|
87
|
+
OriginCheckContext,
|
|
88
|
+
OriginCheckPhase,
|
|
89
|
+
} from "./rsc/origin-guard.js";
|
|
90
|
+
|
|
76
91
|
// Server-side createLoader and redirect
|
|
77
92
|
export {
|
|
78
93
|
createLoader,
|
|
@@ -88,7 +103,6 @@ export {
|
|
|
88
103
|
loading,
|
|
89
104
|
parallel,
|
|
90
105
|
intercept,
|
|
91
|
-
when,
|
|
92
106
|
errorBoundary,
|
|
93
107
|
notFoundBoundary,
|
|
94
108
|
transition,
|
|
@@ -100,10 +114,17 @@ export type {
|
|
|
100
114
|
LayoutUseItem,
|
|
101
115
|
AllUseItems,
|
|
102
116
|
UseItems,
|
|
117
|
+
HandlerUseItem,
|
|
103
118
|
} from "./route-types.js";
|
|
104
119
|
|
|
105
120
|
// Handle API
|
|
106
121
|
export { createHandle, isHandle, type Handle } from "./handle.js";
|
|
122
|
+
export {
|
|
123
|
+
DEFAULT_DEFER_TIMEOUT_MS,
|
|
124
|
+
type DeferOptions,
|
|
125
|
+
type HandlePush,
|
|
126
|
+
type HandlePushFn,
|
|
127
|
+
} from "./defer.js";
|
|
107
128
|
|
|
108
129
|
// Context variable API (typed ctx.set/ctx.get tokens)
|
|
109
130
|
export { createVar, type ContextVar } from "./context-var.js";
|
|
@@ -114,28 +135,34 @@ export { nonce } from "./rsc/nonce.js";
|
|
|
114
135
|
// Pre-render handler API
|
|
115
136
|
export {
|
|
116
137
|
Prerender,
|
|
138
|
+
Passthrough,
|
|
117
139
|
type PrerenderHandlerDefinition,
|
|
118
|
-
type
|
|
140
|
+
type PassthroughHandlerDefinition,
|
|
119
141
|
type PrerenderOptions,
|
|
120
142
|
type BuildContext,
|
|
121
143
|
type StaticBuildContext,
|
|
122
144
|
type GetParamsContext,
|
|
145
|
+
type PrerenderPassthroughResult,
|
|
123
146
|
} from "./prerender.js";
|
|
124
147
|
|
|
125
148
|
// Static handler API
|
|
126
|
-
export {
|
|
149
|
+
export {
|
|
150
|
+
Static,
|
|
151
|
+
type StaticHandlerDefinition,
|
|
152
|
+
type StaticHandlerOptions,
|
|
153
|
+
} from "./static-handler.js";
|
|
127
154
|
|
|
128
155
|
// Django-style URL patterns (RSC/server context)
|
|
129
156
|
export {
|
|
130
157
|
urls,
|
|
131
158
|
type PathHelpers,
|
|
132
159
|
type PathOptions,
|
|
160
|
+
type PartialPrerenderProps,
|
|
133
161
|
type UrlPatterns,
|
|
134
162
|
type IncludeOptions,
|
|
135
163
|
type IncludeItem,
|
|
136
164
|
type RouteResponse,
|
|
137
|
-
type
|
|
138
|
-
type ResponseEnvelope,
|
|
165
|
+
type ProblemDetails,
|
|
139
166
|
type ResponseHandler,
|
|
140
167
|
type ResponseHandlerContext,
|
|
141
168
|
type JsonResponseHandler,
|
|
@@ -149,7 +176,7 @@ export {
|
|
|
149
176
|
// Core router (server-side)
|
|
150
177
|
export {
|
|
151
178
|
createRouter,
|
|
152
|
-
type
|
|
179
|
+
type Rango,
|
|
153
180
|
type RootLayoutProps,
|
|
154
181
|
type RouterRequestInput,
|
|
155
182
|
} from "./router.js";
|
|
@@ -159,6 +186,11 @@ export type { HandlerCacheConfig } from "./rsc/types.js";
|
|
|
159
186
|
|
|
160
187
|
// Built-in handles (server-side)
|
|
161
188
|
export { Meta } from "./handles/meta.js";
|
|
189
|
+
export {
|
|
190
|
+
Script,
|
|
191
|
+
type ScriptConfig,
|
|
192
|
+
type ScriptAttributes,
|
|
193
|
+
} from "./handles/script.js";
|
|
162
194
|
export { Breadcrumbs, type BreadcrumbItem } from "./handles/breadcrumbs.js";
|
|
163
195
|
|
|
164
196
|
// Request context (for accessing request data in server actions/components).
|
|
@@ -170,6 +202,9 @@ export type { PublicRequestContext as RequestContext } from "./server/request-co
|
|
|
170
202
|
import type { PublicRequestContext } from "./server/request-context.js";
|
|
171
203
|
import type { DefaultEnv } from "./types/global-namespace.js";
|
|
172
204
|
|
|
205
|
+
// Shared base for every user-facing request context (mirrors index.ts).
|
|
206
|
+
export type { RequestScope, ExecutionContext } from "./types/request-scope.js";
|
|
207
|
+
|
|
173
208
|
export const getRequestContext: <
|
|
174
209
|
TEnv = DefaultEnv,
|
|
175
210
|
>() => PublicRequestContext<TEnv> = _getRequestContextInternal;
|
|
@@ -178,16 +213,31 @@ export const getRequestContext: <
|
|
|
178
213
|
export {
|
|
179
214
|
cookies,
|
|
180
215
|
headers,
|
|
216
|
+
invalidateClientCache,
|
|
217
|
+
keepClientCache,
|
|
181
218
|
type CookieStore,
|
|
182
219
|
type Cookie,
|
|
183
220
|
type ReadonlyHeaders,
|
|
184
221
|
} from "./server/cookie-store.js";
|
|
185
222
|
|
|
223
|
+
// Cache tag APIs (server-only)
|
|
224
|
+
// cacheTag: tag the current "use cache" entry at runtime.
|
|
225
|
+
// updateTag: read-your-own-writes invalidation (awaitable, for Server Actions).
|
|
226
|
+
// revalidateTag: background hard-purge invalidation (not awaited, for route handlers / webhooks).
|
|
227
|
+
export { cacheTag } from "./cache/cache-tag.js";
|
|
228
|
+
export { updateTag, revalidateTag } from "./cache/tag-invalidation.js";
|
|
229
|
+
|
|
186
230
|
// Meta types
|
|
187
231
|
export type { MetaDescriptor, MetaDescriptorBase } from "./router/types.js";
|
|
188
232
|
|
|
189
233
|
// Middleware context types
|
|
190
|
-
export type {
|
|
234
|
+
export type {
|
|
235
|
+
MiddlewareContext,
|
|
236
|
+
CookieOptions,
|
|
237
|
+
// The function type of a middleware. Public so the documented "extract the
|
|
238
|
+
// middleware and unit-test it with runMiddleware" pattern has a nameable type.
|
|
239
|
+
MiddlewareFn,
|
|
240
|
+
} from "./router/middleware.js";
|
|
191
241
|
|
|
192
242
|
// Reverse type utilities for type-safe URL generation (Django-style URL reversal)
|
|
193
243
|
export type {
|
|
@@ -215,14 +265,51 @@ export {
|
|
|
215
265
|
type LocationStateOptions,
|
|
216
266
|
} from "./browser/react/location-state-shared.js";
|
|
217
267
|
|
|
218
|
-
// Path
|
|
219
|
-
|
|
268
|
+
// Path and response types are ambient on the `Rango` namespace (`Rango.Path`,
|
|
269
|
+
// `Rango.PathResponse`, declared in href-client.ts) — no import needed.
|
|
220
270
|
|
|
221
|
-
// Telemetry sink
|
|
271
|
+
// Telemetry sink (event-shaped facts)
|
|
222
272
|
export { createConsoleSink } from "./router/telemetry.js";
|
|
223
273
|
export { createOTelSink } from "./router/telemetry-otel.js";
|
|
224
|
-
|
|
225
|
-
export
|
|
274
|
+
// OTel phase-span adapter for the `tracing` slot (the canonical span layer).
|
|
275
|
+
export { createOTelTracing } from "./router/telemetry-otel.js";
|
|
276
|
+
export type {
|
|
277
|
+
OTelTracer,
|
|
278
|
+
OTelActiveSpanTracer,
|
|
279
|
+
OTelSpan,
|
|
280
|
+
OTelTracingOptions,
|
|
281
|
+
} from "./router/telemetry-otel.js";
|
|
282
|
+
// The full TelemetryEvent union PLUS its member types, so a consumer writing a
|
|
283
|
+
// TelemetrySink can annotate a per-`type` handler (or construct an event literal
|
|
284
|
+
// in a test) instead of only narrowing the opaque union.
|
|
285
|
+
export type {
|
|
286
|
+
TelemetrySink,
|
|
287
|
+
TelemetryEvent,
|
|
288
|
+
RequestStartEvent,
|
|
289
|
+
RequestEndEvent,
|
|
290
|
+
RequestErrorEvent,
|
|
291
|
+
LoaderStartEvent,
|
|
292
|
+
LoaderEndEvent,
|
|
293
|
+
LoaderErrorEvent,
|
|
294
|
+
HandlerErrorEvent,
|
|
295
|
+
CacheSegmentStatus,
|
|
296
|
+
CacheSegmentSignal,
|
|
297
|
+
CacheDecisionEvent,
|
|
298
|
+
RevalidationDecisionEvent,
|
|
299
|
+
RequestTimeoutEvent,
|
|
300
|
+
OriginCheckRejectedEvent,
|
|
301
|
+
} from "./router/telemetry.js";
|
|
302
|
+
|
|
303
|
+
// Span tracing config types a consumer annotates. SpanRunner/TraceSpan are the
|
|
304
|
+
// internal runner contract (consumers go through createOTelTracing /
|
|
305
|
+
// createCloudflareTracing, which return a ready RouterTracingConfig) and are not
|
|
306
|
+
// exported.
|
|
307
|
+
export type {
|
|
308
|
+
RouterTracingConfig,
|
|
309
|
+
TracePhase,
|
|
310
|
+
TracePhaseToggles,
|
|
311
|
+
TracingToggleOptions,
|
|
312
|
+
} from "./router/tracing.js";
|
|
226
313
|
|
|
227
314
|
// Timeout types and error class
|
|
228
315
|
export { RouterTimeoutError } from "./router/timeout.js";
|
package/src/index.ts
CHANGED
|
@@ -18,6 +18,7 @@ export {
|
|
|
18
18
|
MiddlewareError,
|
|
19
19
|
HandlerError,
|
|
20
20
|
BuildError,
|
|
21
|
+
DslContextError,
|
|
21
22
|
InvalidHandlerError,
|
|
22
23
|
RouterError,
|
|
23
24
|
Skip,
|
|
@@ -43,6 +44,7 @@ export type {
|
|
|
43
44
|
// Revalidation types
|
|
44
45
|
RevalidateParams,
|
|
45
46
|
Revalidate,
|
|
47
|
+
ActionRef,
|
|
46
48
|
RouteKeys,
|
|
47
49
|
// Loader types
|
|
48
50
|
LoaderDefinition,
|
|
@@ -80,7 +82,12 @@ export { createLoader } from "./loader.js";
|
|
|
80
82
|
|
|
81
83
|
// Route definition types (safe to import anywhere)
|
|
82
84
|
export type { RouteHelpers, RouteHandlers } from "./route-definition.js";
|
|
83
|
-
export type {
|
|
85
|
+
export type {
|
|
86
|
+
TransitionConfig,
|
|
87
|
+
TransitionWhenFn,
|
|
88
|
+
TransitionWhenContext,
|
|
89
|
+
ViewTransitionClass,
|
|
90
|
+
} from "./types.js";
|
|
84
91
|
|
|
85
92
|
// Composition types for reusable callback factories
|
|
86
93
|
export type {
|
|
@@ -88,6 +95,7 @@ export type {
|
|
|
88
95
|
LayoutUseItem,
|
|
89
96
|
AllUseItems,
|
|
90
97
|
UseItems,
|
|
98
|
+
HandlerUseItem,
|
|
91
99
|
} from "./route-types.js";
|
|
92
100
|
|
|
93
101
|
// Response route types (usable in both server and client contexts)
|
|
@@ -101,8 +109,8 @@ export type {
|
|
|
101
109
|
JsonResponsePathFn,
|
|
102
110
|
TextResponsePathFn,
|
|
103
111
|
RouteResponse,
|
|
104
|
-
|
|
105
|
-
|
|
112
|
+
ProblemDetails,
|
|
113
|
+
PartialPrerenderProps,
|
|
106
114
|
} from "./urls.js";
|
|
107
115
|
|
|
108
116
|
// Middleware context types
|
|
@@ -138,6 +146,12 @@ export function redirect(): never {
|
|
|
138
146
|
|
|
139
147
|
// Handle API (universal - works on both server and client)
|
|
140
148
|
export { createHandle, isHandle, type Handle } from "./handle.js";
|
|
149
|
+
export {
|
|
150
|
+
DEFAULT_DEFER_TIMEOUT_MS,
|
|
151
|
+
type DeferOptions,
|
|
152
|
+
type HandlePush,
|
|
153
|
+
type HandlePushFn,
|
|
154
|
+
} from "./defer.js";
|
|
141
155
|
|
|
142
156
|
// Context variable API (typed ctx.set/ctx.get tokens)
|
|
143
157
|
export { createVar, type ContextVar } from "./context-var.js";
|
|
@@ -146,17 +160,52 @@ export { createVar, type ContextVar } from "./context-var.js";
|
|
|
146
160
|
export { nonce } from "./rsc/nonce.js";
|
|
147
161
|
|
|
148
162
|
/**
|
|
149
|
-
*
|
|
163
|
+
* SSR/client stub for server-only `Prerender` function.
|
|
164
|
+
*
|
|
165
|
+
* Returns a lightweight stub object instead of throwing so that the
|
|
166
|
+
* production SSR build can safely bundle the RSC entry chunk — the SSR
|
|
167
|
+
* bundler resolves `@rangojs/router` to this (SSR) entry, so Prerender
|
|
168
|
+
* calls in RSC code must not crash at module-evaluation time.
|
|
169
|
+
*/
|
|
170
|
+
export function Prerender(
|
|
171
|
+
_handler?: any,
|
|
172
|
+
_optionsOrId?: any,
|
|
173
|
+
__injectedId?: string,
|
|
174
|
+
): any {
|
|
175
|
+
const id =
|
|
176
|
+
typeof _optionsOrId === "string" ? _optionsOrId : __injectedId || "";
|
|
177
|
+
return { __brand: "prerenderHandler" as const, $$id: id };
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* SSR/client stub for server-only `Passthrough` function.
|
|
150
182
|
*/
|
|
151
|
-
export function
|
|
152
|
-
|
|
183
|
+
export function Passthrough(
|
|
184
|
+
_handler?: any,
|
|
185
|
+
_optionsOrId?: any,
|
|
186
|
+
__injectedId?: string,
|
|
187
|
+
): any {
|
|
188
|
+
const id =
|
|
189
|
+
typeof _optionsOrId === "string" ? _optionsOrId : __injectedId || "";
|
|
190
|
+
return { __brand: "passthroughHandler" as const, $$id: id };
|
|
153
191
|
}
|
|
154
192
|
|
|
155
193
|
/**
|
|
156
|
-
*
|
|
194
|
+
* SSR/client stub for server-only `Static` function.
|
|
195
|
+
*
|
|
196
|
+
* Returns a lightweight stub object instead of throwing so that the
|
|
197
|
+
* production SSR build can safely bundle the RSC entry chunk — the SSR
|
|
198
|
+
* bundler resolves `@rangojs/router` to this (SSR) entry, so Static
|
|
199
|
+
* calls in RSC code must not crash at module-evaluation time.
|
|
157
200
|
*/
|
|
158
|
-
export function Static(
|
|
159
|
-
|
|
201
|
+
export function Static(
|
|
202
|
+
_handler?: any,
|
|
203
|
+
_optionsOrId?: any,
|
|
204
|
+
__injectedId?: string,
|
|
205
|
+
): any {
|
|
206
|
+
const id =
|
|
207
|
+
typeof _optionsOrId === "string" ? _optionsOrId : __injectedId || "";
|
|
208
|
+
return { __brand: "staticHandler" as const, $$id: id };
|
|
160
209
|
}
|
|
161
210
|
|
|
162
211
|
/**
|
|
@@ -180,6 +229,17 @@ export function headers(): never {
|
|
|
180
229
|
throw serverOnlyStubError("headers");
|
|
181
230
|
}
|
|
182
231
|
|
|
232
|
+
/**
|
|
233
|
+
* Client implementation of `invalidateClientCache()`. Unlike the server-only
|
|
234
|
+
* stubs above this is a REAL function under the `default` condition (it marks
|
|
235
|
+
* the client's caches stale); the `react-server` condition (index.rsc.ts)
|
|
236
|
+
* selects the server implementation that writes a rotated `Set-Cookie`.
|
|
237
|
+
*/
|
|
238
|
+
export {
|
|
239
|
+
invalidateClientCache,
|
|
240
|
+
keepClientCache,
|
|
241
|
+
} from "./browser/invalidate-client-cache.js";
|
|
242
|
+
|
|
183
243
|
/**
|
|
184
244
|
* Error-throwing stub for server-only `createReverse` function.
|
|
185
245
|
*/
|
|
@@ -200,6 +260,18 @@ export function middleware(): never {
|
|
|
200
260
|
export function revalidate(): never {
|
|
201
261
|
throw serverOnlyStubError("revalidate");
|
|
202
262
|
}
|
|
263
|
+
// Cache tag APIs are server-only (real implementations in index.rsc.ts). These
|
|
264
|
+
// stubs keep the named-export shape identical under the default/non-react-server
|
|
265
|
+
// condition so SSR/client/default bundles that encounter the import link cleanly.
|
|
266
|
+
export function cacheTag(): never {
|
|
267
|
+
throw serverOnlyStubError("cacheTag");
|
|
268
|
+
}
|
|
269
|
+
export function updateTag(): never {
|
|
270
|
+
throw serverOnlyStubError("updateTag");
|
|
271
|
+
}
|
|
272
|
+
export function revalidateTag(): never {
|
|
273
|
+
throw serverOnlyStubError("revalidateTag");
|
|
274
|
+
}
|
|
203
275
|
export function loader(): never {
|
|
204
276
|
throw serverOnlyStubError("loader");
|
|
205
277
|
}
|
|
@@ -212,9 +284,6 @@ export function parallel(): never {
|
|
|
212
284
|
export function intercept(): never {
|
|
213
285
|
throw serverOnlyStubError("intercept");
|
|
214
286
|
}
|
|
215
|
-
export function when(): never {
|
|
216
|
-
throw serverOnlyStubError("when");
|
|
217
|
-
}
|
|
218
287
|
export function errorBoundary(): never {
|
|
219
288
|
throw serverOnlyStubError("errorBoundary");
|
|
220
289
|
}
|
|
@@ -228,6 +297,9 @@ export function transition(): never {
|
|
|
228
297
|
// Request context type (safe for client)
|
|
229
298
|
export type { PublicRequestContext as RequestContext } from "./server/request-context.js";
|
|
230
299
|
|
|
300
|
+
// Shared base for every user-facing request context.
|
|
301
|
+
export type { RequestScope, ExecutionContext } from "./types/request-scope.js";
|
|
302
|
+
|
|
231
303
|
// Cookie store types (safe for client)
|
|
232
304
|
export type {
|
|
233
305
|
CookieStore,
|
|
@@ -235,6 +307,15 @@ export type {
|
|
|
235
307
|
ReadonlyHeaders,
|
|
236
308
|
} from "./server/cookie-store.js";
|
|
237
309
|
|
|
310
|
+
// Built-in handles (universal — work on both server and client)
|
|
311
|
+
export { Meta } from "./handles/meta.js";
|
|
312
|
+
export {
|
|
313
|
+
Script,
|
|
314
|
+
type ScriptConfig,
|
|
315
|
+
type ScriptAttributes,
|
|
316
|
+
} from "./handles/script.js";
|
|
317
|
+
export { Breadcrumbs } from "./handles/breadcrumbs.js";
|
|
318
|
+
|
|
238
319
|
// Meta types
|
|
239
320
|
export type { MetaDescriptor, MetaDescriptorBase } from "./router/types.js";
|
|
240
321
|
|
|
@@ -259,14 +340,57 @@ export {
|
|
|
259
340
|
type LocationStateOptions,
|
|
260
341
|
} from "./browser/react/location-state-shared.js";
|
|
261
342
|
|
|
262
|
-
// Path
|
|
263
|
-
|
|
343
|
+
// Path and response types are ambient on the `Rango` namespace (`Rango.Path`,
|
|
344
|
+
// `Rango.PathResponse`, declared in href-client.ts) — no import needed.
|
|
345
|
+
|
|
346
|
+
// Telemetry types only — the createConsoleSink / createOTelSink /
|
|
347
|
+
// createOTelTracing VALUES are server-only and live in index.rsc.ts (the
|
|
348
|
+
// `react-server` condition of the bare `@rangojs/router` import). Re-exporting
|
|
349
|
+
// them as values from this (default/client) entry would pull telemetry.ts and
|
|
350
|
+
// telemetry-otel.ts into the client module graph; both tree-shake to zero bytes
|
|
351
|
+
// but still appear in bundle analysis output and slow build-time module
|
|
352
|
+
// resolution. The factory values are NOT re-exported from `@rangojs/router/server`
|
|
353
|
+
// either — that subpath is internal, not user-facing (see server.ts header).
|
|
354
|
+
// Non-RSC server code imports these TYPES from the root and obtains the factory
|
|
355
|
+
// VALUES from its own router definition module, which resolves to index.rsc.ts
|
|
356
|
+
// under the `react-server` condition.
|
|
357
|
+
export type {
|
|
358
|
+
OTelTracer,
|
|
359
|
+
OTelActiveSpanTracer,
|
|
360
|
+
OTelSpan,
|
|
361
|
+
OTelTracingOptions,
|
|
362
|
+
} from "./router/telemetry-otel.js";
|
|
363
|
+
// The full TelemetryEvent union PLUS its member types, so a consumer writing a
|
|
364
|
+
// TelemetrySink can annotate a per-`type` handler (or construct an event literal
|
|
365
|
+
// in a test) instead of only narrowing the opaque union.
|
|
366
|
+
export type {
|
|
367
|
+
TelemetrySink,
|
|
368
|
+
TelemetryEvent,
|
|
369
|
+
RequestStartEvent,
|
|
370
|
+
RequestEndEvent,
|
|
371
|
+
RequestErrorEvent,
|
|
372
|
+
LoaderStartEvent,
|
|
373
|
+
LoaderEndEvent,
|
|
374
|
+
LoaderErrorEvent,
|
|
375
|
+
HandlerErrorEvent,
|
|
376
|
+
CacheSegmentStatus,
|
|
377
|
+
CacheSegmentSignal,
|
|
378
|
+
CacheDecisionEvent,
|
|
379
|
+
RevalidationDecisionEvent,
|
|
380
|
+
RequestTimeoutEvent,
|
|
381
|
+
OriginCheckRejectedEvent,
|
|
382
|
+
} from "./router/telemetry.js";
|
|
264
383
|
|
|
265
|
-
//
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
export type {
|
|
384
|
+
// Span tracing config types a consumer annotates. SpanRunner/TraceSpan are the
|
|
385
|
+
// internal runner contract (consumers go through createOTelTracing /
|
|
386
|
+
// createCloudflareTracing, which return a ready RouterTracingConfig) and are not
|
|
387
|
+
// exported.
|
|
388
|
+
export type {
|
|
389
|
+
RouterTracingConfig,
|
|
390
|
+
TracePhase,
|
|
391
|
+
TracePhaseToggles,
|
|
392
|
+
TracingToggleOptions,
|
|
393
|
+
} from "./router/tracing.js";
|
|
270
394
|
|
|
271
395
|
// Timeout types and error class
|
|
272
396
|
export { RouterTimeoutError } from "./router/timeout.js";
|