@react-router/node 7.8.2 → 7.9.0-pre.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # `@react-router/node`
2
2
 
3
+ ## 7.9.0-pre.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Stabilize middleware and context APIs. ([#14215](https://github.com/remix-run/react-router/pull/14215))
8
+
9
+ We have removed the `unstable_` prefix from the following APIs and they are now considered stable and ready for production use:
10
+ - [`RouterContextProvider`](https://reactrouter.com/api/utils/RouterContextProvider)
11
+ - [`createContext`](https://reactrouter.com/api/utils/createContext)
12
+ - `createBrowserRouter` [`getContext`](https://reactrouter.com/api/data-routers/createBrowserRouter#optsgetcontext) option
13
+ - `<HydratedRouter>` [`getContext`](https://reactrouter.com/api/framework-routers/HydratedRouter#getcontext) prop
14
+
15
+ Please see the [Middleware Docs](https://reactrouter.com/how-to/middleware), the [Middleware RFC](https://github.com/remix-run/remix/discussions/7642), and the [Client-side Context RFC](https://github.com/remix-run/react-router/discussions/9856) for more information.
16
+
17
+ ### Patch Changes
18
+
19
+ - Updated dependencies:
20
+ - `react-router@7.9.0-pre.0`
21
+
3
22
  ## 7.8.2
4
23
 
5
24
  ### Patch Changes
@@ -187,7 +206,6 @@
187
206
  - Remove single fetch future flag. ([#11522](https://github.com/remix-run/react-router/pull/11522))
188
207
 
189
208
  - For Remix consumers migrating to React Router, the `crypto` global from the [Web Crypto API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API) is now required when using cookie and session APIs. This means that the following APIs are provided from `react-router` rather than platform-specific packages: ([#11837](https://github.com/remix-run/react-router/pull/11837))
190
-
191
209
  - `createCookie`
192
210
  - `createCookieSessionStorage`
193
211
  - `createMemorySessionStorage`
@@ -196,7 +214,6 @@
196
214
  For consumers running older versions of Node, the `installGlobals` function from `@remix-run/node` has been updated to define `globalThis.crypto`, using [Node's `require('node:crypto').webcrypto` implementation.](https://nodejs.org/api/webcrypto.html)
197
215
 
198
216
  Since platform-specific packages no longer need to implement this API, the following low-level APIs have been removed:
199
-
200
217
  - `createCookieFactory`
201
218
  - `createSessionStorageFactory`
202
219
  - `createCookieSessionStorageFactory`
@@ -604,12 +621,10 @@
604
621
  - Introduces the `defer()` API from `@remix-run/router` with support for server-rendering and HTTP streaming. This utility allows you to defer values returned from `loader` functions by returning promises instead of resolved values. This has been refered to as _"sending a promise over the wire"_. ([#4920](https://github.com/remix-run/remix/pull/4920))
605
622
 
606
623
  Informational Resources:
607
-
608
624
  - <https://gist.github.com/jacob-ebey/9bde9546c1aafaa6bc8c242054b1be26>
609
625
  - <https://github.com/remix-run/remix/blob/main/decisions/0004-streaming-apis.md>
610
626
 
611
627
  Documentation Resources (better docs specific to Remix are in the works):
612
-
613
628
  - <https://reactrouter.com/en/main/utils/defer>
614
629
  - <https://reactrouter.com/en/main/components/await>
615
630
  - <https://reactrouter.com/en/main/hooks/use-async-value>
package/dist/index.d.mts CHANGED
@@ -1,12 +1,12 @@
1
1
  import { RequestListener } from 'node:http';
2
- import { ServerBuild, UNSAFE_MiddlewareEnabled, unstable_RouterContextProvider, AppLoadContext, SessionData, SessionIdStorageStrategy, SessionStorage } from 'react-router';
2
+ import { ServerBuild, UNSAFE_MiddlewareEnabled, RouterContextProvider, AppLoadContext, SessionData, SessionIdStorageStrategy, SessionStorage } from 'react-router';
3
3
  import { ClientAddress } from '@mjackson/node-fetch-server';
4
4
  import { Readable, Writable } from 'node:stream';
5
5
 
6
6
  type MaybePromise<T> = T | Promise<T>;
7
7
  interface RequestListenerOptions {
8
8
  build: ServerBuild | (() => ServerBuild | Promise<ServerBuild>);
9
- getLoadContext?: (request: Request, client: ClientAddress) => UNSAFE_MiddlewareEnabled extends true ? MaybePromise<unstable_RouterContextProvider> : MaybePromise<AppLoadContext>;
9
+ getLoadContext?: (request: Request, client: ClientAddress) => UNSAFE_MiddlewareEnabled extends true ? MaybePromise<RouterContextProvider> : MaybePromise<AppLoadContext>;
10
10
  mode?: string;
11
11
  }
12
12
  /**
package/dist/index.d.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  import { RequestListener } from 'node:http';
2
- import { ServerBuild, UNSAFE_MiddlewareEnabled, unstable_RouterContextProvider, AppLoadContext, SessionData, SessionIdStorageStrategy, SessionStorage } from 'react-router';
2
+ import { ServerBuild, UNSAFE_MiddlewareEnabled, RouterContextProvider, AppLoadContext, SessionData, SessionIdStorageStrategy, SessionStorage } from 'react-router';
3
3
  import { ClientAddress } from '@mjackson/node-fetch-server';
4
4
  import { Readable, Writable } from 'node:stream';
5
5
 
6
6
  type MaybePromise<T> = T | Promise<T>;
7
7
  interface RequestListenerOptions {
8
8
  build: ServerBuild | (() => ServerBuild | Promise<ServerBuild>);
9
- getLoadContext?: (request: Request, client: ClientAddress) => UNSAFE_MiddlewareEnabled extends true ? MaybePromise<unstable_RouterContextProvider> : MaybePromise<AppLoadContext>;
9
+ getLoadContext?: (request: Request, client: ClientAddress) => UNSAFE_MiddlewareEnabled extends true ? MaybePromise<RouterContextProvider> : MaybePromise<AppLoadContext>;
10
10
  mode?: string;
11
11
  }
12
12
  /**
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/node v7.8.2
2
+ * @react-router/node v7.9.0-pre.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/node v7.8.2
2
+ * @react-router/node v7.9.0-pre.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-router/node",
3
- "version": "7.8.2",
3
+ "version": "7.9.0-pre.0",
4
4
  "description": "Node.js platform abstractions for React Router",
5
5
  "bugs": {
6
6
  "url": "https://github.com/remix-run/react-router/issues"
@@ -52,11 +52,11 @@
52
52
  "tsup": "^8.3.0",
53
53
  "typescript": "^5.1.6",
54
54
  "wireit": "0.14.9",
55
- "react-router": "7.8.2"
55
+ "react-router": "7.9.0-pre.0"
56
56
  },
57
57
  "peerDependencies": {
58
58
  "typescript": "^5.1.0",
59
- "react-router": "7.8.2"
59
+ "react-router": "7.9.0-pre.0"
60
60
  },
61
61
  "peerDependenciesMeta": {
62
62
  "typescript": {