Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@remix-run/react

Package Overview
Dependencies
Maintainers
2
Versions
1029
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@remix-run/react - npm Package Compare versions

Comparing version 2.12.1 to 2.13.0-pre.0

24

CHANGELOG.md
# `@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 @@

2

dist/_virtual/_rollupPluginBabelHelpers.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
*

@@ -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": {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc