Skip to content
This repository was archived by the owner on Nov 25, 2021. It is now read-only.

chore(deps): update dependency webpack to v5 #326

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Nov 1, 2020

WhiteSource Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
webpack ^4.43.0 -> ^5.64.3 age adoption passing confidence
@types/webpack 4.41.20 -> 5.28.0 age adoption passing confidence

Release Notes

webpack/webpack

v5.64.3

Compare Source

Performance

  • allow to use pre-compiled schema when Infinity is used in configuration
  • allow to use pre-compiled schema for configuration arrays

v5.64.2

Compare Source

Bugfixes
  • avoid double initial compilation due to invalid dependencies with managedPaths

v5.64.1

Compare Source

Bugfixes
  • fix regexp in managedPaths to exclude additional slash
  • make module.accept errorHandler optional in typings
  • correctly create an async chunk when using a require(...).property in require.ensure
  • fix cleaning of symlinks in output.clean: true
  • fix change detection with unsafeCache within managedPaths (node_modules)
  • bump webpack-sources for Stack Overflow bugfix

v5.64.0

Compare Source

Features

  • add asyncChunks: boolean option to disable creation of async chunks

Bugfixes

  • fix ProfilingPlugin for experiments.backCompat: false

Performance

  • avoid running regexp twice over the file list

v5.63.0

Compare Source

Features
  • allow passing chunkLoading: false to disable on-demand loading
Bugfixes
  • fix import 'single-quote' in esm build dependencies

v5.62.2

Compare Source

Bugfixes

  • fix __system_context__ injection when using the library option on entrypoint
  • enable exportsPresence: "error" by default in futureDefaults
  • fix bad performance for a RegExp in Stats printing (with large error messages)
  • fix exportPresence -> exportsPresence typo
  • fix a bug with module invalidation when only module id changes with experiments.cacheUnaffected

v5.62.1

Compare Source

Bugfix

  • fix invalid generated code when omitting ;

v5.62.0

Compare Source

Features
  • add options to configure export presence checking
    • parser.javascript.reexportExportsPresence: false allows to disable warnings for non-existing exports during the migration from export ... from "..." to export type ... from "..." for type reexports in TypeScript
  • add experiments.backCompat: false to disable some expensive deprecations for better performance
Bugfixes
  • use ['catch'] instead of .catch for better ES3 support
  • fix removed parentheses when using new (require("...")).Something()
  • fix { require } object literals
  • splitChunks.chunks option is now correctly used for splitChunks.fallbackCacheGroup.maxSize too
  • fix schema of listen option, allow to omit port
  • add better support for Promises from different isolates
Developer Experience
  • add typings for the webpack API that is available within modules
    • use /// <reference types="webpack/module" /> to use the typings in typescript modules
    • or "types": [..., "webpack/module"] in tsconfig

v5.61.0

Compare Source

Bugfixes

  • use a wasm md4 implementation for node 17 support
  • include the path submodules in the node.js default externals

Performance

  • improve string to binary conversion performance for hashing

Contribution

  • CI runs on node.js 17

v5.60.0

Compare Source

Features
  • Allow to pass more options to experiments.lazyCompilation. e. g. port, https stuff
Bugfixes
  • fix output.hashFunction used to persistent caching too
  • Initialize buildDependencies Set correctly when loaders are added in beforeLoaders hook

v5.59.1

Compare Source

Bugfixes
  • fix regexp in managedPaths
  • fix hanging when trying to write lockfile for experiments.buildHttp

v5.59.0

Compare Source

Features

  • add /*#__PURE__*/ for Object() in generated code
  • add RegExp and function support for managed/immutablePaths
  • add hooks for multiple phases in module build
  • improvements to experiments.buildHttp
    • allow to share cache
    • add allowlist
  • add splitChunks.minSizeReduction option

Bugfixes

  • fix memory caching for Data URLs
  • fix crash in waitFor when modules are unsafe cached
  • fix bug in build cycle detection

v5.58.2

Compare Source

Bugfixes

  • fix serialization context passed
  • fix a bug which caused module duplication when using persistent caching, unsafe cache and memory cache with GC
  • fix validation of snapshots of non-existing directories

Performance

v5.58.1

Compare Source

Bugfixes
  • fix .webpack[] suffix to not execute rules
  • revert performance optimization that has too large memory usage in large builds

v5.58.0

Compare Source

Features

  • add hook for readResource
  • add diagnostics_channel to node builtins

Performance

  • improve chunk graph creation performance
    • add cacheUnaffected cache support
  • remove some caching that makes not difference
  • improve splitChunks performance
  • improve chunk conditions performance

v5.57.1

Compare Source

Bugfix

  • fix experiments.cacheUnaffected which broke by last release

v5.57.0

Compare Source

Performance

  • reduce number of hash.update calls
  • allow ExternalModules to be unsafe cached
  • improve hashing performance of module lists (StringXor)

Bugfixes

  • experiments.cacheUnaffected
    • handle module/chunk id changes correctly
    • cache modules with async blocks
    • show errors when using incompatible options

v5.56.1

Compare Source

