Skip to content

Commit

Permalink
refactor refresh loaders
Browse files Browse the repository at this point in the history
  • Loading branch information
huozhi committed Dec 14, 2023
1 parent 98014fd commit b4c98ae
Showing 1 changed file with 7 additions and 18 deletions.
25 changes: 7 additions & 18 deletions packages/next/src/build/webpack-config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -142,14 +142,14 @@ const devtoolRevertWarning = execOnce(

let loggedSwcDisabled = false
let loggedIgnoredCompilerOptions = false
const reactRefreshLoaderName =
'next/dist/compiled/@next/react-refresh-utils/dist/loader'

export function attachReactRefresh(
webpackConfig: webpack.Configuration,
targetLoader: webpack.RuleSetUseItem
) {
let injections = 0
const reactRefreshLoaderName =
'next/dist/compiled/@next/react-refresh-utils/dist/loader'
const reactRefreshLoader = require.resolve(reactRefreshLoaderName)
webpackConfig.module?.rules?.forEach((rule) => {
if (rule && typeof rule === 'object' && 'use' in rule) {
Expand Down Expand Up @@ -491,15 +491,12 @@ export default async function getBaseWebpackConfig(
}),
]

const reactRefreshLoaders =
dev && isClient ? [require.resolve(reactRefreshLoaderName)] : []

// client components layers: SSR + browser
const swcLoaderForClientLayer = [
...(dev && isClient
? [
require.resolve(
'next/dist/compiled/@next/react-refresh-utils/dist/loader'
),
]
: []),
...reactRefreshLoaders,
{
// This loader handles actions and client entries
// in the client layer.
Expand Down Expand Up @@ -1412,15 +1409,7 @@ export default async function getBaseWebpackConfig(
: []),
{
...codeCondition,
use:
dev && isClient
? [
require.resolve(
'next/dist/compiled/@next/react-refresh-utils/dist/loader'
),
defaultLoaders.babel,
]
: defaultLoaders.babel,
use: [...reactRefreshLoaders, defaultLoaders.babel],
},
],
},
Expand Down

0 comments on commit b4c98ae

Please sign in to comment.