Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(webpack): warn when using deprecated build.extend hook #20605

Merged
merged 6 commits into from May 8, 2023
22 changes: 9 additions & 13 deletions packages/webpack/src/utils/config.ts
Expand Up @@ -57,20 +57,16 @@ export function fileName (ctx: WebpackConfigContext, key: string) {
}

export function getWebpackConfig (ctx: WebpackConfigContext): Configuration {
const { options, config } = ctx

// TODO
const builder = {}
const loaders: any[] = []

// @ts-expect-error TODO: remove support for `build.extend` in v3.5
const { extend } = options.build
danielroe marked this conversation as resolved.
Show resolved Hide resolved
// @ts-expect-error TODO: remove support for `build.extend` in v3.6
const { extend } = ctx.options.build
if (typeof extend === 'function') {
logger.warn('[nuxt] The `build.extend` and `webpack.build.extend` properties have been deprecated in Nuxt 3 for some time and will be removed in a future minor release. Instead, you can extend webpack config using the `webpack:config` hook.')

const extendedConfig = extend.call(
builder,
config,
{ loaders, ...ctx }
) || config
{},
ctx.config,
{ loaders: [], ...ctx }
) || ctx.config

const pragma = /@|#/
const { devtool } = extendedConfig
Expand All @@ -83,5 +79,5 @@ export function getWebpackConfig (ctx: WebpackConfigContext): Configuration {
}

// Clone deep avoid leaking config between Client and Server
return cloneDeep(config)
return cloneDeep(ctx.config)
}