chore(deps): update dependency webpack to v5
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| webpack | ^4.43.0 -> ^5.64.3 |
||||
| @types/webpack | 4.41.20 -> 5.28.0 |
Release Notes
webpack/webpack
v5.64.3
Performance
- allow to use pre-compiled schema when
Infinityis used in configuration - allow to use pre-compiled schema for configuration arrays
v5.64.2
Bugfixes
- avoid double initial compilation due to invalid dependencies with managedPaths
v5.64.1
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(...).propertyinrequire.ensure - fix cleaning of symlinks in
output.clean: true - fix change detection with
unsafeCachewithinmanagedPaths(node_modules) - bump webpack-sources for Stack Overflow bugfix
v5.64.0
Features
- add
asyncChunks: booleanoption 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
Features
- allow passing
chunkLoading: falseto disable on-demand loading
Bugfixes
- fix
import 'single-quote'in esm build dependencies
v5.62.2
Bugfixes
- fix
__system_context__injection when using thelibraryoption on entrypoint - enable
exportsPresence: "error"by default infutureDefaults - fix bad performance for a RegExp in Stats printing (with large error messages)
- fix
exportPresence->exportsPresencetypo - fix a bug with module invalidation when only module id changes with
experiments.cacheUnaffected
v5.62.1
Bugfix
- fix invalid generated code when omitting
;
v5.62.0
Features
- add options to configure export presence checking
-
parser.javascript.reexportExportsPresence: falseallows to disable warnings for non-existing exports during the migration fromexport ... from "..."toexport type ... from "..."for type reexports in TypeScript
-
- add
experiments.backCompat: falseto disable some expensive deprecations for better performance
Bugfixes
- use
['catch']instead of.catchfor better ES3 support - fix removed parentheses when using
new (require("...")).Something() - fix
{ require }object literals -
splitChunks.chunksoption is now correctly used forsplitChunks.fallbackCacheGroup.maxSizetoo - fix schema of
listenoption, allow to omitport - 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
- use
v5.61.0
Bugfixes
- use a wasm md4 implementation for node 17 support
- include the
pathsubmodules 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
Features
- Allow to pass more options to
experiments.lazyCompilation. e. g. port, https stuff
Bugfixes
- fix
output.hashFunctionused to persistent caching too - Initialize
buildDependenciesSet correctly when loaders are added inbeforeLoadershook
v5.59.1
Bugfixes
- fix regexp in managedPaths
- fix hanging when trying to write lockfile for
experiments.buildHttp
v5.59.0
Features
- add
/*#__PURE__*/forObject()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.minSizeReductionoption
Bugfixes
- fix memory caching for Data URLs
- fix crash in
waitForwhen modules are unsafe cached - fix bug in build cycle detection
v5.58.2
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
- store a hash in first bits of bigint to workaround v8 hashing: https://github.com/v8/v8/blob/b704bc0958e2e26305a68e89d215af1aee011148/src/objects/bigint.h#L192-L195
v5.58.1
Bugfixes
- fix
.webpack[]suffix to not execute rules - revert performance optimization that has too large memory usage in large builds
v5.58.0
Features
- add hook for readResource
- add
diagnostics_channelto 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
Bugfix
- fix experiments.cacheUnaffected which broke by last release
v5.57.0
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
Bugfix
- DefinePlugin: fix conflict with older variants of the plugin
v5.56.0
Performance
- make DefinePlugin rebuild check more efficient performance and memory wise
v5.55.1
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
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
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
evalis 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.cacheUnaffectedwhich caches computations for modules that are unchanged and reference only unchanged modules
v5.53.0
Features
- add
node.__dirname/__filename: "warn-mock"which warns on usage (will be enabled in webpack 6 by default)
Bugfixes
- add
stream/webto Node.js externals - fix IgnorePluginSchema
- fix builds with persistent caching taking 1 minute to build at least
Experiments
- add
experiments.futureDefaultsto enable defaults for webpack 6
v5.52.1
Performance
- split fresh created persistent cache files by time to avoid creating very large files
v5.52.0
Feature
-
experiments.executeModuleis enabled by default and the option is removed- loaders are now free to use
this.importModule
- loaders are now free to use
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
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 usingnew Worker
- fixes a bug where
v5.51.1
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
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)
- This fixes some cases of circular
- pass the resulting module in the callbacks of
Compilation.addModuleChainandCompilation.addModuleTree
v5.50.0
Features
- hashbangs (
#! ...) are now handled by webpack- https://github.com/tc39/proposal-hashbang
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
Features
- add
experiments.buildHttpto buildhttp(s)://imports instead of keeping them external- keeps a
webpack.lockfile with integrity andwebpack.lock.datawith 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.datapersisting can be disabled withexperiments.buildHttp.cacheLocation: false. That will will introduce a availability risk. (webpack cache will be used to cache network responses)
- keeps a
Bugfixes
- fix HMR infinite loop (again)
- fix rare non-determinism with
splitChunks.maxSizeintroduces in the last release - optional modules no longer cause the module to fail when
bailis set - fix typo in records format: chunkHashs -> chunkHashes
Performance
- limit the number of parallel generated chunks for memory reasons
v5.48.0
Features
- enable import assertions again
Bugfixes
- upgrade webpack-sources for fixes regarding source maps
- fix infinite loop in HMR runtime code
v5.47.1
Bugfixes
- upgrade webpack-sources for a bunch of bugfixes regarding source maps and missing chars in output
v5.47.0
Performance
- improve source-map performance
Bugfixes
- avoid unnecessary
"use strict"s in module mode
v5.46.0
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.reasonsSpaceandstats.groupReasonsByOrigin
- add
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
Bugfixes
- temporary revert import assertions because parser changes break the word
assertin 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
Features
- add support to import assertions
Bugfixes
- SourceMaps will now also be added to
.cjsoutput 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
Features
- add support for
output.module+optimization.runtimeChunk
Bugfixes
- fix inline externals with dash in type
v5.43.0
Features
- support
runtime: falsein entry description to disable runtime chunk - support
runtimeoption 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
Bugfixes
- fix crashes when rebuilding with
jsonDataordataUrlof undefined
v5.42.0
Features
- add cache compression via
cache.compression - enable cache compression by default for non-development modes
Bugfixes
- add
node-commonjsto schema forexternalsType - update acorn to fix problems with top level await
- fix regression for
systemexternals
Performance
- fix a memory leak in the unsafe cache
v5.41.1
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
Features
- Persist cache faster when large changes are detected
- new option
cache.idleTimeoutAfterLargeChangesto control that
- new option
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 nowimport * as X from "..."(in a module) orimport("...")(in a script) - Node.js commonjs externals use
import { createRequire } from "module"in a module -
new Workeretc. sets `type: "module"
-
v5.40.0
Features
- accept
node:prefixed requests as node.js externals - avoid
instanceof Promisein favor ofp && 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
Bufferinthis.emitFiletypings (loader context) - improve
resetcli argument description
v5.39.1
Bugfixes
- reduce memory usage and fix memory leaks
v5.39.0
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.captureStackTracefrom webpack errors
v5.38.1
Performance
- fix missing increment in sorting optimization from last release
v5.38.0
Features
-
new URL("data:...", import.meta.url)is now supported - add
module.rules[].schemeas condition to match the request scheme (likedata,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
Bugfixes
- When using multiple configurations in watch mode and calling
Watching.invalidate,dependenciesandparallelismof the config array is now respected correctly - Fix a crash when accessing the
statsafter the next compilation has started - fix collecting changes when using
Watching.suspend - fix schema of
RuleCondition.notand 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
Features
- add
output.trustedTypes
Bugfixes
- fix inclusion of too many chunk in the filename function when using
dependOn - allow errors to be
nullin fs callbacks
Developer Experiences
- make ESM tracking info message less verbose
- add typings for loaders
v5.36.2
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.cleanis against this assumption - It fixes a bug where assets are missing, when removed and readded to the compilation
- Using
- fix a problem when chained dependOn, which causes too many modules being included in entrypoints
v5.36.1
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
Features
- add support for class fields (stage 4)
Performance
- improve (de)serialization performance of dependency locations
v5.35.1
Bugfixes
- fix an
__webpack_exports__ is not definederror 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
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.allowCollectingMemorywhich controls that. For one-off builds you probably wantallowCollectingMemory: falseand for watch builds you probably wantallowCollectingMemory: true. It defaults to false in production mode and true in development mode.
v5.34.0
Features
- add support for empty string in
resolve.extensionsand handle them in this order - add
pnpapias builtin external when usingtarget: "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
Bugfix
- handle falsy entry options correctly
v5.33.1
Bugfix
- fix passing publicPath to
this.importModule
v5.33.0
Features
- adds support for specifying a
publicPathper entrypoint- add
entry.xxx.publicPathoption
- add
Bugfix
- disable injection of chunk loading logic for
executeModule
Performance
- performance improvements for
export *and reexports
v5.32.0
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
- to be used with
Bugfixes
- fixes incorrect cache invalidation when new properties are added to the DefinePlugin
Experiments
- add
experiments.executeModuleto allow build-time execution of modules of the module graph- add
this.importModule(request, options, [callback]): Promiseto the loader context - add
compilation.executeModule(request, options, callback)for plugins
- add
v5.31.2
Bugfixes
- revert disposing of CodeGenerationResults since some plugins rely on the fact that they are still accessible after the compilation
v5.31.1
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
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
exportsfield 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
Features
- add GC to memory cache
- opt-in via
cache.maxGenerationswhencache.type: "memory" - default for
cache.type: "filesystem"andmode: "development" - configure via
cache.maxMemoryGenerationswhencache.type: "filesystem" - Generations = Rebuilds
- opt-in via
- 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
Bugfixes
- fix some edge cases for
splitChunks.maxSizewhich cause too large chunks to be created - add
stats.groupModulesByTypeto the schema
Developer Experience
- add resolving trace for error during resolving build dependencies
- expose Stats-related types
- exports AsyncDependenciesBlock and
Module/Const/NullDependencyon the API
v5.28.0
Features
- add
module.generator.asset.publicPathto 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
Bugfixes
- fix error reporting when errors happen in
beforeLoadershook - avoid crash when
experiments.lazyCompilationis used (regression) - fix lazy compilation opt-out when HMR accept/decline is used on an
import() - fix
new URL(new URLgenerated by worker handing
v5.27.1
Bugfix
- allow invalidation after first watch run in MultiCompilers
v5.27.0
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
importsfield 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
Bugfix
- fix race condition in MultiCompiler queueing
v5.26.2
Bugfixes
- fix problem with new line after comment
- fix assign libraries with runtime chunk
v5.26.1
Bugfixes
- avoid using strict mode runtime for assign libraries to allow assigning not existing variables
- avoid collision with
Set.addAllpolyfill - allow filenames starting with
../when generation the undo path for non-web targets
v5.26.0
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
Bugfixes
- fix startup logic when non-js chunks are in the entrypoint
- remove
type: "module"for Workers when generating classic scripts
v5.25.0
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.strictModuleErrorHandlingto 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.emitoption 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.maxSizewhere negative indicies are accessed - fix sub-optimal splitting of
splitChunks.maxSizein 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
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
Bugfixes
- fix contenthash when a file is emitted twice with different filenames but that same contenthash
v5.24.2
Bugfixes
- fix invalid syntax generated for destructuring with default values
- fix some incorrect properties accesses in watch
-
modifiedFilesandremovedFileswere undefined
-
- fix some edge cases with MultiCompiler
v5.24.1
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
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
Watchingtype
Contribution
- fix husky setup
Performance
- improve performance of module concatenation
v5.23.0
Features
- add
parserOptions.url: "relative"option- Allows to generate relative URLs from
new URL(e. g. for SSG/SSR)
- Allows to generate relative URLs from
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
Features
- generate shorter output code for JSON data by using a
'...'string instead of"..."(only affects output side when not minimized) - the
dependenciesconfiguration option now works for watch builds too- It will build compilation when any of
dependencieshas changed - It will wait for compiling until all of
dependencieshave finished
- It will build compilation when any of
- add
parallelismconfig 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
./
- resolving fails due to
- when all modules of an entrypoint fail resolving and another entrypoints
depend(s)Onit, 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
definefor local modules and arrow functions are supported - fix missing runtime requirement for system.js context
- fix parsing of
definefunction, 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 declarationconst 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
- it can generate
v5.21.2
Bugfixes
- json with
constructorproperty now caches correctly - json generation with object prototype property now works correctly
- tree shaking json array when accessing
lengthproperty now works correctly - fix incorrect call context when calling properties on imports from CommonJS modules
v5.21.1
Bugfixes
- fix a crash when using colors in stats
v5.21.0
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.errorDetailsto"auto"when usingtoString - Highlight important text in error message with colors
- e. g.
Did you mean ...?and similar hints are shown in green
- e. g.
v5.20.2
Bugfixes
- fix caching issue with asset modules causing
undefinedfiles - fix problem that rebuildModule doesn't follow dependencies
v5.20.1
Bugfix
- fix
Caching failed for pack: RangeError [ERR_OUT_OF_RANGE]warning when serializing the cache
v5.20.0
Features
- add
experiments.lazyCompilation.importsto disable lazy compilation ofimport()s - add
experiments.lazyCompilation.testto allow custom selection of modules that should be lazy compiled - When using
profile: trueresp.--profilewebpack will now print a summary of expensive modules or loaders
Bugfixes
- fix that
experiments.lazyCompilation.clientnow works as intended - fix a bug which causes runtime requirements to be missing e. g.
__webpack_require__ is not defined
Developer Experience
- expose
EntryObjecttype in typings - remove
pkg-dirdependency
v5.19.0
Features
- allow to set chunk name for
exposesforModuleFederationPlugin
Bugfixes
- add a missing simicolon in runtime code
- improve consistency of top level await with other implementations and the spec
- make
optionsforProgressPluginoptional in typings
Performance
- try to avoid unnecessary allocations
v5.18.0
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
- 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
v5.17.0
Features
- add experimental lazy compilation via
experiments.lazyCompilation: truefor 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 serveopening an entrypoint for the first time, sometimes need a manual refresh.
- compiles entrypoints and
- move some javascript parsing related configuration options from
moduletomodule.parser.javascriptand also allow to set them viamodule.rules - add
module.parser.javascript.commonjsMagicCommentsto enable/* webpackIgnore: true */forrequire()calls
Bugfixes
- fix a problem with
webpack.debug.ProfilingPluginon Mac when the computer was suspended before. - fix a bug with IIFE handling when the IIFE has parameters with default values
v5.16.0
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.innerGraphfornew 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: truewithoptimization.runtimeChunk
- This allows to use
- fix a bug that
splitChunk.reuseExistingChunkdoesn'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
Features
- add
getResolvemethod to data object when using functionexternals -
externalsfunction may return a promise now
Bugfixes
- fix
define("local-module", expr)generating invalid syntax - fix resolving bug when resolving build dependencies
- add
chunkModulesSpaceto schema - fix
rebuildModuleapi
Performance
- improve performance of build dependencies resolving
v5.14.0
Features
- add experimental ESM tracking for build dependencies
Bugfixes
- fix crash when calling
watcher.getContextTimeInfoEntries() - make filesystem types compatible with
memfsand realfs - fix rebuild error when using the
AutomaticPrefetchPlugin
Contribution
- improve type definitions by using typescript 4.2
v5.13.0
Features
- add
resolve.preferAbsoluteflag for compatibility with webpack 4 - add support for wildcards in
exportsandimportsfield - 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
- use
v5.12.3
Bugfixes
- upgrade
@webassembly/*andterser-webpack-plugindependencies
v5.12.2
Bugfixes
- fix problem with typings in strict mode
v5.12.1
Bugfixes
- fix a crash in ConcatenatedModule when deserializing
- fix some not serializable warnings
- show error when using an invalid identifier as
varlibrary
v5.12.0
Features
- add
experiments.layers-
entry.xxx.layer: "name-of-layer"allows to set the layer for an entrypoint -
module.rules[].issuerLayer: RuleConditionallows to filter/match by layer of issuer -
module.rules[].layer: "name-of-layer"allows to set the layer of an module -
splitChunks.cacheGroups.xxx.layerallows 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 -
externalsfunction has an additional argument propertycontextInfowhich contains info about the issuer (e. g. the layer)
-
- add
module.parserandmodule.generatoroptions to allow to specify parser/generator options globally per module type - make
chunkIdvariable 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.nestedModulesSpaceto schema to allow to specify this option - fix a bug that incorrectly replaces
new.targetwith constants - fix a bug where
splitChunkminSizeis not handled correctly - fix a bug where the order of
splitChunkcacheGroupsis 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
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
objecttypes in typings - expose more types regarding Stats
v5.11.0
Features
- update typings to include undefined/null types (for strict type)
- export WebpackError
- export Asset and AssetInfo types
- allow error configuration for
validateSchemafunction
Bugfixes
- fix typings for SourceMapSource
- allow custom properties in AssetInfo
- handle
undefinedvalues for rule conditions like empty strings
v5.10.3
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
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
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
processAssetswithadditionalAssets - add missing
\in module info header comment
v5.10.0
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: trueis cached - avoid assets and module stats information generation when they are cached and cached assets/modules are not shown
v5.9.0
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 ...
- caused crash with
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.