Commit Graph

188 Commits

Author SHA1 Message Date
Tobias Koppers b2e7837288 replace Object.assign with object spread 2019-06-19 13:16:05 +02:00
Tobias Koppers d4651abe8e fix test failures 2019-06-05 16:10:08 +02:00
Tobias Koppers 12a3e7c854 create experiments for importAwait importAsync and (a)syncWebAssembly 2019-06-05 13:32:22 +02:00
Tobias Koppers de61023616 add side-by-side wasm support based on async modules
type: "webassembly/async-experimental"
remove i64 importing limitation since it will have BigInt integration eventually
update wasm example
2019-06-04 23:28:56 +02:00
Tobias Koppers ad64a1c2ca add experiment.mjs config option 2019-06-04 11:33:26 +02:00
Tobias Koppers 0de5b54f25 disable node stuff in node targets 2019-05-22 15:55:21 +02:00
Tobias Koppers 92f8c36ca2 add `minRemainingSize` option for splitChunks to ensure leftover chunks from splitting have a minimum size
defaults to `minSize` of cache group
defaults to global option when not specified
global option defaults to zero in development
2019-05-13 13:10:23 +02:00
Tiago Costa d9d2983225
chore(NA): fix import order. 2019-03-21 02:26:08 +00:00
Tiago Costa 5453d3dfe7
chore(na): use find-cache-dir in order to calculate the webpack cache defautl dir. Fallback to the os.tmp in case of a failure. 2019-03-20 17:14:41 +00:00
Tobias Koppers 180f912493 Merge tag 'v4.29.2' into next
4.29.2
2019-02-06 15:37:11 +01:00
Tobias Koppers b25ff237bb Prettify source code 2019-02-05 10:08:45 +01:00
Tobias Koppers 6fc0b96c9c add MangleExportsPlugin and options 2019-01-31 11:41:30 +01:00
Tobias Koppers 7c0d845af3 Refactor FileCachePlugin into multiple modules 2019-01-25 19:21:45 +01:00
Steven Hargrove a80b65d099 a .json file is not a valid loader 2019-01-17 14:08:50 -05:00
Tobias Koppers f196886f31 Enable node.global by default 2019-01-08 14:37:13 +01:00
Tobias Koppers 781398355a
Use fullhash to avoid deprecation warning 2018-12-25 20:10:49 +01:00
Florent Cailhol 2a10b12e09 Add maxAsyncSize and maxInitialSize options 2018-12-11 20:47:50 +01:00
Florent Cailhol 760b1da9f3 Add maxInitialSize and maxAsyncSize options 2018-12-10 21:05:39 +01:00
Tobias Koppers 0d2faa0d0a
Merge pull request #8460 from webpack/refactor/node_polyfills
Do not polyfill node bindings by default
2018-12-08 12:23:24 +01:00
Tobias Koppers fe80339d71 use - instead of ~ as default for better compat
fix automaticNameDelimiter in splitChunks
fix test cases
2018-12-07 14:46:49 +01:00
Tobias Koppers 8281667668 improve ids for Long Term Caching
add deterministic chunk ids and make it default
StatsTestCases no longer need to explicitly use natural ids as the defaults are deterministic now too
add concept of id name hints for chunks
add `idHint` option to splitChunks to provide a hint
deduplicated code from different id plugins to IdHelpers
improve behavior of named ids in case of conflicts
remove `name: true` and `automaticNamePrefix` from splitChunks it's not as good as expected
improve named chunk ids to show root modules
2018-12-07 12:26:35 +01:00
Florent Cailhol 002128c288 Do not polyfill node bindings by default 2018-12-07 08:58:26 +01:00
Tobias Koppers e5e648061c
Merge pull request #8448 from sodatea/wasm-resolve
fix: `.wasm` extension should have lower priority when resolving modules
2018-12-05 12:36:11 +01:00
Haoqun Jiang 8a083ff48c
fix: also change WebpackOptionsDefaulter 2018-12-01 18:40:17 +08:00
Ed Morley 311a7285d3 Switch from uglifyjs-webpack-plugin to terser-webpack-plugin
Some history:
* `uglifyjs-webpack-plugin` < v1.0 used the minifier `uglify-js`
* however `uglify-js` does not support ES6, which resulted in a fork
  called `uglify-es` that was developed in the `uglify-js` repository,
  but under the `harmony` branch
* `uglifyjs-webpack-plugin` v1.x switched to `uglify-es` for ES6 support
* however `uglify-es` stopped being maintained:
  https://github.com/mishoo/UglifyJS2/issues/3156#issuecomment-392943058
* which led to a fork called `terser` that has incorporated all of
  the unmerged PRs and will be where all new development occurs:
  https://github.com/fabiosantoscode/terser
* `terser-webpack-plugin` was created, which is the `terser` equivalent
  of `uglifyjs-webpack-plugin`:
  https://github.com/webpack-contrib/terser-webpack-plugin
* `uglifyjs-webpack-plugin` v2.x will be switching back to `uglify-js`,
  so any project that needs to support ES6 now needs to switch to
  `terser-webpack-plugin`.

