Search code examples
webpackwebpack-5

Webpack 5: devtool ValidationError, invalid configuration object


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?


Solution

  • 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.