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 to webassembly/async
      • rename webassembly/experimental to webassembly/sync
      • add experiments.syncWebAssembly
      • add experiments.asyncWebAssembly
    • ➕ 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
    • 🍱 separate between files and auxiliaryFiles 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 to failedModule and succeedModule 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 and toLocaleTimeString 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