From bd9e97bd1b9156059b78b531871a12f6f47c04b1 Mon Sep 17 00:00:00 2001 From: toSayNothing <91143836+toSayNothing@users.noreply.github.com> Date: Wed, 5 Jan 2022 02:41:08 +0800 Subject: [PATCH] fix(plugin-react): check for import React statement in .js files (#6320) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: reactPlugin skip inject react hmr code to workerFile (fix #6148) * Revert "fix: reactPlugin skip inject react hmr code to workerFile (fix #6148)" This reverts commit 136883d9ae3f222a3316dfe53edc33baa1a64e84. * fix(plugin-react): check for import React statement in .js files …instead of using naïve `code.includes("react")` check Co-authored-by: Alec Larson <1925840+aleclarson@users.noreply.github.com> --- packages/plugin-react/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/plugin-react/src/index.ts b/packages/plugin-react/src/index.ts index 5cbfc83c9bbbd5..b41efc78a05255 100644 --- a/packages/plugin-react/src/index.ts +++ b/packages/plugin-react/src/index.ts @@ -118,7 +118,7 @@ export default function viteReact(opts: Options = {}): PluginOption[] { let useFastRefresh = false if (!skipFastRefresh && !ssr && !isNodeModules) { // Modules with .js or .ts extension must import React. - const isReactModule = isJSX || code.includes('react') + const isReactModule = isJSX || importReactRE.test(code) if (isReactModule && filter(id)) { useFastRefresh = true plugins.push([