Webpack 5: devtool ValidationError, недопустимый объект конфигурации

При переходе с Webpack 4 на Webpack 5 у меня возникла ошибка при использовании devtool с пустым значением (только в производственном режиме).

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

Сообщение в консоли:

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.

Есть идеи, как избежать исходных карт в производственном режиме? Что там набирать?

2 ответа

Решение

Ответьте на собственный глупый вопрос! Спойлер:false.

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

В Webpack 4 это можно было оценить с помощью пустой строки. webpack 5 более строгий. Конфигурация Webpacks devtool.

почему-то мой "source-map"был # в нем, как "#source-map"что вызывало эту ошибку. Решил ошибку удалением #из строки.

До:

      devtool: (config.enabled.sourceMaps ? '#source-map' : false)

После:

      devtool: (config.enabled.sourceMaps ? 'source-map' : false)
Другие вопросы по тегам