webpack v5.0.0-alpha.19 Release Notes
Release Date: 2019-08-06 // over 4 years ago-
🔋 Features
- ➕ add
afterDone
hook to Compiler - ⬆️ upgrade watchpack, which adds
watchOptions.followSymlinks
- experimental -> experiments
- rename
webassembly/async-experimental
towebassembly/async
- rename
webassembly/experimental
towebassembly/sync
- add
experiments.syncWebAssembly
- add
experiments.asyncWebAssembly
- rename
- ➕ add
asset
module type experiment- add
experiments.asset
- add
output.assetModuleFilename
(string or function) - add
type: "asset"
for asset module type in rules - add
asset
examples
- add
- 🍱 separate between
files
andauxiliaryFiles
for chunk assets- normal files: JS, CSS (tags need to be added for entrypoints)
- auxiliary files: WASM, assets, any loader emitted file (no tags need to be added for entrypoints)
- auxiliary files are displayed in brackets in Stats
- 🔌 Some core implementations and plugins do some time and statistics logging now (try
stats.loggingDebug: /webpack/
) - ➕ add
Compilation.hooks.stillValidModule
similar tofailedModule
andsucceedModule
when a module has been taken from cache
🛠 Bugfixes
- undefined values are now ignored in rules
- 🛠 fix schema of
resolve.alias
when array (properties are now required) - pass
idleTimeout
to persistent caching implementation - 🛠 fix module done counting for cached modules
- ➕ add back
stats.cachedAssets
- 🛠 fix stats option processing for objects with prototype chain
- track call context in concatenated modules correctly
🐎 Performance
- ⬆️ upgrade enhanced-resolve to fix some function deopts
- 🛠 fix some function deopts in webpack
- 🐎 avoid using
toLocaleDateString
andtoLocaleTimeString
for performance (intl need to be initialized) - ChunkGroup parents and children are no longer sorted
- 🍱 Stats assigns chunks with assets only once, instead of for every asset
- 🖨 StatsFactory and StatsPrinter cache used hooks for items
- Hashes for small data < 1kb is cached
- 🗄 Put deprecation stuff for Sets in prototype instead of on every instance
- Cache Map lookups and create less objects during module dependency processing
- 0️⃣ default
cache.idleTimeout
to 60s instead of 10s
Examples
- ➕ add typescript example
Contributing
- ➕ add a typing coverage report, to see type coverage of the repo
- ⬆️ upgraded many dependencies
- ➕ add