Skip to content

Commit 67f16e7

Browse files
authored
Updates to static handler for Remix integration (#9511)
* Updates to unstable staticHandler logic for Remix integration * Add changeset * bump bundle * Remove ErrorWithStatus in favor of extended ErrorResponse * update * Update changelog
1 parent a9b75e8 commit 67f16e7

File tree

7 files changed

+446
-238
lines changed

7 files changed

+446
-238
lines changed

.changeset/proud-timers-tickle.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"@remix-run/router": patch
3+
---
4+
5+
- Throw an error if an `action`/`loader` function returns `undefined` as revalidations need to know whether the loader has previously been executed. `undefined` also causes issues during SSR stringification for hydration. You should always ensure you loader/acton return a value, and you may return `null` if you don't wish to return anything.
6+
- Enhanced `ErrorResponse` bodies to contain more descriptive text in internal 403/404/405 scenarios

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@
107107
},
108108
"filesize": {
109109
"packages/router/dist/router.umd.min.js": {
110-
"none": "34 kB"
110+
"none": "34.5 kB"
111111
},
112112
"packages/react-router/dist/react-router.production.min.js": {
113113
"none": "12.5 kB"

packages/react-router-dom/__tests__/nav-link-active-test.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,7 @@ describe("NavLink using a data router", () => {
509509
fireEvent.click(screen.getByText("Link to Bar"));
510510
expect(screen.getByText("Link to Bar").className).toBe("pending");
511511

512-
dfd.resolve();
512+
dfd.resolve(null);
513513
await waitFor(() => screen.getByText("Bar page"));
514514
expect(screen.getByText("Link to Bar").className).toBe("active");
515515
});
@@ -562,7 +562,7 @@ describe("NavLink using a data router", () => {
562562
"some-pending-classname"
563563
);
564564

565-
dfd.resolve();
565+
dfd.resolve(null);
566566
await waitFor(() => screen.getByText("Bar page"));
567567
expect(screen.getByText("Link to Bar").className).toBe(
568568
"some-active-classname"
@@ -617,7 +617,7 @@ describe("NavLink using a data router", () => {
617617
"lowercase"
618618
);
619619

620-
dfd.resolve();
620+
dfd.resolve(null);
621621
await waitFor(() => screen.getByText("Bar page"));
622622
expect(screen.getByText("Link to Bar").style.textTransform).toBe(
623623
"uppercase"
@@ -667,7 +667,7 @@ describe("NavLink using a data router", () => {
667667
fireEvent.click(screen.getByText("Link to Bar (idle)"));
668668
expect(screen.getByText("Link to Bar (loading...)")).toBeDefined();
669669

670-
dfd.resolve();
670+
dfd.resolve(null);
671671
await waitFor(() => screen.getByText("Bar page"));
672672
expect(screen.getByText("Link to Bar (current)")).toBeDefined();
673673
});
@@ -708,7 +708,7 @@ describe("NavLink using a data router", () => {
708708
fireEvent.click(screen.getByText("Link to Baz"));
709709
expect(screen.getByText("Link to Bar").className).toBe("");
710710

711-
dfd.resolve();
711+
dfd.resolve(null);
712712
await waitFor(() => screen.getByText("Baz page"));
713713
expect(screen.getByText("Link to Bar").className).toBe("");
714714
});

packages/react-router/__tests__/data-memory-router-test.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2713,7 +2713,7 @@ describe("<DataMemoryRouter>", () => {
27132713
expect(getAwaitRenderCount()).toBe(3);
27142714

27152715
// complete /baz navigation
2716-
bazDefer.resolve();
2716+
bazDefer.resolve(null);
27172717
await waitFor(() => screen.getByText("Baz"));
27182718
expect(getHtml(container)).toMatchInlineSnapshot(`
27192719
"<div

0 commit comments

Comments
 (0)