theo-loader
theo-loader copied to clipboard
Update webpack to the latest version π
βοΈ Greenkeeperβs updated Terms of Service will come into effect on April 6th, 2018.
Version 4.0.0 of webpack was just published.
| Dependency | webpack |
|---|---|
| Current Version | 3.11.0 |
| Type | devDependency |
The version 4.0.0 is not covered by your current version range.
If you donβt accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update.
It might be worth looking into these changes and trying to get this project onto the latest version of webpack.
If you have a solid test suite and good coverage, a passing build is a strong indicator that you can take advantage of these changes directly by merging the proposed change into your project. If the build fails or you donβt have such unconditional trust in your tests, this branch is a great starting point for you to work on the update.
Release Notes
v4.0.0Big changes
- Environment
- Node.js 4 is no longer supported. Source Code was upgraded to a higher ecmascript version.
- Usage
- You have to choose (
modeor--mode) between two modes now: production or development- production enables all kind of optimizations to generate optimized bundles
- development enables comments and hint for development and enables the eval devtool
- production doesn't support watching, development is optimized for fast incremental rebuilds
- production also enables module concatenating (Scope Hoisting)
- You can configure this in detail with the flags in
optimization.*(build your custom mode) process.env.NODE_ENVare set to production or development (only in built code, not in config)- There is a hidden
nonemode which disables everything
- You have to choose (
- Syntax
import()always returns a namespace object. CommonJS modules are wrapped into the default export- This probably breaks your code, if you used to import CommonJs with
import()
- This probably breaks your code, if you used to import CommonJs with
- Configuration
- You no longer need to use these plugins:
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)
CommonsChunkPluginwas removed ->optimization.splitChunks,optimization.runtimeChunk
- You no longer need to use these plugins:
- JSON
- webpack now handles JSON natively
- You may need to add
type: "javascript/auto"when transforming JSON via loader to JS - Just using JSON without loader should still work
- You may need to add
- allows to import JSON via ESM syntax
- unused exports elimination for JSON modules
- webpack now handles JSON natively
- Optimization
- Upgrade uglifyjs-webpack-plugin to v1
- ES15 support
- Upgrade uglifyjs-webpack-plugin to v1
Big features
- Modules
- webpack now supports these module types:
- javascript/auto: (The default one in webpack 3) Javascript module with all module systems enabled: CommonJS, AMD, ESM
- javascript/esm: EcmaScript modules, all other module system are not available
- javascript/dynamic: Only CommonJS and, EcmaScript modules are not available
- json: JSON data, it's available via require and import
- webassembly/experimental: WebAssembly modules (currently experimental)
javascript/esmhandles ESM more strictly compared tojavascript/auto:- Imported names need to exist on imported module
- Dynamic modules (non-esm, i. e. CommonJs) can only imported via
defaultimport, everything else (including namespace import) emit errors
- In
.mjsmodules arejavascript/esmby default - WebAssembly modules
- can import other modules (JS and WASM)
- Exports from WebAssembly modules are validated by ESM import
- You'll get a warning/error when trying to import a non-existing export from WASM
- can only be used in async chunks. They doesn't work in initial chunks (would be bad for web performance)
- Import modules using WASM via
import()
- Import modules using WASM via
- This is an experimental feature and subject of change
- webpack now supports these module types:
- Optimization
sideEffects: falseis now supported in package.jsonsideEffectsin package.json also supports glob expressions and arrays of glob expressions
- Instead of a JSONP function a JSONP array is used -> async script tag support, order no longer matter
- New
optimization.splitChunksoption was introduced
Details: https://gist.github.com/sokra/1522d586b8e5c0f5072d7565c2bee693 - Dead branches are now removed by webpack itself
- Before: Uglify removed the dead code
- Now: webpack removes the dead code (in some cases)
- This prevents crashing when
import()occur in a dead branch
- Syntax
webpackIncludeandwebpackExcludeare supported by the magic comment forimport(). They allow to filter files when using a dynamic expression.- Using
System.import()now emits a warning- You can disable the warning with
Rule.parser.system: true - You can disable
System.importwithRule.parser.system: false
- You can disable the warning with
- Configuration
- Resolving can now be configured with
module.rules[].resolve. It's merged with the global configuration. optimization.minimizehas been added to switch minimizing on/off- By default: on in production mode, off in development mode
optimization.minimizerhas been added to configurate minimizers and options
- Resolving can now be configured with
- Usage
- Some Plugin options are now validated
- CLI has been move to webpack-cli, you need to install
webpack-clito use the CLI - The ProgressPlugin (
--progress) now displays plugin names- At least for plugins migrated to the new plugin system
- Performance
- UglifyJs now caches and parallizes by default
- Multiple performance improvements, especially for faster incremental rebuilds
- performance improvement for RemoveParentModulesPlugin
- Stats
- Stats can display modules nested in concatenated modules
Features
- Configuration
- Module type is automatically choosen for mjs, json and wasm extensions. Other extensions need to be configured via
module.rules[].type - Incorrect
options.dependenciesconfigurations now throw error sideEffectscan be overriden via module.rulesoutput.hashFunctioncan now be a Constructor to a custom hash function- You can provide a non-cryto hash function for performance reasons
- add
output.globalObjectconfig option to allow to choose the global object reference in runtime exitCode
- Module type is automatically choosen for mjs, json and wasm extensions. Other extensions need to be configured via
- Runtime
- Error for chunk loading now includes more information and two new properties
typeandrequest.
- Error for chunk loading now includes more information and two new properties
- Devtool
- remove comment footer from SourceMaps and eval
- add support for
includetestandexcludeto the eval source map devtool plugin
- Performance
- webpacks AST can be passed directly from loader to webpack to avoid extra parsing
- Unused modules are no longer unnecessarly concatenated
- Add a ProfilingPlugin which write a (Chrome) profile file which includes timings of plugins
- Migrate to using
for ofinstead offorEach - Migrate to using
MapandSetinstead of Objects - Migrate to using
includesinstead ofindexOf - Replaced some RegExp with string methods
- Queue don't enqueues the same job twice
- Use faster md4 hash for hashing by default
- Optimization
- When using more than 25 exports mangled export names are shorter.
- script tags are no longer
text/javascriptandasyncas this are the default values (saves a few bytes) - The concatenated module now generates a bit less code
- constant replacements now don't need
__webpack_require__and argument is omitted
- Defaults
- webpack now looks for the
.wasm,.mjs,.jsand.jsonextensions in this order output.pathinfois now on by default in develoment mode- in-memory caching is now off by default in production
entrydefaults to./srcoutput.pathdefaults to./dist- Use
productiondefaults when omiting themodeoption
- webpack now looks for the
- Usage
- Add detailed progress reporting to SourceMapDevToolPlugin
- removed plugins now give a useful error message
- Stats
- Sizes are now shown in kiB instead of kB in Stats
- entrypoints are now shows by default in Stats
- chunks now display
<{parents}>>{children}<and={siblings}=in Stats - add
buildAttime to stats - stats json now includes the output path
- Syntax
- A resource query is supported in context
- Referencing entry point name in
import()now emits a error instead of a warning - Upgraded to acorn 5 and support ES 2018
- Plugins
doneis now an async hook
Bugfixes
- Generated comments no longer break on
*/ - webpack no longer modifies the passed options object
- Compiler "watch-run" hook now has the Compiler as first parameter
- add
output.chunkCallbackNameto the schema to allow configurating WebWorker template - Using
module.id/loadednow correctly bails out of Module Concatentation (Scope Hoisting) - OccurenceOrderPlugin now sorts modules in correct order (instead of reversed)
- timestamps for files are read from watcher when calling
Watching.invalidate - fix incorrect
-!behavior with post loaders - add
runandwatchRunhooks forMultiCompiler thisis now undefined in ESM- VariableDeclaration are correctly identified as
var,constorlet - Parser now parse the source code with the correct source type (module/script) when the module type
javascript/dynamicorjavascript/moduleis used. - don't crash on missing modules with
buildMetaof null - add
original-fsmodule for electron targets - HMRPlugin can be added to the Compiler outside of
plugins
Internal changes
- Replaced
plugincalls withtapcalls (new plugin system) - Migrated many deprecated plugins to new plugin system API
- added
buildMeta.exportsType: "default"for json modules - Remove unused methods from Parser (parserStringArray, parserCalculatedStringArray)
- Remove ability to clear BasicEvaluatedExpression and to have multiple types
- Buffer.from instead of new Buffer
- Avoid using forEach and use for of instead
- Use
neo-asyncinstead ofasync - Update tapable and enhanced-resolve dependencies to new major versions
- Use prettier
Removed features
- removed
module.loaders - removed
loaderContext.options - removed
Compilation.notCacheableflag - removed
NoErrorsPlugin - removed
Dependency.isEqualResource - removed
NewWatchingPlugin - removed
CommonsChunkPlugin
Breaking changes for plugins/loaders
- new plugin system
pluginmethod is backward-compatible- Plugins should use
Compiler.hooks.xxx.tap(<plugin name>, fn)now
- New major version of enhanced-resolve
- Templates for chunks may now generate multiple assets
Chunk.chunks/parents/blocksare no longer Arrays. A Set is used internally and there are methods to access it.Parser.scope.renamesandParser.scope.definitionsare no longer Objects/Arrays, but Map/Sets.- Parser uses
StackedSetMap(LevelDB-like datastructure) instead of Arrays Compiler.optionsis no longer set while applying plugins- Harmony Dependencies has changed because of refactoring
Dependency.getReference()may now return aweakproperty.Dependency.weakis now used by theDependencybase class and returned in the base impl ofgetReference()- Constructor arguments changed for all
Modules - Merged options into options object for
ContextModuleandresolveDependencies - Changed and renamed dependencies for `import()
- Moved
Compiler.resolversintoCompiler.resolverFactoryaccessible with plugins Dependency.isEqualResourcehas been replaced withDependency.getResourceIdentifier- Methods on
Templateare now static - A new RuntimeTemplate class has been added and
outputOptionsandrequestShortenerhas been moved to this class- Many methods has been updated to use the RuntimeTemplate instead
- We plan to move code which accesses the runtime to this new class
Module.metahas been replaced withModule.buildMetaModule.buildInfoandModule.factoryMetahave been added- Some properties of
Modulehave been moved into the new objects - added
loaderContext.rootContextwhich points to thecontextoptions. Loaders may use it to make stuff relative to the application root. - add
this.hotflag to loader context when HMR is enabled buildMeta.harmonyhas been replaced withbuildMeta.exportsType: "namespace- The chunk graph has changed:
- Before: Chunks were connected with parent-child-relationships.
- Now: ChunkGroups are connected with parent-child-relationships. ChunkGroups contain Chunks in order.
- Before: AsyncDependenciesBlocks reference a list of Chunks in order.
- Now: AsyncDependenciesBlocks reference a single ChunkGroup.
- file/contextTimestamps are Maps now
map/foreachChunks/Modules/Parentsmethods are now deprecated/removed- NormalModule accept options object in Constructor
- Added required generator argument for NormalModule
- Added
createGeneratorandgeneratorhooks for NormalModuleFactory to customize code generation - Allow to customize render manifest for Chunks via hooks
Commits
The new version differs by 838 commits.
213226e4.0.0fde0183Merge pull request #6081 from webpack/formating/prettierb6396e7update statsf32bd41fix linting5238159run prettier on existing code518d1e0replace js-beautify with prettier4c25bfb4.0.0-beta.3dd93716Merge pull request #6296 from shellscape/fix/hmr-before-node-stuff7a07901Merge pull request #6563 from webpack/performance/assign-depthc7eb895Merge pull request #6452 from webpack/update_acorn9179980Merge pull request #6551 from nveenjain/fix/templatemde52f323optimize performance of assignDepth6bf5df5Fixed template.md90ab23aMerge branch 'master' into fix/hmr-before-node-stuffb0949cbadd integration test for spread operator
There are 250 commits in total.
See the full diff
FAQ and help
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper bot :palm_tree:
Version 4.0.1 just got published.
Update to this version instead π
Release Notes
v4.0.1Features
- add
versionproperty to webpack exports
Bugfixes
import()with CJS now gives correct exports- Module concatenation bailout messages now point to correct module
Commits
The new version differs by 8 commits.
50447624.0.17fd5c6fMerge pull request #6585 from webpack/bugfix/bailout-messages8e592bfMerge pull request #6575 from nveenjain/addVersione7aba18fix incorrect optimization bailout messages9f9c3d1Merge pull request #6583 from webpack/bugfix/import-cjs8bf1574CJS fake namespace object contains exports nowd50fa68add newlines05174aeAdded version to webpack's export property
See the full diff
Version 4.1.0 just got published.
Update to this version instead π
Release Notes
v4.1.0Features
- add
filenameoption tooptimization.splitChunksto modify the filename template for splitted chunks - allow modules which doesn't emit code into the bundle
Bugfixes
- watchpack updated to 1.5.0
- performance fix for Module Concatenation (v8 bug)
- fix using
this.xxxinProvidePlugin
Commits
The new version differs by 73 commits.
f916fc04.1.08eba694Merge pull request #6650 from webpack/bump_watchpack00f70fcMerge pull request #6645 from zacanger/fix/66442e3d319Merge pull request #6648 from cheapsteak/patch-101c18ccMerge pull request #6651 from webpack/feature/split-chunks-filename2e687d0Merge pull request #6613 from brentwilton/improve-performance-of-module-concatenation-plugin3c5b104Merge pull request #6663 from webpack/feature/support-non-js2c8ea60expose stuff and all non-bundle modulesb0e14dfSet optimization.splitChunks to false in test webpack config.ecb65aaallow to configure filename for splitted chunks325038dUpdate watchpack to 1.5.0a2fd80eUpdate downloads badge to point to graph of downloads3a41ca4Fix #664439095efadd todo for ModuleConcatenationPlugin for loop bugfixf6e366bMerge pull request #6611 from kvrlk/patch-1
There are 73 commits in total.
See the full diff
Version 4.1.1 just got published.
Update to this version instead π
Release Notes
v4.1.1Features
- Stats now displays the number of assets of a module
Bugfixes
sourceMapoption of the default UglifyJsPlugin now defaults to true when the SourceMapDevToolPlugin is usedmodule.assetsis now working again in the Stats- chunk ids are not stringified on target node
devtoolNamespacedefault works now also for arrays passed tooutput.library- Format date with 2 digits in Stats for Build At
- fix a bug renaming classes incorrectly
- fix a bug where modules ignore the
chunksoption ofoptimization.splitChunks
Commits
The new version differs by 27 commits.
41bb63a4.1.137f7681Merge pull request #6697 from webpack/bugfix/split-chunks4d68350fix bug where modules are put into the wrong chunk8a59ef7Merge pull request #6689 from webpack/bugfix/issue-6688edbb6f6Merge pull request #6670 from SimenB/patch-1800e7f9fix #6688c54df36Merge pull request #6609 from marcalexiei/configuration-version-error4f39932Merge pull request #6641 from tmilloff/master6879ab7Merge pull request #6685 from webpack/bugfix/node_chunks71eff5dMerge pull request #6686 from webpack/bugfix/ccp-readme9eb4daaRemove CCP linkf9e7a17Escape module names1181c0eRemove accidental filename setting which wasn't needed and was breaking test57c6c43Add requested changes from PR commentsae2ae4eMerge pull request #6640 from clarkdo/module-assets
There are 27 commits in total.
See the full diff
Version 4.2.0 just got published.
Update to this version instead π
Release Notes
v4.2.0Features
- add
splitChunks.automaticNameDelimiterto configure the name separator for automatic names stats.excludeModulesnow also accept booleans- webpack throws an error when trying to run in twice at a time
performanceis disabled by default in non-web targets- AMD parser plugins can now be extended by inheriting
Bugfixes
- Fix a race condition when writing
events.jsonin ProfilingPlugin - HMR runtime code is reverted to ES5 style
- script timeout is not correctly in seconds
- reexporting JSON exports works correctly now
- fix a bug when combining ProfilingPlugin with SourceMapDevToolPlugin
- add a missing semicolon to the runtime code
Commits
The new version differs by 74 commits.
d668a234.2.004d8188Merge pull request #6754 from byzyk/fix/67420d3063eMerge pull request #6810 from howdy39/add-end-of-statement-semicolond628f90Add end of statement semicolon3024078Merge pull request #6788 from byzyk/fix/6779c6b9b9eMerge pull request #6806 from webpack/bugfix/json-reexportcda226ahandle reexporting json default export correctlyd061abafix ProfilingPluginf82beb3Merge pull request #6789 from EugeneHlushko/issue/5964c4678e3fix(bug) #5964 convert MS into S for scripts timeout attr: update expected bytes valuesa534dfdadd test422236ffix(bug) #5964 convert MS into S for scripts timeout attrf99f96drename variable, use includes instead of indexOfae18a5afix: default chunks to context when no context passed4428efeMerge pull request #6674 from chuckdumont/work
There are 74 commits in total.
See the full diff
Version 4.3.0 just got published.
Update to this version instead π
Release Notes
v4.3.0Features
- add support for
[contenthash]placeholder
Bugfixes
browserfield is used for targetelectron-renderer- set
devtoolNamespacedefault correctly when passing an object tooutput.library
Commits
The new version differs by 24 commits.
54ceb3c4.3.0d762a2bMerge pull request #6875 from mohsen1/patch-23691224Merge pull request #6872 from boneskull/patch-1df2b3c2Prettier165a2edRemove extraneous argument from setOptions call sites in OptionsDefaultera31bf26fix capitalization of project name in README.mdfc2feafMerge pull request #6844 from swederik/issue-6843eba38f1Merge pull request #6861 from Legends/master41a0482Merge pull request #6839 from webpack/feature/contenthashb018bc7more tests and fixes for webworker4861d2cMerge pull request #6832 from webpack/reflect68a11fdExtract setup infos from Contributing.md into separate setup.md for visiblity reasons06e9a57get rid of webpackJsonp global leakd7a0fc3fix bug without async chunks, add more testsc328c65use destructing for more readable code
There are 24 commits in total.
See the full diff
Version 4.4.0 just got published.
Update to this version instead π
Release Notes
v4.4.0Features
- When webpack-cli is not installed it will ask to install it
splitChunks.chunkssupports a custom function now- Better warning when omitting
mode
Bugfixes
- disallow functions for
chunkFilename, because it's not working - generate correct code when using
export default (function xxx() {})
Performance
- Performance improvements for sorting by identifier
Commits
The new version differs by 72 commits.
e3bb8c94.4.02bd495cMerge pull request #6864 from webpack/bump_prettier8d8da4cMerge branch 'master' into bump_prettier0f70fcbMerge pull request #6791 from storybooks/spilt-chunks-selector3f6b78fMerge pull request #6467 from PlayMa256/prompt_install_clib30de38Merge pull request #6672 from EugeneHlushko/fix/6639f600ccdMerge pull request #6827 from Connormiha/optimize-sort-by-identifier1b50e4eMerge pull request #6833 from webpack/ellipsis3a6edf0Merge pull request #6882 from mohsen1/patch-4d4f3c77Merge pull request #6883 from mohsen1/remove-dead-code1e7cc39Merge pull request #6889 from Janpot/issue-68674b6ee73Merge pull request #6894 from webpack/bugfix/css-stuffe15df70Merge pull request #6897 from mohsen1/init-timecc77f7eMerge pull request #6898 from mohsen1/patch-6ca79190Merge pull request #6899 from mohsen1/patch-7
There are 72 commits in total.
See the full diff
Version 4.5.0 just got published.
Update to this version instead π
Release Notes
v4.5.0Features
- Performance improvements
- Improve readablility of error messages with long loader string
Bugfixes
- Sort child compilations for consistent compilation hash
- Fix bug causing all symbols to be renamed when concatenating modules
Contributing
- add
yarn setupscript for bootstrapping local development
Commits
The new version differs by 41 commits.
f5bd213Update examplese4004454.5.0e717fccMerge pull request #6956 from webpack/refactor/share_shapes3f33d88Merge pull request #6943 from webpack/bugfix/sort-children-for-hash45e7f7aMerge pull request #6878 from rchaser53/fix-options-loader-errora8d70e7Merge pull request #6955 from webpack/Legends-webpack-bootstrap-setup9f5c1b4Merge pull request #6951 from webpack/fix/aritya5ae054Ensure the type of the binding don't change5c8a4bbUnify Dependency#getExports resultb6042fbPrevent identToLoaderRequest to return 2 objects with different shapesf3c9bd0Merge pull request #6953 from webpack/refactor/mode_deopt83b99b9add setup script and update package scripts1958784Merge pull request #6904 from webpack/performance/concatf1993f4Merge pull request #6922 from mohsen1/map-not-weakmaped5b541Merge pull request #6930 from Legends/gitignorePatch
There are 41 commits in total.
See the full diff
Version 4.6.0 just got published.
Update to this version instead π
Release Notes
v4.6.0Features
- improve stats output alignment
- improve stats text output when all exports are used
- add
webpackPrefetch/webpackPreloadmagic comments toimport() - add
stats.entrypoints[].childrenandstats.entrypoints[].childAssetsto stats json - add prefetched/preloaded chunks and assets to stats text output
- Performance improvements
Bugfixes
- Escape chunk ids for
target: "webworker" - fix
thistoundefinedESM replacement in function default values new require(...)is weird, but now behaves like in node.js- fix behavior of
export * from "commonjs"with partial override - fixed build time output in current locale in stats text output
- fixed ChunkModuleIdRangePlugin and add tests
- avoid race condition when using the loadModule loader API
- fix default value of
output.globalObjectintarget: "node-webkit" - fix a bug with
loadModulesand dependencies in these modules - fix hot.accept parser plugin to allow defined values as argument
- print
unknown sizewhen size is unknown - fix a bug where some chunks were missing in the "single" runtime chunk
- fix cloning of
optimizationconfiguration
Internal changes
- Set up infrastructure for linting typings with TypeScript
Commits
The new version differs by 161 commits.
e7c8fa44.6.0941be29Merge pull request #7063 from webpack/bugfix/clone-optimization3a5fda9Merge pull request #7062 from webpack/bugfix/issue-6931c47150cClone optimization config in Defaulter3f99517Merge pull request #6905 from xtuc/fix-handle-unknown-sizeaee2491Merge pull request #6962 from justinhelmer/bug/6919ec4ec8eMerge pull request #7056 from webpack/feature/preload0ff2901Merge pull request #7060 from webpack/test/any-comment-in-import58ba91dfix bug which prevented some chunks to show up in Chunk.getAllAsyncChunks946c4dfadd test case for comments in import()8e2e19bfix unstable sorting of ChunkGroups and add test205ca62fix reversed order in Chunk.compareTobabc8a4Merge pull request #7059 from bastimeyer/bugfix/loaderplugin-recursivebe79d6dadd mixed test case which also tests equal order sorting873d7d4show preload and prefetch in stats
There are 161 commits in total.
See the full diff
Version 4.7.0 just got published.
Update to this version instead π
Release Notes
v4.7.0Features
- add webpackIgnore magic comment (
import(/* webpackIgnore: true */ "...")) to keep the import in the bundle - add chunkGroups to Stats
chunkGroupsoptionnamedChunkGroupspropertyChunk Grouptext output
Bugfixes
- prevent chunk merging for the runtimeChunk
- fix a caching issue for concatenated modules
- namedModules now handle name conflicts correctly
- fix a crash when using
[contenthash:n]without on-demand-chunks
Internal changes
- testing uses Jest now
- testing in node.js 10 too
- Performance improvements
Commits
The new version differs by 203 commits.
673c1034.7.0ac7c28cMerge pull request #7201 from webpack/bugfix/content-hash0a6ba95avoid injection jsonpScriptSrc function when not needed88bf798Merge pull request #7198 from webpack/ci/force-exitf55a135add forceExit to jest confige75dc78Rename Custom.md to Other.md7058b58Merge pull request #7196 from webpack/github/issue-templates6131392Merge pull request #7169 from webpack/ci/parallel-node-6f64e8c6Update Bug_report.md35f2b3cUpdate issue templatese361ba5Merge pull request #7031 from webpack/feature/chunk-type-supportf1618aechore(Chunk): add type annotations for Chunkfc3774aMerge pull request #7116 from webpack/feature/main-template-type-support7829a0bMerge pull request #7189 from webpack/feature/update-ts-nightly-version0495b40chore(deps): upgrade TS nightly, fixes from microsoft/typescript#23715
There are 203 commits in total.
See the full diff
Version 4.8.2 just got published.
Update to this version instead π
Release Notes
v4.8.2Bugfixes
- WASM parser bugfixes
- fix edge case when replacing top-level this in IIFE
- avoid parser wasm many times
Commits
The new version differs by 136 commits.
c92eabd4.8.28d2f421Merge pull request #7254 from xtuc/feat-remove-extra-wasm-decodingse2c8f3dremove passing AST, redecode AST in Generator38456eachore: bump webassemblyjs912a1a6chore: update lock3be112bMerge remote-tracking branch 'upstream/master' into feat-remove-extra-wasm-decodings91b6480chore: bump webassemblyjs0eeea0fMerge pull request #7266 from webpack/tests/remove_jade85ef634remove _ast variable, add WeakMapea26eacMerge pull request #7257 from webpack/fix/72559b37c6bReplace Jade by Pug78423b0Update rc and deep-extend8bdc8adrefactor: remove type castd72f7c6feat: store wasm ast on the moduled491fdcfeat: uses new APIs
There are 136 commits in total.
See the full diff
Version 4.8.3 just got published.
Update to this version instead π
Release Notes
v4.8.3Bugfixes
- fix missing
debugdependency - support arrays in
output.library.root
Commits
The new version differs by 13 commits.
9a722944.8.3de27f03Merge pull request #7282 from xtuc/chore-bump-webassemblyjs551073cdchore: bump webassemblyjsd5a648bMerge pull request #7184 from byzyk/fix/allow-array-in-lib-root9337295Merge pull request #7280 from webpack/feature/update-ts-nightly-depe312d62Merge pull request #7241 from lencioni/test-docsea7d08cMerge pull request #7277 from webpack/lint/cache81de2d4chore(deps): upgrade typescript nightly17bcc3cenable eslint cachinga31721aUpdate test readme for Jest71b05f9move test to separate foldera3d3af8add testd50f00dfix: allow array of strings for library.root
See the full diff
Version 4.9.0 just got published.
Update to this version instead π
Release Notes
v4.9.0Features
BannerPluginsupports a function asbanneroption- allow
serveproperty in configuration schema - add
entryOnlyoption toDllPluginto only expose modules in the entry point - Allow to choose between
webpack-cliandwebpack-command - improve error message when JSON parsing fails
- allow BOM in JSON
- sort
usedIdsinrecordsfor stablility
Bugfixes
- align module not found error message with node.js
- fix behavior of
splitChunkswhen request limit has reached (caused suboptimal splitting) - fix handling of RegExp in records (caused absolute path in records)
- fix handling of circular chunks (caused missing
__webpack_require__.e) runtimeChunkis even generated when all modules are moved bysplitChunks(caused multiple runtime chunks instead of single one)- string ids are no longer recorded (caused duplicate chunk ids)
- fix link to migration guide in error message
Internal changes
- add more typings
- Use travis stages
- add
many-pagesexample
Commits
The new version differs by 87 commits.
bb0731d4.9.0be6bdffMerge pull request #7385 from moondef/moondef-patch-1b77adddMerge pull request #7187 from byzyk/enhancement/prettierignore2f3e7d4Merge pull request #7331 from dev-drprasad/add-jsdoc-annotations-cached-merge70c608cMerge pull request #7387 from webpack/bugfix/record-string-ids69567a1update test case to reflect change8af0320Merge pull request #7344 from asapach/master713292fupdate bot for jest tests79aa13dMerge pull request #7386 from webpack/bugfix/runtime-chunk67717abMerge pull request #7383 from webpack/ci/improvements72a45abspeed up CIf026310only record number ids25c7b07Fix link374376dfixes #7382aa99385added a note about production mode
There are 87 commits in total.
See the full diff
Version 4.9.1 just got published.
Update to this version instead π
Release Notes
v4.9.1Bugfixes
- fix parameter references in default parameters
Internal changes
- change test cases to text format
Commits
The new version differs by 11 commits.
94cd7094.9.15feb7e6Merge pull request #7174 from JLHwung/revise-examples-build-readme4cd0cf5Merge pull request #7379 from xtuc/refactor-use-wast-in-testsc513cacMerge pull request #7403 from webpack/fix/7335f22fffdEvaluate arguments in function's scope55ce143Add test case00eafa6Update mem-access.watacc45fdrefactor: switch to wast7184bb4fix: keep decoding in wasma9d9feerefactor: switch to tests to wast64db306docs(examples): add yarn add webpack-cli step
See the full diff
Version 4.10.2 just got published.
Update to this version instead π
Release Notes
v4.10.2Bugfixes
- order of wasm globals is correctly preversed while rewriting
- skipping side-effect-free modules up to a concatenated modules will not longer cause
nullmodule ids
Commits
The new version differs by 12 commits.
b8266d04.10.266cd9b7Merge pull request #7445 from webpack/bugfix/no-id6390240rewrite module reference correctly after replacing ConcatenatedModule4f4a2baMerge pull request #7434 from webpack/bump_prettier8e6a012Merge pull request #7432 from webpack/add_brackets75f12fbMerge pull request #7437 from webpack/bump_jestbe972eaUpdate jest to v23d2aca56Merge pull request #7431 from xtuc/fix-wasm-preserve-global-orderfaf04e0Update prettier to v1.132a9452eAdd brackets for multiline if/for statements1842936chore: bump webassemblyjs 1.5.923795bafix(wasm): preserve global ordering
See the full diff
Version 4.11.0 just got published.
Update to this version instead π
Release Notes
v4.11.0Features
- support
reportProgressinafterEmit - Warnings are now emitted if magic comments don't compile
- Added support for matchResource inline request for loaders
- Using webpackPrefetch in entry chunk now triggers prefetching in runtime
- No link tag needed for this in HTML
- Warnings will be emitted when trying to use i64-functions imported from wasm
Bugfixes
- get_global initializer in wasm globals now work correctly
- Reexporting globals is now handled correctly
- Error origins and locations are now displayed correctly
Commits
The new version differs by 87 commits.
e2fe2004.11.0b1a640eMerge pull request #7479 from webpack/fix/5153b5b1e86Merge pull request #7478 from webpack/fix/5889aa6de57Ensure static and dynamic imports use the same binding348057fAdd a test case to invalidate #58895653732Merge pull request #7476 from sandersn/fix-template-tag-syntaxc971073Fix template tag syntax19389b7Merge pull request #7447 from xtuc/fix-wasm-check-for-invalid-signatures78b3193add checkWasmTypes flag, enabled it only in productionbc6b5b0Merge pull request #7444 from MLoughry/prefetch-from-entryc65d164fix test case591521bsupport node.js 10 and 8c77ec39revert afterStartup and trigger prefetch before startupdc0e1ecMerge branch 'master' into prefetch-from-entrydb668b7move fake document to ConfigTestCases
There are 87 commits in total.
See the full diff
Version 4.11.1 just got published.
Update to this version instead π
Release Notes
v4.11.1Features
- add
optimization.mangleWasmImportsoption to disable mangling of wasm imports
Bugfixes
- disable wasm import mangling temporary because of bugs in the underlying wasm processing
Version 4.12.0 just got published.
Update to this version instead π
Release Notes
v4.12.0Features
- Errors from loaders show the loader path in the error message
- add support for optional catch and line and paragraph separator in strings (ES2019)
Bugfixes
- fixes a bug where chunks have duplicate ids when using records
- fix bubbling in HMR for
import()when importing a non-ESM - fix issue with in installing with pnpm
- update dependencies of the ProfilingPlugin
Commits
The new version differs by 53 commits.
02a955b4.12.060e1076Merge pull request #7407 from prplx/masterff224a7Merge branch 'master' into master47101fdMerge pull request #7489 from mohsen1/update-tracerf28bb4eadd webpack 5 commentebe90f4Merge pull request #7501 from xtuc/chore-bump-webassemblyjs931b755aMerge pull request #7498 from webpack/bugfix/hmr-parent-import5dcb08fchore: bump webassemblyjs603cb60Merge pull request #7496 from build-your-own/master5cbe74bDisable documentation checkbox by defaultb9229faadd parents correctly when creating namespace objects9ac4045Merge pull request #7473 from webpack/feat/optional-catch-bindingd6d7119change variable defined identifier let to const551384aMerge pull request #7493 from webpack/bugfix/issue-7492b424645Merge pull request #6542 from mc-zone/feature/module-build-error-with-loader-name
There are 53 commits in total.
See the full diff
Version 4.12.1 just got published.
Update to this version instead π
Release Notes
v4.12.1Bugfixes
- fix problem causing a stack overflow when reexporting circular
- fix a bug causing missing modules in bundles when using
splitChunks - run modules in correct order when using
importwithsideEffects: false- added order to
DependencyReference
- added order to
- add missing support for
[chunkhash]intarget: "webworker" - fix bug causing incomplete profile (race condition) with the
ProfilingPlugin
Internal changes
- Added more types
- lint files on commit with
lint-staged
Commits
The new version differs by 55 commits.
8a7597a4.12.1bb38c5dMerge pull request #7586 from samccone/sjs/fix_webpack_profiling_race735f99cFix race condition in profiling plugin.3fb49deMerge pull request #7581 from TimHambourger/master6dd4d76Merge pull request #7582 from arkadyt/bugfix/remove-dead-links-from-examples-doc2bc5437Merge pull request #7532 from Legends/CommentCompilationWarning1e7b4e9Remove dead links from /examples README.md.2fb9a6cremove typedef Position import4fc03e1Merge pull request #7531 from Legends/APP1ef1241Implement all path variables for webworker dynamic importsafdbf71removing typedef exports7969a5aImporting typedef from Dependency.js ??? Please review.b03804eadded Compiler, @returns void4de3ce0Merge pull request #7554 from greysteil/add-semver-badge5aafb83update to lastest version badge
There are 55 commits in total.
See the full diff
Version 4.12.2 just got published.
Update to this version instead π
Release Notes
v4.12.2Bugfixes
- fix crash when using invalid JSON with HMR
- fix missing modules when a side-effect-free package is root of module concatenation
- update chunkhash when entry-chunks list or prefetched chunks change
Commits
The new version differs by 19 commits.
c384c3f4.12.29dacf86Merge pull request #7601 from webpack/bugfix/hash-entry-chunkse38e076fixes #7577aab3554Merge pull request #7574 from byzyk/types/ignore-plugin258d9b6Merge pull request #7600 from webpack/bugfix/missing-module8cb9241Merge pull request #7595 from webpack/remove_circle504e1d8Merge pull request #7590 from webpack/bugfix/json-stringifyab7ecb3fixes #74993e3827eRemove CircleCI35a7f65add test case4d57d78generate error code when json wasn't parseda5e55deskip harmony accept dependency in non-harmony modules720f3b2make hot cases better94c7273Merge branch 'master' of https://github.com/kamranahmedse/webpack into bugfix/json-stringifya96ac96add type for resource and context
There are 19 commits in total.
See the full diff
Version 4.13.0 just got published.
Update to this version instead π
Release Notes
v4.13.0Features
- the
DefinePluginnow supportsruntimeValues to pass computed values with dependencies that can change over time - added
optimization.hashedModuleIds - crossOrigin for chunks is only set when really needed
- added per chunk group indicies
- updated enhanced-resolve
- You can now use absolute paths as keys to
resolve.alias
- You can now use absolute paths as keys to
Bugfixes
- when delegating CLI the
binfields are used - when assigning indicies sync dependencies are now walked before async dependencies
Commits
The new version differs by 52 commits.
e3678aa4.13.043563b3hotfix merge issue in watchCases (not in CI)09beba0Merge pull request #7621 from webpack/deps/enhanced-resolve7b7d323upgrade enhanced-resolve34b0c7cMerge pull request #6906 from stepharr/patch-1b181bc4Merge pull request #6793 from ronkorving/define-functionse08399aMerge pull request #7017 from rtsao/crossorigin-attrb848ec5Merge pull request #6346 from Connormiha/simplife-has-dependencies8420c73Merge branch 'master' into define-functionsef2ec25update template.md too5c4ffd5fix tests and code6478fb9Merge branch 'master' into crossorigin-attrdcf3e09Merge pull request #7399 from webpack/feat-implement-option-for-hashed-module-ids-pluginf41b829Merge pull request #7604 from webpack/feature/update-snapshot-script17fa26cuse jest directly
There are 52 commits in total.
See the full diff
Version 4.14.0 just got published.
Update to this version instead π
Release Notes
v4.14.0Features
- add new hook
Compilation.dependencyReferenceto modify the dependency references
Bugfixes
- Allow chunks to emit multiple assets to the same filename when hash matches
Commits
The new version differs by 9 commits.
190cf7b4.14.05a185c9Merge pull request #7585 from webpack/feature/hook-into-get-reference86370e9Merge pull request #7625 from webpack/bugfix/multiple-assets-same-file522b324allow emitting to the same filename when hash matches7beac3cMerge branch 'master' into feature/hook-into-get-referencebe896f2fix bug3502287emit correct code for reexport unused exports50fe2e7add Compilation.getDependencyReference and hooks to override ite1f0a66add note about webpack 5 refactoring
See the full diff
Version 4.15.0 just got published.
Update to this version instead π
Release Notes
v4.15.0Features:
- add
maxSizeoption forsplitChunks(experimental) - add a helpful error when using wasm in a initial chunk
Commits
The new version differs by 70 commits.
bdd44424.15.07aa1efbMerge pull request #7651 from webpack/feature/split-chunks-max-sizefb2c24baddsplitChunks.maxSizeoptioneaa5bc8Merge pull request #7648 from mohsen1/fix-template-syntaxb01f378Fix @template syntax error in Compilation.js iterationOfArrayCallbacka4e5f63Merge pull request #7638 from webpack/feature/wasm-initial-error0bb917bconvert to a config test casesa39d6b0check for wasm support in test case5b30edeallow filtering of tests in statsCases1ad71e0add helpful error when importing wasm in initial chunke8dc361Merge pull request #7299 from webpack/feature/type-compiler-compilation-save0bd9df8Merge branch 'master' into feature/type-compiler-compilation-saveccf56e4Merge pull request #7629 from xtuc/chore-bump-webassemblyjs10c3eecbdspacinge0ad09echore: bump webassemblyjs
There are 70 commits in total.
See the full diff
Version 4.15.1 just got published.
Update to this version instead π
Release Notes
v4.15.1Bugfixes
- fix memory leaks when using HMR and in SplitChunksPlugin cache
- fix undefined automaticNameDelimiter in cache groups when using maxSize
- fix ProfilingPlugin for node.js 10 and 6
Commits
The new version differs by 10 commits.
81149be4.15.16f53dbeMerge pull request #7655 from skratchdot/issue-76547fc88cdMerge pull request #7662 from webpack/bugfix/undefined-in-max-size67d932dMerge pull request #7661 from webpack/bugfix/split-chunks-leak5341d7dMerge pull request #7660 from webpack/bugfix/hot-leak8e8f185fixes usage of automaticNameDelimiter in cache groups64b22c4make the cache a WeakMap to not leak memory6172d3cfix memory leak with HMR3b6f475Use push null to end the stream6705141prevent UnhandledPromiseRejectionWarning in node 6
See the full diff
Version 4.16.0 just got published.
Update to this version instead π
Release Notes
v4.16.0Features
- add wasm support for
electron-renderertarget - add
optimization.moduleIdsandoptimization.chunkIdsoptions to replace other options
Bugfixes
- fix order of side effect evaluation for exported dependencies in side-effect-free modules
- fix some typos
- Support the case when passing an array to
output.library.rootand using a devtool - fix a HMR logging message issue in browser where
err.stackis not set - add missing default extensions to the DllReferencePlugin
- module/chunk ids in Stats now sort numerical when they are numbers
- fix lost chunk reasons when using
optimization.splitChunks.maxSize - fix cases where
Dependency.locis a string instead of an object
Deprecations
- deprecated
Dependency.comparein favor ofcompareLocations optimization.namedModulesis now deprecatedoptimization.hashedModuleIdsis now deprecatedoptimization.namedChunksis now deprecatedoptimization.occurrenceOrderis now deprecated
Commits
The new version differs by 44 commits.
18d33c64.16.06f72243Merge pull request #7700 from webpack/bugfix/loc-in-single-entry-and-loader-plugin3366421Merge pull request #7663 from webpack/feature/automatic-name-prefix8891bd5Merge pull request #7696 from webpack/bugfix/max-size-reasons365beb1Merge pull request #7699 from webpack/ci/upgrade-jestb93225aadd types and fix incorrect loc typef0cd451do not instrument node_modulesbaa450dMerge pull request #7698 from webpack/bugfix/deprecatedb32a4f5Merge branch 'master' into bugfix/max-size-reasonsf95d0f0Merge pull request #7695 from webpack/bugfix/sort-ids-stats1869d8eMerge pull request #7694 from webpack/bugfix/loc-in-context78d8f4aMerge pull request #7691 from mathiasbynens/mjs8876514replace deprecated methoda482565upgrade jest692faf2sort ids in Stats numerical
There are 44 commits in total.
See the full diff
Version 4.16.1 just got published.
Update to this version instead π
Release Notes
v4.16.1Bugfixes
- fix reversed order when using optimization.occurrenceOrder (default in production mode)
output.hashDigesthas a more relaxed schema- update dependencies
- fix typo in schema
Internal changes
- typescript 3 rc
Commits
The new version differs by 29 commits.
fa02f3d4.16.194b192cfix merge issuedb1475cMerge pull request #7656 from mohsen1/DefinePlugin-type2702273Merge pull request #7726 from webpack/update/linters84d57e3Merge branch 'master' into DefinePlugin-typeaae20a8Merge pull request #7721 from webpack/bugfix/occurence-order0753cdcMerge branch 'master' into update/linters2c4ba6cMerge pull request #7727 from webpack/update/eslint-scope4c19fe1Use v4 of eslint-scope7195baeUpdate ESLint and Prettier36f7ee7Merge pull request #7719 from joshunger/patch-392b4b8bMerge pull request #7718 from edmorley/fix-moduleIds-descriptionb2b4be0Update README.md753dccefix order of occurrence order plugindc0e7ecAdd mini-css-extract-plugin instead of extract-text-webpack-plugin
There are 29 commits in total.
See the full diff
Version 4.16.2 just got published.
Update to this version instead π
Release Notes
v4.16.2Bugfixes
- handle
module.requirelikerequire - emit warnings for
module.main.requireandmodule.parent.require - sort reasons in stats
- handle errors when parsing manifest in DllReferencePlugin
Commits
The new version differs by 25 commits.
0d4c87f4.16.2b8c47a7Merge pull request #7628 from reduckted/dllreferenceplugin-graceful-json-parse-failure699fe21Merge pull request #7750 from ak-14/node-dependencies945a951Merge pull request #7755 from webpack/tooling/inherit-types8614c75run inherit types tool on existing code0e6d505add tool to copy method signatures from base classes9f16238Merge pull request #7749 from webpack/bugfix/sort-reasonsdcd6442remove comment80c3e43Handle module.require, require.main.require, and module.parent.requiree80d494fix sorting of reasons9fd6af8Merge pull request #7657 from mohsen1/enable-noImplicitThisbc86359remove unneeded type import2dde005Merge pull request #7658 from mohsen1/ContextExclusionPlugin-typesb3a7c4dMerge branch 'master' of git://github.com/webpack/webpack into ContextExclusionPlugin-types1a16a79Merge remote-tracking branch 'origin/master' into enable-noImplicitThis
There are 25 commits in total.
See the full diff
Version 4.16.3 just got published.
Update to this version instead π
Release Notes
v4.16.3Bugfixes
- fix missing modules with chunks nested in unneeded
require.ensures.
Commits
The new version differs by 5 commits.
482ff204.16.36c60e9dMerge pull request #7798 from webpack/bugfix/empty-chunks-failaac4368fix case where empty chunkgroups cause nested chunkgroups to vanisha28f44fMerge pull request #7770 from webpack/bump_jest20dc30eUpdate Jest
See the full diff
Version 4.16.4 just got published.
Update to this version instead π
Commits
The new version differs by 15 commits.
1e9d98c4.16.4e163495Merge pull request #7838 from webpack/test/jest-exported-tests01cfe5bimprove way of adding exported tests to test tree5f1852aMerge pull request #7831 from EECOLOR/patch-1afe3182Merge pull request #7836 from rzhe97/masterc893bbcUpdate CONTRIBUTING.md2348c3cFormatting - move arguments to the same line7473ed4Fix chunkAsset hook call32fdca2Merge pull request #7823 from flyyang/refactor/define-before-use-classe4ae646Merge pull request #7825 from webpack/deps/update_linters64e301cUpdate Prettier20406a4Update ESLint5234abeRefactor define before use class61ce434Merge pull request #7819 from webpack/refactor/template_es63992ba3Convert Template to ES6
See the full diff
Version 4.16.5 just got published.
Update to this version instead π
Commits
The new version differs by 12 commits.
025338c4.16.54972fd8Merge pull request #7842 from webpack/bugfix/override-entry17ebfb9fix #78295539f57Merge pull request #7839 from skingston91/master1138d32Merge pull request #7840 from webpack/test/watch-cases61633aafix #7778795cc35Improve error reporting while recompilation in HotCases3e30c70Merge pull request #7830 from ryota-murakami/patch-173dff6cUpdate index.jsf5be9a6update watch test cases for new jest integrationea5c68bAdds test cases for issue 7778cdf042cUpdate Jest homepage URL
See the full diff
Version 4.17.0 just got published.
Update to this version instead π
Release Notes
v4.17.0Features
- allow to provide custom functions to IgnorePlugin
Bugfixes
- remove incorrectly emitted dead code in concatenated modules
- chunk ids contribute to
[contenthash]for js assets - fix crash when trying to export globals in concatenated modules
Commits
The new version differs by 22 commits.
6f1f18f4.17.045e798aMerge pull request #7827 from AoDev/feat/ignore-plugin-check-fned96915Merge pull request #7907 from Connormiha/simplify-context-replacmnet-plugin1f954b4Get rid typeof undef in all libc2e0395Merge pull request #7922 from webpack/bugfix/concat-globals9315ce2fix exporting globals in scope-hoisted modules0e60343Merge pull request #7921 from webpack/bugfix/contenhash-idc253b4bchunk ids contribute to contenthash for javascriptefa69cdGet rid of typeof for checking undefined6235e99feat(IgnorePlugin): allow user to provide his own check functionsa02bf99Merge pull request #7886 from Sibiraj-S/patch-1aba6dbfMerge pull request #7888 from webpack/bugfix/issue-78871345ab2fixes #7887a9a4f1cdocs: update README.md34ff480Merge pull request #7881 from oygen87/patch-8
There are 22 commits in total.
See the full diff