From 97d7f6e24745ad7880c8b59df41ba3df9dfc1a24 Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Thu, 23 Jan 2025 18:09:56 +0900 Subject: [PATCH 1/4] fix: backward compat for `server.preTransformRequests` --- packages/vite/src/node/config.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/vite/src/node/config.ts b/packages/vite/src/node/config.ts index 9c2e36cd9d9ea3..19f1340946aeb2 100644 --- a/packages/vite/src/node/config.ts +++ b/packages/vite/src/node/config.ts @@ -1110,6 +1110,16 @@ export async function resolveConfig( configEnvironmentsSsr.dev.warmup = warmupOptions.ssrFiles } + // Backward compatibility: server.preTransformRequests -> environment.dev.preTransformRequests + if (typeof config.server?.preTransformRequests !== 'undefined') { + configEnvironmentsClient.dev.preTransformRequests = + config.server?.preTransformRequests + configEnvironmentsSsr ??= {} + configEnvironmentsSsr.dev ??= {} + configEnvironmentsSsr.dev.preTransformRequests ??= + config.server?.preTransformRequests + } + // Backward compatibility: merge ssr into environments.ssr.config as defaults if (configEnvironmentsSsr) { configEnvironmentsSsr.optimizeDeps = mergeConfig( From d4f406eb59b7948bc82ee46899f5111aeccac653 Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Sat, 25 Jan 2025 11:27:24 +0900 Subject: [PATCH 2/4] fix: respect server.preTransformRequests --- packages/vite/src/node/config.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/node/config.ts b/packages/vite/src/node/config.ts index 19f1340946aeb2..7efa2d6899ac08 100644 --- a/packages/vite/src/node/config.ts +++ b/packages/vite/src/node/config.ts @@ -739,12 +739,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 @@ -775,6 +776,7 @@ function resolveEnvironmentOptions( // Backward compatibility skipSsrTransform?: boolean, isSsrTargetWebworkerSet?: boolean, + preTransformRequests?: boolean, ): ResolvedEnvironmentOptions { const isClientEnvironment = environmentName === 'client' const consumer = @@ -806,6 +808,7 @@ function resolveEnvironmentOptions( environmentName, consumer, skipSsrTransform, + preTransformRequests, ), build: resolveBuildEnvironmentOptions( options.build ?? {}, @@ -1206,6 +1209,7 @@ export async function resolveConfig( environmentName, config.experimental?.skipSsrTransform, config.ssr?.target === 'webworker', + config.server?.preTransformRequests, ) } From 7327642332c3724c51b0070a92e77b5ceca40e99 Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Sat, 25 Jan 2025 11:27:56 +0900 Subject: [PATCH 3/4] chore: cleanup --- packages/vite/src/node/config.ts | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/packages/vite/src/node/config.ts b/packages/vite/src/node/config.ts index 7efa2d6899ac08..0d9dcffce4973b 100644 --- a/packages/vite/src/node/config.ts +++ b/packages/vite/src/node/config.ts @@ -1113,16 +1113,6 @@ export async function resolveConfig( configEnvironmentsSsr.dev.warmup = warmupOptions.ssrFiles } - // Backward compatibility: server.preTransformRequests -> environment.dev.preTransformRequests - if (typeof config.server?.preTransformRequests !== 'undefined') { - configEnvironmentsClient.dev.preTransformRequests = - config.server?.preTransformRequests - configEnvironmentsSsr ??= {} - configEnvironmentsSsr.dev ??= {} - configEnvironmentsSsr.dev.preTransformRequests ??= - config.server?.preTransformRequests - } - // Backward compatibility: merge ssr into environments.ssr.config as defaults if (configEnvironmentsSsr) { configEnvironmentsSsr.optimizeDeps = mergeConfig( From 0e056cc113ac860772f72a7182548cd109fcba9a Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Sat, 25 Jan 2025 17:00:09 +0900 Subject: [PATCH 4/4] test: add test --- .../vite/src/node/__tests__/config.spec.ts | 94 +++++++++++++++++++ 1 file changed, 94 insertions(+) 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, + } + `) +})