wopian / hibari

🦊 Vue app for Kitsu
https://hibari.moe
MIT License
26 stars 9 forks source link

build: update devdependency webpack to ~4.44.0 #614

Closed renovate[bot] closed 4 years ago

renovate[bot] commented 4 years ago

This PR contains the following updates:

Package Type Update Change
webpack devDependencies major ~3.12.0 -> ~4.44.0

Release Notes

webpack/webpack ### [`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 [#​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 (), 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: - 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` - removed `loaderContext.options` - removed `Compilation.notCacheable` flag - removed `NoErrorsPlugin` - removed `Dependency.isEqualResource` - removed `NewWatchingPlugin` - removed `CommonsChunkPlugin` ##### Breaking changes for plugins/loaders - new plugin system - `plugin` method is backward-compatible - Plugins should use `Compiler.hooks.xxx.tap(, fn)` now - New major version of enhanced-resolve - Templates for chunks may now generate multiple assets - `Chunk.chunks/parents/blocks` are no longer Arrays. A Set is used internally and there are methods to access it. - `Parser.scope.renames` and `Parser.scope.definitions` are no longer Objects/Arrays, but Map/Sets. - Parser uses `StackedSetMap` (LevelDB-like datastructure) instead of Arrays - `Compiler.options` is no longer set while applying plugins - Harmony Dependencies has changed because of refactoring - `Dependency.getReference()` may now return a `weak` property. `Dependency.weak` is now used by the `Dependency` base class and returned in the base impl of `getReference()` - Constructor arguments changed for all `Module`s - Merged options into options object for `ContextModule` and `resolveDependencies` - Changed and renamed dependencies for \`import() - Moved `Compiler.resolvers` into `Compiler.resolverFactory` accessible with plugins - `Dependency.isEqualResource` has been replaced with `Dependency.getResourceIdentifier` - Methods on `Template` are now static - A new RuntimeTemplate class has

Renovate configuration

:date: Schedule: "before 9am,after 5pm" in timezone Europe/London.

:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.

:recycle: Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

:no_bell: Ignore: Close this PR and you won't be reminded about this update again.



This PR has been generated by WhiteSource Renovate. View repository job log here.

renovate[bot] commented 4 years ago

Renovate Ignore Notification

As this PR has been closed unmerged, Renovate will ignore this upgrade and you will not receive PRs for any future 4.x releases. However, if you upgrade to 4.x manually then Renovate will then reenable updates for minor and patch updates automatically.

If this PR was closed by mistake or you changed your mind, you can simply rename this PR and you will soon get a fresh replacement PR opened.