Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/huge-pans-do.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'rsbuild-plugin-react-router': patch
---

do not set target when output is esm
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
22
22
2 changes: 1 addition & 1 deletion config/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"version": "1.0.1",
"private": true,
"devDependencies": {
"@rsbuild/core": "1.3.0-beta.2",
"@rsbuild/core": "1.3.2",
"@rslib/core": "0.5.4",
"@types/node": "^22.10.1",
"typescript": "^5.7.2"
Expand Down
12 changes: 6 additions & 6 deletions examples/cloudflare/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,18 @@
"typecheck": "tsc -b"
},
"dependencies": {
"@react-router/node": "^7.4.0",
"@react-router/serve": "^7.4.0",
"@react-router/node": "^7.4.1",
"@react-router/serve": "^7.4.1",
"isbot": "^5.1.17",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-router": "^7.4.0"
"react-router": "^7.4.1"
},
"devDependencies": {
"@cloudflare/workers-types": "^4.20241112.0",
"@react-router/cloudflare": "^7.4.0",
"@react-router/dev": "^7.4.0",
"@rsbuild/core": "1.3.0-beta.2",
"@react-router/cloudflare": "^7.4.1",
"@react-router/dev": "^7.4.1",
"@rsbuild/core": "1.3.2",
"@rsbuild/plugin-react": "^1.1.1",
"@tailwindcss/postcss": "^4.0.0",
"@types/node": "^20",
Expand Down
10 changes: 5 additions & 5 deletions examples/custom-node-server/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,18 @@
"author": "",
"license": "ISC",
"dependencies": {
"@react-router/express": "^7.4.0",
"@react-router/node": "^7.4.0",
"@react-router/express": "^7.4.1",
"@react-router/node": "^7.4.1",
"express": "^4.21.2",
"isbot": "^5.1.22",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-router": "^7.4.0"
"react-router": "^7.4.1"
},
"devDependencies": {
"@playwright/test": "^1.50.1",
"@react-router/dev": "^7.4.0",
"@rsbuild/core": "1.3.0-beta.2",
"@react-router/dev": "^7.4.1",
"@rsbuild/core": "1.3.2",
"@rsbuild/plugin-react": "^1.1.1",
"@rsdoctor/rspack-plugin": "^0.4.13",
"@types/express": "^5.0.0",
Expand Down
28 changes: 28 additions & 0 deletions examples/default-template/cjs-serve-patch.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
// Patch for handling CJS output from the build
const app = require('./build/server/static/js/app.js');

// Export all the top-level keys needed by react-router-serve
const {
assets,
assetsBuildDirectory,
basename,
entry,
future,
isSpaMode,
prerender,
publicPath,
routes,
ssr
} = app;

// Export each property individually
exports.assets = assets;
exports.assetsBuildDirectory = assetsBuildDirectory;
exports.basename = basename;
exports.entry = entry;
exports.future = future;
exports.isSpaMode = isSpaMode;
exports.prerender = prerender;
exports.publicPath = publicPath;
exports.routes = routes;
exports.ssr = ssr;
20 changes: 12 additions & 8 deletions examples/default-template/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,34 +4,38 @@
"type": "module",
"scripts": {
"build": "rsbuild build",
"dev": "rsbuild dev",
"start": "react-router-serve ./build/server/index.js",
"dev": "NODE_OPTIONS=\"--experimental-vm-modules --experimental-global-webcrypto\" rsbuild dev",
"start:esm": "react-router-serve ./build/server/static/js/app.js",
"start:cjs": "react-router-serve ./cjs-serve-patch.cjs",
"typecheck": "react-router typegen && tsc",
"test:e2e": "pnpm run dev & sleep 5 && playwright test",
"test:e2e:debug": "playwright test --debug",
"test:e2e:ui": "playwright test --ui"
},
"dependencies": {
"@react-router/express": "^7.4.0",
"@react-router/node": "^7.4.0",
"@react-router/serve": "^7.4.0",
"@react-router/express": "^7.4.1",
"@react-router/node": "^7.4.1",
"@react-router/serve": "^7.4.1",
"isbot": "^5.1.17",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-router": "^7.4.0"
"react-router": "^7.4.1"
},
"devDependencies": {
"@playwright/test": "^1.50.1",
"@react-router/dev": "^7.4.0",
"@rsbuild/core": "1.3.0-beta.2",
"@react-router/dev": "^7.4.1",
"@rsbuild/core": "1.3.2",
"@rsbuild/plugin-react": "^1.1.1",
"@tailwindcss/postcss": "^4.0.0",
"@types/node": "^20",
"@types/react": "^19.0.1",
"@types/react-dom": "^19.0.1",
"cross-env": "7.0.3",
"react-router-devtools": "^1.1.6",
"rsbuild-plugin-react-router": "workspace:*",
"string-replace-loader": "^3.1.0",
"tailwindcss": "^4.0.0",
"text-encoder-lite": "^2.0.0",
"typescript": "^5.7.2",
"vite": "^5.4.11",
"vite-tsconfig-paths": "^5.1.4"
Expand Down
2 changes: 1 addition & 1 deletion examples/epic-stack/.vscode/remix.code-snippets
Original file line number Diff line number Diff line change
Expand Up @@ -77,4 +77,4 @@
"}",
],
},
}
}
2 changes: 1 addition & 1 deletion examples/epic-stack/app/root.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ import { type Theme, getTheme } from './utils/theme.server.ts'
import { makeTimings, time } from './utils/timing.server.ts'
import { getToast } from './utils/toast.server.ts'
import { useOptionalUser } from './utils/user.ts'
import "./styles/tailwind.css"
import './styles/tailwind.css'

