diff --git a/packages/next/build/webpack-config.ts b/packages/next/build/webpack-config.ts index c3378ec65636..54904755d64c 100644 --- a/packages/next/build/webpack-config.ts +++ b/packages/next/build/webpack-config.ts @@ -1274,6 +1274,7 @@ export default async function getBaseWebpackConfig( }, plugins: [ ...getMiddlewareSourceMapPlugins({ + isConfigured: !!config.experimental.middlewareSourceMaps, isProductionBrowserSourceMapsOn: config.productionBrowserSourceMaps, }), hasReactRefresh && new ReactRefreshWebpackPlugin(webpack), diff --git a/packages/next/build/webpack/plugins/middleware-source-maps-plugin.ts b/packages/next/build/webpack/plugins/middleware-source-maps-plugin.ts index 13d9ef93eb7b..72f6248a9ce3 100644 --- a/packages/next/build/webpack/plugins/middleware-source-maps-plugin.ts +++ b/packages/next/build/webpack/plugins/middleware-source-maps-plugin.ts @@ -8,9 +8,10 @@ import type { webpack5 } from 'next/dist/compiled/webpack/webpack' * are emitted. */ export const getMiddlewareSourceMapPlugins = (params: { + isConfigured: boolean isProductionBrowserSourceMapsOn: boolean }) => { - if (params.isProductionBrowserSourceMapsOn) { + if (!params.isConfigured || params.isProductionBrowserSourceMapsOn) { return [] } diff --git a/packages/next/server/config-shared.ts b/packages/next/server/config-shared.ts index a580ee537efb..b927e37ffdc8 100644 --- a/packages/next/server/config-shared.ts +++ b/packages/next/server/config-shared.ts @@ -106,6 +106,7 @@ export interface ExperimentalConfig { urlImports?: NonNullable['buildHttp'] outputFileTracingRoot?: string outputStandalone?: boolean + middlewareSourceMaps?: boolean } /**