From 6392e41ba9d3d3d4c54485efacfdb349dacb24d6 Mon Sep 17 00:00:00 2001 From: Jiachi Liu Date: Thu, 14 Dec 2023 15:01:58 +0100 Subject: [PATCH] fix react refresh --- packages/next/src/build/webpack-config.ts | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/packages/next/src/build/webpack-config.ts b/packages/next/src/build/webpack-config.ts index d7ba9a2afd789..4d5f9ff6e28e4 100644 --- a/packages/next/src/build/webpack-config.ts +++ b/packages/next/src/build/webpack-config.ts @@ -496,7 +496,6 @@ export default async function getBaseWebpackConfig( // client components layers: SSR + browser const swcLoaderForClientLayer = [ - ...reactRefreshLoaders, { // This loader handles actions and client entries // in the client layer. @@ -1391,15 +1390,29 @@ export default async function getBaseWebpackConfig( }, { test: codeCondition.test, - issuerLayer: [WEBPACK_LAYERS.appPagesBrowser], + issuerLayer: WEBPACK_LAYERS.appPagesBrowser, use: swcLoaderForClientLayer, resolve: { mainFields: getMainField(compilerType, true), }, }, + // Do not apply react-refresh-loader to node_modules for app router browser layer + ...(dev && isClient + ? [ + { + test: codeCondition.test, + exclude: codeCondition.exclude, + issuerLayer: WEBPACK_LAYERS.appPagesBrowser, + use: reactRefreshLoaders, + resolve: { + mainFields: getMainField(compilerType, true), + }, + }, + ] + : []), { test: codeCondition.test, - issuerLayer: [WEBPACK_LAYERS.serverSideRendering], + issuerLayer: WEBPACK_LAYERS.serverSideRendering, use: swcLoaderForClientLayer, resolve: { mainFields: getMainField(compilerType, true),