Fixes #7923.
2018-11-18 22:56:10 +03:00
Florent Cailhol caefde17ab Remove devtoolLineToLine and lineToLine options 2018-11-12 14:26:31 +01:00
Tobias Koppers cc28367a78
Merge pull request #8109 from webpack/refactor/templatedPaths
refactor(TemplatedPathPlugin): split placeholder context (`chunk|module`)
2018-11-05 09:03:00 +01:00
Tobias Koppers fe66257770
Merge pull request #8276 from smelukov/deterministic-module-ids-in-prod
Set deterministic module ids in prod by default
2018-11-05 08:09:57 +01:00
Tobias Koppers 5da271287c use not deprecated default 2018-11-01 20:23:10 +01:00
Tobias Koppers 02ba24aca8 add a `cache` option to control the resolve cache 2018-10-31 13:55:28 +01:00
Tobias Koppers 3b35fd478c use module.unsafeCache only for node_modules
remove unsafe resolve cache remainings
2018-10-31 13:17:32 +01:00
Tobias Koppers 2688b5b17f add resolver cache 2018-10-30 15:43:26 +01:00
Sergey Melyukov 8b962a61b5 Set deterministic module ids in prod by default 2018-10-25 17:56:59 +03:00
Tobias Koppers b536fe7aee default cache.name to name + mode 2018-10-17 21:25:40 +02:00
Tobias Koppers a852828279 add persistent caching prototype 2018-10-17 21:25:39 +02:00
Tobias Koppers 19d60ba0cd Merge tag 'v4.19.1' into next
4.19.1
2018-09-18 10:13:54 +02:00
Sharang Dashputre bb4c2d18f7 Correctly set the 'browser' value for electron-renderer 2018-09-16 18:30:24 +05:30
Ed Morley 79910c6ba5 Switch from uglifyjs-webpack-plugin to terser-webpack-plugin
Some history:
* `uglifyjs-webpack-plugin` < v1.0 used the minifier `uglify-js`
* however `uglify-js` does not support ES6, which resulted in a fork
  called `uglify-es` that was developed in the `uglify-js` repository,
  but under the `harmony` branch
* `uglifyjs-webpack-plugin` v1.x switched to `uglify-es` for ES6 support
* however `uglify-es` stopped being maintained:
  https://github.com/mishoo/UglifyJS2/issues/3156#issuecomment-392943058
* which led to a fork called `terser` that has incorporated all of
  the unmerged PRs and will be where all new development occurs:
  https://github.com/fabiosantoscode/terser
* `terser-webpack-plugin` was created, which is the `terser` equivalent
  of `uglifyjs-webpack-plugin`:
  https://github.com/webpack-contrib/terser-webpack-plugin
* `uglifyjs-webpack-plugin` v2.x will be switching back to `uglify-js`,
  so any project that needs to support ES6 now needs to switch to
  `terser-webpack-plugin`.

Fixes #7923.
2018-09-15 12:29:14 +01:00
Tobias Koppers cf5f1d723c format existing code 2018-07-30 21:29:21 +02:00
Tobias Koppers 6d9e4f315b Use natural module/chunk ids in mode none 2018-07-27 12:27:57 +02:00
Tobias Koppers 5e72a6505a remove deprecated optimization options
and update test cases
2018-07-16 10:32:02 +02:00
Tobias Koppers 2b14ddc984 Merge tag 'v4.16.0' into next
4.16.0
2018-07-11 11:13:47 +02:00
Tobias Koppers 3366421f17
Merge pull request #7663 from webpack/feature/automatic-name-prefix
automaticNamePrefix and name merging bugfix
2018-07-10 20:45:52 +02:00
Tobias Koppers 9f0056b10d
Merge pull request #7686 from webpack/feature/module-chunk-ids-option
add new options moduleIds and chunkIds
2018-07-10 10:19:03 +02:00
Raanan Weber fa7cf3b218
formatting 2018-07-09 17:50:13 +02:00
Raanan Weber c12ab8d5e4 Recursive getDevtoolNamespace
Supporting the case where options.output.library.root is an Array:

```javascript
output: {
  library: {
    root: ["MyLibrary", "Sub"],
    amd: "my-library",
    commonjs: "my-common-library"
  },
  libraryTarget: "umd"
}
```
2018-07-09 17:28:32 +02:00
Tobias Koppers 3fc4eb752f add new options moduleIds and chunkIds
deprecate namedModules, hashedModuleIds, namedChunks
add a lot of TODOs for webpack 5
split OccurenceOrderPlugin into separate plugins for modules and chunks
add NaturalChunkOrderPlugin and enable it in development
2018-07-09 15:06:19 +02:00
Tobias Koppers 14968acc00 add automaticNamePrefix option
allow automaticNameDelimiter on cacheGroup level
2018-07-05 14:13:13 +02:00
Tobias Koppers 0a06f19fd8 Merge tag 'v4.15.0' into next
4.15.0
2018-07-04 22:19:50 +02:00
Tobias Koppers f0ae54d478 Merge tag 'v4.13.0' into next
4.13.0
2018-07-04 22:08:31 +02:00