From bcf79673e1a0fe57b0cdbef59183d9c7c39fc6e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8D=89=E9=9E=8B=E6=B2=A1=E5=8F=B7?= <308487730@qq.com> Date: Mon, 4 Jul 2022 10:27:49 +0800 Subject: [PATCH] feat: `build.target: ['nodeXX']` ignore replace process.env --- packages/vite/src/node/plugins/define.ts | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/node/plugins/define.ts b/packages/vite/src/node/plugins/define.ts index 0448327d660ed6..b2d9243d91e61e 100644 --- a/packages/vite/src/node/plugins/define.ts +++ b/packages/vite/src/node/plugins/define.ts @@ -11,6 +11,19 @@ const isNonJsRequest = (request: string): boolean => nonJsRe.test(request) export function definePlugin(config: ResolvedConfig): Plugin { const isBuild = config.command === 'build' const isBuildLib = isBuild && config.build.lib + let isTargetNode: boolean | undefined + + if ( + Array.isArray(config.build.target) && + config.build.target.find((e) => e.startsWith('node')) + ) { + isTargetNode = true + } else if ( + typeof config.build.target === 'string' && + config.build.target.startsWith('node') + ) { + isTargetNode = true + } // ignore replace process.env in lib build const processEnv: Record = {} @@ -58,7 +71,8 @@ export function definePlugin(config: ResolvedConfig): Plugin { function generatePattern( ssr: boolean ): [Record, RegExp | null] { - const replaceProcessEnv = !ssr || config.ssr?.target === 'webworker' + const replaceProcessEnv = + !(ssr || isTargetNode) || config.ssr?.target === 'webworker' const replacements: Record = { ...(replaceProcessEnv ? processNodeEnv : {}),