Skip to content

Commit b5ae784

Browse files
committed
Merge branch 'release-next'
2 parents ad363e1 + 5dd7c15 commit b5ae784

File tree

79 files changed

+4399
-2690
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+4399
-2690
lines changed

.eslintignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ node_modules/
33
pnpm-lock.yaml
44
/docs/api
55
examples/**/dist/
6+
/integration/helpers/vite-plugin-cloudflare-template/worker-configuration.d.ts
67
/playground/
78
/playground-local/
89
packages/**/dist/

CHANGELOG.md

Lines changed: 127 additions & 80 deletions
Large diffs are not rendered by default.

integration/action-test.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,7 @@ test.describe("actions", () => {
7474
`,
7575

7676
[`app/routes/${THROWS_REDIRECT}.jsx`]: js`
77-
import { redirect } from "react-router";
78-
import { Form } from "react-router";
77+
import { redirect, Form } from "react-router";
7978
8079
export function action() {
8180
throw redirect("/${REDIRECT_TARGET}")

integration/blocking-test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ test("handles synchronous proceeding correctly", async ({ page }) => {
4040
`,
4141
"app/routes/b.tsx": js`
4242
import * as React from "react";
43-
import { Form, useAction, useBlocker } from "react-router";
43+
import { Form, useBlocker } from "react-router";
4444
export default function Component() {
4545
return (
4646
<div>

integration/client-data-test.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,6 @@ test.describe("Client Data", () => {
335335
}),
336336
"app/routes/parent.child.tsx": js`
337337
import * as React from 'react';
338-
import { json } from "react-router"
339338
import { Await, useLoaderData } from "react-router"
340339
export function loader() {
341340
return {
@@ -685,7 +684,6 @@ test.describe("Client Data", () => {
685684
}),
686685
"app/routes/parent.child.tsx": js`
687686
import * as React from 'react';
688-
import { json } from "react-router";
689687
import { useLoaderData, useRevalidator } from "react-router";
690688
let isFirstCall = true;
691689
export async function loader({ serverLoader }) {
@@ -763,7 +761,7 @@ test.describe("Client Data", () => {
763761
childClientLoaderHydrate: false,
764762
}),
765763
"app/routes/parent.child.tsx": js`
766-
import { ClientLoaderFunctionArgs, useRouteError } from "react-router";
764+
import { useRouteError } from "react-router";
767765
768766
export function loader() {
769767
throw new Error("Broken!")
@@ -1286,7 +1284,6 @@ test.describe("Client Data", () => {
12861284
}),
12871285
"app/routes/parent.child.tsx": js`
12881286
import * as React from 'react';
1289-
import { json } from "react-router";
12901287
import { Form, useRouteError } from "react-router";
12911288
export async function clientAction({ serverAction }) {
12921289
return await serverAction();
@@ -1508,7 +1505,6 @@ test.describe("Client Data", () => {
15081505
}),
15091506
"app/routes/parent.child.tsx": js`
15101507
import * as React from 'react';
1511-
import { json } from "react-router";
15121508
import { Form, useRouteError } from "react-router";
15131509
export async function clientAction({ serverAction }) {
15141510
return await serverAction();

integration/error-boundary-test.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -971,7 +971,6 @@ test("Allows back-button out of an error boundary after a hard reload", async ({
971971
`,
972972

973973
"app/routes/boom.tsx": js`
974-
import { json } from "react-router";
975974
export function loader() { return boom(); }
976975
export default function() { return <b>my page</b>; }
977976
`,

integration/fetch-globals-test.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ test.beforeAll(async () => {
1414
fixture = await createFixture({
1515
files: {
1616
"app/routes/_index.tsx": js`
17-
import { json } from "react-router";
1817
import { useLoaderData } from "react-router";
1918
export async function loader() {
2019
const resp = await fetch('https://reqres.in/api/users?page=2');

integration/fetcher-test.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ test.describe("useFetcher", () => {
2323
fixture = await createFixture({
2424
files: {
2525
"app/routes/resource-route-action-only.ts": js`
26-
import { json } from "react-router";
2726
export function action() {
2827
return new Response("${CHEESESTEAK}");
2928
}

integration/fs-routes-test.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,6 @@ test.describe("fs-routes", () => {
1919
test.beforeAll(async () => {
2020
fixture = await createFixture({
2121
files: {
22-
"vite.config.js": js`
23-
import { defineConfig } from "vite";
24-
import { reactRouter } from "@react-router/dev/vite";
25-
26-
export default defineConfig({
27-
plugins: [reactRouter()],
28-
});
29-
`,
3022
"app/routes.ts": js`
3123
import { type RouteConfig } from "@react-router/dev/routes";
3224
import { flatRoutes } from "@react-router/fs-routes";

integration/helpers/create-fixture.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import {
1818
import { createRequestHandler as createExpressHandler } from "@react-router/express";
1919
import { createReadableStreamFromReadable } from "@react-router/node";
2020

21-
import { viteConfig, reactRouterConfig } from "./vite.js";
21+
import { type TemplateName, viteConfig, reactRouterConfig } from "./vite.js";
2222

2323
const __dirname = url.fileURLToPath(new URL(".", import.meta.url));
2424
const root = path.join(__dirname, "../..");
@@ -31,6 +31,7 @@ export interface FixtureInit {
3131
spaMode?: boolean;
3232
prerender?: boolean;
3333
port?: number;
34+
templateName?: TemplateName;
3435
}
3536

3637
export type Fixture = Awaited<ReturnType<typeof createFixture>>;
@@ -362,7 +363,7 @@ export async function createFixtureProject(
362363
init: FixtureInit = {},
363364
mode?: ServerMode
364365
): Promise<string> {
365-
let template = "vite-5-template";
366+
let template = init.templateName ?? "vite-5-template";
366367
let integrationTemplateDir = path.resolve(__dirname, template);
367368
let projectName = `rr-${template}-${Math.random().toString(32).slice(2)}`;
368369
let projectDir = path.join(TMP_DIR, projectName);
@@ -424,6 +425,9 @@ function build(projectDir: string, buildStdio?: Writable, mode?: ServerMode) {
424425
env: {
425426
...process.env,
426427
NODE_ENV: mode || ServerMode.Production,
428+
// Ensure build can pass in Rolldown. This can be removed once
429+
// "preserveEntrySignatures" is supported in rolldown-vite.
430+
ROLLDOWN_OPTIONS_VALIDATION: "loose",
427431
},
428432
});
429433

0 commit comments

Comments
 (0)