Bugfix

  • DefinePlugin: fix conflict with older variants of the plugin

v5.56.0

Compare Source

Performance

  • make DefinePlugin rebuild check more efficient performance and memory wise

v5.55.1

Compare Source

Bugfixes

  • fixes for experiments.cacheUnaffected
    • fix accidentically shared mem caches
    • avoid RuntimeSpecMap in favor of directly setting on memCache
    • compare references modules when restoring mem cache

v5.55.0

Compare Source

Performance

  • experiments.cacheUnaffected
    • reduce cache memory usage
    • make memCache per module
    • cache ESM reexport computation
  • module.unsafeCache
    • make it faster by moving it to Compilation-level instead of in NormalModuleFactory
    • omit tracking resolve dependencies since they are not used when unsafe cache is enabled
  • module graph
    • lazy assign ModuleGraphConnections to Dependencies since that is only accessed when uncached

v5.54.0

Compare Source

Features

  • improve constant folding to allow to skip more branches for && || and ??
  • allow all hashing using in webpack to be configured with output.hashFunction
  • no longer bailout completely from inner graph analysis when eval is used in a module

Bugfixes

  • force bump enhanced-resolve for bugfixes

Performance

  • reduce number of allocation when creating snapshots
  • add output.hashFunction: "xxhash64" for a super fast wasm based hash function
  • improve utf-8 conversion when serializing short strings
  • improve hashing performance for dependencies
  • add experiments.cacheUnaffected which caches computations for modules that are unchanged and reference only unchanged modules

v5.53.0

Compare Source

Features

  • add node.__dirname/__filename: "warn-mock" which warns on usage (will be enabled in webpack 6 by default)

Bugfixes

  • add stream/web to Node.js externals
  • fix IgnorePluginSchema
  • fix builds with persistent caching taking 1 minute to build at least

Experiments

  • add experiments.futureDefaults to enable defaults for webpack 6

v5.52.1

Compare Source

Performance
  • split fresh created persistent cache files by time to avoid creating very large files

v5.52.0

Compare Source

Feature

  • experiments.executeModule is enabled by default and the option is removed
    • loaders are now free to use this.importModule

Bugfixes

  • fix generated __WEBPACK_EXTERNAL_MODULE_null__, which leads to merged externals
  • .webpack[...] extension is not part of matching and module name

v5.51.2

Compare Source

Bugfixes

  • fix crash in FileSystemInfo when errors occur
  • avoid property access of reserved properties
  • fix reexports from async modules
  • automatically close an active watching when closing the compiler
  • when filenames of other runtimes are referenced that need a full hash, upgrade referencing runtime moduel to full hash mode too
    • fixes a bug where [contenthash] is undefined when using new Worker

v5.51.1

Compare Source

Bugfixes

  • library: "module" propages top-level-await correctly
  • fix crash in filesystem snapshotting when trying to snapshot a non-existing directory
  • fix some context-dependent logic in concatenated modules and source url handling

v5.51.0

Compare Source

Bugfixes

  • correctly keep chunk loading state when the chunk loading logic is HMR updated
    • This fixes some edge cases that e. g. occur when using lazy compilation for entrypoints. It is now able to HMR update that instead of needing a manual reload. Also see fixes in webpack-dev-server@4.
  • track and resolve symlinks for filesystem snapshotting
    • This fixes some cases of circular yarn linking of dependencies.
    • It also fixes some problems when using package managers that use symlinks to deduplicate (e. g. cnpm or pnpm)
  • pass the resulting module in the callbacks of Compilation.addModuleChain and Compilation.addModuleTree

v5.50.0

Compare Source

Features

Performance

  • disable cache compression by default as it tend to make performance worse
    • I could still be enabled again for specific scenarios
  • reduce the number of allocations during cache serialization
    • This improves performance and memory usage

v5.49.0

Compare Source

Features

  • add experiments.buildHttp to build http(s):// imports instead of keeping them external
    • keeps a webpack.lock file with integrity and webpack.lock.data with cached content that should be committed
    • Automatically upgrades lockfile during development when remote resources change
      (might be disabled with experiments.buildHttp.upgrade: false)
    • Lockfile is frozen during production builds and usually no network requests are made
      (exception: Cache-Control: no-cache).
    • The webpack.lock.data persisting can be disabled with experiments.buildHttp.cacheLocation: false.
      That will will introduce a availability risk.
      (webpack cache will be used to cache network responses)

Bugfixes

  • fix HMR infinite loop (again)
  • fix rare non-determinism with splitChunks.maxSize introduces in the last release
  • optional modules no longer cause the module to fail when bail is set
  • fix typo in records format: chunkHashs -> chunkHashes

Performance

  • limit the number of parallel generated chunks for memory reasons

v5.48.0

Compare Source

Features

  • enable import assertions again

Bugfixes

  • upgrade webpack-sources for fixes regarding source maps
  • fix infinite loop in HMR runtime code

v5.47.1

Compare Source

Bugfixes

  • upgrade webpack-sources for a bunch of bugfixes regarding source maps and missing chars in output

v5.47.0

Compare Source

Performance

  • improve source-map performance

