Webpack 5: devtool ValidationError, invalid configuration object

ztom picture ztom · Jun 26, 2020 · Viewed 17.2k times · Source

While migrating from Webpack 4 to Webpack 5 I got an error when using devtool with empty value (only in production mode).

module.exports = {
    devtool: isProd ? '' : 'source-map',
    // entry: ...
    // output: ...
    // module: ...
}

The message in the console:

ValidationError: Invalid configuration object. Webpack has been initialized using a configuration object that does not match the API schema.
 - configuration.devtool should match pattern "^(inline-|hidden-|eval-)?(nosources-)?(cheap-(module-)?)?source-map$".
   BREAKING CHANGE since webpack 5: The devtool option is more strict.
   Please strictly follow the order of the keywords in the pattern.

Any ideas how to avoid source maps in production mode? What to type in there?

Answer

ztom picture ztom · Jul 1, 2020

Answer to own question! Spoiler: false.

module.exports = {
    devtool: isProd ? false : 'source-map',
}

In Webpack 4 it was possible to value this with an empty string. webpack 5 is more strict. Webpacks devtool configuration.