@remix-run/react
Advanced tools
Comparing version 2.12.1 to 2.13.0-pre.0
# `@remix-run/react` | ||
## 2.13.0-pre.0 | ||
### Minor Changes | ||
- Stabilize React Router APIs in Remix ([#9980](https://github.com/remix-run/remix/pull/9980)) | ||
- Adopt stabilized React Router APIs internally | ||
- Single Fetch: `unstable_dataStrategy` -> `dataStrategy` | ||
- Lazy Route Discovery: `unstable_patchRoutesOnNavigation` -> `patchRoutesOnNavigation` | ||
- Stabilize public-facing APIs | ||
- Single Fetch: `unstable_data()` -> `data()` | ||
- `unstable_viewTransition` -> `viewTransition` (`Link`, `Form`, `navigate`, `submit`) | ||
- `unstable_flushSync>` -> `<Link viewTransition>` (`Link`, `Form`, `navigate`, `submit`, `useFetcher`) | ||
- Stabilize future flags ([#10072](https://github.com/remix-run/remix/pull/10072)) | ||
- `future.unstable_singleFetch` -> `future.v3_singleFetch` | ||
- `future.unstable_lazyRouteDiscovery` -> `future.v3_lazyRouteDiscovery` | ||
### Patch Changes | ||
- Fix bug with `clientLoader.hydrate` in a layout route when hydrating with bubbled errors ([#10063](https://github.com/remix-run/remix/pull/10063)) | ||
- Updated dependencies: | ||
- `@remix-run/server-runtime@2.13.0-pre.0` | ||
## 2.12.1 | ||
@@ -4,0 +28,0 @@ |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -4,0 +4,0 @@ * Copyright (c) Remix Software Inc. |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -77,3 +77,3 @@ * Copyright (c) Remix Software Inc. | ||
// snapshot is decoded into window.__remixContext.state | ||
if (window.__remixContext.future.unstable_singleFetch) { | ||
if (window.__remixContext.future.v3_singleFetch) { | ||
// Note: `stateDecodingPromise` is not coupled to `router` - we'll reach this | ||
@@ -155,8 +155,8 @@ // code potentially many times waiting for our state to arrive, but we'll | ||
// Single fetch enables this underlying behavior | ||
v7_skipActionErrorRevalidation: window.__remixContext.future.unstable_singleFetch === true | ||
v7_skipActionErrorRevalidation: window.__remixContext.future.v3_singleFetch === true | ||
}, | ||
hydrationData, | ||
mapRouteProperties: reactRouter.UNSAFE_mapRouteProperties, | ||
unstable_dataStrategy: window.__remixContext.future.unstable_singleFetch ? singleFetch.getSingleFetchDataStrategy(window.__remixManifest, window.__remixRouteModules, () => router) : undefined, | ||
unstable_patchRoutesOnNavigation: fogOfWar.getPatchRoutesOnNavigationFunction(window.__remixManifest, window.__remixRouteModules, window.__remixContext.future, window.__remixContext.isSpaMode, window.__remixContext.basename) | ||
dataStrategy: window.__remixContext.future.v3_singleFetch ? singleFetch.getSingleFetchDataStrategy(window.__remixManifest, window.__remixRouteModules, () => router) : undefined, | ||
patchRoutesOnNavigation: fogOfWar.getPatchRoutesOnNavigationFunction(window.__remixManifest, window.__remixRouteModules, window.__remixContext.future, window.__remixContext.isSpaMode, window.__remixContext.basename) | ||
}); | ||
@@ -236,3 +236,3 @@ | ||
} | ||
}))), window.__remixContext.future.unstable_singleFetch ? /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null) : null) | ||
}))), window.__remixContext.future.v3_singleFetch ? /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null) : null) | ||
); | ||
@@ -239,0 +239,0 @@ } |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -333,3 +333,3 @@ * Copyright (c) Remix Software Inc. | ||
let dataHrefs = React__namespace.useMemo(() => { | ||
if (!future.unstable_singleFetch) { | ||
if (!future.v3_singleFetch) { | ||
return links.getDataLinkHrefs(page, newMatchesForData, manifest); | ||
@@ -371,3 +371,3 @@ } | ||
return [url.pathname + url.search]; | ||
}, [future.unstable_singleFetch, loaderData, location, manifest, newMatchesForData, nextMatches, page, routeModules]); | ||
}, [future.v3_singleFetch, loaderData, location, manifest, newMatchesForData, nextMatches, page, routeModules]); | ||
let newMatchesForAssets = React__namespace.useMemo(() => links.getNewMatchesForLinks(page, nextMatches, matches, manifest, location, "assets"), [page, nextMatches, matches, manifest, location]); | ||
@@ -606,3 +606,3 @@ let moduleHrefs = React__namespace.useMemo(() => links.getModuleLinkHrefs(newMatchesForAssets, manifest), [newMatchesForAssets, manifest]); | ||
var _manifest$hmr; | ||
let streamScript = future.unstable_singleFetch ? | ||
let streamScript = future.v3_singleFetch ? | ||
// prettier-ignore | ||
@@ -613,3 +613,3 @@ "window.__remixContext.stream = new ReadableStream({" + "start(controller){" + "window.__remixContext.streamController = controller;" + "}" + "}).pipeThrough(new TextEncoderStream());" : ""; | ||
// When single fetch is enabled, deferred is handled by turbo-stream | ||
let activeDeferreds = future.unstable_singleFetch ? undefined : staticContext === null || staticContext === void 0 ? void 0 : staticContext.activeDeferreds; | ||
let activeDeferreds = future.v3_singleFetch ? undefined : staticContext === null || staticContext === void 0 ? void 0 : staticContext.activeDeferreds; | ||
@@ -616,0 +616,0 @@ // This sets up the __remixContext with utility functions used by the |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -4,0 +4,0 @@ * Copyright (c) Remix Software Inc. |
@@ -35,4 +35,4 @@ import type { StaticHandlerContext } from "@remix-run/router"; | ||
v3_relativeSplatPath: boolean; | ||
unstable_lazyRouteDiscovery: boolean; | ||
unstable_singleFetch: boolean; | ||
v3_lazyRouteDiscovery: boolean; | ||
v3_singleFetch: boolean; | ||
} | ||
@@ -39,0 +39,0 @@ export interface AssetsManifest { |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -4,0 +4,0 @@ * Copyright (c) Remix Software Inc. |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -4,0 +4,0 @@ * Copyright (c) Remix Software Inc. |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -4,0 +4,0 @@ * Copyright (c) Remix Software Inc. |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -117,3 +117,3 @@ * Copyright (c) Remix Software Inc. | ||
// snapshot is decoded into window.__remixContext.state | ||
if (window.__remixContext.future.unstable_singleFetch) { | ||
if (window.__remixContext.future.v3_singleFetch) { | ||
// Note: `stateDecodingPromise` is not coupled to `router` - we'll reach this | ||
@@ -195,8 +195,8 @@ // code potentially many times waiting for our state to arrive, but we'll | ||
// Single fetch enables this underlying behavior | ||
v7_skipActionErrorRevalidation: window.__remixContext.future.unstable_singleFetch === true | ||
v7_skipActionErrorRevalidation: window.__remixContext.future.v3_singleFetch === true | ||
}, | ||
hydrationData, | ||
mapRouteProperties: UNSAFE_mapRouteProperties, | ||
unstable_dataStrategy: window.__remixContext.future.unstable_singleFetch ? getSingleFetchDataStrategy(window.__remixManifest, window.__remixRouteModules, () => router) : undefined, | ||
unstable_patchRoutesOnNavigation: getPatchRoutesOnNavigationFunction(window.__remixManifest, window.__remixRouteModules, window.__remixContext.future, window.__remixContext.isSpaMode, window.__remixContext.basename) | ||
dataStrategy: window.__remixContext.future.v3_singleFetch ? getSingleFetchDataStrategy(window.__remixManifest, window.__remixRouteModules, () => router) : undefined, | ||
patchRoutesOnNavigation: getPatchRoutesOnNavigationFunction(window.__remixManifest, window.__remixRouteModules, window.__remixContext.future, window.__remixContext.isSpaMode, window.__remixContext.basename) | ||
}); | ||
@@ -276,3 +276,3 @@ | ||
} | ||
}))), window.__remixContext.future.unstable_singleFetch ? /*#__PURE__*/React.createElement(React.Fragment, null) : null) | ||
}))), window.__remixContext.future.v3_singleFetch ? /*#__PURE__*/React.createElement(React.Fragment, null) : null) | ||
); | ||
@@ -279,0 +279,0 @@ } |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -309,3 +309,3 @@ * Copyright (c) Remix Software Inc. | ||
let dataHrefs = React.useMemo(() => { | ||
if (!future.unstable_singleFetch) { | ||
if (!future.v3_singleFetch) { | ||
return getDataLinkHrefs(page, newMatchesForData, manifest); | ||
@@ -347,3 +347,3 @@ } | ||
return [url.pathname + url.search]; | ||
}, [future.unstable_singleFetch, loaderData, location, manifest, newMatchesForData, nextMatches, page, routeModules]); | ||
}, [future.v3_singleFetch, loaderData, location, manifest, newMatchesForData, nextMatches, page, routeModules]); | ||
let newMatchesForAssets = React.useMemo(() => getNewMatchesForLinks(page, nextMatches, matches, manifest, location, "assets"), [page, nextMatches, matches, manifest, location]); | ||
@@ -582,3 +582,3 @@ let moduleHrefs = React.useMemo(() => getModuleLinkHrefs(newMatchesForAssets, manifest), [newMatchesForAssets, manifest]); | ||
var _manifest$hmr; | ||
let streamScript = future.unstable_singleFetch ? | ||
let streamScript = future.v3_singleFetch ? | ||
// prettier-ignore | ||
@@ -589,3 +589,3 @@ "window.__remixContext.stream = new ReadableStream({" + "start(controller){" + "window.__remixContext.streamController = controller;" + "}" + "}).pipeThrough(new TextEncoderStream());" : ""; | ||
// When single fetch is enabled, deferred is handled by turbo-stream | ||
let activeDeferreds = future.unstable_singleFetch ? undefined : staticContext === null || staticContext === void 0 ? void 0 : staticContext.activeDeferreds; | ||
let activeDeferreds = future.v3_singleFetch ? undefined : staticContext === null || staticContext === void 0 ? void 0 : staticContext.activeDeferreds; | ||
@@ -592,0 +592,0 @@ // This sets up the __remixContext with utility functions used by the |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -4,0 +4,0 @@ * Copyright (c) Remix Software Inc. |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -4,0 +4,0 @@ * Copyright (c) Remix Software Inc. |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -4,0 +4,0 @@ * Copyright (c) Remix Software Inc. |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -4,0 +4,0 @@ * Copyright (c) Remix Software Inc. |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -27,3 +27,3 @@ * Copyright (c) Remix Software Inc. | ||
function isFogOfWarEnabled(future, isSpaMode) { | ||
return future.unstable_lazyRouteDiscovery === true && !isSpaMode; | ||
return future.v3_lazyRouteDiscovery === true && !isSpaMode; | ||
} | ||
@@ -30,0 +30,0 @@ function getPartialManifest(manifest, router) { |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -11,4 +11,4 @@ * Copyright (c) Remix Software Inc. | ||
*/ | ||
export { Navigate, NavigationType, Outlet, Route, Routes, createPath, createRoutesFromChildren, createRoutesFromElements, createSearchParams, generatePath, isRouteErrorResponse, matchPath, matchRoutes, parsePath, renderMatches, resolvePath, unstable_usePrompt, unstable_useViewTransitionState, useAsyncError, useAsyncValue, useBeforeUnload, useBlocker, useFetchers, useFormAction, useHref, useInRouterContext, useLinkClickHandler, useLocation, useMatch, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRouteError, useRoutes, useSearchParams, useSubmit } from 'react-router-dom'; | ||
export { defer, json, redirect, redirectDocument, replace, unstable_data } from '@remix-run/server-runtime'; | ||
export { Navigate, NavigationType, Outlet, Route, Routes, createPath, createRoutesFromChildren, createRoutesFromElements, createSearchParams, generatePath, isRouteErrorResponse, matchPath, matchRoutes, parsePath, renderMatches, resolvePath, unstable_usePrompt, useAsyncError, useAsyncValue, useBeforeUnload, useBlocker, useFetchers, useFormAction, useHref, useInRouterContext, useLinkClickHandler, useLocation, useMatch, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRouteError, useRoutes, useSearchParams, useSubmit, useViewTransitionState } from 'react-router-dom'; | ||
export { data, defer, json, redirect, redirectDocument, replace } from '@remix-run/server-runtime'; | ||
export { RemixBrowser } from './browser.js'; | ||
@@ -15,0 +15,0 @@ export { Await, Form, Link, Links, LiveReload, Meta, NavLink, PrefetchPageLinks, Scripts, RemixContext as UNSAFE_RemixContext, useActionData, useFetcher, useLoaderData, useMatches, useRouteLoaderData } from './components.js'; |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -4,0 +4,0 @@ * Copyright (c) Remix Software Inc. |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -4,0 +4,0 @@ * Copyright (c) Remix Software Inc. |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -4,0 +4,0 @@ * Copyright (c) Remix Software Inc. |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -4,0 +4,0 @@ * Copyright (c) Remix Software Inc. |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -199,6 +199,9 @@ * Copyright (c) Remix Software Inc. | ||
if (isHydrationRequest) { | ||
if (initialData !== undefined) { | ||
return initialData; | ||
} | ||
if (initialError !== undefined) { | ||
throw initialError; | ||
} | ||
return initialData; | ||
return null; | ||
} | ||
@@ -205,0 +208,0 @@ |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -4,0 +4,0 @@ * Copyright (c) Remix Software Inc. |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -84,3 +84,3 @@ * Copyright (c) Remix Software Inc. | ||
hydrate: false | ||
}))), context.future.unstable_singleFetch && context.serverHandoffStream ? /*#__PURE__*/React.createElement(React.Suspense, null, /*#__PURE__*/React.createElement(StreamTransfer, { | ||
}))), context.future.v3_singleFetch && context.serverHandoffStream ? /*#__PURE__*/React.createElement(React.Suspense, null, /*#__PURE__*/React.createElement(StreamTransfer, { | ||
context: context, | ||
@@ -87,0 +87,0 @@ identifier: 0, |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -12,3 +12,3 @@ * Copyright (c) Remix Software Inc. | ||
import * as React from 'react'; | ||
import { UNSAFE_ErrorResponseImpl, isRouteErrorResponse, unstable_data, redirect } from '@remix-run/router'; | ||
import { isRouteErrorResponse, data, UNSAFE_ErrorResponseImpl, redirect } from '@remix-run/router'; | ||
import { UNSAFE_SingleFetchRedirectSymbol } from '@remix-run/server-runtime'; | ||
@@ -132,3 +132,3 @@ import { decode } from 'turbo-stream'; | ||
// For non-responses, proxy along the statusCode via unstable_data() | ||
// For non-responses, proxy along the statusCode via data() | ||
// (most notably for skipping action error revalidation) | ||
@@ -138,3 +138,3 @@ return { | ||
type: result.type, | ||
result: unstable_data(result.result, actionStatus) | ||
result: data(result.result, actionStatus) | ||
} | ||
@@ -141,0 +141,0 @@ }; |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -4,0 +4,0 @@ * Copyright (c) Remix Software Inc. |
import type { Router } from "@remix-run/router"; | ||
import type { unstable_PatchRoutesOnNavigationFunction } from "react-router"; | ||
import type { PatchRoutesOnNavigationFunction } from "react-router"; | ||
import type { AssetsManifest, FutureConfig } from "./entry"; | ||
@@ -26,4 +26,4 @@ import type { RouteModules } from "./routeModules"; | ||
}; | ||
export declare function getPatchRoutesOnNavigationFunction(manifest: AssetsManifest, routeModules: RouteModules, future: FutureConfig, isSpaMode: boolean, basename: string | undefined): unstable_PatchRoutesOnNavigationFunction | undefined; | ||
export declare function getPatchRoutesOnNavigationFunction(manifest: AssetsManifest, routeModules: RouteModules, future: FutureConfig, isSpaMode: boolean, basename: string | undefined): PatchRoutesOnNavigationFunction | undefined; | ||
export declare function useFogOFWarDiscovery(router: Router, manifest: AssetsManifest, routeModules: RouteModules, future: FutureConfig, isSpaMode: boolean): void; | ||
export declare function fetchAndApplyManifestPatches(paths: string[], manifest: AssetsManifest, routeModules: RouteModules, future: FutureConfig, isSpaMode: boolean, basename: string | undefined, patchRoutes: Router["patchRoutes"]): Promise<void>; |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -51,3 +51,3 @@ * Copyright (c) Remix Software Inc. | ||
function isFogOfWarEnabled(future, isSpaMode) { | ||
return future.unstable_lazyRouteDiscovery === true && !isSpaMode; | ||
return future.v3_lazyRouteDiscovery === true && !isSpaMode; | ||
} | ||
@@ -54,0 +54,0 @@ function getPartialManifest(manifest, router$1) { |
export type { ErrorResponse, Fetcher, FetcherWithComponents, FormEncType, FormMethod, Location, NavigateFunction, Navigation, Params, Path, ShouldRevalidateFunction, ShouldRevalidateFunctionArgs, SubmitFunction, SubmitOptions, Blocker, BlockerFunction, } from "react-router-dom"; | ||
export { createPath, createRoutesFromChildren, createRoutesFromElements, createSearchParams, generatePath, matchPath, matchRoutes, parsePath, renderMatches, resolvePath, Navigate, NavigationType, Outlet, Route, Routes, useAsyncError, useAsyncValue, isRouteErrorResponse, useBeforeUnload, useFetchers, useFormAction, useHref, useInRouterContext, useLinkClickHandler, useLocation, useMatch, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRouteError, useRoutes, useSearchParams, useSubmit, useBlocker, unstable_usePrompt, unstable_useViewTransitionState, } from "react-router-dom"; | ||
export { defer, json, redirect, redirectDocument, replace, unstable_data, } from "@remix-run/server-runtime"; | ||
export { createPath, createRoutesFromChildren, createRoutesFromElements, createSearchParams, generatePath, matchPath, matchRoutes, parsePath, renderMatches, resolvePath, Navigate, NavigationType, Outlet, Route, Routes, useAsyncError, useAsyncValue, isRouteErrorResponse, useBeforeUnload, useFetchers, useFormAction, useHref, useInRouterContext, useLinkClickHandler, useLocation, useMatch, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRouteError, useRoutes, useSearchParams, useSubmit, useBlocker, useViewTransitionState, unstable_usePrompt, } from "react-router-dom"; | ||
export { defer, json, redirect, redirectDocument, replace, data, } from "@remix-run/server-runtime"; | ||
export type { RemixBrowserProps } from "./browser"; | ||
@@ -5,0 +5,0 @@ export { RemixBrowser } from "./browser"; |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -92,6 +92,2 @@ * Copyright (c) Remix Software Inc. | ||
}); | ||
Object.defineProperty(exports, 'unstable_useViewTransitionState', { | ||
enumerable: true, | ||
get: function () { return reactRouterDom.unstable_useViewTransitionState; } | ||
}); | ||
Object.defineProperty(exports, 'useAsyncError', { | ||
@@ -189,2 +185,10 @@ enumerable: true, | ||
}); | ||
Object.defineProperty(exports, 'useViewTransitionState', { | ||
enumerable: true, | ||
get: function () { return reactRouterDom.useViewTransitionState; } | ||
}); | ||
Object.defineProperty(exports, 'data', { | ||
enumerable: true, | ||
get: function () { return serverRuntime.data; } | ||
}); | ||
Object.defineProperty(exports, 'defer', { | ||
@@ -210,6 +214,2 @@ enumerable: true, | ||
}); | ||
Object.defineProperty(exports, 'unstable_data', { | ||
enumerable: true, | ||
get: function () { return serverRuntime.unstable_data; } | ||
}); | ||
exports.RemixBrowser = browser.RemixBrowser; | ||
@@ -216,0 +216,0 @@ exports.Await = components.Await; |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -4,0 +4,0 @@ * Copyright (c) Remix Software Inc. |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -4,0 +4,0 @@ * Copyright (c) Remix Software Inc. |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -4,0 +4,0 @@ * Copyright (c) Remix Software Inc. |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -4,0 +4,0 @@ * Copyright (c) Remix Software Inc. |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -223,6 +223,9 @@ * Copyright (c) Remix Software Inc. | ||
if (isHydrationRequest) { | ||
if (initialData !== undefined) { | ||
return initialData; | ||
} | ||
if (initialError !== undefined) { | ||
throw initialError; | ||
} | ||
return initialData; | ||
return null; | ||
} | ||
@@ -229,0 +232,0 @@ |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -4,0 +4,0 @@ * Copyright (c) Remix Software Inc. |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -108,3 +108,3 @@ * Copyright (c) Remix Software Inc. | ||
hydrate: false | ||
}))), context.future.unstable_singleFetch && context.serverHandoffStream ? /*#__PURE__*/React__namespace.createElement(React__namespace.Suspense, null, /*#__PURE__*/React__namespace.createElement(singleFetch.StreamTransfer, { | ||
}))), context.future.v3_singleFetch && context.serverHandoffStream ? /*#__PURE__*/React__namespace.createElement(React__namespace.Suspense, null, /*#__PURE__*/React__namespace.createElement(singleFetch.StreamTransfer, { | ||
context: context, | ||
@@ -111,0 +111,0 @@ identifier: 0, |
import * as React from "react"; | ||
import type { unstable_DataStrategyFunction as DataStrategyFunction, Router as RemixRouter } from "@remix-run/router"; | ||
import type { DataStrategyFunction, Router as RemixRouter } from "@remix-run/router"; | ||
import type { AssetsManifest, EntryContext } from "./entry"; | ||
@@ -4,0 +4,0 @@ import { type RouteModules } from "./routeModules"; |
/** | ||
* @remix-run/react v2.12.1 | ||
* @remix-run/react v2.13.0-pre.0 | ||
* | ||
@@ -155,3 +155,3 @@ * Copyright (c) Remix Software Inc. | ||
// For non-responses, proxy along the statusCode via unstable_data() | ||
// For non-responses, proxy along the statusCode via data() | ||
// (most notably for skipping action error revalidation) | ||
@@ -161,3 +161,3 @@ return { | ||
type: result.type, | ||
result: router.unstable_data(result.result, actionStatus) | ||
result: router.data(result.result, actionStatus) | ||
} | ||
@@ -164,0 +164,0 @@ }; |
{ | ||
"name": "@remix-run/react", | ||
"version": "2.12.1", | ||
"version": "2.13.0-pre.0", | ||
"description": "React DOM bindings for Remix", | ||
@@ -19,7 +19,7 @@ "bugs": { | ||
"dependencies": { | ||
"@remix-run/router": "1.19.2", | ||
"react-router": "6.26.2", | ||
"react-router-dom": "6.26.2", | ||
"@remix-run/router": "1.20.0-pre.0", | ||
"react-router": "6.27.0-pre.0", | ||
"react-router-dom": "6.27.0-pre.0", | ||
"turbo-stream": "2.4.0", | ||
"@remix-run/server-runtime": "2.12.1" | ||
"@remix-run/server-runtime": "2.13.0-pre.0" | ||
}, | ||
@@ -34,4 +34,4 @@ "devDependencies": { | ||
"typescript": "^5.1.6", | ||
"@remix-run/node": "2.12.1", | ||
"@remix-run/react": "2.12.1" | ||
"@remix-run/node": "2.13.0-pre.0", | ||
"@remix-run/react": "2.13.0-pre.0" | ||
}, | ||
@@ -38,0 +38,0 @@ "peerDependencies": { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
362766
7567
2
+ Added@remix-run/router@1.20.0-pre.0(transitive)
+ Added@remix-run/server-runtime@2.13.0-pre.0(transitive)
+ Addedreact-router@6.27.0-pre.0(transitive)
+ Addedreact-router-dom@6.27.0-pre.0(transitive)
- Removed@remix-run/router@1.19.2(transitive)
- Removed@remix-run/server-runtime@2.12.1(transitive)
- Removedreact-router@6.26.2(transitive)
- Removedreact-router-dom@6.26.2(transitive)
Updatedreact-router@6.27.0-pre.0