This repository has been archived by the owner on Feb 18, 2024. It is now read-only.
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 Pull Request updates dependency webpack from
^3.10.0
to^4.0.0
Release Notes
v4.0.0
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 generationv4.0.1
Features
version
property to webpack exportsBugfixes
import()
with CJS now gives correct exportsv4.1.0
Features
filename
option tooptimization.splitChunks
to modify the filename template for splitted chunksBugfixes
this.xxx
inProvidePlugin
v4.1.1
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.2.0
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.3.0
Features
[contenthash]
placeholderBugfixes
browser
field is used for targetelectron-renderer
devtoolNamespace
default correctly when passing an object tooutput.library
v4.4.0
Features
splitChunks.chunks
supports a custom function nowmode
Bugfixes
chunkFilename
, because it's not workingexport default (function xxx() {})
Performance
v4.4.1
Bugfixes
v4.5.0
Features
Bugfixes
Contributing
yarn setup
script for bootstrapping local developmentv4.6.0
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
Commits
v4.6.0
37ff424
Pass undefined as localefac3424
Simplify cachedMerge269a911
Define missing fields on AMD classesfe73712
Remove unecessary _this binding30da6c5
Merge pull request #6989 from mohsen1/extend-Template25f8637
Merge pull request #7010 from webpack/fix/context_dependency_init5401381
Merge pull request #7011 from webpack/fix/object_shapes15ac4e8
Merge pull request #7012 from webpack/refactor/remove_thisa41974d
Merge pull request #7013 from webpack/refactor/cachedmergee320290
Merge pull request #7014 from webpack/refactor/amd_missing_fields6e154f6
Avoid deopt when cache is set5be4026
Merge pull request #7015 from webpack/refactor/source_map_deopt0b1e9d8
Merge pull request #6982 from mohsen1/json-and-date-api-fixes589f40b
Add missing class member initializations found by TypeScript4f3e414
chore: rm useless checking1c76133
Avoid type mismatch assignment of number to string in HotModuleReplacementPlugindd484c3
init detailsb203091
s/const/let581d19b
actually const is fine13ac6a1
Merge pull request #7020 from mohsen1/avoid-type-mismatch-assignmentsb5b6506
remove unneeded message assignmentb6c282f
fix unit testeca7bad
Merge pull request #6910 from mohsen1/more-initsb8b95cf
Use compilation instead of this4d9eb7c
Merge pull request #6974 from mohsen1/webpack-error-refactor36d576c
Update ChunkModuleIdRangePlugin to webpack 4 APIb715475
Add integration tests397f51f
Merge pull request #7019 from Aladdin-ADD/patch-20e88e8a
Merge pull request #6954 from webpack/fix/ChunkModuleIdRangePlugin868d3b2
Add infrastructurecf8ec0f
Add WebAssembly global84f68b3
Install typescriptd00d44c
Use nightly build of TS for now5bb5af6
Some type fixes using JSDoc comments3ac4f21
More comments to help ts compiler be happy09cdcb0
More comment based type fixes0ced385
Comment fixes6a9ee8f
more comment types and one actual code change2367a7d
More comments70f9a5f
upgrade ts5adc491
Add more globals and comments8398411
Add types for comment method836d06e
up ts0fa8cd9
Use ts nightly and enable tsc as lint in travisd677bdd
pretty2267906
Fix lint issues5b236e5
More type fixes (these changes should be merged as separate PRs2295c83
Add ts-ignore comments with link to issuec7429a6
Fixed all type errors!724987a
set correct type in ContextDependency0ea9b98
Use ts nightly and fix JSDoc for comment method in RuntimeTemplate2b66263
TS now understands module.exports assignments2adf5c2
Better JSDocs for makeNewProfiledTapFn8de3b9b
add types to Moduleebc4b00
add type linting to normal linting in package.jsona4e8c07
fix jsdoc comments to make eslint happy3677e25
add a separate class for HotUpdateChunk5f0a99e
declare types for chrome-trace-event6063276
remove $WebAssembly global9dafa97
TS now understands exports assignmentsa3df74b
remove unneeded member isImportEmitted985e6fb
fix race condition when using loadModule40a089c
Merge pull request #7027 from webpack/bugfix/load-module-race10282ea
Merge pull request #6862 from mohsen1/ts58b387b
enable strictFunctionTypes2e3f4ff
enable strictPropertyInitialization0d50f94
enable alwaysStrict3565cc1
enable noUnusedLocalsddb4b9e
ASCII is art236b1d8
Revert "enable noUnusedLocals"74559e3
Diable strictPropertyInitialization until null check is enabledec0dad4
Merge remote-tracking branch 'upstream/master' into peer-dependencies-46294313
Merge pull request #7033 from mohsen1/strict0be0d1f
Merge pull request #7039 from hedgepigdaniel/peer-dependencies-470d4825
Fix output.globalObject value in node-webkite656231
Move prepareOptions to test helpers1313300
Merge pull request #7049 from bastimeyer/bugfix/output-globalobject-node-webkite54af0d
Merge pull request #7048 from webpack/refactor/prepareOptions9cb1a66
add support for link preload/prefetch014e65e
rename webpackPrefetchPriority to webpackPrefetch57e09a6
add test for prefetch, preload and script loading jsonp runtime17eb5b4
rename priority to order2a7fdc4
hot.accept tap interceptor returns T/F based on the number of args3417da5
preload in parallel to script downloade1930c2
Fix LoaderPlugin not resolving recursively873d7d4
show preload and prefetch in statsbe79d6d
add mixed test case which also tests equal order sortingbabc8a4
Merge pull request #7059 from bastimeyer/bugfix/loaderplugin-recursive205ca62
fix reversed order in Chunk.compareTo8e2e19b
fix unstable sorting of ChunkGroups and add test946c4df
add test case for comments in import()58ba91d
fix bug which prevented some chunks to show up in Chunk.getAllAsyncChunks0ff2901
Merge pull request #7060 from webpack/test/any-comment-in-importec4ec8e
Merge pull request #7056 from webpack/feature/preloadaee2491
Merge pull request #6962 from justinhelmer/bug/69193f99517
Merge pull request #6905 from xtuc/fix-handle-unknown-sizec47150c
Clone optimization config in Defaulter3a5fda9
Merge pull request #7062 from webpack/bugfix/issue-6931941be29
Merge pull request #7063 from webpack/bugfix/clone-optimizatione7c8fa4
4.6.0This PR has been generated by Renovate Bot.