nvenkatesh1 / SCA_test_JS

Learn elm faster and in a fun way
MIT License
0 stars 0 forks source link

Update dependency webpack to v5 - autoclosed #86

Closed mend-for-github-com[bot] closed 2 years ago

mend-for-github-com[bot] commented 2 years ago

This PR contains the following updates:

Package Type Update Change
webpack dependencies major 1.13.2 -> 5.0.0

By merging this PR, the issue #20 will be automatically resolved and closed:

Severity CVSS Score CVE
High High 9.8 CVE-2021-44906
High High 7.8 CVE-2021-43138
High High 7.8 CVE-2021-43138
Medium Medium 5.6 CVE-2020-7598

Release Notes

webpack/webpack ### [`v5.0.0`](https://togithub.com/webpack/webpack/releases/v5.0.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.46.0...v5.0.0) [Announcement and changelog](https://webpack.js.org/blog/2020-10-10-webpack-5-release/) ### [`v4.46.0`](https://togithub.com/webpack/webpack/releases/v4.46.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.45.0...v4.46.0) ### Bugfixes - fix behavior of defaults for `resolve.roots` to be backward-compatible ### [`v4.45.0`](https://togithub.com/webpack/webpack/releases/v4.45.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.44.2...v4.45.0) ### Features - resolve server-relative requests relative to project context by default ### Bugfixes - fix a bug where `splitChunk` `minSize` is not handled correctly - fix a bug where the order of `splitChunk` `cacheGroups` is not handled correctly ### [`v4.44.2`](https://togithub.com/webpack/webpack/releases/v4.44.2) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.44.1...v4.44.2) ### Bugfixes - make sure to generate correct chunk connection for blocks that are only connected in some runtimes - fixes a bug where filename contains undefined hash at runtime ### [`v4.44.1`](https://togithub.com/webpack/webpack/releases/v4.44.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.44.0...v4.44.1) ### Bugfixes - fix bug in sideEffects optimization when using `export * from "non-esm"` and a default export. - add missing optional peerDependencies for webpack-cli and webpack-command to support Yarn 2 ### [`v4.44.0`](https://togithub.com/webpack/webpack/releases/v4.44.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.43.0...v4.44.0) ### Features - Improve `sideEffects` flag behavior when dynamic modules are part of the tree - Fixes a bug which causes empty modules (or type-only modules) to "break" Tree Shaking - add `splitChunks.enforceSizeThreshold` to allow enfore splitting larger chunks unrelated from other limiations - Not set by default to avoid breaking change - It will be set by default to 50k in webpack 5 - It's recommended to set it in webpack 4 too - add support for `resolve.roots` and default `resolve.roots: [context]` - This allows to resolve server-relative urls (e.g. `/src/abc`) to the project root (or other locations when configured) - This allows to use loaders that rely on that behavior ### Bugfixes - fix bug where splitChunks produced non-optimal results when `minSize` is set to `0` - This lead to `NaN`s in some places which breaks ordering - Fix bug which lead to HMR not working for splitChunks in entrypoints - force update watchpack and chokidar for chokidar bugfix which causes files to stop being watched ### [`v4.43.0`](https://togithub.com/webpack/webpack/releases/v4.43.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.42.1...v4.43.0) ### Features - add `module.hot.invalidate()` to HMR API ### Dependencies - push versions for forced security updates ### [`v4.42.1`](https://togithub.com/webpack/webpack/releases/v4.42.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.42.0...v4.42.1) ### Bugfixes - update webassemblyjs dependencies for instruction update - update mkdirp dependency for security reasons ### [`v4.42.0`](https://togithub.com/webpack/webpack/releases/v4.42.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.41.6...v4.42.0) ### Bugfixes - Disable constant replacements in `"use asm"` scope - Update schema to disallow functions for `output.hotUpdateChunkFilename` as this doesn't work - Hoist exports in concatenated module to handle circular references with non-concatenated modules correctly - Flag all modules as used in DLLs to fix missing exports ### [`v4.41.6`](https://togithub.com/webpack/webpack/releases/v4.41.6) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.41.5...v4.41.6) ### Bugfixes - Windows network paths are considered as absolute paths - fix hanging of FlagDependencyExportsPlugin when using `export *` in a circular matter ### [`v4.41.5`](https://togithub.com/webpack/webpack/releases/v4.41.5) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.41.4...v4.41.5) ### Bugfixes - handle relative paths with `webpack://` prefix in SourceMaps correctly - fixes a non-determinism about `providedExports` with `export *` which caused changing module hashes and unnecessary HMR invalidation ### [`v4.41.4`](https://togithub.com/webpack/webpack/releases/v4.41.4) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.41.3...v4.41.4) ### Bugfixes - fix case where `__webpack_require__.e` is not a function when using module concatenation - fix incorrect imported module when using sideEffects in a certain constellation of export names ### Performance - lazy-require Webassembly related modules for improved startup performance ### [`v4.41.3`](https://togithub.com/webpack/webpack/releases/v4.41.3) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.41.2...v4.41.3) ### Security - force upgrade terser-webpack-plugin dependency for security fix (not affecting webpack) ### Funding - add npm funding field to package.json ### [`v4.41.2`](https://togithub.com/webpack/webpack/releases/v4.41.2) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.41.1...v4.41.2) ### Bugfixes - fix issue with invalide timezone ### [`v4.41.1`](https://togithub.com/webpack/webpack/releases/v4.41.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.41.0...v4.41.1) ### Bugfixes - fix incorrect request shortening when directory looks similar to parent directory - fix crash when timezone is unknown ### [`v4.41.0`](https://togithub.com/webpack/webpack/releases/v4.41.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.40.3...v4.41.0) ### Developer Experience - disallow cache group named test with shorthand syntax to point out a potential config error ### Performance - Improve performance of LimitChunkCountPlugin ### [`v4.40.3`](https://togithub.com/webpack/webpack/releases/v4.40.3) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.40.2...v4.40.3) ### Bugfixes - fix a bug that the HMR plugin affected child compilations ### Performance - improve performance of splitChunks name option by caching hashed value - improve rebuild performance by caching module size computation ### [`v4.40.2`](https://togithub.com/webpack/webpack/releases/v4.40.2) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.40.1...v4.40.2) ### Bugfixes - fix a bug where asset is undefined ### [`v4.40.1`](https://togithub.com/webpack/webpack/releases/v4.40.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.40.0...v4.40.1) ### Bugfixes - convert "multiple assets emit to the same filename" error into a warning - compare asset content when multiple assets emit to the same filename ### [`v4.40.0`](https://togithub.com/webpack/webpack/releases/v4.40.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.39.3...v4.40.0) ### Features - adds asset info for emitted assets - new methods allow easy emitting/updating of assets `compilation.emitAsset/updateAsset` (instead of accessing the Object `compilation.assets`) - new getter methods to get assets `compilation.getAssets()` and `compilation.getAsset(name)` - 3 flags in asset info: - `immutable`: when set an asset can be cache infinitely - `development`: when set an asset is some kind of development tool (i. e. a SourceMap) - `hotModuleReplacement`: when set an asset is generated for an hot update - Stats expose `info` object in assets - String version of Stats show flags ### [`v4.39.3`](https://togithub.com/webpack/webpack/releases/v4.39.3) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.39.2...v4.39.3) ### Bugfixes - fix a missing module in chunk caused by incorrect chunk graph generation of async chunks ### [`v4.39.2`](https://togithub.com/webpack/webpack/releases/v4.39.2) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.39.1...v4.39.2) ### Bugfixes - fix ProfilingPlugin not ending traces correctly ### [`v4.39.1`](https://togithub.com/webpack/webpack/releases/v4.39.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.39.0...v4.39.1) ### Bugfixes - fix problem that progress lines were too long on some terminals - fix a problem that `...100%` is displayed instead of `100%` ### [`v4.39.0`](https://togithub.com/webpack/webpack/releases/v4.39.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.38.0...v4.39.0) ### Features - Infrastructure logger for node.js has now colors + symbols to mark different kind of messages - Logger API has now a `status` method which allows to write temporary status messages - ProgressPlugin default handler uses the Infrastructure Logger status message to output messages - Placeholders in paths can now be escaped with i. e. `[\id\]` - `Compiler.hooks.assetEmitted` have been added to get byte content of emitted assets ### Bugfixes - Logging output is now aligned to have space for symbols - renamed `Compiler.hooks.infrastructurelog` to `Compiler.hooks.infrastructureLog` - Properties that are defined on the Object.prototype can now be chunk ids (i. e. `constructor`) - `library.name` now supports placeholders in `libraryTarget: "system"` - 2 places were module profiles were incorrectly captured were fixed ### Dependencies - Forced upgrade of all direct dependencies - webpack-sources + terser-webpack-plugin comes with quality optimizations for SourceMaps ### [`v4.38.0`](https://togithub.com/webpack/webpack/releases/v4.38.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.37.0...v4.38.0) ### Performance - Improved performance of ProgressPlugin - Improved performance of chunk graph generation - 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. ### [`v4.37.0`](https://togithub.com/webpack/webpack/releases/v4.37.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.36.1...v4.37.0) ### Features - add logging API (see [https://github.com/webpack/webpack/pull/9436](https://togithub.com/webpack/webpack/pull/9436) for details) ### [`v4.36.1`](https://togithub.com/webpack/webpack/releases/v4.36.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.36.0...v4.36.1) ### Bugfixes - fix regression in 4.36.0 when using happypack ### [`v4.36.0`](https://togithub.com/webpack/webpack/releases/v4.36.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.35.3...v4.36.0) ### Features - SourceMapDevToolPlugin `append` option now supports the default placeholders in addition to `[url]` - Arrays in resolve and parser options (Rule and Loader API) support backreferences with `"..."` when overriding options. ### [`v4.35.3`](https://togithub.com/webpack/webpack/releases/v4.35.3) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.35.2...v4.35.3) ### Bugfixes - update acorn to include `import()` ### Performance - Improved runtime performance for large JSON modules ### [`v4.35.2`](https://togithub.com/webpack/webpack/releases/v4.35.2) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.35.1...v4.35.2) ### Bugfixes - `realResource` must match absolute paths ### [`v4.35.1`](https://togithub.com/webpack/webpack/releases/v4.35.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.35.0...v4.35.1) ### Bugfixes - add `realResource` condition in rule to schema - fixes order of loaders when using a matchResource ### [`v4.35.0`](https://togithub.com/webpack/webpack/releases/v4.35.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.34.0...v4.35.0) ### Features - ProgressPlugin limit output to column width in terminal - add `Watching.suspend` and `Watching.resume` - add `splitChunks.automaticNameMaxLength` and `splitChunks.cacheGroups[x].automaticNameMaxLength` ### Bugfixes - webworker target now respect `publicPath` when loading chunks - holey arrays of configs will fail the validation ### [`v4.34.0`](https://togithub.com/webpack/webpack/releases/v4.34.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.33.0...v4.34.0) ### Features - Error message when parsing fails shows used loaders now ### Bugfixes - importing the namespace object from non-ESM (CJS) modules no longer leads to an warning - Error message in HMR logging works for Firefox too now - Parser understands block scoping now ### [`v4.33.0`](https://togithub.com/webpack/webpack/releases/v4.33.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.32.2...v4.33.0) ### Features - add `target: "electron-preload"` for electron 5 - renderer should use `target: "web"` in electron 5 ### Bugfixes - fix HMR rejection of removed and readded self-accepted modules ### [`v4.32.2`](https://togithub.com/webpack/webpack/releases/v4.32.2) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.32.1...v4.32.2) ### Bugfixes - fix some weird schema validation messages - fix problem in production mode (sideEffects + concatenation) which caused reexported values to become undefined (bug since 4.32.0) ### [`v4.32.1`](https://togithub.com/webpack/webpack/releases/v4.32.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.32.0...v4.32.1) ### Bugfixes - reverts some changes from 4.32.0 which accidentally disabled some CommonJs features when using `node: false`. ### [`v4.32.0`](https://togithub.com/webpack/webpack/releases/v4.32.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.31.0...v4.32.0) ### Features - Added `this.mode` to the loader API, to allow loaders to choose defaults by `mode` similar to webpacks options - Stack Trace for Errors in rejected Promises from `import()` now includes the stack from where the `import()` was called ### Bugfixes - The Parser can now analyse identifiers in rest patterns too - `const { a, ...rest } = obj`, where `rest` conflicts with an imported binding etc. - `node: false` now correctly disables `__dirname` and `__filename` too - `__dirname` and `__filename` now no longer evaluates to something when `node: false` or `node.__file/dirname: false` is set - `if(__dirname !== "")` is no longer replaced with `if(true)` in such scenarios - prefetching chunks is no executed **after** the initial module evaluation - This allows to override i. e. `__webpack_public_path__` for prefetching too - fixes a runtime crash when using side-effect-free modules with the DllPlugin ### Contribute - CI tests node.js 12 now too - webpack-bot now merges dependabot PRs automatically when status checks succeed ### [`v4.31.0`](https://togithub.com/webpack/webpack/releases/v4.31.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.30.0...v4.31.0) ### Features - add `errors-warnings` stats preset ### Bugfixes - allow top-level return in non-ESM modules ### [`v4.30.0`](https://togithub.com/webpack/webpack/releases/v4.30.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.29.6...v4.30.0) ### Features - add `amd: false` to disable AMD support - `Compilation.hooks.finishModules` now also allows async plugins - add `output.libraryTarget: "system"` to compile for SystemJs environment ### Bugfixes - fix generating a `null` id when concatenating an entry module in a different chunk - fix unneeded chunk references when splitting modules from chunks - fix parsing of function name in function scope ### Performance - Lazy require some internal files - Faster way to generate function headers ### Contributing - Run prettier on examples markdown ### [`v4.29.6`](https://togithub.com/webpack/webpack/releases/v4.29.6) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.29.5...v4.29.6) ### Bugfixes - typeof `__webpack_require__` and `require.onError` is no longer evaluated to `undefined` and evaluation is done at runtime instead. - `this` value in `module.hot.accept` with imported dependency is correctly preserved. - webassemblyjs updated to latest version ### Contributing - added a linting step to ensure all dependencies resolve to `npm` modules ### [`v4.29.5`](https://togithub.com/webpack/webpack/releases/v4.29.5) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.29.4...v4.29.5) ### Bugfixes - update `@webassemblyjs` to remove git dependency ### [`v4.29.4`](https://togithub.com/webpack/webpack/releases/v4.29.4) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.29.3...v4.29.4) ### Bugfixes - update `@webassemblyjs` for bugfixes ### [`v4.29.3`](https://togithub.com/webpack/webpack/releases/v4.29.3) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.29.2...v4.29.3) ### Bugfixes - fixes a bug where `import()` context uses `__webpack_require__.e`, but it is not in the runtime - WebpackErrors now console.log correctly in node > 10 ### [`v4.29.2`](https://togithub.com/webpack/webpack/releases/v4.29.2) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.29.1...v4.29.2) ### Internal changes - update dependencies ### [`v4.29.1`](https://togithub.com/webpack/webpack/releases/v4.29.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.29.0...v4.29.1) ### Bugfixes - add missing `__esModule` flag when modules are concatenated, but without usage information ### [`v4.29.0`](https://togithub.com/webpack/webpack/releases/v4.29.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.28.4...v4.29.0) ### Important Note for npm users This release updates some dependencies, which may trigger a npm bug. See [here for the webpack issue](https://togithub.com/webpack/webpack/issues/8656). The [npm bug](https://npm.community/t/packages-with-peerdependencies-are-incorrectly-hoisted/4794) has [been fixed](https://togithub.com/npm/cli/pull/147), but a new npm version has not been released yet. For workarounds see [this comment](https://togithub.com/webpack/webpack/issues/8656#issuecomment-456713191). Eventually the fix will be to upgrade npm once the bugfix is released. ### Features - update acorn to v6 - limit the number of in parallel written output files to 15 - add `output.futureEmitAssets` which gives the emitting logic of webpack 5 - assets are replaced with SizeOnlySources - reading assets after emitting is no longer allowed - This allows memory to be garbage-collected ### [`v4.28.4`](https://togithub.com/webpack/webpack/releases/v4.28.4) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.28.3...v4.28.4) ### Bugfixes - `ProfilingPlugin` creates output path if not existing - fixed support for arrow function functions for `optimization.minimizer` - failed hooks is now also called when `run()` fails ### [`v4.28.3`](https://togithub.com/webpack/webpack/releases/v4.28.3) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.28.2...v4.28.3) ### Bugfixes - ProfilingPlugin creates the output folder if necessary ### [`v4.28.2`](https://togithub.com/webpack/webpack/releases/v4.28.2) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.28.1...v4.28.2) ### Bugfixes - fixes a crash when multiple IgnorePlugins are used ### [`v4.28.1`](https://togithub.com/webpack/webpack/releases/v4.28.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.28.0...v4.28.1) ### Bugfixes - fix error in IgnorePlugin when no contextRegExp is passed ### [`v4.28.0`](https://togithub.com/webpack/webpack/releases/v4.28.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.27.1...v4.28.0) ### Features - IgnorePlugin: `checkResource` has an additional `context` argument ### Bugfixes - Injection of node.js globals has been disabled for `.mjs` files as it's crashing ### [`v4.27.1`](https://togithub.com/webpack/webpack/releases/v4.27.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.27.0...v4.27.1) ### Bugfixes - v4.27.0 accidentially introduced a breaking change. This reverts the change and restores the original behavior for `splitChunks` `enforce`. ### [`v4.27.0`](https://togithub.com/webpack/webpack/releases/v4.27.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.26.1...v4.27.0) ### Features - When using functions as plugins they are now also called with the compiler as parameter - This make it possible to use arrow functions as plugins - splitChunks.maxSize now emits a warning when minSize > maxSize - Loaders have now access to a `getResolve` method to create their own resolver function with custom options ### Bugfixes - splitChunks.cacheGroups.xxx.enforce now behaves as documented and enforce chunk creation - splitChunks.cacheGroups.xxx.enforce now no longer deletes minSize for maxSize - fixes a bug where splitChunks cause cacheGroups to be incorrectly merged when using the same name - now conditions are considered per cacheGroup - the correct cache group comment is displayed in stats - fixes a bug which causes providedExports not to be updated on rebuilds when using `export * from` ### [`v4.26.1`](https://togithub.com/webpack/webpack/releases/v4.26.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.26.0...v4.26.1) ### Bugfixes - fix a bug where splitChunks.maxSize causes a hanging build - fix a bug where splitChunks.maxSize crashes when minSize > maxSize - fix a edgecase where splitChunks.maxSize can cause chunks bigger than minSize - remove unnecessary code from global builtin ### [`v4.26.0`](https://togithub.com/webpack/webpack/releases/v4.26.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.25.1...v4.26.0) ### Features - 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`](https://webpack.js.org/configuration/optimization/#optimization-minimizer) configuration option to switch back to uglify-es or provide additional minimize options for terser. ### [`v4.25.1`](https://togithub.com/webpack/webpack/releases/v4.25.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.25.0...v4.25.1) ### Bugfixes - fix replacement of compile-time constant expression when expression is a wrapped expression (string prefix and/or suffix). ### [`v4.25.0`](https://togithub.com/webpack/webpack/releases/v4.25.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.24.0...v4.25.0) ### Features - add `format` option to `DllPlugin` to allow generating formated manifest json - add flags to `ProgressPlugin` to add and remove information - entrypoint counter was added, but disabled by default to avoid breaking change ### Bugfixes - fix code generation for context dependencies when replacing compile-time constant expressions - disable the effect of the ProvidePlugin for `.mjs` ### [`v4.24.0`](https://togithub.com/webpack/webpack/releases/v4.24.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.23.1...v4.24.0) ### Features - allow to pass no dependencies to DefinePlugin runtime value - `DefinePlugin.runtimeValue(() => {...}, true)` is always evaluated - add `module` argument to `DefinePlugin.runtimeValue` ### Bugfixes - update webassemblyjs dependency - fix bug when using entry names that look like numbers with HMR ### [`v4.23.1`](https://togithub.com/webpack/webpack/releases/v4.23.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.23.0...v4.23.1) ### Bugfixes - add space when replacing expression with constant - i. e. for code like `return'development'===process.env.NODE_ENV&&'foo'` ### [`v4.23.0`](https://togithub.com/webpack/webpack/releases/v4.23.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.22.0...v4.23.0) ### Features - add `watchMode` flag to Compiler to be able to detect watch mode in plugins - Prefer chunk names of entrypoints when merging chunks - add `removedFiles` property to Compiler to detect removed files ### Bugfixes - publish declarations to npm - upgrade `@webassemblyjs/*` for bugfix - fix crash when using a side-effect-free wasm module in production mode ### Internal changes - test on node.js 12 - fix memory leak in test suite ### [`v4.22.0`](https://togithub.com/webpack/webpack/releases/v4.22.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.21.0...v4.22.0) ### Features - Add support for evaluating `&&` and `||` expressions ### Bugfixes - fix problems where order of things where not deterministic ### Performance - improve performance of chunk graph creation - this will improve rebuild performance in watch mode ### [`v4.21.0`](https://togithub.com/webpack/webpack/releases/v4.21.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.20.2...v4.21.0) ### Features - add `output.libraryTarget: "amd-require"` which generates a AMD `require([], ...)` wrapper instead of a `define([], ...)` wrapper - support arrays of strings passed to `output.library`, which exposes the library to a subproperty ### Bugfixes - fix cases where `__webpack_require__.e` is used at runtime but is not defined in the bundle - fix behavior of externals of `global` type ### Performance - Some performance improvements to the chunk graph generation ### [`v4.20.2`](https://togithub.com/webpack/webpack/releases/v4.20.2) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.20.1...v4.20.2) ### Bugfixes - keep comments in `export default` in concatenated modules ### [`v4.20.1`](https://togithub.com/webpack/webpack/releases/v4.20.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.20.0...v4.20.1) ### Bugfixes - fix crash when using `libraryTarget: "amd"` without library name ### [`v4.20.0`](https://togithub.com/webpack/webpack/releases/v4.20.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.19.1...v4.20.0) ### Bugfixes - update dependencies (webpack-sources, @​webassemblyjs/\*) - Handle errors thrown in renderes without crashing ### Internal changes - Extended typings - Update internal structure of options schema to generate typings - Note: this exposed an issue in webpack-cli, you need to upgrade to webpack-cli@3.1.1 ### [`v4.19.1`](https://togithub.com/webpack/webpack/releases/v4.19.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.19.0...v4.19.1) ### Bugfixes - 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 ### [`v4.19.0`](https://togithub.com/webpack/webpack/releases/v4.19.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.18.1...v4.19.0) ### Bugfixes - Create a hash of the whole runtime code for the chunk/contenthash of entry chunks - Before hash was (incorrectly) calculated from (some) inputs ### [`v4.18.1`](https://togithub.com/webpack/webpack/releases/v4.18.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.18.0...v4.18.1) ### Bugfixes - Update tapable version, which fixes a memory leak ### [`v4.18.0`](https://togithub.com/webpack/webpack/releases/v4.18.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.17.3...v4.18.0) ### Features - Upgrade webassemblyjs dependency ### [`v4.17.3`](https://togithub.com/webpack/webpack/releases/v4.17.3) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.17.2...v4.17.3) ### Bugfixes - Fix exit code when multiple CLIs are installed - No longer recommend installing webpack-command, but still support it when installed ### [`v4.17.2`](https://togithub.com/webpack/webpack/releases/v4.17.2) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.17.1...v4.17.2) ### Bugfixes - fix a spacing issue with the ProgressPlugin on some terminals - force-upgrade webpack-sources for performance improvement (was already in semver range) ### [`v4.17.1`](https://togithub.com/webpack/webpack/releases/v4.17.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.17.0...v4.17.1) ### Bugfixes - fix missing reexports in `export *` in a concatenated module ### [`v4.17.0`](https://togithub.com/webpack/webpack/releases/v4.17.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.16.5...v4.17.0) ### Features - 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 ### [`v4.16.5`](https://togithub.com/webpack/webpack/releases/v4.16.5) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.16.4...v4.16.5) ### Bugfixes - (resource) query now works in `import()` - adding entries multiple times now overrides properly - This caused an issue when using `webpack-hot-client` and runtime chunks ### [`v4.16.4`](https://togithub.com/webpack/webpack/releases/v4.16.4) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.16.3...v4.16.4) ### Bugfixes - fix `chunkAsset` hook in HotModuleReplacementPlugin ### [`v4.16.3`](https://togithub.com/webpack/webpack/releases/v4.16.3) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.16.2...v4.16.3) ### Bugfixes - fix missing modules with chunks nested in unneeded `require.ensure`s. ### [`v4.16.2`](https://togithub.com/webpack/webpack/releases/v4.16.2) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.16.1...v4.16.2) ### Bugfixes - handle `module.require` like `require` - emit warnings for `module.main.require` and `module.parent.require` - sort reasons in stats - handle errors when parsing manifest in DllReferencePlugin ### [`v4.16.1`](https://togithub.com/webpack/webpack/releases/v4.16.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.16.0...v4.16.1) ### Bugfixes - fix reversed order when using optimization.occurrenceOrder (default in production mode) - `output.hashDigest` has a more relaxed schema - update dependencies - fix typo in schema ### Internal changes - typescript 3 rc ### [`v4.16.0`](https://togithub.com/webpack/webpack/releases/v4.16.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.15.1...v4.16.0) ### Features - add wasm support for `electron-renderer` target - add `optimization.moduleIds` and `optimization.chunkIds` options 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.root` and using a devtool - fix a HMR logging message issue in browser where `err.stack` is 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.loc` is a string instead of an object ### Deprecations - deprecated `Dependency.compare` in favor of `compareLocations` - `optimization.namedModules` is now deprecated - `optimization.hashedModuleIds` is now deprecated - `optimization.namedChunks` is now deprecated - `optimization.occurrenceOrder` is now deprecated ### [`v4.15.1`](https://togithub.com/webpack/webpack/releases/v4.15.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.15.0...v4.15.1) ### Bugfixes - 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 ### [`v4.15.0`](https://togithub.com/webpack/webpack/releases/v4.15.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.14.0...v4.15.0) ### Features: - add `maxSize` option for `splitChunks` (experimental) - add a helpful error when using wasm in a initial chunk ### [`v4.14.0`](https://togithub.com/webpack/webpack/releases/v4.14.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.13.0...v4.14.0) ### Features - add new hook `Compilation.dependencyReference` to modify the dependency references ### Bugfixes - Allow chunks to emit multiple assets to the same filename when hash matches ### [`v4.13.0`](https://togithub.com/webpack/webpack/releases/v4.13.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.12.2...v4.13.0) ### Features - the `DefinePlugin` now supports `runtimeValue`s 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` ### Bugfixes - when delegating CLI the `bin` fields are used - when assigning indicies sync dependencies are now walked before async dependencies ### [`v4.12.2`](https://togithub.com/webpack/webpack/releases/v4.12.2) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.12.1...v4.12.2) ### Bugfixes - 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 ### [`v4.12.1`](https://togithub.com/webpack/webpack/releases/v4.12.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.12.0...v4.12.1) ### Bugfixes - 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 `import` with `sideEffects: false` - added order to `DependencyReference` - add missing support for `[chunkhash]` in `target: "webworker"` - fix bug causing incomplete profile (race condition) with the `ProfilingPlugin` ### Internal changes - Added more types - lint files on commit with `lint-staged` ### [`v4.12.0`](https://togithub.com/webpack/webpack/releases/v4.12.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.11.1...v4.12.0) ### Features - 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 ### [`v4.11.1`](https://togithub.com/webpack/webpack/releases/v4.11.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.11.0...v4.11.1) ### Features - add `optimization.mangleWasmImports` option to disable mangling of wasm imports ### Bugfixes - disable wasm import mangling temporary because of bugs in the underlying wasm processing ### [`v4.11.0`](https://togithub.com/webpack/webpack/releases/v4.11.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.10.2...v4.11.0) ### Features - support `reportProgress` in `afterEmit` - 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 ### [`v4.10.2`](https://togithub.com/webpack/webpack/releases/v4.10.2) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.10.1...v4.10.2) ### Bugfixes - order of wasm globals is correctly preversed while rewriting - skipping side-effect-free modules up to a concatenated modules will not longer cause `null` module ids ### [`v4.10.1`](https://togithub.com/webpack/webpack/releases/v4.10.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.10.0...v4.10.1) ### Bugfixes - update reasons correctly when skipping side-effect-free modules ### [`v4.10.0`](https://togithub.com/webpack/webpack/releases/v4.10.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.9.2...v4.10.0) ### Features - Export and import name strings in them wasm are mangled - Unused exports in wasm are removed (Tree Shaking) - Don't expect size improvements yet since there is not minimizer for WASM yet which does the Dead Code Elimination, which is the second part for this optimization - Direct WASM dependencies are enforced for: - functions imports with i64 parameters or return values - memory and table imports - generate shorter wasm runtime code - ESM namespace object now have `Symbol.toStringTag` `"Module"` ### Bugfixes - generate correct initializer for imported globals in wasm - side-effect-free modules referenced by `export * from` are no longer including in the bundle - the side-effects optimization is now possible in incremental compilation ### [`v4.9.2`](https://togithub.com/webpack/webpack/releases/v4.9.2) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.9.1...v4.9.2) ### Bugfixes - functions is defined because used (fixes undeclared function error in firefox) - progress plugin works now in MultiCompiler scenarios again ### [`v4.9.1`](https://togithub.com/webpack/webpack/releases/v4.9.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.9.0...v4.9.1) ### Bugfixes - fix parameter references in default parameters ### Internal changes - change test cases to text format ### [`v4.9.0`](https://togithub.com/webpack/webpack/releases/v4.9.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.8.3...v4.9.0) ### Features - `BannerPlugin` supports a function as `banner` option - allow `serve` property in configuration schema - add `entryOnly` option to `DllPlugin` to only expose modules in the entry point - Allow to choose between `webpack-cli` and `webpack-command` - improve error message when JSON parsing fails - allow BOM in JSON - sort `usedIds` in `records` for stablility ### Bugfixes - align module not found error message with node.js - fix behavior of `splitChunks` when 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`) - `runtimeChunk` is even generated when all modules are moved by `splitChunks` (caused multiple runtime chunks instead of single one) - string ids are no longer recorded (caused duplicate/wrong chunk ids) - fix link to migration guide in error message ### Internal changes - add more typings - Use travis stages - add `many-pages` example ### [`v4.8.3`](https://togithub.com/webpack/webpack/releases/v4.8.3) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.8.2...v4.8.3) ### Bugfixes - fix missing `debug` dependency - support arrays in `output.library.root` ### [`v4.8.2`](https://togithub.com/webpack/webpack/releases/v4.8.2) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.8.1...v4.8.2) ### Bugfixes - WASM parser bugfixes - fix edge case when replacing top-level this in IIFE - avoid parser wasm many times ### [`v4.8.1`](https://togithub.com/webpack/webpack/releases/v4.8.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.8.0...v4.8.1) ### Bugfixes - fix some WASM parsing issues ### [`v4.8.0`](https://togithub.com/webpack/webpack/releases/v4.8.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.7.0...v4.8.0) ### Features - new WASM pipeline - use `instantiateStreaming` when available - allow circular dependencies between wasm modules (functions only) ### Bugfixes - fix a bug where runtime code for wasm was incorrectly cached - fix a bug where a splitChunks cacheGroup without name wasn't executed ### [`v4.7.0`](https://togithub.com/webpack/webpack/releases/v4.7.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.6.0...v4.7.0) ### Features - add webpackIgnore magic comment (`import(/* webpackIgnore: true */ "...")`) to keep the import in the bundle - add chunkGroups to Stats - `chunkGroups` option - `namedChunkGroups` property - `Chunk Group` text 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 ### [`v4.6.0`](https://togithub.com/webpack/webpack/releases/v4.6.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.5.0...v4.6.0) ### Features - improve stats output alignment - improve stats text output when all exports are used - add `webpackPrefetch`/`webpackPreload` magic comments to `import()` - add `stats.entrypoints[].children` and `stats.entrypoints[].childAssets` to stats json - add prefetched/preloaded chunks and assets to stats text output - Performance improvements ### Bugfixes - Escape chunk ids for `target: "webworker"` - fix `this` to `undefined` ESM 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.globalObject` in `target: "node-webkit"` - fix a bug with `loadModules` and dependencies in these modules - fix hot.accept parser plugin to allow defined values as argument - print `unknown size` when size is unknown - fix a bug where some chunks were missing in the "single" runtime chunk - fix cloning of `optimization` configuration ### Internal changes - Set up infrastructure for linting typings with TypeScript ### [`v4.5.0`](https://togithub.com/webpack/webpack/releases/v4.5.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.4.1...v4.5.0) ### Features - 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 setup` script for bootstrapping local development ### [`v4.4.1`](https://togithub.com/webpack/webpack/releases/v4.4.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.4.0...v4.4.1) ### Bugfixes - fix yarn/npm install script on windows ### [`v4.4.0`](https://togithub.com/webpack/webpack/releases/v4.4.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.3.0...v4.4.0) ### Features - When webpack-cli is not installed it will ask to install it - `splitChunks.chunks` supports 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 ### [`v4.3.0`](https://togithub.com/webpack/webpack/releases/v4.3.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.2.0...v4.3.0) ### Features - add support for `[contenthash]` placeholder ### Bugfixes - `browser` field is used for target `electron-renderer` - set `devtoolNamespace` default correctly when passing an object to `output.library` ### [`v4.2.0`](https://togithub.com/webpack/webpack/releases/v4.2.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.1.1...v4.2.0) ### Features - add `splitChunks.automaticNameDelimiter` to configure the name separator for automatic names - `stats.excludeModules` now also accept booleans - webpack throws an error when trying to run in twice at a time - `performance` is disabled by default in non-web targets - AMD parser plugins can now be extended by inheriting ### Bugfixes - Fix a race condition when writing `events.json` in 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 ### [`v4.1.1`](https://togithub.com/webpack/webpack/releases/v4.1.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.1.0...v4.1.1) ### Features - Stats now displays the number of assets of a module ### Bugfixes - `sourceMap` option of the default UglifyJsPlugin now defaults to true when the SourceMapDevToolPlugin is used - `module.assets` is now working again in the Stats - chunk ids are not stringified on target node - `devtoolNamespace` default works now also for arrays passed to `output.library` - Format date with 2 digits in Stats for Build At - fix a bug renaming classes incorrectly - fix a bug where modules ignore the `chunks` option of `optimization.splitChunks` ### [`v4.1.0`](https://togithub.com/webpack/webpack/releases/v4.1.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.0.1...v4.1.0) ### Features - add `filename` option to `optimization.splitChunks` to 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.xxx` in `ProvidePlugin` ### [`v4.0.1`](https://togithub.com/webpack/webpack/releases/v4.0.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.0.0...v4.0.1) ### Features - add `version` property to webpack exports ### Bugfixes - `import()` with CJS now gives correct exports - Module concatenation bailout messages now point to correct module ### [`v4.0.0`](https://togithub.com/webpack/webpack/releases/v4.0.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v3.12.0...v4.0.0) ##### Big changes - Environment - Node.js 4 is no longer supported. Source Code was upgraded to a higher ecmascript version. - Usage - You have to choose (`mode` or `--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_ENV` are set to production or development (only in built code, not in config) - There is a hidden `none` mode which disables everything - 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()` - 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) - `CommonsChunkPlugin` was removed -> `optimization.splitChunks`, `optimization.runtimeChunk` - 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 - allows to import JSON via ESM syntax - unused exports elimination for JSON modules - Optimization - Upgrade uglifyjs-webpack-plugin to v1 - ES15 support ##### 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/esm` handles ESM more strictly compared to `javascript/auto`: - Imported names need to exist on imported module - Dynamic modules (non-esm, i. e. CommonJs) can only imported via `default` import, everything else (including namespace import) emit errors - In `.mjs` modules are `javascript/esm` by 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()` - This is an experimental feature and subject of change - Optimization - `sideEffects: false` is now supported in package.json - `sideEffects` in 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.splitChunks` option 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 - `webpackInclude` and `webpackExclude` are supported by the magic comment for `import()`. 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.import` with `Rule.parser.system: false` - Configuration - Resolving can now be configured with `module.rules[].resolve`. It's merged with the global configuration. - `optimization.minimize` has been added to switch minimizing on/off - By default: on in production mode, off in development mode - `optimization.minimizer` has been added to configurate minimizers and options - Usage - Some Plugin options are now validated - CLI has been move to webpack-cli, you need to install `webpack-cli` to 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.dependencies` configurations now throw error - `sideEffects` can be overriden via module.rules - `output.hashFunction` can now be a Constructor to a custom hash function - You can provide a non-cryto hash function for performance reasons - add `output.globalObject` config option to allow to choose the global object reference in runtime exitCode - Runtime - Error for chunk loading now includes more information and two new properties `type` and `request`. - Devtool - remove comment footer from SourceMaps and eval - add support for `include` `test` and `exclude` to 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 of` instead of `forEach` - Migrate to using `Map` and `Set` instead of Objects - Migrate to using `includes` instead of `indexOf` - 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/javascript` and `async` as 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`, `.js` and `.json` extensions in this order - `output.pathinfo` is now on by default in develoment mode - in-memory caching is now off by default in production - `entry` defaults to `./src` - `output.path` defaults to `./dist` - Use `production` defaults when omiting the `mode` option - 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 `buildAt` time 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 - `done` is 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.chunkCallbackName` to the schema to allow configurating WebWorker template - Using `module.id/loaded` now 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 `run` and `watchRun` hooks for `MultiCompiler` - `this` is now undefined in ESM - VariableDeclaration are correctly identified as `var`, `const` or `let` - Parser now parse the source code with the correct source type (module/script) when the module type `javascript/dynamic` or `javascript/module` is used. - don't crash on missing modules with `buildMeta` of null - add `original-fs` module for electron targets - HMRPlugin can be added to the Compiler outside of `plugins` ##### Internal changes - Replaced `plugin` calls with `tap` calls (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-async` instead of `async` - Update tapable and enhanced-resolve dependencies to new major versions - Use prettier ##### Removed features - removed `module.loaders` - r