Bugfixes

  • avoid unnecessary "use strict"s in module mode

v5.46.0

Compare Source

Features
  • status handlers in HMR api can now return Promises to delay the HMR process
  • reasons in stats can now be grouped and collapsed
    • add stats.reasonsSpace and stats.groupReasonsByOrigin
Bugfixes
  • fix a crash in asset modules when updating persistent cached modules from unsafe cached modules
Performance
  • detailed preset limits all spaces to 1000 by default
  • upgrade webpack-sources for a performance bugfix

v5.45.1

Compare Source

Bugfixes

  • temporary revert import assertions because parser changes break the word assert in other places
  • import(/* webpackPrefetch: true */ ...) no longer breaks library output
  • DataURL tries to avoid re-encoding
  • fix problems with DataURL encoding in some cases

v5.45.0

Compare Source

Features

  • add support to import assertions

Bugfixes

  • SourceMaps will now also be added to .cjs output files
  • fix non-system externals in a system library

Performance

  • avoid copying timestamps from the watcher to the compiler

Contributing

  • update to jest 27

v5.44.0

Compare Source

Features

  • add support for output.module + optimization.runtimeChunk

Bugfixes

  • fix inline externals with dash in type

v5.43.0

Compare Source

Features

  • support runtime: false in entry description to disable runtime chunk
  • support runtime option in ModuleFederationPlugin and ContainerPlugin

Bugfixes

  • fix "module" externals when concatenated

Performance

  • serialize JSON data as buffer and parse on demand for performance and to avoid performance warning

v5.42.1

Compare Source

Bugfixes

  • fix crashes when rebuilding with jsonData or dataUrl of undefined

v5.42.0

Compare Source

Features

  • add cache compression via cache.compression
  • enable cache compression by default for non-development modes

Bugfixes

  • add node-commonjs to schema for externalsType
  • update acorn to fix problems with top level await
  • fix regression for system externals

Performance

  • fix a memory leak in the unsafe cache

v5.41.1

Compare Source

Bugfixes

  • add missing types about experimental esm support to schema
  • avoid slicing large Buffers as that doesn't always work for unknown reasons

Performance

  • avoid slicing Buffers unnecessarily

v5.41.0

Compare Source

Features

  • Persist cache faster when large changes are detected
    • new option cache.idleTimeoutAfterLargeChanges to control that

Bugfixes

  • shutdown lazy compilation server correctly

