Skip to content

Commit 44f5bd7

Browse files
committed
Merge branch 'v7' into brophdawg11/remove-detect-error-boundary
2 parents e2822b9 + 0457dbe commit 44f5bd7

27 files changed

+208
-2971
lines changed

.changeset/chilled-masks-search.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
"react-router-dom": major
3+
"react-router": major
4+
---
5+
6+
Remove the original `defer` implementation in favor of using raw promises via single fetch and `turbo-stream`. This removes these exports from React Router:
7+
8+
- `defer`
9+
- `AbortedDeferredError`
10+
- `type TypedDeferredData`
11+
- `UNSAFE_DeferredData`
12+
- `UNSAFE_DEFERRED_SYMBOL`,

integration/client-data-test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -318,13 +318,13 @@ test.describe("Client Data", () => {
318318
}),
319319
"app/routes/parent.child.tsx": js`
320320
import * as React from 'react';
321-
import { defer, json } from "react-router"
321+
import { json } from "react-router"
322322
import { Await, useLoaderData } from "react-router"
323323
export function loader() {
324-
return defer({
324+
return {
325325
message: 'Child Server Loader',
326326
lazy: new Promise(r => setTimeout(() => r("Child Deferred Data"), 1000)),
327-
});
327+
};
328328
}
329329
export async function clientLoader({ serverLoader }) {
330330
let data = await serverLoader();

integration/defer-loader-test.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,23 +28,23 @@ test.describe("deferred loaders", () => {
2828
`,
2929

3030
"app/routes/redirect.tsx": js`
31-
import { defer } from "react-router";
32-
export function loader() {
33-
return defer({food: "pizza"}, { status: 301, headers: { Location: "/?redirected" } });
31+
export function loader({ response }) {
32+
response.status = 301;
33+
response.headers.set("Location", "/?redirected");
34+
return { food: "pizza" };
3435
}
3536
export default function Redirect() {return null;}
3637
`,
3738

3839
"app/routes/direct-promise-access.tsx": js`
3940
import * as React from "react";
40-
import { defer } from "react-router";
4141
import { useLoaderData, Link, Await } from "react-router";
4242
export function loader() {
43-
return defer({
43+
return {
4444
bar: new Promise(async (resolve, reject) => {
4545
resolve("hamburger");
4646
}),
47-
});
47+
};
4848
}
4949
let count = 0;
5050
export default function Index() {

0 commit comments

Comments
 (0)