You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This can boost performance when many chunks are used, especially incremental build performance
Modules from parent chunks are now tracked during chunk graph generation, which allows to skip these modules in async chunks. This often renders optimization.removeAvailableModules unneeded, expect in scenarios where chunks are merged during optimization.
optimization.removeAvailableModules is now disabled in development mode by default
optimization.removeAvailableModules will be disabled for all modes in next major release, feel free to disable it in production too if you want extra performance.
This release updates some dependencies, which may trigger a npm bug. See here for the webpack issue. The npm bug has been fixed, but a new npm version has not been released yet.
Switch from uglify-es to terser as default minimizer
Note: While they are officially backward-compatible, it can still happen that a new bugs occurs with terser, which break your production builds. Make sure to validate your production builds after upgrading to this version. (Note that it's always a good idea to test your output assets before deploying.)
If you want to report bugs to terser (https://github.com/terser-js/terser), please provide a minimal repro case with minimized and non-minimized code. You can configure webpack to generate non-minimized code in production mode by setting optimization.minimize: false. When reporting a bug to terser, best report a repro case which doesn't require running webpack and is reproducible with only the terser command line.
See optimization.minimizers configuration option to switch back to uglify-es or provide additional minimize options for terser.
Internal requested filename for import() with target: "electron-main" uses correct path separator on windows
(This fixes a problem with filemappings in vscode)
devtool: "source-map" and variants generate SourceMaps when output file is .mjs
browser field as object is used when using target: "electron-renderer"
Comments near export default are preserved
Passing an array as externals value, now works correctly as documented
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
4.16.5→4.47.0Release Notes
webpack/webpack (webpack)
v4.47.0Compare Source
New Features
New Contributors
Full Changelog: webpack/webpack@v4.46.0...v4.47.0
v4.46.0Compare Source
Bugfixes
resolve.rootsto be backward-compatiblev4.45.0Compare Source
Features
Bugfixes
splitChunkminSizeis not handled correctlysplitChunkcacheGroupsis not handled correctlyv4.44.2Compare Source
Bugfixes
v4.44.1Compare Source
Bugfixes
export * from "non-esm"and a default export.v4.44.0Compare Source
Features
sideEffectsflag behavior when dynamic modules are part of the treesplitChunks.enforceSizeThresholdto allow enfore splitting larger chunks unrelated from other limiationsresolve.rootsand defaultresolve.roots: [context]/src/abc) to the project root (or other locations when configured)Bugfixes
minSizeis set to0NaNs in some places which breaks orderingv4.43.0Compare Source
Features
module.hot.invalidate()to HMR APIDependencies
v4.42.1Compare Source
Bugfixes
v4.42.0Compare Source
Bugfixes
"use asm"scopeoutput.hotUpdateChunkFilenameas this doesn't workv4.41.6Compare Source
Bugfixes
export *in a circular matterv4.41.5Compare Source
Bugfixes
webpack://prefix in SourceMaps correctlyprovidedExportswithexport *which caused changing module hashes and unnecessary HMR invalidationv4.41.4Compare Source
Bugfixes
__webpack_require__.eis not a function when using module concatenationPerformance
v4.41.3Compare Source
Security
Funding
v4.41.2Compare Source
Bugfixes
v4.41.1Compare Source
Bugfixes
v4.41.0Compare Source
Developer Experience
Performance
v4.40.3Compare Source
Bugfixes
Performance
v4.40.2Compare Source
Bugfixes
v4.40.1Compare Source
Bugfixes
v4.40.0Compare Source
Features
compilation.emitAsset/updateAsset(instead of accessing the Objectcompilation.assets)compilation.getAssets()andcompilation.getAsset(name)immutable: when set an asset can be cache infinitelydevelopment: when set an asset is some kind of development tool (i. e. a SourceMap)hotModuleReplacement: when set an asset is generated for an hot updateinfoobject in assetsv4.39.3Compare Source
Bugfixes
v4.39.2Compare Source
Bugfixes
v4.39.1Compare Source
Bugfixes
...100%is displayed instead of100%v4.39.0Compare Source
Features
statusmethod which allows to write temporary status messages[\id\]Compiler.hooks.assetEmittedhave been added to get byte content of emitted assetsBugfixes
Compiler.hooks.infrastructurelogtoCompiler.hooks.infrastructureLogconstructor)library.namenow supports placeholders inlibraryTarget: "system"Dependencies
v4.38.0Compare Source
Performance
optimization.removeAvailableModulesunneeded, expect in scenarios where chunks are merged during optimization.optimization.removeAvailableModulesis now disabled in development mode by defaultoptimization.removeAvailableModuleswill be disabled for all modes in next major release, feel free to disable it in production too if you want extra performance.v4.37.0Compare Source
Features
v4.36.1Compare Source
Bugfixes
v4.36.0Compare Source
Features
appendoption now supports the default placeholders in addition to[url]"..."when overriding options.v4.35.3Compare Source
Bugfixes
import()Performance
v4.35.2Compare Source
Bugfixes
realResourcemust match absolute pathsv4.35.1Compare Source
Bugfixes
realResourcecondition in rule to schemav4.35.0Compare Source
Features
Watching.suspendandWatching.resumesplitChunks.automaticNameMaxLengthandsplitChunks.cacheGroups[x].automaticNameMaxLengthBugfixes
publicPathwhen loading chunksv4.34.0Compare Source
Features
Bugfixes
v4.33.0Compare Source
Features
target: "electron-preload"for electron 5target: "web"in electron 5Bugfixes
v4.32.2Compare Source
Bugfixes
v4.32.1Compare Source
Bugfixes
node: false.v4.32.0Compare Source
Features
this.modeto the loader API, to allow loaders to choose defaults bymodesimilar to webpacks optionsimport()now includes the stack from where theimport()was calledBugfixes
const { a, ...rest } = obj, whererestconflicts with an imported binding etc.node: falsenow correctly disables__dirnameand__filenametoo__dirnameand__filenamenow no longer evaluates to something whennode: falseornode.__file/dirname: falseis setif(__dirname !== "")is no longer replaced withif(true)in such scenarios__webpack_public_path__for prefetching tooContribute
v4.31.0Compare Source
Features
errors-warningsstats presetBugfixes
v4.30.0Compare Source
Features
amd: falseto disable AMD supportCompilation.hooks.finishModulesnow also allows async pluginsoutput.libraryTarget: "system"to compile for SystemJs environmentBugfixes
nullid when concatenating an entry module in a different chunkPerformance
Contributing
v4.29.6Compare Source
Bugfixes
__webpack_require__andrequire.onErroris no longer evaluated toundefinedand evaluation is done at runtime instead.thisvalue inmodule.hot.acceptwith imported dependency is correctly preserved.Contributing
npmmodulesv4.29.5Compare Source
Bugfixes
@webassemblyjsto remove git dependencyv4.29.4Compare Source
Bugfixes
@webassemblyjsfor bugfixesv4.29.3Compare Source
Bugfixes
import()context uses__webpack_require__.e, but it is not in the runtimev4.29.2Compare Source
Internal changes
v4.29.1Compare Source
Bugfixes
__esModuleflag when modules are concatenated, but without usage informationv4.29.0Compare Source
Important Note for npm users
This release updates some dependencies, which may trigger a npm bug. See here for the webpack issue. The npm bug has been fixed, but a new npm version has not been released yet.
For workarounds see this comment.
Eventually the fix will be to upgrade npm once the bugfix is released.
Features
output.futureEmitAssetswhich gives the emitting logic of webpack 5v4.28.4Compare Source
Bugfixes
ProfilingPlugincreates output path if not existingoptimization.minimizerrun()failsv4.28.3Compare Source
Bugfixes
v4.28.2Compare Source
Bugfixes
v4.28.1Compare Source
Bugfixes
v4.28.0Compare Source
Features
checkResourcehas an additionalcontextargumentBugfixes
.mjsfiles as it's crashingv4.27.1Compare Source
Bugfixes
splitChunksenforce.v4.27.0Compare Source
Features
getResolvemethod to create their own resolver function with custom optionsBugfixes
export * fromv4.26.1Compare Source
Bugfixes
v4.26.0Compare Source
Features
Note: While they are officially backward-compatible, it can still happen that a new bugs occurs with terser, which break your production builds. Make sure to validate your production builds after upgrading to this version. (Note that it's always a good idea to test your output assets before deploying.)
If you want to report bugs to terser (https://github.com/terser-js/terser), please provide a minimal repro case with minimized and non-minimized code. You can configure webpack to generate non-minimized code in production mode by setting
optimization.minimize: false. When reporting a bug to terser, best report a repro case which doesn't require running webpack and is reproducible with only the terser command line.See
optimization.minimizersconfiguration option to switch back to uglify-es or provide additional minimize options for terser.v4.25.1Compare Source
Bugfixes
v4.25.0Compare Source
Features
formatoption toDllPluginto allow generating formated manifest jsonProgressPluginto add and remove informationBugfixes
.mjsv4.24.0Compare Source
Features
DefinePlugin.runtimeValue(() => {...}, true)is always evaluatedmoduleargument toDefinePlugin.runtimeValueBugfixes
v4.23.1Compare Source
Bugfixes
return'development'===process.env.NODE_ENV&&'foo'v4.23.0Compare Source
Features
watchModeflag to Compiler to be able to detect watch mode in pluginsremovedFilesproperty to Compiler to detect removed filesBugfixes
@webassemblyjs/*for bugfixInternal changes
v4.22.0Compare Source
Features
&&and||expressionsBugfixes
Performance
v4.21.0Compare Source
Features
output.libraryTarget: "amd-require"which generates a AMDrequire([], ...)wrapper instead of adefine([], ...)wrapperoutput.library, which exposes the library to a subpropertyBugfixes
__webpack_require__.eis used at runtime but is not defined in the bundleglobaltypePerformance
v4.20.2Compare Source
Bugfixes
export defaultin concatenated modulesv4.20.1Compare Source
Bugfixes
libraryTarget: "amd"without library namev4.20.0Compare Source
Bugfixes
Internal changes
v4.19.1Compare Source
Bugfixes
import()withtarget: "electron-main"uses correct path separator on windows(This fixes a problem with filemappings in vscode)
devtool: "source-map"and variants generate SourceMaps when output file is.mjsbrowserfield as object is used when usingtarget: "electron-renderer"export defaultare preservedexternalsvalue, now works correctly as documentedv4.19.0Compare Source
Bugfixes
v4.18.1Compare Source
Bugfixes
v4.18.0Compare Source
Features
v4.17.3Compare Source
Bugfixes
v4.17.2Compare Source
Bugfixes
v4.17.1Compare Source
Bugfixes
export *in a concatenated modulev4.17.0Compare Source
Features
Bugfixes
[contenthash]for js assetsConfiguration
📅 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.
This PR was generated by Mend Renovate. View the repository job log.