Breaking Changes
- uses
target: "browserslist"
as default when a browserslist config has been found, otherwise fallback totarget: "web"
as usual- This could have unexpected changed to the EcmaScript version of the generated code
- In same cases this might causes builds to fail because browserslist contain web and node versions
- In most cases we expect this to simplify migration while still allowing to generate better code
- This partially reverts a breaking change: Instead of changing the generated code from ES5 to ES6, this now changes it from ES5 to an automatic version depending on browserslist when available
Features
- add support for
target: "browserslist"
and more advanced options - expose more classes as needed by plugins
- add
Compiler.watching
- add
parser.worker
for javascript files to allow to modify which syntax is special for WebWorker support - allow
output.chunkFilename
to be a function via schema - allow RegExp for
watchOptions.ignored
via schema - add
resolve.preferRelative
option, which allows to resolve module requests also as relative requests
Migration
- add more hints regarding breaking changes in config
- improve deprecation layer for Array -> Set to allow accessing the first index
- allow to use
splitChunks
name
to move modules to an parent chunk
Bugfixes
- avoid some errors in dependencies when target module failed
- when min(Remaingin)Size is violated, use only modules that are fine, instead of failing for all modules
- fix infinite recursion when having a circular symlink and a context containing it
- warning for importing an disposed module displays the correct module
- fix too wide hash for javascript chunks that caused unnecessary invalidation of the rendered files
- fix
new URL("relative/file.png", import.meta.url)
to resolve relative - update webpack-sources to fix crash with source "." is not in SourceMap
- fix stack overflow in resolving