From 12aaa585bc3fac403bf93f48ea117482cc7f43b1 Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Mon, 3 Feb 2025 23:45:03 +0900 Subject: [PATCH] fix: respect top-level `server.preTransformRequests` (#19272) --- .../vite/src/node/__tests__/config.spec.ts | 94 +++++++++++++++++++ packages/vite/src/node/config.ts | 6 +- 2 files changed, 99 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/node/__tests__/config.spec.ts b/packages/vite/src/node/__tests__/config.spec.ts index e2966f262add71..82f4a3973085f8 100644 --- a/packages/vite/src/node/__tests__/config.spec.ts +++ b/packages/vite/src/node/__tests__/config.spec.ts @@ -513,3 +513,97 @@ test('config compat 3', async () => { ] `) }) + +test('preTransformRequests', async () => { + async function testConfig(inlineConfig: InlineConfig) { + return Object.fromEntries( + Object.entries( + (await resolveConfig(inlineConfig, 'serve')).environments, + ).map(([name, e]) => [name, e.dev.preTransformRequests]), + ) + } + + expect( + await testConfig({ + environments: { + custom: {}, + customTrue: { + dev: { + preTransformRequests: true, + }, + }, + customFalse: { + dev: { + preTransformRequests: false, + }, + }, + }, + }), + ).toMatchInlineSnapshot(` + { + "client": true, + "custom": false, + "customFalse": false, + "customTrue": true, + "ssr": false, + } + `) + + expect( + await testConfig({ + server: { + preTransformRequests: true, + }, + environments: { + custom: {}, + customTrue: { + dev: { + preTransformRequests: true, + }, + }, + customFalse: { + dev: { + preTransformRequests: false, + }, + }, + }, + }), + ).toMatchInlineSnapshot(` + { + "client": true, + "custom": true, + "customFalse": false, + "customTrue": true, + "ssr": true, + } + `) + + expect( + await testConfig({ + server: { + preTransformRequests: false, + }, + environments: { + custom: {}, + customTrue: { + dev: { + preTransformRequests: true, + }, + }, + customFalse: { + dev: { + preTransformRequests: false, + }, + }, + }, + }), + ).toMatchInlineSnapshot(` + { + "client": false, + "custom": false, + "customFalse": false, + "customTrue": true, + "ssr": false, + } + `) +}) diff --git a/packages/vite/src/node/config.ts b/packages/vite/src/node/config.ts index 00444570cbfdea..ca3d8498d0bc16 100644 --- a/packages/vite/src/node/config.ts +++ b/packages/vite/src/node/config.ts @@ -745,12 +745,13 @@ export function resolveDevEnvironmentOptions( consumer: 'client' | 'server' | undefined, // Backward compatibility skipSsrTransform?: boolean, + preTransformRequest?: boolean, ): ResolvedDevEnvironmentOptions { const resolved = mergeWithDefaults( { ...configDefaults.dev, sourcemapIgnoreList: isInNodeModules, - preTransformRequests: consumer === 'client', + preTransformRequests: preTransformRequest ?? consumer === 'client', createEnvironment: environmentName === 'client' ? defaultCreateClientDevEnvironment @@ -782,6 +783,7 @@ function resolveEnvironmentOptions( // Backward compatibility skipSsrTransform?: boolean, isSsrTargetWebworkerSet?: boolean, + preTransformRequests?: boolean, ): ResolvedEnvironmentOptions { const isClientEnvironment = environmentName === 'client' const consumer = @@ -814,6 +816,7 @@ function resolveEnvironmentOptions( environmentName, consumer, skipSsrTransform, + preTransformRequests, ), build: resolveBuildEnvironmentOptions( options.build ?? {}, @@ -1212,6 +1215,7 @@ export async function resolveConfig( environmentName, config.experimental?.skipSsrTransform, config.ssr?.target === 'webworker', + config.server?.preTransformRequests, ) }