export const links: Route.LinksFunction = () => {
return [
Expand Down
2 changes: 1 addition & 1 deletion examples/epic-stack/app/utils/db.server.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { remember } from '@epic-web/remember'
import {PrismaClient} from '@prisma/client/index'
import { PrismaClient } from '@prisma/client/index'

import chalk from 'chalk'

Expand Down
5 changes: 4 additions & 1 deletion examples/epic-stack/docs/server-timing.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,10 @@ export async function loader({ params }: Route.LoaderArgs) {
// We have a general headers handler to save you from boilerplating.
export const headers: HeadersFunction = pipeHeaders
// this is basically what it does though
export const headers: Route.HeadersFunction = ({ loaderHeaders, parentHeaders }) => {
export const headers: Route.HeadersFunction = ({
loaderHeaders,
parentHeaders,
}) => {
return {
'Server-Timing': combineServerTimings(parentHeaders, loaderHeaders), // <-- 4. Send headers
}
Expand Down
7 changes: 3 additions & 4 deletions examples/epic-stack/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,15 @@ sourceMapSupport.install({
},
})


if (process.env.MOCKS === 'true') {
await import('./tests/mocks/index.ts')
}

if (process.env.NODE_ENV === 'production') {
let build = (await import('./build/server/static/js/app.js'))
build = build?.default || build;
let build = await import('./build/server/static/js/app.js')
build = build?.default || build
build = build?.createApp || build
build();
build()
} else {
await import('./server/dev-build.js')
}
8 changes: 4 additions & 4 deletions examples/epic-stack/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -63,10 +63,10 @@
"@radix-ui/react-tooltip": "1.1.7",
"@react-email/components": "0.0.32",
"@react-router/express": "7.4.0",
"@react-router/node": "^7.4.0",
"@react-router/node": "^7.4.1",
"@react-router/remix-routes-option-adapter": "7.4.0",
"@remix-run/server-runtime": "2.15.3",
"@rsbuild/core": "1.3.0-beta.2",
"@rsbuild/core": "1.3.2",
"@rsbuild/plugin-react": "1.1.1",
"@sentry/node": "8.54.0",
"@sentry/profiling-node": "8.54.0",
Expand Down Expand Up @@ -100,7 +100,7 @@
"qrcode": "1.5.4",
"react": "19.0.0",
"react-dom": "19.0.0",
"react-router": "^7.4.0",
"react-router": "^7.4.1",
"remix-auth": "3.7.0",
"remix-auth-github": "1.7.0",
"remix-utils": "8.1.0",
Expand All @@ -120,7 +120,7 @@
"@epic-web/config": "1.16.5",
"@faker-js/faker": "9.4.0",
"@playwright/test": "1.50.1",
"@react-router/dev": "^7.4.0",
"@react-router/dev": "^7.4.1",
"@sentry/vite-plugin": "3.1.2",
"@sly-cli/sly": "1.14.0",
"@testing-library/dom": "10.4.0",
Expand Down
28 changes: 14 additions & 14 deletions examples/epic-stack/rsbuild.config.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
import { defineConfig } from '@rsbuild/core';
import { pluginReact } from '@rsbuild/plugin-react';
import { pluginReactRouter } from 'rsbuild-plugin-react-router';
import 'react-router';
import { defineConfig } from '@rsbuild/core'
import { pluginReact } from '@rsbuild/plugin-react'
import { pluginReactRouter } from 'rsbuild-plugin-react-router'
import 'react-router'

export default defineConfig(() => {
return {
output: {
externals: [
'better-sqlite3',
'express',
]
},
plugins: [pluginReactRouter({customServer: true, serverOutput: 'commonjs'}), pluginReact()],
};
});
return {
output: {
externals: ['better-sqlite3', 'express'],
},
plugins: [
pluginReactRouter({ customServer: true, serverOutput: 'commonjs' }),
pluginReact(),
],
}
})
26 changes: 13 additions & 13 deletions examples/epic-stack/server/dev-build.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,22 @@ import { createRsbuild, loadConfig } from '@rsbuild/core'
import 'dotenv/config'

async function startServer() {
const config = await loadConfig()
const rsbuild = await createRsbuild({
rsbuildConfig: config.content,
})
const devServer = await rsbuild.createDevServer()
const config = await loadConfig()
const rsbuild = await createRsbuild({
rsbuildConfig: config.content,
})
const devServer = await rsbuild.createDevServer()

// Load the bundle first to get createApp
if (!devServer.environments?.node) {
throw new Error('Node environment not found in dev server')
}
// Load the bundle first to get createApp
if (!devServer.environments?.node) {
throw new Error('Node environment not found in dev server')
}

const bundle = await devServer.environments.node.loadBundle('app')
const { createApp } = bundle
const app = await createApp(devServer)
const bundle = await devServer.environments.node.loadBundle('app')
const { createApp } = bundle
const app = await createApp(devServer)

devServer.connectWebSocket({ server: app })
devServer.connectWebSocket({ server: app })
}

void startServer().catch(console.error)
1 change: 0 additions & 1 deletion examples/epic-stack/server/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ sourceMapSupport.install({
},
})


const MODE = process.env.NODE_ENV ?? 'development'
const IS_PROD = MODE === 'production'
const IS_DEV = MODE === 'development'
Expand Down
2 changes: 1 addition & 1 deletion examples/epic-stack/server/utils/monitoring.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {PrismaInstrumentation} from '@prisma/instrumentation'
import { PrismaInstrumentation } from '@prisma/instrumentation'
import * as Sentry from '@sentry/node'
import { nodeProfilingIntegration } from '@sentry/profiling-node'

Expand Down
8 changes: 4 additions & 4 deletions examples/federation/epic-stack-remote/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -66,10 +66,10 @@
"@radix-ui/react-tooltip": "1.1.7",
"@react-email/components": "0.0.32",
"@react-router/express": "7.4.0",
"@react-router/node": "^7.4.0",
"@react-router/node": "^7.4.1",
"@react-router/remix-routes-option-adapter": "7.4.0",
"@remix-run/server-runtime": "2.15.3",
"@rsbuild/core": "1.3.0-beta.2",
"@rsbuild/core": "1.3.2",
"@rsbuild/plugin-react": "1.1.1",
"@sentry/node": "8.54.0",
"@sentry/profiling-node": "8.54.0",
Expand Down Expand Up @@ -103,7 +103,7 @@
"qrcode": "1.5.4",
"react": "19.0.0",
"react-dom": "19.0.0",
"react-router": "^7.4.0",
"react-router": "^7.4.1",
"remix-auth": "3.7.0",
"remix-auth-github": "1.7.0",
"remix-utils": "8.1.0",
Expand All @@ -122,7 +122,7 @@
"@epic-web/config": "1.16.5",
"@faker-js/faker": "9.4.0",
"@playwright/test": "1.50.1",
"@react-router/dev": "^7.4.0",
"@react-router/dev": "^7.4.1",
"@sly-cli/sly": "1.14.0",
"@testing-library/dom": "10.4.0",
"@testing-library/jest-dom": "6.6.3",
Expand Down
8 changes: 4 additions & 4 deletions examples/federation/epic-stack/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -66,10 +66,10 @@
"@radix-ui/react-tooltip": "1.1.7",
"@react-email/components": "0.0.32",
"@react-router/express": "7.4.0",
"@react-router/node": "^7.4.0",
"@react-router/node": "^7.4.1",
"@react-router/remix-routes-option-adapter": "7.4.0",
"@remix-run/server-runtime": "2.15.3",
"@rsbuild/core": "1.3.0-beta.2",
"@rsbuild/core": "1.3.2",
"@rsbuild/plugin-react": "1.1.1",
"@sentry/node": "8.54.0",
"@sentry/profiling-node": "8.54.0",
Expand Down Expand Up @@ -103,7 +103,7 @@
"qrcode": "1.5.4",
"react": "19.0.0",
"react-dom": "19.0.0",
"react-router": "^7.4.0",
"react-router": "^7.4.1",
"remix-auth": "3.7.0",
"remix-auth-github": "1.7.0",
"remix-utils": "8.1.0",
Expand All @@ -122,7 +122,7 @@
"@epic-web/config": "1.16.5",
"@faker-js/faker": "9.4.0",
"@playwright/test": "1.50.1",
"@react-router/dev": "^7.4.0",
"@react-router/dev": "^7.4.1",
"@sly-cli/sly": "1.14.0",
"@testing-library/dom": "10.4.0",
"@testing-library/jest-dom": "6.6.3",
Expand Down
Loading