diff --git a/.changeset/gold-suns-march.md b/.changeset/gold-suns-march.md index 40d4577507..b695f5b7f6 100644 --- a/.changeset/gold-suns-march.md +++ b/.changeset/gold-suns-march.md @@ -17,7 +17,7 @@ Imports/Exports cleanup - `TrackedPromise` - `unstable_AgnosticPatchRoutesOnMissFunction` - `Action` -> exported as `NavigationType` via `react-router` - - `Router` exported as `RemixRouter` to differentiate from RR's `` + - `Router` exported as `DataRouter` to differentiate from RR's `` - API - `getToPathname` (`@private`) - `joinPaths` (`@private`) diff --git a/.changeset/silly-papayas-trade.md b/.changeset/silly-papayas-trade.md new file mode 100644 index 0000000000..4cd5ade31c --- /dev/null +++ b/.changeset/silly-papayas-trade.md @@ -0,0 +1,5 @@ +--- +"react-router": patch +--- + +[REMOVE] Rename RemixRouter->DataRouter diff --git a/packages/react-router/index.ts b/packages/react-router/index.ts index ba2d96d427..8de1e5a02e 100644 --- a/packages/react-router/index.ts +++ b/packages/react-router/index.ts @@ -12,7 +12,7 @@ export type { RelativeRoutingType, Blocker, BlockerFunction, - Router as RemixRouter, + Router as DataRouter, RouterState, RouterInit, RouterSubscriber, diff --git a/packages/react-router/lib/components.tsx b/packages/react-router/lib/components.tsx index 1557ef1dc2..8caf152e6b 100644 --- a/packages/react-router/lib/components.tsx +++ b/packages/react-router/lib/components.tsx @@ -17,7 +17,7 @@ import type { FutureConfig, HydrationState, RelativeRoutingType, - Router as RemixRouter, + Router as DataRouter, RouterState, RouterSubscriber, } from "./router/router"; @@ -144,7 +144,7 @@ export function createMemoryRouter( dataStrategy?: DataStrategyFunction; patchRoutesOnNavigation?: PatchRoutesOnNavigationFunction; } -): RemixRouter { +): DataRouter { return createRouter({ basename: opts?.basename, future: opts?.future, @@ -187,7 +187,7 @@ class Deferred { // Copied from react-dom types export interface RouterProviderProps { - router: RemixRouter; + router: DataRouter; flushSync?: (fn: () => unknown) => undefined; } @@ -455,7 +455,7 @@ function DataRoutes({ state, }: { routes: DataRouteObject[]; - future: RemixRouter["future"]; + future: DataRouter["future"]; state: RouterState; }): React.ReactElement | null { return useRoutesImpl(routes, undefined, state, future); diff --git a/packages/react-router/lib/dom-export/hydrated-router.tsx b/packages/react-router/lib/dom-export/hydrated-router.tsx index b8cf73d9ba..17735fd233 100644 --- a/packages/react-router/lib/dom-export/hydrated-router.tsx +++ b/packages/react-router/lib/dom-export/hydrated-router.tsx @@ -3,7 +3,7 @@ import * as React from "react"; import type { UNSAFE_AssetsManifest as AssetsManifest, UNSAFE_RouteModules as RouteModules, - createBrowserRouter, + DataRouter, HydrationState, } from "react-router"; import { @@ -25,8 +25,6 @@ import { } from "react-router"; import { RouterProvider } from "./dom-router-provider"; -type RemixRouter = ReturnType; - type SSRInfo = { context: NonNullable<(typeof window)["__reactRouterContext"]>; routeModules: RouteModules; @@ -37,12 +35,12 @@ type SSRInfo = { error?: unknown; }) | undefined; - router: RemixRouter | undefined; + router: DataRouter | undefined; routerInitialized: boolean; }; let ssrInfo: SSRInfo | null = null; -let router: RemixRouter | null = null; +let router: DataRouter | null = null; function initSsrInfo(): void { if ( @@ -62,7 +60,7 @@ function initSsrInfo(): void { } } -function createHydratedRouter(): RemixRouter { +function createHydratedRouter(): DataRouter { initSsrInfo(); if (!ssrInfo) { diff --git a/packages/react-router/lib/dom/global.ts b/packages/react-router/lib/dom/global.ts index 71a4517cbb..175e079619 100644 --- a/packages/react-router/lib/dom/global.ts +++ b/packages/react-router/lib/dom/global.ts @@ -1,4 +1,4 @@ -import type { HydrationState, Router as RemixRouter } from "../router/router"; +import type { HydrationState, Router as DataRouter } from "../router/router"; import type { AssetsManifest, FutureConfig } from "./ssr/entry"; import type { RouteModules } from "./ssr/routeModules"; @@ -36,7 +36,7 @@ declare global { var __reactRouterContext: WindowReactRouterContext | undefined; var __reactRouterManifest: AssetsManifest | undefined; var __reactRouterRouteModules: RouteModules | undefined; - var __reactRouterInstance: RemixRouter | undefined; + var __reactRouterInstance: DataRouter | undefined; var __reactRouterHdrActive: boolean; var __reactRouterClearCriticalCss: (() => void) | undefined; var $RefreshRuntime$: diff --git a/packages/react-router/lib/dom/lib.tsx b/packages/react-router/lib/dom/lib.tsx index c8b7e909e6..b6f6cbf4e8 100644 --- a/packages/react-router/lib/dom/lib.tsx +++ b/packages/react-router/lib/dom/lib.tsx @@ -22,7 +22,7 @@ import type { GetScrollRestorationKeyFunction, HydrationState, RelativeRoutingType, - Router as RemixRouter, + Router as DataRouter, } from "../router/router"; import { IDLE_FETCHER, createRouter } from "../router/router"; import type { @@ -136,7 +136,7 @@ interface DOMRouterOpts { export function createBrowserRouter( routes: RouteObject[], opts?: DOMRouterOpts -): RemixRouter { +): DataRouter { return createRouter({ basename: opts?.basename, future: opts?.future, @@ -156,7 +156,7 @@ export function createBrowserRouter( export function createHashRouter( routes: RouteObject[], opts?: DOMRouterOpts -): RemixRouter { +): DataRouter { return createRouter({ basename: opts?.basename, future: opts?.future, @@ -182,11 +182,11 @@ function parseHydrationData(): HydrationState | undefined { } function deserializeErrors( - errors: RemixRouter["state"]["errors"] -): RemixRouter["state"]["errors"] { + errors: DataRouter["state"]["errors"] +): DataRouter["state"]["errors"] { if (!errors) return null; let entries = Object.entries(errors); - let serialized: RemixRouter["state"]["errors"] = {}; + let serialized: DataRouter["state"]["errors"] = {}; for (let [key, val] of entries) { // Hey you! If you change this, please change the corresponding logic in // serializeErrors in react-router-dom/server.tsx :) diff --git a/packages/react-router/lib/dom/server.tsx b/packages/react-router/lib/dom/server.tsx index fb6d206e54..b5723c8cd6 100644 --- a/packages/react-router/lib/dom/server.tsx +++ b/packages/react-router/lib/dom/server.tsx @@ -9,7 +9,7 @@ import { } from "../router/history"; import type { FutureConfig, - Router as RemixRouter, + Router as DataRouter, RevalidationState, CreateStaticHandlerOptions as RouterCreateStaticHandlerOptions, RouterState, @@ -81,7 +81,7 @@ export function StaticRouter({ export interface StaticRouterProviderProps { context: StaticHandlerContext; - router: RemixRouter; + router: DataRouter; hydrate?: boolean; nonce?: string; } @@ -171,7 +171,7 @@ function DataRoutes({ state, }: { routes: DataRouteObject[]; - future: RemixRouter["future"]; + future: DataRouter["future"]; state: RouterState; }): React.ReactElement | null { return useRoutesImpl(routes, undefined, state, future); @@ -276,7 +276,7 @@ export function createStaticRouter( opts: { future?: Partial; } = {} -): RemixRouter { +): DataRouter { let manifest: RouteManifest = {}; let dataRoutes = convertRoutesToDataRoutes( routes, diff --git a/packages/react-router/lib/dom/ssr/errors.ts b/packages/react-router/lib/dom/ssr/errors.ts index eb8f459389..1689dae17a 100644 --- a/packages/react-router/lib/dom/ssr/errors.ts +++ b/packages/react-router/lib/dom/ssr/errors.ts @@ -1,12 +1,12 @@ -import type { Router as RemixRouter } from "../../router/router"; +import type { RouterState } from "../../router/router"; import { ErrorResponseImpl } from "../../router/utils"; export function deserializeErrors( - errors: RemixRouter["state"]["errors"] -): RemixRouter["state"]["errors"] { + errors: RouterState["errors"] +): RouterState["errors"] { if (!errors) return null; let entries = Object.entries(errors); - let serialized: RemixRouter["state"]["errors"] = {}; + let serialized: RouterState["errors"] = {}; for (let [key, val] of entries) { // Hey you! If you change this, please change the corresponding logic in // serializeErrors in react-router/lib/server-runtime/errors.ts :) diff --git a/packages/react-router/lib/dom/ssr/fog-of-war.ts b/packages/react-router/lib/dom/ssr/fog-of-war.ts index 1f7541b288..366a4eb49f 100644 --- a/packages/react-router/lib/dom/ssr/fog-of-war.ts +++ b/packages/react-router/lib/dom/ssr/fog-of-war.ts @@ -1,6 +1,6 @@ import * as React from "react"; import type { PatchRoutesOnNavigationFunction } from "../../context"; -import type { Router as RemixRouter } from "../../router/router"; +import type { Router as DataRouter } from "../../router/router"; import { matchRoutes } from "../../router/utils"; import type { AssetsManifest } from "./entry"; import type { RouteModules } from "./routeModules"; @@ -30,7 +30,7 @@ export function isFogOfWarEnabled(isSpaMode: boolean) { export function getPartialManifest( manifest: AssetsManifest, - router: RemixRouter + router: DataRouter ) { // Start with our matches for this pathname let routeIds = new Set(router.state.matches.map((m) => m.route.id)); @@ -91,7 +91,7 @@ export function getPatchRoutesOnNavigationFunction( } export function useFogOFWarDiscovery( - router: RemixRouter, + router: DataRouter, manifest: AssetsManifest, routeModules: RouteModules, isSpaMode: boolean @@ -203,7 +203,7 @@ export async function fetchAndApplyManifestPatches( routeModules: RouteModules, isSpaMode: boolean, basename: string | undefined, - patchRoutes: RemixRouter["patchRoutes"] + patchRoutes: DataRouter["patchRoutes"] ): Promise { let manifestPath = `${basename != null ? basename : "/"}/__manifest`.replace( /\/+/g, diff --git a/packages/react-router/lib/dom/ssr/single-fetch.tsx b/packages/react-router/lib/dom/ssr/single-fetch.tsx index 1c6f34bc71..8a08407046 100644 --- a/packages/react-router/lib/dom/ssr/single-fetch.tsx +++ b/packages/react-router/lib/dom/ssr/single-fetch.tsx @@ -1,6 +1,6 @@ import * as React from "react"; import { decode } from "turbo-stream"; -import type { Router as RemixRouter } from "../../router/router"; +import type { Router as DataRouter } from "../../router/router"; import type { DataStrategyFunction, DataStrategyFunctionArgs, @@ -133,7 +133,7 @@ export function StreamTransfer({ export function getSingleFetchDataStrategy( manifest: AssetsManifest, routeModules: RouteModules, - getRouter: () => RemixRouter + getRouter: () => DataRouter ): DataStrategyFunction { return async ({ request, matches, fetcherKey }) => { // Actions are simple and behave the same for navigations and fetchers @@ -199,7 +199,7 @@ async function singleFetchActionStrategy( async function singleFetchLoaderNavigationStrategy( manifest: AssetsManifest, routeModules: RouteModules, - router: RemixRouter, + router: DataRouter, request: Request, matches: DataStrategyFunctionArgs["matches"] ) { diff --git a/packages/react-router/lib/hooks.tsx b/packages/react-router/lib/hooks.tsx index 0203ff6736..bf78516858 100644 --- a/packages/react-router/lib/hooks.tsx +++ b/packages/react-router/lib/hooks.tsx @@ -26,7 +26,7 @@ import type { Blocker, BlockerFunction, RelativeRoutingType, - Router as RemixRouter, + Router as DataRouter, RevalidationState, } from "./router/router"; import { IDLE_BLOCKER } from "./router/router"; @@ -436,8 +436,8 @@ export function useRoutes( export function useRoutesImpl( routes: RouteObject[], locationArg?: Partial | string, - dataRouterState?: RemixRouter["state"], - future?: RemixRouter["future"] + dataRouterState?: DataRouter["state"], + future?: DataRouter["future"] ): React.ReactElement | null { invariant( useInRouterContext(), @@ -767,8 +767,8 @@ function RenderedRoute({ routeContext, match, children }: RenderedRouteProps) { export function _renderMatches( matches: RouteMatch[] | null, parentMatches: RouteMatch[] = [], - dataRouterState: RemixRouter["state"] | null = null, - future: RemixRouter["future"] | null = null + dataRouterState: DataRouter["state"] | null = null, + future: DataRouter["future"] | null = null ): React.ReactElement | null { if (matches == null) { if (!dataRouterState) {