Experiments

  • EcmaScript modules support (experiments.outputModule: true)
    • output.library.type: "module": very basic support, no live bindings, unnecessary runtime code
    • output.chunkLoading: "import"
    • output.chunkFormat: "module"
    • externalsType: "module" generates now import * as X from "..." (in a module) or import("...") (in a script)
    • Node.js commonjs externals use import { createRequire } from "module" in a module
    • new Worker etc. sets `type: "module"

v5.40.0

Compare Source

Features
  • accept node: prefixed requests as node.js externals
  • avoid instanceof Promise in favor of p && typeof p.then === "function" to allow mixing different Promise implementions
Bugfixes
  • fix usage analysis of class properties
Performance
  • improve LazySet memory usage by shortcircuiting empty sets
  • reduce algorithmic complexity of the structure analysis for plain objects serialization
Developer Experience
  • allow Buffer in this.emitFile typings (loader context)
  • improve reset cli argument description

v5.39.1

Compare Source

Bugfixes
  • reduce memory usage and fix memory leaks

v5.39.0

Compare Source

Features

  • allow lazy compilation for import() context (import with expression)

Bugfixes

  • fix respecting cache.allowCollectingMemory
  • fix cli loading after installing it
  • fix initial list of non-js chunks that are flagged as already loaded

Performance

  • remove unnecessary Error.captureStackTrace from webpack errors

v5.38.1

Compare Source

Performance

  • fix missing increment in sorting optimization from last release

v5.38.0

Compare Source

Features

  • new URL("data:...", import.meta.url) is now supported
  • add module.rules[].scheme as condition to match the request scheme (like data, http, etc.)

Bugfixes

  • fix tracking of changes and removals during watching in some edge cases
  • fix incorrect renaming of class fields in concatenatenated modules
  • fix crash in HMR when removing runtimes from the compilation

Performance

  • lazy import some internal modules only when used
  • allow unsafe caching of the entrypoint
  • improve performance of sorting exports info map
  • update to latest webpack-sources for improved source map performance

v5.37.1

Compare Source

Bugfixes

  • When using multiple configurations in watch mode and calling Watching.invalidate, dependencies and parallelism of the config array is now respected correctly
  • Fix a crash when accessing the stats after the next compilation has started
  • fix collecting changes when using Watching.suspend
  • fix schema of RuleCondition.not and allow passing a condition directly instead of only an array

Developer Experience

  • typings accept a ReadonlyArray of configurations now

Contributing

  • fix coverage reporting for child processes
  • remove outdated loader from readme

v5.37.0

Compare Source

Features

  • add output.trustedTypes

Bugfixes

  • fix inclusion of too many chunk in the filename function when using dependOn
  • allow errors to be null in fs callbacks

Developer Experiences

  • make ESM tracking info message less verbose
  • add typings for loaders

v5.36.2

Compare Source

Bugfixes

  • correctly handle errors thrown during parser/generator creation
    • e. g. validation errors for asset module options
  • use a better automatic runtime name for workers
    • not too long to cause filename problems
  • no longer assume assets do not get removed when the compiler is running
    • Using output.clean is against this assumption
    • It fixes a bug where assets are missing, when removed and readded to the compilation
  • fix a problem when chained dependOn, which causes too many modules being included in entrypoints

v5.36.1

Compare Source

Performance

  • add cache.profile (type: "filesystem" only) flag for more info about (de)serialization timings
  • avoid complex "by exports" splitting for splitChunks in development mode
  • faster hashing for the common case
  • improve algorithmic complexity for merging InitFragments to solve performance in an edge case

v5.36.0

Compare Source

Features
  • add support for class fields (stage 4)
Performance
  • improve (de)serialization performance of dependency locations

v5.35.1

Compare Source

Bugfixes

  • fix an __webpack_exports__ is not defined error with some library types

performance

  • improve stats grouping performance
  • improve providedExports analysis performance
  • improve hashing performance
  • lazy merge dependencies from creating context modules
  • improve dependency parents access performance

v5.35.0

Compare Source

Bugfixes

  • fix handling of build dependencies with # in path

Performance

  • improve memory usage when using the filesystem cache

When reading a file into a Buffer and picking smaller slices of the Buffer
the small slices still keep a reference to the large original Buffer.
The leads to increased memory usage. A fix would be to clone the slice into
a smaller Buffer when wasting too much memory, but this has a performance cost.
There is now a new option cache.allowCollectingMemory which controls that.
For one-off builds you probably want allowCollectingMemory: false and
for watch builds you probably want allowCollectingMemory: true.
It defaults to false in production mode and true in development mode.

v5.34.0

Compare Source

Features
  • add support for empty string in resolve.extensions and handle them in this order
  • add pnpapi as builtin external when using target: "node"
Bugfixes
  • fix a bug where chunks filenames where not included in runtime when using splitChunks and runtimeChunk with target: "node"
  • fix deprecation message from LimitChunkCountPlugin
Performance
  • precompile schemas into functions to avoid schema compilation overhead
  • fix performance regression when storing the cache
  • performance improvement for snapshot file iterators
Developer Experience
  • remove removed store: 'idle' from schema description

v5.33.2

Compare Source

Bugfix

  • handle falsy entry options correctly

v5.33.1

Compare Source

Bugfix
  • fix passing publicPath to this.importModule

v5.33.0

Compare Source

Features

  • adds support for specifying a publicPath per entrypoint
    • add entry.xxx.publicPath option

Bugfix

  • disable injection of chunk loading logic for executeModule

Performance

  • performance improvements for export * and reexports

v5.32.0

Compare Source

Features

  • add support for a pseudo extensions .webpack[type] (e. g. .webpack[javascript/auto]) to specify the default module type when no other module type is specified
    • to be used with !=! inline syntax

Bugfixes

  • fixes incorrect cache invalidation when new properties are added to the DefinePlugin

Experiments

  • add experiments.executeModule to allow build-time execution of modules of the module graph
    • add this.importModule(request, options, [callback]): Promise to the loader context
    • add compilation.executeModule(request, options, callback) for plugins

v5.31.2

Compare Source

Bugfixes
  • revert disposing of CodeGenerationResults since some plugins rely on the fact that they are still accessible after the compilation

v5.31.1

Compare Source

Bugfixes

  • invalid hooks is no longer called twice for a compiler in a MultiCompiler

Memory

  • eliminated some memory leaks
  • dispose code generation results after sealing the compilation

Performance

  • improve performance of cache serialization by reducing number of write syscalls

v5.31.0

Compare Source

Features

  • add a few more options for infrastructure logging:
    • infrastructureLogging.colors: Enables/Disables colorful output.
    • infrastructureLogging.appendOnly: Only appends lines to the output. Avoids updating existing output e. g. for status messages.
    • infrastructureLogging.stream: Stream used for logging output. Defaults to process.stderr.
    • infrastructureLogging.console: Custom console used for logging.
    • When stream is an TTY colors is enabled and appendOnly is disabled. Otherwise it's flipped.

Bugfixes

  • Persistent Caching
    • fix caching crash when using fsevents in build dependencies
    • improve resolving of build dependencies when exports field is used
    • make problems during resolving build dependencies warnings instead of debug messages
  • prioritize static reexport over runtime reexport for target determination
    • This helps in optimization by no longer opting out of optimization when some other exports any dynamic (from commonjs or empty/type-only modules)
  • fix bug with subtraction of runtimes
    • This fixes a problem with concatenated modules in builds with multiple runtimes and force-merged shared chunks
  • ensure that entrypoints are always re-executed when HMR-updated
    • This fixes no longer updating pages when the entrypoint crashed

v5.30.0

Compare Source

Features
  • add GC to memory cache
    • opt-in via cache.maxGenerations when cache.type: "memory"
    • default for cache.type: "filesystem" and mode: "development"
    • configure via cache.maxMemoryGenerations when cache.type: "filesystem"
    • Generations = Rebuilds
  • add GC for untouched filesystem cache files
  • allow to configurate GC for the filesystem cache via cache.maxAge
  • allow to disable memory cache when using the filesystem cache with cache.maxMemoryGenerations: 0
  • Caches will be cleared on Compiler close resp Cache shutdown (after persisting for the filesystem cache)
Bugfixes
  • add a few workarounds for v8 bug that causes memory leaks in optimized code (only partially fixes it)
  • after serializing filesystem no longer keeps cache items in memory, instead it will read them from disk again when accessed

GC = Garbage Collection

v5.29.0

Compare Source

Bugfixes

  • fix some edge cases for splitChunks.maxSize which cause too large chunks to be created
  • add stats.groupModulesByType to the schema

Developer Experience

  • add resolving trace for error during resolving build dependencies
  • expose Stats-related types
  • exports AsyncDependenciesBlock and Module/Const/NullDependency on the API

v5.28.0

Compare Source

Features
  • add module.generator.asset.publicPath to configure a different publicPath for assets
Bugfixes
  • fixes a watch mode caching problem which was introduced in 5.26.0 when using the unsafe cache
Performance
  • improve serialization performance

v5.27.2

Compare Source

Bugfixes

  • fix error reporting when errors happen in beforeLoaders hook
  • avoid crash when experiments.lazyCompilation is used (regression)
  • fix lazy compilation opt-out when HMR accept/decline is used on an import()
  • fix new URL(new URL generated by worker handing

v5.27.1

Compare Source

Bugfix

  • allow invalidation after first watch run in MultiCompilers

v5.27.0

Compare Source

Features

  • add utils: { contextify(context, absolutePath), absolutify(context, request) } to loader context

Bugfixes

  • fix caching bug when split chunks of an entrypoint change and modules of the entrypoint stay equal
  • fix imports field handling
  • fix incorrect id assignment of record ids plugin
    • this causes ids changing unnecessary during watch mode
  • fix library exports when using onChunks in entry
    • This prevented using libraries with web target when using splitChunks for the initial chunks

v5.26.3

Compare Source

Bugfix

  • fix race condition in MultiCompiler queueing

v5.26.2

Compare Source

Bugfixes

  • fix problem with new line after comment
  • fix assign libraries with runtime chunk

v5.26.1

Compare Source

Bugfixes
  • avoid using strict mode runtime for assign libraries to allow assigning not existing variables
  • avoid collision with Set.addAll polyfill
  • allow filenames starting with ../ when generation the undo path for non-web targets

v5.26.0

Compare Source

Features

  • handle cache version automatically for DefinePlugin
    • Values no longer need to be defined as build dependencies
  • add more options for DefinePlugin.runtimeValue (file/context/missing/buildDependencies, version)

Bugfixes

  • fix a memory leak which happens in watch mode with caching when modules are removed from the compilation
  • fix usage of some arrow functions when es5 target is selected
  • chunk loading in workers now uses publicPath instead of relative paths
    • fixes a problem when worker file is in a child directory

v5.25.1

Compare Source

Bugfixes

  • fix startup logic when non-js chunks are in the entrypoint
  • remove type: "module" for Workers when generating classic scripts

v5.25.0

Compare Source

Features

  • Refactor the startup logic to improve library support
  • add __webpack_runtime_id__ to access the current runtime id
  • improve error handling for HMR
    • add second argument to self accept error handler to pass new module and module id
    • add error handler argument to dependency accept, passing error and module ids
  • add output.strictModuleErrorHandling to opt into stricter evaluation error handling semantics according to ESM spec
    • used by default when HMR is enabled
  • when ignoring a module used by new URL() this will result in an url to a empty file ("data:,")
  • add module.generator.asset.emit option to disable creating assets from asset modules (e. g. for SSR)

Bugfixes

  • fix problem when library options apply to a non-runtime chunk
  • fix crash in splitChunks.maxSize where negative indicies are accessed
  • fix sub-optimal splitting of splitChunks.maxSize in some cases when multiple size types are involved
  • fix a memory leak in AssetGenerator
  • fix usage of runtime globals in SharedPlugin to support HMR updates

Deprecations

  • deprecate output.strictModuleExceptionHandling (this is the CommonJS way of handling errors, and the name is weird)

v5.24.4

Compare Source

Bugfixes

  • fix overridding built-in externals via externals
  • fix handling UNC paths as windows paths
  • Improve error when passing an empty array as library name
  • avoid adding the package.json from compilation context as build dependency
  • fix expansion of "..." in array configuration options when it's not at the start

v5.24.3

Compare Source

Bugfixes

  • fix contenthash when a file is emitted twice with different filenames but that same contenthash

v5.24.2

Compare Source

Bugfixes

  • fix invalid syntax generated for destructuring with default values
  • fix some incorrect properties accesses in watch
    • modifiedFiles and removedFiles were undefined
  • fix some edge cases with MultiCompiler

v5.24.1

Compare Source

Performance

  • improve performance of finding modules to concatenate
  • improve performance of getting incoming modules from connections
  • make sure that all serialized modules restore correctly
  • avoid storing ConcatenatedModule, since that's not needed

Developer Experience

  • fix typo in deprecation message

v5.24.0

Compare Source

Bugfixes

  • fix name conflict when using destructing with default arguments in concatenated modules
  • fix tracking of reexports in concatenated modules when using multiple export * that point to the same export
  • debug logging is now included even if logging is not
  • fix name of ModuleConcatenationPlugin logger
  • fix experiments.lazyCompilation: true. It now has an effect.

Developer Experience

  • expose Watching type

Contribution

  • fix husky setup

Performance

  • improve performance of module concatenation

v5.23.0

Compare Source

Features

  • add parserOptions.url: "relative" option
    • Allows to generate relative URLs from new URL (e. g. for SSG/SSR)

Bugfixes

  • fixes for electron target
    • electron has importScripts in worker
    • only choose a chunkLoading which fits to the chunkFormat
    • prefer fetch wasm loading over node wasm loading
  • fix regression when combining library + runtimeChunk + node target

Developer Experience

  • export MultiStats type

v5.22.0

Compare Source

Features

  • generate shorter output code for JSON data by using a '...' string instead of "..." (only affects output side when not minimized)
  • the dependencies configuration option now works for watch builds too
    • It will build compilation when any of dependencies has changed
    • It will wait for compiling until all of dependencies have finished
  • add parallelism config option on the array of configurations to limit the compilers that are running in parallel

Developer Experience

  • add hints (Did you mean ...) to resolve errors when
    • resolving fails due to enforceExtension
    • relative request is missing leading ./
  • when all modules of an entrypoint fail resolving and another entrypoints depend(s)On it, webpack no longer crashes with a weird error
  • add hint to stats how to get details about errors/warnings in child compilations
  • improve error message for lazyCompilation when using IE11

Bugfixes

  • async entries e.g. for Workers are now implicitly flagged as "having side effects" even if they are affects by "sideEffects": false
    • in future we might add a warning for this
  • avoid crash when using this.loadModule (loader) and the loaded module has errors
  • refactor libraries to inline exporting code into runtime to allow using with output.iife: false
  • fix invalid code when using define for local modules and arrow functions are supported
  • fix missing runtime requirement for system.js context
  • fix parsing of define function, which missed declarations before
  • avoid unnecessary calls to loaders when serializer are already registered
  • fix inner graph analysis for exports when export { x } is before pure declaration const x = /*#__PURE__*/ f()
  • fix hashing order of runtime chunks when there are async entries involved

Contribution

  • CI run tests on node.js 15 too
  • CI run tests on github actions too

Experiments

  • improvements on experimental output.library: { type: "module" } (experiments.outputModule: true)
    • it can generate export { ... } now, but that can't handle live-bindings yet

v5.21.2

Compare Source

Bugfixes

  • json with constructor property now caches correctly
  • json generation with object prototype property now works correctly
  • tree shaking json array when accessing length property now works correctly
  • fix incorrect call context when calling properties on imports from CommonJS modules

v5.21.1

Compare Source

Bugfixes

  • fix a crash when using colors in stats

v5.21.0

Compare Source

Features

  • add __webpack_base_uri__ to change base URI at runtime
  • add stats.errorDetails: "auto" to show error details automatically when there are only 1 or 2 errors

Bugfixes

  • fix a hanging build when using the persistent cache without a package.json in cwd

Developer Experience

  • add typings for the stats JSON
  • change default for stats.errorDetails to "auto" when using toString
  • Highlight important text in error message with colors
    • e. g. Did you mean ...? and similar hints are shown in green

v5.20.2

Compare Source

Bugfixes

  • fix caching issue with asset modules causing undefined files
  • fix problem that rebuildModule doesn't follow dependencies

v5.20.1

Compare Source

Bugfix

  • fix Caching failed for pack: RangeError [ERR_OUT_OF_RANGE] warning when serializing the cache

v5.20.0

Compare Source

Features

  • add experiments.lazyCompilation.imports to disable lazy compilation of import()s
  • add experiments.lazyCompilation.test to allow custom selection of modules that should be lazy compiled
  • When using profile: true resp. --profile webpack will now print a summary of expensive modules or loaders

Bugfixes

  • fix that experiments.lazyCompilation.client now works as intended
  • fix a bug which causes runtime requirements to be missing e. g. __webpack_require__ is not defined

Developer Experience

  • expose EntryObject type in typings
  • remove pkg-dir dependency

v5.19.0

Compare Source

Features

  • allow to set chunk name for exposes for ModuleFederationPlugin

Bugfixes

  • add a missing simicolon in runtime code
  • improve consistency of top level await with other implementations and the spec
  • make options for ProgressPlugin optional in typings

Performance

  • try to avoid unnecessary allocations

v5.18.0

Compare Source

Internals

  • refactor hashing to move the responsibility of hashing module exports info and referenced modules from Dependencies to the Module
    • Hashing in Dependencies can be much cheaper now (could improve performance when many dependencies are used that point to the same module, like many references to React.createElement)
    • Fixes bugs where Dependencies forgot to hash some details about the referenced module
    • The new model elimiates the potential of such bugs are Dependencies have less responsibilities now

v5.17.0

Compare Source

Features

  • add experimental lazy compilation via experiments.lazyCompilation: true for web and node targets
    • compiles entrypoints and import()s only when they are accessed
    • More details see: https://github.com/webpack/webpack/pull/12469
    • Known issues: webpack-dev-server/webpack serve opening an entrypoint for the first time, sometimes need a manual refresh.
  • move some javascript parsing related configuration options from module to module.parser.javascript and also allow to set them via module.rules
  • add module.parser.javascript.commonjsMagicComments to enable /* webpackIgnore: true */ for require() calls

Bugfixes

  • fix a problem with webpack.debug.ProfilingPlugin on Mac when the computer was suspended before.
  • fix a bug with IIFE handling when the IIFE has parameters with default values

v5.16.0

Compare Source

Features

  • add __webpack_is_included__("./some-module") which returns true when the module is bundled and false when not
  • priorize eager shared modules over normal shared modules (with the same version), as they are loaded anyway
  • add library.type: "assign-properties" which merges all exports into a global variable
  • allow optimization.innerGraph for new URL()
    • This allows to detect which URLs are used and drop the module and asset when they are not.

Bugfixes

  • only return exports from runtime when needed
    • This allows to use experiments.outputModule: true with optimization.runtimeChunk
  • fix a bug that splitChunk.reuseExistingChunk doesn't work for entrypoints
    • This optimized an edge case where a nearly empty entrypoint is created when an entrypoint contains only vendor modules

Developer Experience

  • include plugin names in deprecation message for "NormalModuleFactory.xxx is no longer a waterfall hook"
  • improve error message when passing an invalid library name

v5.15.0

Compare Source

Features
  • add getResolve method to data object when using function externals
  • externals function may return a promise now
Bugfixes
  • fix define("local-module", expr) generating invalid syntax
  • fix resolving bug when resolving build dependencies
  • add chunkModulesSpace to schema
  • fix rebuildModule api
Performance
  • improve performance of build dependencies resolving

v5.14.0

Compare Source

Features

  • add experimental ESM tracking for build dependencies

Bugfixes

  • fix crash when calling watcher.getContextTimeInfoEntries()
  • make filesystem types compatible with memfs and real fs
  • fix rebuild error when using the AutomaticPrefetchPlugin

Contribution

  • improve type definitions by using typescript 4.2

v5.13.0

Compare Source

Features

  • add resolve.preferAbsolute flag for compatibility with webpack 4
  • add support for wildcards in exports and imports field
  • improve chunk and module names
    • use nameForCondition() as fallback for module names
    • handle module connection with only transive side effects correctly when determining chunk root modules

v5.12.3

Compare Source

Bugfixes

  • upgrade @webassembly/* and terser-webpack-plugin dependencies

v5.12.2

Compare Source

Bugfixes

  • fix problem with typings in strict mode

v5.12.1

Compare Source

Bugfixes

  • fix a crash in ConcatenatedModule when deserializing
  • fix some not serializable warnings
  • show error when using an invalid identifier as var library

v5.12.0

Compare Source

Features

  • add experiments.layers
    • entry.xxx.layer: "name-of-layer" allows to set the layer for an entrypoint
    • module.rules[].issuerLayer: RuleCondition allows to filter/match by layer of issuer
    • module.rules[].layer: "name-of-layer" allows to set the layer of an module
    • splitChunks.cacheGroups.xxx.layer allows to select modules by layer
    • externals.byLayer["name-of-layer"] allows to specify externals by layer
    • externals.byLayer: (layer) => ... allows to specify externals by layer
    • externals function has an additional argument property contextInfo which contains info about the issuer (e. g. the layer)
  • add module.parser and module.generator options to allow to specify parser/generator options globally per module type
  • make chunkId variable available in script tag hook (like it was with webpack 4)

Bugfixes

  • escape exclamation marks in context regexp when generating readable module names/ids
  • fix a problem when bundling webpack bundles with enabled eval-based devtools
  • add stats.nestedModulesSpace to schema to allow to specify this option
  • fix a bug that incorrectly replaces new.target with constants
  • fix a bug where splitChunk minSize is not handled correctly
  • fix a bug where the order of splitChunk cacheGroups is not handled correctly
  • avoid adding non-filesystem resources as dependencies for watching and caching

Developer experience

  • fix incorrect negation in hint comment for eval-based devtools
  • improve error messages of "Library/Chunk Loading/Wasm Loading typeof is not enabled" errors
  • improve question message when asking to install webpack-cli
  • show a warning when loaders/plugins report invalid dependencies to webpack

Contributing

  • examples use webpack-cli 4 now
  • rename memorize to memoize

v5.11.1

Compare Source

Bugfixes

  • ignore cloned ExportInfo during hashing
    • fixes a problem where changing modules affects hashes in some other part of the application during development
  • fixes compileBooleanMatcher when prefix and suffix overlap
  • fixes invalidate code generated when generating properties access
  • fix object types in typings
  • expose more types regarding Stats

v5.11.0

Compare Source

Features

  • update typings to include undefined/null types (for strict type)
  • export WebpackError
  • export Asset and AssetInfo types
  • allow error configuration for validateSchema function

Bugfixes

  • fix typings for SourceMapSource
  • allow custom properties in AssetInfo
  • handle undefined values for rule conditions like empty strings

v5.10.3

Compare Source

Bugfixes

  • errors in initial cache no longer cause build dependencies to be ignored
  • manual side effects flagging should override automatic analysis
  • modules in dlls without entryOnly will no longer be dropped because of no side effects

v5.10.2

Compare Source

Bugfixes

  • add a few missing node.js libraries as externals in target: "node"
  • improve cache (de)serialization to allow larger cache files (>2GB) and increase performance for them

v5.10.1

Compare Source

Bugfixes

  • avoid duplicating chunk info in chunk loading global
  • allow executing chunks before runtime is loaded
  • avoid error when emitting assets with different query string but identical filename and content
  • fix duplicated asset name in processAssets with additionalAssets
  • add missing \ in module info header comment

v5.10.0

Compare Source

Bugfixes

  • Multiple fixes regarding the side effects optimization ("sideEffects": false) when reexports and concatenated modules are combined

Contributing

  • Typescript major 4
    • Improved internal structure of our typings

Performance

  • output.pathinfo: true (default in development) adds less verbose information (and is faster)
  • output.pathinfo: "verbose" adds more verbose information
  • output.pathinfo: true is cached
  • avoid assets and module stats information generation when they are cached and cached assets/modules are not shown

v5.9.0

Compare Source

Features

  • improve side effects analysis to report imported and reexported symbols as side-effect-free

Bugfixes

  • fix problem when HMR and different runtimes (e. g. with Workers)
    • caused crash with ... has no hash info for runtime ...

v5.8.0

[Compare Source](https://togithub.com/web


Configuration

📅 Schedule: "on the 1st through 7th day of the month" in timezone America/Los_Angeles.

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by WhiteSource Renovate. View repository job log here.

@renovate renovate bot requested review from a team, marekweb and felixfbecker and removed request for a team November 1, 2020 07:23
@renovate renovate bot force-pushed the renovate/webpack-5.x branch from 3955f28 to 28220e4 Compare November 3, 2020 17:26
@renovate renovate bot force-pushed the renovate/webpack-5.x branch 3 times, most recently from 8e57abf to 9aa246a Compare November 19, 2020 12:34
@renovate renovate bot force-pushed the renovate/webpack-5.x branch 3 times, most recently from cff02ed to 3f744aa Compare November 28, 2020 22:07
@renovate renovate bot force-pushed the renovate/webpack-5.x branch 4 times, most recently from 729ee26 to 12ee009 Compare December 9, 2020 09:53
@renovate renovate bot force-pushed the renovate/webpack-5.x branch 5 times, most recently from a400dcc to cbf50fa Compare December 18, 2020 08:36
@renovate renovate bot force-pushed the renovate/webpack-5.x branch from cbf50fa to d9376b6 Compare December 28, 2020 18:16
@renovate renovate bot force-pushed the renovate/webpack-5.x branch 6 times, most recently from 9306525 to 719bd55 Compare January 14, 2021 00:18
@renovate renovate bot force-pushed the renovate/webpack-5.x branch from 719bd55 to 429eee1 Compare January 15, 2021 17:48
@renovate renovate bot force-pushed the renovate/webpack-5.x branch 4 times, most recently from 427dfe0 to c17bea0 Compare July 5, 2021 15:48
@renovate renovate bot force-pushed the renovate/webpack-5.x branch 2 times, most recently from f4d3ae6 to 66131ae Compare July 8, 2021 20:37
@renovate renovate bot force-pushed the renovate/webpack-5.x branch 3 times, most recently from f9d39a1 to 7f923b5 Compare July 22, 2021 11:04
@renovate renovate bot force-pushed the renovate/webpack-5.x branch 3 times, most recently from 6c6b39d to 04aa0d9 Compare August 2, 2021 13:06
@renovate renovate bot force-pushed the renovate/webpack-5.x branch from 04aa0d9 to 8335bf7 Compare August 6, 2021 12:05
@renovate renovate bot force-pushed the renovate/webpack-5.x branch 4 times, most recently from 8f110a8 to 6849aab Compare October 25, 2021 17:34
@renovate renovate bot force-pushed the renovate/webpack-5.x branch 4 times, most recently from 7932d17 to f62eb1f Compare November 1, 2021 10:55
@renovate renovate bot force-pushed the renovate/webpack-5.x branch 5 times, most recently from fa9e8d3 to a7090ad Compare November 11, 2021 15:29
@renovate renovate bot force-pushed the renovate/webpack-5.x branch 2 times, most recently from 5a051ff to 6ea9223 Compare November 20, 2021 15:12
@renovate renovate bot force-pushed the renovate/webpack-5.x branch from 6ea9223 to 66bd605 Compare November 24, 2021 09:22
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant