Skip to content
3 changes: 1 addition & 2 deletions .changeset/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@
"@react-router/dev",
"@react-router/express",
"@react-router/node",
"@react-router/serve",
"@react-router/server-runtime"
"@react-router/serve"
]
],
"linked": [],
Expand Down
1 change: 0 additions & 1 deletion .changeset/curvy-teachers-explain.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
---
"@react-router/server-runtime": major
"react-router-dom": major
"@react-router/express": major
"react-router": major
Expand Down
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ This repository is a monorepo containing the following packages:
- [`@react-router/express`](/packages/remix-express)
- [`@react-router/node`](/packages/remix-node)
- [`@react-router/serve`](/packages/remix-serve)
- [`@react-router/server-runtime`](/packages/remix-server-runtime)
- [`react-router`](/packages/react-router)
- [`react-router-dom`](/packages/react-router-dom)

Expand Down
2 changes: 1 addition & 1 deletion integration/client-data-test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { test, expect } from "@playwright/test";

import { UNSAFE_ServerMode as ServerMode } from "@react-router/server-runtime";
import { UNSAFE_ServerMode as ServerMode } from "react-router/server";
import {
createAppFixture,
createFixture,
Expand Down
2 changes: 1 addition & 1 deletion integration/error-boundary-test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { test, expect } from "@playwright/test";

import { UNSAFE_ServerMode as ServerMode } from "@react-router/server-runtime";
import { UNSAFE_ServerMode as ServerMode } from "react-router/server";
import {
createAppFixture,
createFixture,
Expand Down
2 changes: 1 addition & 1 deletion integration/error-boundary-v2-test.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import type { Page } from "@playwright/test";
import { test, expect } from "@playwright/test";

import { UNSAFE_ServerMode as ServerMode } from "@react-router/server-runtime";
import { UNSAFE_ServerMode as ServerMode } from "react-router/server";
import {
createAppFixture,
createFixture,
Expand Down
4 changes: 2 additions & 2 deletions integration/error-data-request-test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ test.describe("ErrorBoundary", () => {
`,

[`app/routes/loader-return-json.jsx`]: js`
import { json } from "@react-router/server-runtime";
import { json } from "react-router/server";

export async function loader() {
return json({ ok: true });
Expand All @@ -80,7 +80,7 @@ test.describe("ErrorBoundary", () => {
`,

[`app/routes/action-return-json.jsx`]: js`
import { json } from "@react-router/server-runtime";
import { json } from "react-router/server";

export async function action() {
return json({ ok: true });
Expand Down
4 changes: 2 additions & 2 deletions integration/error-sanitization-test.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { test, expect } from "@playwright/test";
import { UNSAFE_ErrorResponseImpl as ErrorResponseImpl } from "react-router";

import { UNSAFE_ServerMode as ServerMode } from "@react-router/server-runtime";
import { UNSAFE_ServerMode as ServerMode } from "react-router/server";
import type { Fixture } from "./helpers/create-fixture.js";
import {
createAppFixture,
Expand Down Expand Up @@ -77,7 +77,7 @@ const routeFiles = {

"app/routes/defer.tsx": js`
import * as React from 'react';
import { defer } from "@react-router/server-runtime";
import { defer } from "react-router/server";
import { Await, useAsyncError, useLoaderData, useRouteError } from "react-router-dom";

export function loader({ request }) {
Expand Down
4 changes: 2 additions & 2 deletions integration/form-test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -394,7 +394,7 @@ test.describe("Forms", () => {
`,

"app/routes/empty-file-upload.tsx": js`
import { json } from "@react-router/server-runtime";
import { json } from "react-router/server";
import { Form, useActionData } from "react-router-dom";

export async function action({ request }) {
Expand Down Expand Up @@ -454,7 +454,7 @@ test.describe("Forms", () => {
"myfile.txt": "stuff",

"app/routes/pathless-layout-parent.tsx": js`
import { json } from '@react-router/server-runtime'
import { json } from 'react-router/server'
import { Form, Outlet, useActionData } from 'react-router-dom'

export async function action({ request }) {
Expand Down
4 changes: 2 additions & 2 deletions integration/headers-test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { test, expect } from "@playwright/test";

import { UNSAFE_ServerMode as ServerMode } from "@react-router/server-runtime";
import { UNSAFE_ServerMode as ServerMode } from "react-router/server";
import { createFixture, js } from "./helpers/create-fixture.js";
import type { Fixture } from "./helpers/create-fixture.js";

Expand Down Expand Up @@ -159,7 +159,7 @@ test.describe.skip("headers export", () => {
`,

"app/routes/cookie.tsx": js`
import { json } from "@react-router/server-runtime";
import { json } from "react-router/server";
import { Outlet } from "react-router-dom";

export function loader({ request }) {
Expand Down
6 changes: 3 additions & 3 deletions integration/helpers/create-fixture.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ import stripIndent from "strip-indent";
import { sync as spawnSync, spawn } from "cross-spawn";
import type { JsonObject } from "type-fest";

import { UNSAFE_ServerMode as ServerMode } from "@react-router/server-runtime";
import type { ServerBuild } from "@react-router/server-runtime";
import { createRequestHandler } from "@react-router/server-runtime";
import { UNSAFE_ServerMode as ServerMode } from "react-router/server";
import type { ServerBuild } from "react-router/server";
import { createRequestHandler } from "react-router/server";
import { createRequestHandler as createExpressHandler } from "@react-router/express";
import { installGlobals } from "@react-router/node";
import { UNSAFE_decodeViaTurboStream as decodeViaTurboStream } from "react-router";
Expand Down
1 change: 0 additions & 1 deletion integration/helpers/node-template/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
"@react-router/express": "workspace:*",
"@react-router/node": "workspace:*",
"@react-router/serve": "workspace:*",
"@react-router/server-runtime": "workspace:*",
"express": "^4.17.1",
"isbot": "^4.1.0",
"react": "^18.2.0",
Expand Down
1 change: 0 additions & 1 deletion integration/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
"@react-router/dev": "workspace:*",
"@react-router/express": "workspace:*",
"@react-router/node": "workspace:*",
"@react-router/server-runtime": "workspace:*",
"@types/express": "^4.17.9",
"@vanilla-extract/css": "^1.10.0",
"@vanilla-extract/vite-plugin": "^3.9.2",
Expand Down
2 changes: 1 addition & 1 deletion integration/resource-routes-test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { test, expect } from "@playwright/test";

import { UNSAFE_ServerMode as ServerMode } from "@react-router/server-runtime";
import { UNSAFE_ServerMode as ServerMode } from "react-router/server";
import {
createAppFixture,
createFixture,
Expand Down
2 changes: 1 addition & 1 deletion integration/root-route-test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { test, expect } from "@playwright/test";

import { UNSAFE_ServerMode as ServerMode } from "@react-router/server-runtime";
import { UNSAFE_ServerMode as ServerMode } from "react-router/server";
import {
createAppFixture,
createFixture,
Expand Down
2 changes: 1 addition & 1 deletion integration/single-fetch-test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import {
js,
} from "./helpers/create-fixture.js";
import { PlaywrightFixture } from "./helpers/playwright-fixture.js";
import { UNSAFE_ServerMode as ServerMode } from "@react-router/server-runtime";
import { UNSAFE_ServerMode as ServerMode } from "react-router/server";

const ISO_DATE = "2024-03-12T12:00:00.000Z";

Expand Down
9 changes: 9 additions & 0 deletions jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
module.exports = {
projects: [
"<rootDir>/packages/react-router/lib/jest.config.js",
"<rootDir>/packages/react-router/server/jest.config.js",
"<rootDir>/packages/remix-dev/jest.config.js",
"<rootDir>/packages/remix-express/jest.config.js",
"<rootDir>/packages/remix-node/jest.config.js",
],
};
18 changes: 11 additions & 7 deletions jest/jest.config.shared.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
const path = require("path");

const resolvePackage = (pathname) =>
path.resolve(__dirname, "..", "packages", pathname);

const ignorePatterns = [
"\\/build\\/",
"\\/coverage\\/",
Expand All @@ -9,13 +14,12 @@ const ignorePatterns = [
/** @type {import('jest').Config} */
module.exports = {
moduleNameMapper: {
"@react-router/dev$": "<rootDir>/../remix-dev/index.ts",
"@react-router/express$": "<rootDir>/../remix-express/index.ts",
"@react-router/node$": "<rootDir>/../remix-node/index.ts",
"@react-router/serve$": "<rootDir>/../remix-serve/index.ts",
"@react-router/server-runtime$":
"<rootDir>/../remix-server-runtime/index.ts",
"^react-router$": "<rootDir>/../react-router/index.ts",
"@react-router/dev$": resolvePackage("remix-dev/index.ts"),
"@react-router/express$": resolvePackage("remix-express/index.ts"),
"@react-router/node$": resolvePackage("remix-node/index.ts"),
"@react-router/serve$": resolvePackage("remix-serve/index.ts"),
"^react-router$": resolvePackage("react-router/index.ts"),
"^react-router/server$": resolvePackage("react-router/server/index.ts"),
"^@web3-storage/multipart-parser$": require.resolve(
"@web3-storage/multipart-parser"
),
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"prerelease": "pnpm build",
"release": "changeset publish",
"size": "filesize",
"test": "jest",
"test": "jest --config ./jest.config.js",
"test:inspect": "node --inspect-brk ./node_modules/.bin/jest",
"typecheck": "pnpm run --recursive --parallel typecheck",
"pretest:integration": "pnpm build",
Expand Down
10 changes: 9 additions & 1 deletion packages/react-router-dom/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,16 @@
"sideEffects": false,
"main": "./dist/main.js",
"unpkg": "./dist/umd/react-router-dom.production.min.js",
"module": "./dist/index.js",
"module": "./dist/index.mjs",
"types": "./dist/index.d.ts",
"exports": {
".": {
"types": "./dist/index.d.ts",
"import": "./dist/index.mjs",
"require": "./dist/main.js"
},
"./package.json": "./package.json"
},
"dependencies": {
"react-router": "workspace:*"
},
Expand Down
2 changes: 1 addition & 1 deletion packages/react-router-dom/rollup.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ module.exports = function rollup() {
{
input: `${SOURCE_DIR}/index.ts`,
output: {
file: `${OUTPUT_DIR}/index.js`,
file: `${OUTPUT_DIR}/index.mjs`,
format: "esm",
sourcemap: !PRETTY,
banner: createBanner("React Router DOM", version),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,12 @@ import {
useRevalidator,
useSubmit,
type ErrorResponse,
} from "../index";
} from "../../index";
import urlDataStrategy from "./router/utils/urlDataStrategy";
import { createDeferred } from "./router/utils/utils";
import MemoryNavigate from "./utils/MemoryNavigate";
import getHtml from "./utils/getHtml";
import { RouterProvider as DomRouterProvider } from "../lib/dom/lib";
import { RouterProvider as DomRouterProvider } from "../dom/lib";

describe("createMemoryRouter", () => {
let consoleWarn: jest.SpyInstance;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import {
createMemoryRouter,
createRoutesFromElements,
RouterProvider,
} from "../../index";
} from "../../../index";
import {
act,
fireEvent,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import {
createBrowserRouter,
createHashRouter,
createRoutesFromElements,
} from "../../index";
} from "../../../index";

testDomRouter("<DataBrowserRouter>", createBrowserRouter, (url) =>
getWindowImpl(url, false)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import {
} from "@testing-library/react";
import { JSDOM } from "jsdom";
import * as React from "react";
import type { RouteObject } from "../../index";
import type { RouteObject } from "../../../index";
import {
UNSAFE_DataRouterStateContext as DataRouterStateContext,
Form,
Expand All @@ -33,10 +33,10 @@ import {
useRouteError,
useSearchParams,
useSubmit,
} from "../../index";
} from "../../../index";

// TODO: Figure this out!
import { RouterProvider } from "../../lib/dom/lib";
import { RouterProvider } from "../../../lib/dom/lib";

import getHtml from "../utils/getHtml";
import { createDeferred } from "../router/utils/utils";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import * as React from "react";
import * as ReactDOMServer from "react-dom/server";
import { json } from "react-router";
import type { StaticHandlerContext } from "../../index";
import type { StaticHandlerContext } from "../../../index";
import {
Form,
Link,
Expand All @@ -16,7 +16,7 @@ import {
createStaticHandler,
createStaticRouter,
StaticRouterProvider,
} from "../../index";
} from "../../../index";

beforeEach(() => {
jest.spyOn(console, "warn").mockImplementation(() => {});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ import {
useNavigate,
useSubmit,
useFetcher,
} from "../../index";
} from "../../../index";
import { fireEvent, render, screen, waitFor } from "@testing-library/react";
import { JSDOM } from "jsdom";

// TODO: figure this out
import { RouterProvider } from "../../lib/dom/lib";
import { RouterProvider } from "../../../lib/dom/lib";

describe("flushSync", () => {
it("wraps useNavigate updates in flushSync when specified", async () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as React from "react";
import * as ReactDOM from "react-dom/client";
import { act } from "react-dom/test-utils";
import { MemoryRouter, Routes, Route, Link } from "../../index";
import { MemoryRouter, Routes, Route, Link } from "../../../index";

function click(anchor: HTMLAnchorElement, eventInit?: MouseEventInit) {
let event = new MouseEvent("click", {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import {
Routes,
createBrowserRouter,
createHashRouter,
} from "../../index";
} from "../../../index";
import * as TestRenderer from "react-test-renderer";

describe("<Link> href", () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import {
Route,
Link,
useNavigationType,
} from "../../index";
} from "../../../index";

function ShowNavigationType() {
return <p>{useNavigationType()}</p>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import {
Outlet,
createBrowserRouter,
createRoutesFromElements,
} from "../../index";
} from "../../../index";

describe("NavLink", () => {
describe("when it does not match", () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {
Route,
useNavigate,
useParams,
} from "../../index";
} from "../../../index";

describe("navigate with params", () => {
let node: HTMLDivElement;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import {
createMemoryRouter,
useLoaderData,
useRouteError,
} from "../../index";
} from "../../../index";

import getHtml from "../utils/getHtml";
import { createDeferred, tick } from "../router/utils/utils";
Expand Down
Loading