diff --git a/packages/vite/src/node/plugins/importAnalysis.ts b/packages/vite/src/node/plugins/importAnalysis.ts index 2d2624baf31457..7bd3ea21ede726 100644 --- a/packages/vite/src/node/plugins/importAnalysis.ts +++ b/packages/vite/src/node/plugins/importAnalysis.ts @@ -544,7 +544,7 @@ export function importAnalysisPlugin(config: ResolvedConfig): Plugin { ) // pre-transform known direct imports - if (staticImportedUrls.size) { + if (config.server.preTransformRequests && staticImportedUrls.size) { staticImportedUrls.forEach((url) => { server.transformRequest(unwrapId(removeImportQuery(url)), { ssr }) }) diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index 52343334701f5d..22fe38e974264a 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -114,6 +114,13 @@ export interface ServerOptions extends CommonServerOptions { * @default true */ bindShortcuts?: boolean + /** + * Pre-transform known direct imports + * + * @experimental this option is experimental and might be changed in the future + * @default true + */ + preTransformRequests?: boolean } export interface ResolvedServerOptions extends ServerOptions { @@ -702,7 +709,10 @@ export function resolveServerOptions( root: string, raw?: ServerOptions ): ResolvedServerOptions { - const server = raw || {} + const server: ResolvedServerOptions = { + preTransformRequests: true, + ...(raw as ResolvedServerOptions) + } let allowDirs = server.fs?.allow if (!allowDirs) { @@ -723,7 +733,7 @@ export function resolveServerOptions( allow: allowDirs } server.static = resolveStaticOptions(server) - return server as ResolvedServerOptions + return server } async function restartServer(server: ViteDevServer) {