FigmaThird
FigmaThird copied to clipboard
Update dependency webpack to v5
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| webpack | ^4.41.2 -> ^5.0.0 |
Release Notes
webpack/webpack
v5.76.2
Bugfixes
- Fix bug where a missing semicolon in generated bundle output for
publicPathRuntimewould cause concatenated runtime errors by @​snitin315 in https://github.com/webpack/webpack/pull/16811 - Remove redundant semicolons generated in bundle runtime code after
onScriptCompletefunction by @​ahaoboy in https://github.com/webpack/webpack/pull/16347 - Fix bug where
RealContentHashPluginwas not respectingoutput.hashSalt's ability to cause a force recalculation of[contenthash]for emitted assets by @​dmichon-msft #​16789
Performance
- Improve memory and runtime performance of sourcemaps via hoisting Regular Expression literals to stored variables by @​TheLarkInn in https://github.com/webpack/webpack/pull/15722
- Correct v8 deoptimization in
ModuleGraphdue to instance property declarations occurring outside of constructor by @​snitin315 in https://github.com/webpack/webpack/pull/16830
Developer Experience
- Improved internal typings to match
webpack-sourcestypings forSourceinstances by @​snitin315 in https://github.com/webpack/webpack/pull/16805 - Update repo examples to include missing quotation by @​snitin315 in https://github.com/webpack/webpack/pull/16812
New Contributors
- @​ahaoboy made their first contribution in https://github.com/webpack/webpack/pull/16347
Full Changelog: https://github.com/webpack/webpack/compare/v5.76.1...v5.76.2
v5.76.1
Fixed
- Added
assert/strictbuilt-in toNodeTargetPlugin
Revert
- Improve performance of
hashRegExplookup by @​ryanwilsonperkin in https://github.com/webpack/webpack/pull/16759
v5.76.0
Bugfixes
- Avoid cross-realm object access by @​Jack-Works in https://github.com/webpack/webpack/pull/16500
- Improve hash performance via conditional initialization by @​lvivski in https://github.com/webpack/webpack/pull/16491
- Serialize
generatedCodeinfo to fix bug in asset module cache restoration by @​ryanwilsonperkin in https://github.com/webpack/webpack/pull/16703 - Improve performance of
hashRegExplookup by @​ryanwilsonperkin in https://github.com/webpack/webpack/pull/16759
Features
- add
targettoLoaderContexttype by @​askoufis in https://github.com/webpack/webpack/pull/16781
Security
Repo Changes
- Fix HTML5 logo in README by @​jakebailey in https://github.com/webpack/webpack/pull/16614
- Replace TypeScript logo in README by @​jakebailey in https://github.com/webpack/webpack/pull/16613
- Update actions/cache dependencies by @​piwysocki in https://github.com/webpack/webpack/pull/16493
New Contributors
- @​Jack-Works made their first contribution in https://github.com/webpack/webpack/pull/16500
- @​lvivski made their first contribution in https://github.com/webpack/webpack/pull/16491
- @​jakebailey made their first contribution in https://github.com/webpack/webpack/pull/16614
- @​akhilgkrishnan made their first contribution in https://github.com/webpack/webpack/pull/16446
- @​ryanwilsonperkin made their first contribution in https://github.com/webpack/webpack/pull/16703
- @​piwysocki made their first contribution in https://github.com/webpack/webpack/pull/16493
- @​askoufis made their first contribution in https://github.com/webpack/webpack/pull/16781
Full Changelog: https://github.com/webpack/webpack/compare/v5.75.0...v5.76.0
v5.75.0
Bugfixes
experiments.*normalize tofalsewhen opt-out- avoid
NaN% - show the correct error when using a conflicting chunk name in code
- HMR code tests existance of
windowbefore trying to access it - fix
eval-nosources-*actually exclude sources - fix race condition where no module is returned from processing module
- fix position of standalong semicolon in runtime code
Features
- add support for
@importto extenal CSS when using experimental CSS in node - add
i64support to the deprecated WASM implementation
Developer Experience
- expose
EnableWasmLoadingPlugin - add more typings
- generate getters instead of readonly properties in typings to allow overriding them
v5.74.0
Features
- add
resolve.extensionAliasoption which allows to alias extensions- This is useful when you are forced to add the
.jsextension to imports when the file really has a.tsextension (typescript +"type": "module")
- This is useful when you are forced to add the
- add support for ES2022 features like static blocks
- add Tree Shaking support for
ProvidePlugin
Bugfixes
- fix persistent cache when some build dependencies are on a different windows drive
- make order of evaluation of side-effect-free modules deterministic between concatenated and non-concatenated modules
- remove left-over from debugging in TLA/async modules runtime code
- remove unneeded extra 1s timestamp offset during watching when files are actually untouched
- This sometimes caused an additional second build which are not really needed
- fix
shareScopeoption forModuleFederationPlugin - set
"use-credentials"also for same origin scripts
Performance
- Improve memory usage and performance of aggregating needed files/directories for watching
- This affects rebuild performance
Extensibility
- export
HarmonyImportDependencyfor plugins
v5.73.0
Features
- add options for default
dynamicImportModeand prefetch and preload - add support for
import { createRequire } from "module"in source code
Bugfixes
- fix code generation of e. g.
return"field"in Module - fix performance of large JSON modules
- fix performance of async modules evaluation
Developer Experience
- export
PathDatain typings - improve error messages with more details
v5.72.1
Bugfixes
- fix
__webpack_nonce__with HMR - fix
inoperator in some cases - fix json parsing error messages
- fix module concatenation with using
this.importModule - upgrade enhanced-resolve
v5.72.0
Features
- make cache warnings caused by build errors less verbose
- Allow banner to be placed as a footer with the BannerPlugin
- allow to concatenate asset modules
Bugfixes
- fix RemoteModules when using HMR (Module Federation + HMR)
- throw error when using module concatenation and cacheUnaffected
- fix
inoperator with nested exports
v5.71.0
Features
- choose smarter default for
uniqueNamewhen using aoutput.librarywhich includes placeholders - add support for expressions with
inof a imported binding - generate UMD code with arrow functions when possible
Bugfixes
- fix source map source names for ContextModule to be relative
- fix
chunkLoadingoption in module module - fix edge case where
evaluateExpressionreturnsnull - retain optional chaining in imported bindings
- include runtime code for the base URI even if not using chunk loading
- don't throw errors in persistent caching when importing node.js builtin modules via ESM
- fix crash when using
lazy-onceContext modules - improve handling of context modules with multiple contexts
- fix race condition HMR chunk loading when importing chunks during HMR updating
- handle errors in
runAsChildcallback
v5.70.0
Features
- update node.js version constraints for ESM support
- add
baseUritoentryoptions to configure a static base uri (the base ofnew URL()) - alphabetically sort exports in namespace objects when possible
- add
__webpack_exports_info__.name.canMangle - add proxy support to
experiments.buildHttp import.meta.webpackContextas ESM alternative torequire.context- handle multiple alternative directories (e. g. due to resolve.alias or resolve.modules) when creating an context module
Bugfixes
- fix problem when assigning
globalto a variable - fix crash when using
experiments.outputModuleandloaderContext.importModulewith multiple chunks - avoid generating progress output before the compilation has started (ProgressPlugin)
- fix handling of non-static-ESM dependencies with using TLA and HMR in the same module
- include the asset module filename in hashing
output.cleanwill keep HMR assets for at least 10s to allow HMR to access them even when compilation is faster then the browser
Performance
- fix asset caching when using the BannerPlugin
Developer Experience
- improve typings
Contributing
- capture caching errors when running the test suite
v5.69.1
Revert
- revert "handle multiple alternative directories (e. g. due to resolve.alias or resolve.modules) when creating an context module"
v5.69.0
Features
- automatically switch to an ESM compatible environment when enabling ESM output mode
- handle multiple alternative directories (e. g. due to
resolve.aliasorresolve.modules) when creating an context module - add
util/typesto node.js built-in modules - add
__webpack_exports_info__.<name>.canMangleapi
Bugfixes
- fix bug in chunk graph generation which leads to modules being included in chunk desprite them being already included in parent chunks
- avoid writing more than 2GB at once during cache serialization (as workaround for node.js/libuv bug on MacOS)
- fix handling of whitespaces in semver ranges when using Module Federation
- avoid generating hashes which contain only numbers as they likely conflict with module ids
- fix resource name based placeholders for data uris
- fix cache serialization for context elements
- fix passing of
stageoption when instrumenting plugins for the ProfilingPlugin - fix tracking of declarations in concatenated modules to avoid conflicts
- fix unstable mangling of exports
- fix handling of
#in paths of loaders - avoid unnecessary cache update when using
experiments.buildHttp
Contributing
- update typescript and jest
Developer Experience
- expose some additional typings for usage in webpack-cli
v5.68.0
Features
- allow to disable compile time evaluation of import.meta.url
- add
__webpack_module__and__webpack_module__.idto the api
Bugfixes
- fix handling of errors thrown in async modules
v5.67.0
Features
- add 'outputPath' configuration option for resource asset modules
- support Trusted Types in eval source maps
experiments.css- allow to generate only exports for css in node
- add
SyncModuleIdsPluginto sync module ids between server and client compilation - add more options to the
DeterministicModuleIdsPluginto allow to generate equal ids
Developer Experience
- limit data url module name in stats printer
- allow specific description for CLI options
- improve space limiting algorithm in stats printing to show partial lists
- add
nullto errors in callbacks - fix call signature types of addChunkInGroup
Bugfixes
- avoid reporting non-existant package.jsons as dependencies
experiments.css- fix missing css runtime when only initial css is used
- fix css hmr support
- bugfixes to css modules
- fix cache serialization for CreateScriptUrlDependency
- fix data url content when processed by a loader
- fix regexp in identifiers that include
| - fix ProfilingPlugin for watch scenarios
- add layer to module names and identifiers
- this avoid random module id changes when additional modules are added to another layer
- provide hashFunction parameter to DependencyTemplates to allow customizing it there
- fix HMR when experiments.lazyCompilation is enabled
- store url as Buffer to avoid serialization warnings
- exclude
webpack-hot-middleware/clientfrom lazy compilation
Contributing
- remove travis configuration
- improve spell checking
v5.66.0
Features
- add
output.library.type: "commonjs-static"to emit a statically analyse-able commonjs module (for node.js esm interop support) - add
experiments.css(very experimental)
Bugfixes
- fix CORS headers for
experiments.lazyCompilation - fix
[absolute-resource-path]for SourceMap module naming - avoid stack overflow when accessing many memory cached cache values in series
Performance
- reduce default
watchOptions.aggregateTimeoutto 20ms
v5.65.0
Features
- static evaluation understands
undefinednow - reduce container entry code by a few chars
- use template literals when available and they make sense
Bugfixes
- handle
singletonflag withoutrequiredVersionin Module Federation - upgrade
watchpackfor context time info bugfix
Performance
- improve RegExp in error message formating for non-quadratic performance
Developer Experience
- automatically insert brackets when
output.globalObjectcontains a non-trival expression - show error when using
scripttype external with invalid syntax - expose types for
Resolver,StatsOptionsandResolvePluginInstance
Preparations for the future
hashDigestLengthwill default to 16 in webpack 6 (experiments.futureDefaults)
v5.64.4
Bugfixes
- fix tagged template literal evaluation
- fix ModuleFederation with ESM
- fix outputModule with intial splitChunks
Performance
- upgrade watchpack for faster watcher updating
- track file and directory timestamps separately in watchpack and webpack
Developer Experience
- show origin of singleton shared module in mismatch warning
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 codeoutput.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 undefine
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 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 this update again.
- [ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
âš Warning: custom changes will be lost.
Renovate Ignore Notification
Because you closed this PR without merging, Renovate will ignore this update. You will not get PRs for any future 5.x releases. But if you manually upgrade to 5.x then Renovate will re-enable minor and patch updates automatically.
If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.