diff --git a/decisions/0014-context-middleware.md b/decisions/0014-context-middleware.md
index 10dd5db633..4609256ab2 100644
--- a/decisions/0014-context-middleware.md
+++ b/decisions/0014-context-middleware.md
@@ -17,7 +17,7 @@ We've done a lot of work since then to get us to a place where we could ship a m
- Shipped [Single Fetch][single-fetch]
- Shipped [`dataStrategy`][data-strategy] for DIY middleware in React Router SPAs
-- Iterated on middleware/context APIs in the [Remix the Web][remix-the-web] project
+- Iterated on middleware/context APIs in the [Remix 3][remix-3] project
- Developed a non-invasive type-safe + composable [context][async-provider] API
## Decision
@@ -276,5 +276,5 @@ If `clientLoaders` do call `serverLoaders` it gets trickier since they make indi
[client-context]: https://github.com/remix-run/react-router/discussions/9856
[single-fetch]: https://remix.run/docs/en/main/guides/single-fetch
[data-strategy]: https://reactrouter.com/v6/routers/create-browser-router#optsdatastrategy
-[remix-the-web]: https://github.com/mjackson/remix-the-web
+[remix-3]: https://github.com/remix-run/remix/tree/v3
[async-provider]: https://github.com/ryanflorence/async-provider
diff --git a/docs/how-to/file-uploads.md b/docs/how-to/file-uploads.md
index cb463a1648..85d3ea49f1 100644
--- a/docs/how-to/file-uploads.md
+++ b/docs/how-to/file-uploads.md
@@ -9,8 +9,6 @@ title: File Uploads
-Handle file uploads in your React Router applications. This guide uses some packages from the [Remix The Web][remix-the-web] project to make file uploads easier.
-
_Thank you to David Adams for [writing an original guide](https://programmingarehard.com/2024/09/06/remix-file-uploads-updated.html/) on which this doc is based. You can refer to it for even more examples._
## Basic File Upload
@@ -38,7 +36,7 @@ export default [
`form-data-parser` is a wrapper around `request.formData()` that provides streaming support for handling file uploads.
```shellscript
-npm i @mjackson/form-data-parser
+npm i @remix-run/form-data-parser
```
[See the `form-data-parser` docs for more information][form-data-parser]
@@ -57,11 +55,13 @@ You must set the form's `enctype` to `multipart/form-data` for file uploads to w
import {
type FileUpload,
parseFormData,
-} from "@mjackson/form-data-parser";
+} from "@remix-run/form-data-parser";
+
+import type { Route } from "./+types/user-profile";
export async function action({
request,
-}: ActionFunctionArgs) {
+}: Route.ActionArgs) {
const uploadHandler = async (fileUpload: FileUpload) => {
if (fileUpload.fieldName === "avatar") {
// process the upload and return a File
@@ -93,7 +93,7 @@ export default function Component() {
`file-storage` is a key/value interface for storing [File objects][file] in JavaScript. Similar to how `localStorage` allows you to store key/value pairs of strings in the browser, file-storage allows you to store key/value pairs of files on the server.
```shellscript
-npm i @mjackson/file-storage
+npm i @remix-run/file-storage
```
[See the `file-storage` docs for more information][file-storage]
@@ -103,7 +103,7 @@ npm i @mjackson/file-storage
Create a file that exports a `LocalFileStorage` instance to be used by different routes.
```ts filename=avatar-storage.server.ts
-import { LocalFileStorage } from "@mjackson/file-storage/local";
+import { LocalFileStorage } from "@remix-run/file-storage/local";
export const fileStorage = new LocalFileStorage(
"./uploads/avatars",
@@ -122,7 +122,7 @@ Update the form's `action` to store files in the `fileStorage` instance.
import {
type FileUpload,
parseFormData,
-} from "@mjackson/form-data-parser";
+} from "@remix-run/form-data-parser";
import {
fileStorage,
getStorageKey,
@@ -212,8 +212,7 @@ export async function loader({ params }: Route.LoaderArgs) {
}
```
-[remix-the-web]: https://github.com/mjackson/remix-the-web
-[form-data-parser]: https://github.com/mjackson/remix-the-web/tree/main/packages/form-data-parser
-[file-storage]: https://github.com/mjackson/remix-the-web/tree/main/packages/file-storage
+[form-data-parser]: https://www.npmjs.com/package/@remix-run/form-data-parser
+[file-storage]: https://www.npmjs.com/package/@remix-run/file-storage
[file]: https://developer.mozilla.org/en-US/docs/Web/API/File
[resource-route]: ../how-to/resource-routes
diff --git a/docs/how-to/react-server-components.md b/docs/how-to/react-server-components.md
index 19727de247..ab256ce0fd 100644
--- a/docs/how-to/react-server-components.md
+++ b/docs/how-to/react-server-components.md
@@ -256,7 +256,7 @@ The following naming conventions have been chosen for familiarity and simplicity
See the relevant bundler documentation below for specific code examples for each of the following entry points.
-These examples all use [express][express] and [@mjackson/node-fetch-server][node-fetch-server] for the server and request handling.
+These examples all use [express][express] and [@remix-run/node-fetch-server][node-fetch-server] for the server and request handling.
**Routes**
@@ -332,7 +332,7 @@ To configure Parcel, add the following to your `package.json`:
"source": "src/entry.rsc.tsx",
"scopeHoist": false,
"includeNodeModules": {
- "@mjackson/node-fetch-server": false,
+ "@remix-run/node-fetch-server": false,
"compression": false,
"express": false
}
@@ -425,7 +425,7 @@ export async function generateHTML(
The following is a simplified example of a Parcel RSC Server.
```tsx filename=src/entry.rsc.tsx
-import { createRequestListener } from "@mjackson/node-fetch-server";
+import { createRequestListener } from "@remix-run/node-fetch-server";
import express from "express";
import { unstable_matchRSCServerRequest as matchRSCServerRequest } from "react-router";
import {
@@ -781,6 +781,6 @@ createFromReadableStream(
[get-rsc-stream]: ../api/rsc/getRSCStream
[rsc-hydrated-router]: ../api/rsc/RSCHydratedRouter
[express]: https://expressjs.com/
-[node-fetch-server]: https://github.com/mjackson/remix-the-web/tree/main/packages/node-fetch-server
+[node-fetch-server]: https://www.npmjs.com/package/@remix-run/node-fetch-server
[parcel-rsc-template]: https://github.com/remix-run/react-router-templates/tree/main/unstable_rsc-parcel
[vite-rsc-template]: https://github.com/remix-run/react-router-templates/tree/main/unstable_rsc-vite
diff --git a/integration/helpers/rsc-parcel-framework/package.json b/integration/helpers/rsc-parcel-framework/package.json
index a17de0ed03..d93d577de1 100644
--- a/integration/helpers/rsc-parcel-framework/package.json
+++ b/integration/helpers/rsc-parcel-framework/package.json
@@ -33,8 +33,8 @@
"typescript": "^5.1.6"
},
"dependencies": {
- "@mjackson/node-fetch-server": "0.6.1",
"@parcel/runtime-rsc": "2.15.0",
+ "@remix-run/node-fetch-server": "^0.8.0",
"cross-env": "^7.0.3",
"express": "^4.21.2",
"react": "^19.0.0",
diff --git a/integration/helpers/rsc-parcel-framework/start.js b/integration/helpers/rsc-parcel-framework/start.js
index 8ebd27db0f..74a552dd84 100644
--- a/integration/helpers/rsc-parcel-framework/start.js
+++ b/integration/helpers/rsc-parcel-framework/start.js
@@ -1,4 +1,4 @@
-const { createRequestListener } = require("@mjackson/node-fetch-server");
+const { createRequestListener } = require("@remix-run/node-fetch-server");
const express = require("express");
const reactRouterRequestHandler =
require("./build/server/index.js").requestHandler;
diff --git a/integration/helpers/rsc-parcel/package.json b/integration/helpers/rsc-parcel/package.json
index 0b5c2eecac..d601bfec57 100644
--- a/integration/helpers/rsc-parcel/package.json
+++ b/integration/helpers/rsc-parcel/package.json
@@ -37,8 +37,8 @@
"url": "^0.11.0"
},
"dependencies": {
- "@mjackson/node-fetch-server": "0.6.1",
"@parcel/runtime-rsc": "2.15.0",
+ "@remix-run/node-fetch-server": "^0.8.0",
"cross-env": "^7.0.3",
"express": "^4.21.2",
"react": "^19.1.0",
diff --git a/integration/helpers/rsc-parcel/src/server.tsx b/integration/helpers/rsc-parcel/src/server.tsx
index a5684ffd7f..8817b6af3f 100644
--- a/integration/helpers/rsc-parcel/src/server.tsx
+++ b/integration/helpers/rsc-parcel/src/server.tsx
@@ -1,5 +1,5 @@
import { parseArgs } from "node:util";
-import { createRequestListener } from "@mjackson/node-fetch-server";
+import { createRequestListener } from "@remix-run/node-fetch-server";
import express from "express";
import { unstable_matchRSCServerRequest as matchRSCServerRequest } from "react-router";
import {
diff --git a/integration/helpers/rsc-vite-framework/package.json b/integration/helpers/rsc-vite-framework/package.json
index b9b7c715e7..ef3538d298 100644
--- a/integration/helpers/rsc-vite-framework/package.json
+++ b/integration/helpers/rsc-vite-framework/package.json
@@ -25,7 +25,7 @@
"vite-tsconfig-paths": "^4.2.1"
},
"dependencies": {
- "@mjackson/node-fetch-server": "0.6.1",
+ "@remix-run/node-fetch-server": "^0.8.0",
"compression": "^1.8.0",
"express": "^4.21.2",
"react": "^19.0.0",
diff --git a/integration/helpers/rsc-vite-framework/start.js b/integration/helpers/rsc-vite-framework/start.js
index 91b7c93a3b..ee69fab674 100644
--- a/integration/helpers/rsc-vite-framework/start.js
+++ b/integration/helpers/rsc-vite-framework/start.js
@@ -1,4 +1,4 @@
-import { createRequestListener } from "@mjackson/node-fetch-server";
+import { createRequestListener } from "@remix-run/node-fetch-server";
import express from "express";
import reactRouterRequestHandler from "./build/server/index.js";
diff --git a/integration/helpers/rsc-vite/package.json b/integration/helpers/rsc-vite/package.json
index 9058d98848..b08ee9db59 100644
--- a/integration/helpers/rsc-vite/package.json
+++ b/integration/helpers/rsc-vite/package.json
@@ -20,7 +20,7 @@
"vite": "^6.2.0"
},
"dependencies": {
- "@mjackson/node-fetch-server": "0.6.1",
+ "@remix-run/node-fetch-server": "^0.8.0",
"compression": "^1.8.0",
"cross-env": "^7.0.3",
"express": "^4.21.2",
diff --git a/integration/helpers/rsc-vite/server.js b/integration/helpers/rsc-vite/server.js
index c897acd7ad..a572da1ec0 100644
--- a/integration/helpers/rsc-vite/server.js
+++ b/integration/helpers/rsc-vite/server.js
@@ -1,5 +1,5 @@
import { parseArgs } from "node:util";
-import { createRequestListener } from "@mjackson/node-fetch-server";
+import { createRequestListener } from "@remix-run/node-fetch-server";
import compression from "compression";
import express from "express";
diff --git a/packages/react-router-node/package.json b/packages/react-router-node/package.json
index 0781217383..8a2ddd4d15 100644
--- a/packages/react-router-node/package.json
+++ b/packages/react-router-node/package.json
@@ -50,7 +50,7 @@
}
},
"dependencies": {
- "@mjackson/node-fetch-server": "^0.2.0"
+ "@remix-run/node-fetch-server": "^0.8.0"
},
"devDependencies": {
"react-router": "workspace:*",
diff --git a/packages/react-router-node/server.ts b/packages/react-router-node/server.ts
index 6038db0229..aabd9fd579 100644
--- a/packages/react-router-node/server.ts
+++ b/packages/react-router-node/server.ts
@@ -1,5 +1,7 @@
import type { RequestListener } from "node:http";
+import type { ClientAddress } from "@remix-run/node-fetch-server";
+import { createRequestListener as createRequestListener_ } from "@remix-run/node-fetch-server";
import type {
AppLoadContext,
ServerBuild,
@@ -7,8 +9,6 @@ import type {
unstable_RouterContextProvider,
} from "react-router";
import { createRequestHandler } from "react-router";
-import type { ClientAddress } from "@mjackson/node-fetch-server";
-import { createRequestListener as createRequestListener_ } from "@mjackson/node-fetch-server";
type MaybePromise = T | Promise;
diff --git a/playground/rsc-parcel-framework/package.json b/playground/rsc-parcel-framework/package.json
index f306209a99..e774b6cac4 100644
--- a/playground/rsc-parcel-framework/package.json
+++ b/playground/rsc-parcel-framework/package.json
@@ -31,8 +31,8 @@
"parcel-config-react-router-experimental": "1.0.25"
},
"dependencies": {
- "@mjackson/node-fetch-server": "0.6.1",
"@parcel/runtime-rsc": "2.15.0",
+ "@remix-run/node-fetch-server": "^0.8.0",
"express": "^4.21.2",
"react": "^19.0.0",
"react-dom": "^19.0.0",
diff --git a/playground/rsc-parcel/package.json b/playground/rsc-parcel/package.json
index 8b4ba155b9..096310e842 100644
--- a/playground/rsc-parcel/package.json
+++ b/playground/rsc-parcel/package.json
@@ -37,8 +37,8 @@
"url": "^0.11.0"
},
"dependencies": {
- "@mjackson/node-fetch-server": "0.6.1",
"@parcel/runtime-rsc": "2.15.0",
+ "@remix-run/node-fetch-server": "^0.8.0",
"express": "^4.21.2",
"react": "^19.0.0",
"react-dom": "^19.0.0",
diff --git a/playground/rsc-parcel/src/entry.ssr.tsx b/playground/rsc-parcel/src/entry.ssr.tsx
index 56df53c587..395a24df90 100644
--- a/playground/rsc-parcel/src/entry.ssr.tsx
+++ b/playground/rsc-parcel/src/entry.ssr.tsx
@@ -1,4 +1,4 @@
-import { createRequestListener } from "@mjackson/node-fetch-server";
+import { createRequestListener } from "@remix-run/node-fetch-server";
import express from "express";
// @ts-expect-error - no types
import { renderToReadableStream as renderHTMLToReadableStream } from "react-dom/server.edge" assert { env: "react-client" };
@@ -28,11 +28,11 @@ app.use(
bootstrapScriptContent: (
fetchServer as unknown as { bootstrapScript: string }
).bootstrapScript,
- }
+ },
);
},
});
- })
+ }),
);
const server = app.listen(3000);
diff --git a/playground/rsc-vite-framework/package.json b/playground/rsc-vite-framework/package.json
index c93a32839a..71c076c905 100644
--- a/playground/rsc-vite-framework/package.json
+++ b/playground/rsc-vite-framework/package.json
@@ -23,7 +23,7 @@
"vite": "^6.2.0"
},
"dependencies": {
- "@mjackson/node-fetch-server": "0.6.1",
+ "@remix-run/node-fetch-server": "^0.8.0",
"compression": "^1.8.0",
"express": "^4.21.2",
"react": "^19.0.0",
diff --git a/playground/rsc-vite-framework/start.js b/playground/rsc-vite-framework/start.js
index 91b7c93a3b..ee69fab674 100644
--- a/playground/rsc-vite-framework/start.js
+++ b/playground/rsc-vite-framework/start.js
@@ -1,4 +1,4 @@
-import { createRequestListener } from "@mjackson/node-fetch-server";
+import { createRequestListener } from "@remix-run/node-fetch-server";
import express from "express";
import reactRouterRequestHandler from "./build/server/index.js";
diff --git a/playground/rsc-vite/package.json b/playground/rsc-vite/package.json
index 736990179e..6a2f4aa11b 100644
--- a/playground/rsc-vite/package.json
+++ b/playground/rsc-vite/package.json
@@ -21,7 +21,7 @@
"vite": "^6.2.0"
},
"dependencies": {
- "@mjackson/node-fetch-server": "0.6.1",
+ "@remix-run/node-fetch-server": "^0.8.0",
"compression": "^1.8.0",
"express": "^4.21.2",
"react": "^19.0.0",
diff --git a/playground/rsc-vite/server.js b/playground/rsc-vite/server.js
index c897acd7ad..a572da1ec0 100644
--- a/playground/rsc-vite/server.js
+++ b/playground/rsc-vite/server.js
@@ -1,5 +1,5 @@
import { parseArgs } from "node:util";
-import { createRequestListener } from "@mjackson/node-fetch-server";
+import { createRequestListener } from "@remix-run/node-fetch-server";
import compression from "compression";
import express from "express";
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 994b7704b9..66ff2181da 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -110,7 +110,7 @@ importers:
version: 7.34.1(eslint@8.57.0)
eslint-plugin-react-hooks:
specifier: next
- version: 6.1.0-canary-19baee81-20250725(eslint@8.57.0)
+ version: 6.1.0-canary-be11cb5c-20250804(eslint@8.57.0)
fast-glob:
specifier: 3.2.11
version: 3.2.11
@@ -337,12 +337,12 @@ importers:
integration/helpers/rsc-parcel:
dependencies:
- '@mjackson/node-fetch-server':
- specifier: 0.6.1
- version: 0.6.1
'@parcel/runtime-rsc':
specifier: 2.15.0
version: 2.15.0(@parcel/core@2.15.0)
+ '@remix-run/node-fetch-server':
+ specifier: ^0.8.0
+ version: 0.8.0
cross-env:
specifier: ^7.0.3
version: 7.0.3
@@ -413,12 +413,12 @@ importers:
integration/helpers/rsc-parcel-framework:
dependencies:
- '@mjackson/node-fetch-server':
- specifier: 0.6.1
- version: 0.6.1
'@parcel/runtime-rsc':
specifier: 2.15.0
version: 2.15.0(@parcel/core@2.15.0)
+ '@remix-run/node-fetch-server':
+ specifier: ^0.8.0
+ version: 0.8.0
cross-env:
specifier: ^7.0.3
version: 7.0.3
@@ -474,9 +474,9 @@ importers:
integration/helpers/rsc-vite:
dependencies:
- '@mjackson/node-fetch-server':
- specifier: 0.6.1
- version: 0.6.1
+ '@remix-run/node-fetch-server':
+ specifier: ^0.8.0
+ version: 0.8.0
compression:
specifier: ^1.8.0
version: 1.8.0
@@ -523,9 +523,9 @@ importers:
integration/helpers/rsc-vite-framework:
dependencies:
- '@mjackson/node-fetch-server':
- specifier: 0.6.1
- version: 0.6.1
+ '@remix-run/node-fetch-server':
+ specifier: ^0.8.0
+ version: 0.8.0
compression:
specifier: ^1.8.0
version: 1.8.0
@@ -1325,9 +1325,9 @@ importers:
packages/react-router-node:
dependencies:
- '@mjackson/node-fetch-server':
- specifier: ^0.2.0
- version: 0.2.0
+ '@remix-run/node-fetch-server':
+ specifier: ^0.8.0
+ version: 0.8.0
devDependencies:
react-router:
specifier: workspace:*
@@ -1742,12 +1742,12 @@ importers:
playground/rsc-parcel:
dependencies:
- '@mjackson/node-fetch-server':
- specifier: 0.6.1
- version: 0.6.1
'@parcel/runtime-rsc':
specifier: 2.15.0
version: 2.15.0(@parcel/core@2.15.0)
+ '@remix-run/node-fetch-server':
+ specifier: ^0.8.0
+ version: 0.8.0
express:
specifier: ^4.21.2
version: 4.21.2
@@ -1815,12 +1815,12 @@ importers:
playground/rsc-parcel-framework:
dependencies:
- '@mjackson/node-fetch-server':
- specifier: 0.6.1
- version: 0.6.1
'@parcel/runtime-rsc':
specifier: 2.15.0
version: 2.15.0(@parcel/core@2.15.0)
+ '@remix-run/node-fetch-server':
+ specifier: ^0.8.0
+ version: 0.8.0
express:
specifier: ^4.21.2
version: 4.21.2
@@ -1870,9 +1870,9 @@ importers:
playground/rsc-vite:
dependencies:
- '@mjackson/node-fetch-server':
- specifier: 0.6.1
- version: 0.6.1
+ '@remix-run/node-fetch-server':
+ specifier: ^0.8.0
+ version: 0.8.0
compression:
specifier: ^1.8.0
version: 1.8.0
@@ -1919,9 +1919,9 @@ importers:
playground/rsc-vite-framework:
dependencies:
- '@mjackson/node-fetch-server':
- specifier: 0.6.1
- version: 0.6.1
+ '@remix-run/node-fetch-server':
+ specifier: ^0.8.0
+ version: 0.8.0
compression:
specifier: ^1.8.0
version: 1.8.0
@@ -3800,9 +3800,6 @@ packages:
resolution: {integrity: sha512-iA7+tyVqfrATAIsIRWQG+a7ZLLD0VaOCKV2Wd/v4mqIU3J9c4jx9p7S0nw1XH3gJCKNBOOwACOPYYSUu9pgT+w==}
engines: {node: '>=12.0.0'}
- '@mjackson/node-fetch-server@0.2.0':
- resolution: {integrity: sha512-EMlH1e30yzmTpGLQjlFmaDAjyOeZhng1/XCd7DExR8PNAnG/G1tyruZxEoUe11ClnwGhGrtsdnyyUx1frSzjng==}
-
'@mjackson/node-fetch-server@0.6.1':
resolution: {integrity: sha512-9ZJnk/DJjt805uv5PPv11haJIW+HHf3YEEyVXv+8iLQxLD/iXA68FH220XoiTPBC4gCg5q+IMadDw8qPqlA5wg==}
@@ -4402,6 +4399,9 @@ packages:
'@remix-run/changelog-github@0.0.5':
resolution: {integrity: sha512-43tqwUqWqirbv6D9uzo55ASPsCJ61Ein1k/M8qn+Qpros0MmbmuzjLVPmtaxfxfe2ANX0LefLvCD0pAgr1tp4g==}
+ '@remix-run/node-fetch-server@0.8.0':
+ resolution: {integrity: sha512-8/sKegb4HrM6IdcQeU0KPhj9VOHm5SUqswJDHuMCS3mwbr/NRx078QDbySmn0xslahvvZoOENd7EnK40kWKxkg==}
+
'@remix-run/web-blob@3.1.0':
resolution: {integrity: sha512-owGzFLbqPH9PlKb8KvpNJ0NO74HWE2euAn61eEiyCXX/oteoVzTVSN8mpLgDjaxBf2btj5/nUllSUgpyd6IH6g==}
@@ -6375,8 +6375,8 @@ packages:
peerDependencies:
eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
- eslint-plugin-react-hooks@6.1.0-canary-19baee81-20250725:
- resolution: {integrity: sha512-ryYWKqWvR3I/nRITbbupJxlajWqK8CthGw1yMomw5BUfAVb0MpqD2b2fk7ZmCqQDpPz0I91gmqhH2/FTrjeKWQ==}
+ eslint-plugin-react-hooks@6.1.0-canary-be11cb5c-20250804:
+ resolution: {integrity: sha512-1OEkOyYzJdlfaxQzetiIeNjkAYAnrGSeT0pTgzIPowaiywcsktoiTccyThHXDML+aCYEQoghr2lqfYAVHe04ZQ==}
engines: {node: '>=18'}
peerDependencies:
eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
@@ -9181,6 +9181,7 @@ packages:
source-map@0.8.0-beta.0:
resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
engines: {node: '>= 8'}
+ deprecated: The work that was done in this beta branch won't be included in future versions
space-separated-tokens@2.0.2:
resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
@@ -11998,8 +11999,6 @@ snapshots:
'@lezer/lr': 1.4.2
json5: 2.2.3
- '@mjackson/node-fetch-server@0.2.0': {}
-
'@mjackson/node-fetch-server@0.6.1': {}
'@mjackson/node-fetch-server@0.7.0': {}
@@ -12846,6 +12845,8 @@ snapshots:
transitivePeerDependencies:
- encoding
+ '@remix-run/node-fetch-server@0.8.0': {}
+
'@remix-run/web-blob@3.1.0':
dependencies:
'@remix-run/web-stream': 1.1.0
@@ -15264,7 +15265,7 @@ snapshots:
dependencies:
eslint: 8.57.0
- eslint-plugin-react-hooks@6.1.0-canary-19baee81-20250725(eslint@8.57.0):
+ eslint-plugin-react-hooks@6.1.0-canary-be11cb5c-20250804(eslint@8.57.0):
dependencies:
'@babel/core': 7.27.7
'@babel/parser': 7.27.7