diff --git a/packages/plugin-rsc/e2e/validate-imports.test.ts b/packages/plugin-rsc/e2e/validate-imports.test.ts index 7f032bad..a7c95d63 100644 --- a/packages/plugin-rsc/e2e/validate-imports.test.ts +++ b/packages/plugin-rsc/e2e/validate-imports.test.ts @@ -103,7 +103,7 @@ test.describe('validate imports', () => { nodeOptions: { cwd: root }, }) expect(result.stderr).toContain( - `'server-only' cannot be imported in client build`, + `[rsc:validate-imports] 'server-only' cannot be imported in client build`, ) expect(result.exitCode).not.toBe(0) }) @@ -152,7 +152,7 @@ test.describe('validate imports', () => { nodeOptions: { cwd: root }, }) expect(result.stderr).toContain( - `'client-only' cannot be imported in server build`, + `[rsc:validate-imports] 'client-only' cannot be imported in server build`, ) expect(result.exitCode).not.toBe(0) }) diff --git a/packages/plugin-rsc/src/plugin.ts b/packages/plugin-rsc/src/plugin.ts index a89b3fb8..1a3d75fa 100644 --- a/packages/plugin-rsc/src/plugin.ts +++ b/packages/plugin-rsc/src/plugin.ts @@ -1311,7 +1311,8 @@ function vitePluginUseClient( async handler(source, importer, options) { if ( this.environment.name === serverEnvironmentName && - bareImportRE.test(source) + bareImportRE.test(source) && + !(source === 'client-only' || source === 'server-only') ) { const resolved = await this.resolve(source, importer, options) if (resolved && resolved.id.includes('/node_modules/')) {