From de41c1c81bfc72dab53a5133363cb0134fa70263 Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Mon, 11 Aug 2025 14:42:38 +0900 Subject: [PATCH 1/4] fix(rsc): remove non-optimized server cjs warning --- packages/plugin-rsc/src/plugins/cjs.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/plugin-rsc/src/plugins/cjs.ts b/packages/plugin-rsc/src/plugins/cjs.ts index a232f69cb..6ba74ec35 100644 --- a/packages/plugin-rsc/src/plugins/cjs.ts +++ b/packages/plugin-rsc/src/plugins/cjs.ts @@ -5,6 +5,9 @@ import path from 'node:path' import fs from 'node:fs' import * as esModuleLexer from 'es-module-lexer' import { transformCjsToEsm } from '../transforms/cjs' +import { createDebug } from '@hiogawa/utils' + +const debug = createDebug('vite-rsc:cjs') export function cjsModuleRunnerPlugin(): Plugin[] { // use-sync-external-store is known to work fine so don't show warning @@ -43,7 +46,7 @@ export function cjsModuleRunnerPlugin(): Plugin[] { // warning once per package const packageKey = extractPackageKey(id) if (!warnedPackages.has(packageKey)) { - this.warn( + debug( `Found non-optimized CJS dependency in '${this.environment.name}' environment. ` + `It is recommended to add the dependency to 'environments.${this.environment.name}.optimizeDeps.include'.`, ) From e984b2aeb706615cc14ae63f2cbac7f2c5a3eaa7 Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Mon, 11 Aug 2025 14:46:38 +0900 Subject: [PATCH 2/4] chore: simplify react-router cf config --- packages/plugin-rsc/examples/react-router/cf/vite.config.ts | 2 -- packages/plugin-rsc/src/plugins/cjs.ts | 3 +-- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/plugin-rsc/examples/react-router/cf/vite.config.ts b/packages/plugin-rsc/examples/react-router/cf/vite.config.ts index 8cf7a02f5..6895d0c12 100644 --- a/packages/plugin-rsc/examples/react-router/cf/vite.config.ts +++ b/packages/plugin-rsc/examples/react-router/cf/vite.config.ts @@ -45,13 +45,11 @@ export default defineConfig({ }, ssr: { optimizeDeps: { - include: ['react-router > cookie', 'react-router > set-cookie-parser'], exclude: ['react-router'], }, }, rsc: { optimizeDeps: { - include: ['react-router > cookie', 'react-router > set-cookie-parser'], exclude: ['react-router'], }, }, diff --git a/packages/plugin-rsc/src/plugins/cjs.ts b/packages/plugin-rsc/src/plugins/cjs.ts index 6ba74ec35..d18ae1923 100644 --- a/packages/plugin-rsc/src/plugins/cjs.ts +++ b/packages/plugin-rsc/src/plugins/cjs.ts @@ -10,8 +10,7 @@ import { createDebug } from '@hiogawa/utils' const debug = createDebug('vite-rsc:cjs') export function cjsModuleRunnerPlugin(): Plugin[] { - // use-sync-external-store is known to work fine so don't show warning - const warnedPackages = new Set(['use-sync-external-store']) + const warnedPackages = new Set() return [ { From 6f4dcb80a0094b15493006cb2308d436f4de8190 Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Mon, 11 Aug 2025 14:50:41 +0900 Subject: [PATCH 3/4] test: update --- packages/plugin-rsc/e2e/basic.test.ts | 10 +++++++++- packages/plugin-rsc/src/plugins/cjs.ts | 3 +-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/plugin-rsc/e2e/basic.test.ts b/packages/plugin-rsc/e2e/basic.test.ts index 680975568..40bbaf24d 100644 --- a/packages/plugin-rsc/e2e/basic.test.ts +++ b/packages/plugin-rsc/e2e/basic.test.ts @@ -58,7 +58,15 @@ test.describe('dev-non-optimized-cjs', () => { ) }) - const f = useFixture({ root: 'examples/basic', mode: 'dev' }) + const f = useFixture({ + root: 'examples/basic', + mode: 'dev', + cliOptions: { + env: { + DEBUG: 'vite-rsc:cjs', + }, + }, + }) test('show warning', async ({ page }) => { await page.goto(f.url()) diff --git a/packages/plugin-rsc/src/plugins/cjs.ts b/packages/plugin-rsc/src/plugins/cjs.ts index d18ae1923..a501bbe04 100644 --- a/packages/plugin-rsc/src/plugins/cjs.ts +++ b/packages/plugin-rsc/src/plugins/cjs.ts @@ -46,8 +46,7 @@ export function cjsModuleRunnerPlugin(): Plugin[] { const packageKey = extractPackageKey(id) if (!warnedPackages.has(packageKey)) { debug( - `Found non-optimized CJS dependency in '${this.environment.name}' environment. ` + - `It is recommended to add the dependency to 'environments.${this.environment.name}.optimizeDeps.include'.`, + `non-optimized CJS dependency in '${this.environment.name}' environment: ${id}`, ) warnedPackages.add(packageKey) } From 232cde22356fd69c219c4576cbe0b02d01ae312d Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Mon, 11 Aug 2025 14:53:40 +0900 Subject: [PATCH 4/4] test: update --- packages/plugin-rsc/e2e/basic.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/plugin-rsc/e2e/basic.test.ts b/packages/plugin-rsc/e2e/basic.test.ts index 40bbaf24d..5cf1c21f2 100644 --- a/packages/plugin-rsc/e2e/basic.test.ts +++ b/packages/plugin-rsc/e2e/basic.test.ts @@ -70,8 +70,8 @@ test.describe('dev-non-optimized-cjs', () => { test('show warning', async ({ page }) => { await page.goto(f.url()) - expect(f.proc().stderr()).toContain( - `Found non-optimized CJS dependency in 'ssr' environment.`, + expect(f.proc().stderr()).toMatch( + /non-optimized CJS dependency in 'ssr' environment.*@vitejs\/test-dep-cjs\/index.js/, ) }) })