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:
2.7.0
->4.31.0
Release Notes
webpack/webpack
v4.31.0
Compare Source
Features
errors-warnings
stats presetBugfixes
v4.30.0
Compare Source
Features
amd: false
to disable AMD supportCompilation.hooks.finishModules
now also allows async pluginsoutput.libraryTarget: "system"
to compile for SystemJs environmentBugfixes
null
id when concatenating an entry module in a different chunkPerformance
Contributing
v4.29.6
Compare Source
Bugfixes
__webpack_require__
andrequire.onError
is no longer evaluated toundefined
and evaluation is done at runtime instead.this
value inmodule.hot.accept
with imported dependency is correctly preserved.Contributing
npm
modulesv4.29.5
Compare Source
Bugfixes
@webassemblyjs
to remove git dependencyv4.29.4
Compare Source
Bugfixes
@webassemblyjs
for bugfixesv4.29.3
Compare Source
Bugfixes
import()
context uses__webpack_require__.e
, but it is not in the runtimev4.29.2
Compare Source
Internal changes
v4.29.1
Compare Source
Bugfixes
__esModule
flag when modules are concatenated, but without usage informationv4.29.0
Compare 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.futureEmitAssets
which gives the emitting logic of webpack 5v4.28.4
Compare Source
Bugfixes
ProfilingPlugin
creates output path if not existingoptimization.minimizer
run()
failsv4.28.3
Compare Source
Bugfixes
v4.28.2
Compare Source
Bugfixes
v4.28.1
Compare Source
Bugfixes
v4.28.0
Compare Source
Features
checkResource
has an additionalcontext
argumentBugfixes
.mjs
files as it's crashingv4.27.1
Compare Source
Bugfixes
splitChunks
enforce
.v4.27.0
Compare Source
Features
getResolve
method to create their own resolver function with custom optionsBugfixes
export * from
v4.26.1
Compare Source
Bugfixes
v4.26.0
Compare 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.minimizers
configuration option to switch back to uglify-es or provide additional minimize options for terser.v4.25.1
Compare Source
Bugfixes
v4.25.0
Compare Source
Features
format
option toDllPlugin
to allow generating formated manifest jsonProgressPlugin
to add and remove informationBugfixes
.mjs
v4.24.0
Compare Source
Features
DefinePlugin.runtimeValue(() => {...}, true)
is always evaluatedmodule
argument toDefinePlugin.runtimeValue
Bugfixes
v4.23.1
Compare Source
Bugfixes
return'development'===process.env.NODE_ENV&&'foo'
v4.23.0
Compare Source
Features
watchMode
flag to Compiler to be able to detect watch mode in pluginsremovedFiles
property to Compiler to detect removed filesBugfixes
@webassemblyjs/*
for bugfixInternal changes
v4.22.0
Compare Source
Features
&&
and||
expressionsBugfixes
Performance
v4.21.0
Compare 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__.e
is used at runtime but is not defined in the bundleglobal
typePerformance
v4.20.2
Compare Source
Bugfixes
export default
in concatenated modulesv4.20.1
Compare Source
Bugfixes
libraryTarget: "amd"
without library namev4.20.0
Compare Source
Bugfixes
Internal changes
v4.19.1
Compare 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.mjs
browser
field as object is used when usingtarget: "electron-renderer"
export default
are preservedexternals
value, now works correctly as documentedv4.19.0
Compare Source
Bugfixes
v4.18.1
Compare Source
Bugfixes
v4.18.0
Compare Source
Features
v4.17.3
Compare Source
Bugfixes
v4.17.2
Compare Source
Bugfixes
v4.17.1
Compare Source
Bugfixes
export *
in a concatenated modulev4.17.0
Compare Source
Features
Bugfixes
[contenthash]
for js assetsv4.16.5
Compare Source
Bugfixes
import()
webpack-hot-client
and runtime chunksv4.16.4
Compare Source
Bugfixes
chunkAsset
hook in HotModuleReplacementPluginv4.16.3
Compare Source
Bugfixes
require.ensure
s.v4.16.2
Compare Source
Bugfixes
module.require
likerequire
module.main.require
andmodule.parent.require
v4.16.1
Compare Source
Bugfixes
output.hashDigest
has a more relaxed schemaInternal changes
v4.16.0
Compare Source
Features
electron-renderer
targetoptimization.moduleIds
andoptimization.chunkIds
options to replace other optionsBugfixes
output.library.root
and using a devtoolerr.stack
is not setoptimization.splitChunks.maxSize
Dependency.loc
is a string instead of an objectDeprecations
Dependency.compare
in favor ofcompareLocations
optimization.namedModules
is now deprecatedoptimization.hashedModuleIds
is now deprecatedoptimization.namedChunks
is now deprecatedoptimization.occurrenceOrder
is now deprecatedv4.15.1
Compare Source
Bugfixes
v4.15.0
Compare Source
Features:
maxSize
option forsplitChunks
(experimental)v4.14.0
Compare Source
Features
Compilation.dependencyReference
to modify the dependency referencesBugfixes
v4.13.0
Compare Source
Features
DefinePlugin
now supportsruntimeValue
s to pass computed values with dependencies that can change over timeoptimization.hashedModuleIds
resolve.alias
Bugfixes
bin
fields are usedv4.12.2
Compare Source
Bugfixes
v4.12.1
Compare Source
Bugfixes
splitChunks
import
withsideEffects: false
DependencyReference
[chunkhash]
intarget: "webworker"
ProfilingPlugin
Internal changes
lint-staged
v4.12.0
Compare Source
Features
Bugfixes
import()
when importing a non-ESMv4.11.1
Compare Source
Features
optimization.mangleWasmImports
option to disable mangling of wasm importsBugfixes
v4.11.0
Compare Source
Features
reportProgress
inafterEmit
Bugfixes
v4.10.2
Compare Source
Bugfixes
null
module idsv4.10.1
Compare Source
Bugfixes
v4.10.0
Compare Source
Features
Symbol.toStringTag
"Module"
Bugfixes
export * from
are no longer including in the bundlev4.9.2
Compare Source
Bugfixes
v4.9.1
Compare Source
Bugfixes
Internal changes
v4.9.0
Compare Source
Features
BannerPlugin
supports a function asbanner
optionserve
property in configuration schemaentryOnly
option toDllPlugin
to only expose modules in the entry pointwebpack-cli
andwebpack-command
usedIds
inrecords
for stablilityBugfixes
splitChunks
when request limit has reached (caused suboptimal splitting)__webpack_require__.e
)runtimeChunk
is even generated when all modules are moved bysplitChunks
(caused multiple runtime chunks instead of single one)Internal changes
many-pages
examplev4.8.3
Compare Source
Bugfixes
debug
dependencyoutput.library.root
v4.8.2
Compare Source
Bugfixes
v4.8.1
Compare Source
Bugfixes
v4.8.0
Compare Source
Features
instantiateStreaming
when availableBugfixes
v4.7.0
Compare Source
Features
import(/* webpackIgnore: true */ "...")
) to keep the import in the bundlechunkGroups
optionnamedChunkGroups
propertyChunk Group
text outputBugfixes
[contenthash:n]
without on-demand-chunksInternal changes
v4.6.0
Compare Source
Features
webpackPrefetch
/webpackPreload
magic comments toimport()
stats.entrypoints[].children
andstats.entrypoints[].childAssets
to stats jsonBugfixes
target: "webworker"
this
toundefined
ESM replacement in function default valuesnew require(...)
is weird, but now behaves like in node.jsexport * from "commonjs"
with partial overrideoutput.globalObject
intarget: "node-webkit"
loadModules
and dependencies in these modulesunknown size
when size is unknownoptimization
configurationInternal changes
v4.5.0
Compare Source
Features
Bugfixes
Contributing
yarn setup
script for bootstrapping local developmentv4.4.1
Compare Source
Bugfixes
v4.4.0
Compare Source
Features
splitChunks.chunks
supports a custom function nowmode
Bugfixes
chunkFilename
, because it's not workingexport default (function xxx() {})
Performance
v4.3.0
Compare Source
Features
[contenthash]
placeholderBugfixes
browser
field is used for targetelectron-renderer
devtoolNamespace
default correctly when passing an object tooutput.library
v4.2.0
Compare Source
Features
splitChunks.automaticNameDelimiter
to configure the name separator for automatic namesstats.excludeModules
now also accept booleansperformance
is disabled by default in non-web targetsBugfixes
events.json
in ProfilingPluginv4.1.1
Compare Source
Features
Bugfixes
sourceMap
option of the default UglifyJsPlugin now defaults to true when the SourceMapDevToolPlugin is usedmodule.assets
is now working again in the StatsdevtoolNamespace
default works now also for arrays passed tooutput.library
chunks
option ofoptimization.splitChunks
v4.1.0
Compare Source
Features
filename
option tooptimization.splitChunks
to modify the filename template for splitted chunksBugfixes
this.xxx
inProvidePlugin
v4.0.1
Compare Source
Features
version
property to webpack exportsBugfixes
import()
with CJS now gives correct exportsv4.0.0
Compare Source
Big changes
mode
or--mode
) between two modes now: production or developmentoptimization.*
(build your custom mode)process.env.NODE_ENV
are set to production or development (only in built code, not in config)none
mode which disables everythingimport()
always returns a namespace object. CommonJS modules are wrapped into the default exportimport()
NoEmitOnErrorsPlugin
->optimization.noEmitOnErrors
(on by default in production mode)ModuleConcatenationPlugin
->optimization.concatenateModules
(on by default in production mode)NamedModulesPlugin
->optimization.namedModules
(on by default in develoment mode)CommonsChunkPlugin
was removed ->optimization.splitChunks
,optimization.runtimeChunk
type: "javascript/auto"
when transforming JSON via loader to JSBig features
javascript/esm
handles ESM more strictly compared tojavascript/auto
:default
import, everything else (including namespace import) emit errors.mjs
modules arejavascript/esm
by defaultimport()
sideEffects: false
is now supported in package.jsonsideEffects
in package.json also supports glob expressions and arrays of glob expressionsoptimization.splitChunks
option was introducedDetails: https://gist.github.com/sokra/1522d586b8e5c0f5072d7565c2bee693
import()
occur in a dead branchwebpackInclude
andwebpackExclude
are supported by the magic comment forimport()
. They allow to filter files when using a dynamic expression.System.import()
now emits a warningRule.parser.system: true
System.import
withRule.parser.system: false
module.rules[].resolve
. It's merged with the global configuration.optimization.minimize
has been added to switch minimizing on/offoptimization.minimizer
has been added to configurate minimizers and optionswebpack-cli
to use the CLI--progress
) now displays plugin namesFeatures
module.rules[].type
options.dependencies
configurations now throw errorsideEffects
can be overriden via module.rulesoutput.hashFunction
can now be a Constructor to a custom hash functionoutput.globalObject
config option to allow to choose the global object reference in runtime exitCodetype
andrequest
.include
test
andexclude
to the eval source map devtool pluginfor of
instead offorEach
Map
andSet
instead of Objectsincludes
instead ofindexOf
text/javascript
andasync
as this are the default values (saves a few bytes)__webpack_require__
and argument is omitted.wasm
,.mjs
,.js
and.json
extensions in this orderoutput.pathinfo
is now on by default in develoment modeentry
defaults to./src
output.path
defaults to./dist
production
defaults when omiting themode
option<{parents}>
>{children}<
and={siblings}=
in StatsbuildAt
time to statsimport()
now emits a error instead of a warningdone
is now an async hookBugfixes
*/
output.chunkCallbackName
to the schema to allow configurating WebWorker templatemodule.id/loaded
now correctly bails out of Module Concatentation (Scope Hoisting)Watching.invalidate
-!
behavior with post loadersrun
andwatchRun
hooks forMultiCompiler
this
is now undefined in ESMvar
,const
orlet
javascript/dynamic
orjavascript/module
is used.buildMeta
of nulloriginal-fs
module for electron targetsplugins
Internal changes
plugin
calls withtap
calls (new plugin system)buildMeta.exportsType: "default"
for json modulesneo-async
instead ofasync
Removed features
module.loaders
loaderContext.options
Compilation.notCacheable
flagNoErrorsPlugin
Dependency.isEqualResource
NewWatchingPlugin
CommonsChunkPlugin
Breaking changes for plugins/loaders
plugin
method is backward-compatibleCompiler.hooks.xxx.tap(<plugin name>, fn)
nowChunk.chunks/parents/blocks
are no longer Arrays. A Set is used internally and there are methods to access it.Parser.scope.renames
andParser.scope.definitions
are no longer Objects/Arrays, but Map/Sets.StackedSetMap
(LevelDB-like datastructure) instead of ArraysCompiler.options
is no longer set while applying pluginsDependency.getReference()
may now return aweak
property.Dependency.weak
is now used by theDependency
base class and returned in the base impl ofgetReference()
Module
sContextModule
andresolveDependencies
Compiler.resolvers
intoCompiler.resolverFactory
accessible with pluginsDependency.isEqualResource
has been replaced withDependency.getResourceIdentifier
Template
are now staticoutputOptions
andrequestShortener
has been moved to this classModule.meta
has been replaced withModule.buildMeta
Module.buildInfo
andModule.factoryMeta
have been addedModule
have been moved into the new objectsloaderContext.rootContext
which points to thecontext
options. Loaders may use it to make stuff relative to the application root.this.hot
flag to loader context when HMR is enabledbuildMeta.harmony
has been replaced withbuildMeta.exportsType: "namespace
map/foreach
Chunks/Modules/Parents
methods are now deprecated/removedcreateGenerator
andgenerator
hooks for NormalModuleFactory to customize code generationv3.12.0
Compare Source
Bugfixes
hot.accept
creating duplicates when using the DefinePluginv3.11.0
Compare Source
Features
new Foo
expressionsjsonpScriptType
to specify script type for lazy loaded script tagsBugfixes
ident
in schemaident
is not lost when referencing by identprocess.exitCode
instead ofprocess.exit
v3.10.0
Compare Source
Features:
publicPath
andfileContext
to SourceMapDevToolPluginrequire.include
no longer uses all exports (Tree Shaking)v3.9.1
Compare Source
Bugfixes:
ignored
andstdin
to schema ofwatchOptions
v3.9.0
Compare Source
Features
Bugfixes
stats.all
option to schemaself
beforethis
as global objectwindow
instead of this in JSONPnull
in SourceMap correctlymultiStep: true
v3.8.1
Compare Source
v3.8.0
Compare Source
v3.7.1
Compare Source
v3.7.0
Compare Source
v3.6.0
Compare Source
v3.5.6
Compare Source
v3.5.5
Compare Source
v3.5.4
Compare Source
v3.5.3
Compare Source
v3.5.2
Compare Source
v3.5.1
Compare Source
v3.5.0
Compare Source
v3.4.1
Compare Source
v3.4.0
Compare Source
v3.3.0
Compare Source
v3.2.0
Compare Source
v3.1.0
Compare Source
v3.0.0
Compare Source
Renovate configuration
📅 Schedule: At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻️ Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "
rebase!
".🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot. View repository job log here.