Commit Graph

2652 Commits

Author SHA1 Message Date
Tobias Koppers 3b46b48fa7 enforce doesn't affect minSize for maxSize
enforce now works as documented
emit warning for minSize > maxSize configuration
performance improvements
bugfix when multiple cacheGroups have the same name

fixes #8407
2018-12-03 11:57:33 +01:00
Tobias Koppers bc2af64295 don't run minimizer for performance reasons 2018-11-30 15:51:45 +01:00
Tobias Koppers 67e92aa054 remove weird handlers added by wabt 2018-11-30 15:29:31 +01:00
Tobias Koppers 5687cf71d0 increase timeout for tests 2018-11-30 14:24:16 +01:00
Tobias Koppers 911c64ff3a increase timeout for tests 2018-11-30 13:40:29 +01:00
Tobias Koppers a8e51c322b make hashing more consistent 2018-11-30 13:19:55 +01:00
Tobias Koppers 11aafea92a fix test case 2018-11-30 11:55:23 +01:00
Tobias Koppers c2e90eddb2 allow to add more debug info to the test running 2018-11-30 11:55:20 +01:00
Tobias Koppers 07ef04f631 fix watch test cases 2018-11-29 16:37:50 +01:00
Tobias Koppers a54645ab5b fix test cases 2018-11-29 16:24:00 +01:00
Tobias Koppers 5c7d6d2db6 change ensureHandlers from array to object 2018-11-29 16:23:36 +01:00
Tobias Koppers 8066eaf299 put runtime modules into separate place in chunks
don't include them in modules array/object
better stats output for runtime moduels
2018-11-29 16:23:31 +01:00
Tobias Koppers 7eff4c300f add test case for updating runtime modules 2018-11-29 16:22:34 +01:00
Tobias Koppers 9d91861592 Refactor HMR for runtime modules
fixed a few HMR bugs
allow other module types for HMR
made HMR more flexible
2018-11-29 16:22:29 +01:00
Tobias Koppers cf626c612a Preparations for HMR refactoring 2018-11-29 16:18:45 +01:00
Tobias Koppers f7f8e0ff0f fixes for SourceMap handling 2018-11-29 16:17:37 +01:00
Tobias Koppers f753f92c28 ensureChunk to RuntimeModule
step 1: non HMR cases
2018-11-29 16:16:39 +01:00
Tobias Koppers 2857ad3ee4 runtime module for getChunkFilename 2018-11-29 16:15:26 +01:00
Tobias Koppers 6a6425272d improve test case to be less sensitive to module number changes 2018-11-29 16:14:27 +01:00
Tobias Koppers 2849281702 remove generateContext from RuntimeModule.generate
add public path runtime module
2018-11-29 16:13:26 +01:00
Tobias Koppers 540b9a1c35 remove hasOwnProperty global 2018-11-29 16:12:52 +01:00
Tobias Koppers b6d4ece8e8 Runtime Module for compatGetDefaultExport 2018-11-29 16:12:21 +01:00
Tobias Koppers 8803f52ce2 Runtime Module for CreateFakeNamespaceObject 2018-11-29 16:11:44 +01:00
Tobias Koppers dcbd67fdfe Runtime Module for MakeNamespaceObject 2018-11-29 16:11:11 +01:00
Tobias Koppers 0500655b63 move runtime modules boostrap into RuntimePlugin 2018-11-29 16:10:35 +01:00
Tobias Koppers 458baa33d4 runtime requirement for RuntimeGlobals.entryModuleId 2018-11-29 16:10:02 +01:00
Tobias Koppers 40dce1fe21 runtime requirement for RuntimeGlobals.moduleCache 2018-11-29 16:09:24 +01:00
Tobias Koppers bf1fc171ba runtime requirement for RuntimeGlobals.moduleFactories 2018-11-29 16:08:52 +01:00
Tobias Koppers 32c3fca477 extract definePropertyGetter into RuntimeModule 2018-11-29 16:08:17 +01:00
Tobias Koppers 7c37a6a972 handle runtime requirements 2018-11-29 16:07:17 +01:00
Tobias Koppers 2525c8b7aa move runtime requirements storage into ChunkGraph
use info for function generation
for noParse default to module and exports requirements
2018-11-29 16:06:44 +01:00
Tobias Koppers c1e89c0543 Runtime requirement support in NormalModule, Generators and DependencyTemplate 2018-11-29 16:06:12 +01:00
Tobias Koppers 507c2a85ce merge ExtendedAPIPlugin into APIPlugin 2018-11-29 16:05:39 +01:00
Tobias Koppers 48958dedd3 convert __webpack_hash__ to runtime module 2018-11-29 16:04:39 +01:00
Tobias Koppers 004a5f6fb4 converted __webpack_chunk_name__ into a runtime module 2018-11-29 16:04:07 +01:00
Tobias Koppers 0232674f9c Initial runtime module work 2018-11-29 16:03:32 +01:00
Tobias Koppers 383216a70b
Merge pull request #8436 from webpack/remove_concord
Remove concord support
2018-11-29 15:50:32 +01:00
Tobias Koppers 126b8d752c
Merge pull request #8420 from webpack/refactor/remove_tapable_context
Remove context usage in ProgressPlugin
2018-11-29 15:49:47 +01:00
Tobias Koppers fa87116ea1 Merge tag 'v4.26.1' into next
4.26.1
2018-11-29 14:51:27 +01:00
Florent Cailhol 586b884ae3 Remove concord support 2018-11-29 08:01:21 +01:00
Florent Cailhol 15997e2324 Remove context usage in ProgressPlugin 2018-11-27 08:58:43 +01:00
Tobias Koppers cbeaf70dfd prevent groups with size < minSize
fixes #8407
2018-11-25 11:41:30 +01:00
Tobias Koppers 32961f2aac while grouping nodes include at least one node on each side
fixes #8407
2018-11-24 08:01:59 +01:00
Tobias Koppers fd2133bc5b handle case when minSize > maxSize
fixes #8407
2018-11-23 09:01:53 +01:00
Shah Kashani 217b2ad7e2 Fix for #8398 - call failed-hook on compilation errors 2018-11-21 11:16:25 -05:00
Tobias Koppers a818deff0f fix for changed API in terser plugin warningsFilter 2018-11-18 23:03:53 +03:00
Ed Morley b39abf49de Rename test directories too 2018-11-18 23:03:38 +03: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
Tobias Koppers a8a6736598 increased timeout 2018-11-18 12:36:54 +01:00
Florent Cailhol caefde17ab Remove devtoolLineToLine and lineToLine options 2018-11-12 14:26:31 +01:00
Tobias Koppers 4178b18196 Merge tag 'v4.25.1' into next
4.25.1
2018-11-05 19:54:56 +01:00
Tobias Koppers eb28697419 move magic property names on __webpack_require__ into RuntimeGlobals file 2018-11-05 15:28:34 +01:00
Tobias Koppers babe736cfa replace prefix/postfix even when equal for wrapped context
walk inner expressions in wrapped context
add tracking of inner expressions in wrapped BasicEvaluatedExpression
fixes #8293
closes ##8337
2018-11-05 15:17:56 +01:00
Franck Freiburger dcd0d59d62 test for #8293 2018-11-05 14:02:00 +01:00
Tobias Koppers cf76e1c0e2
Merge pull request #8333 from webpack/bugfix/follow-up-8109
minor fixes for #8109
2018-11-05 10:35:57 +01:00
Tobias Koppers 6e64480e9d Partial revert of #8250 as this is no longer a limitation 2018-11-05 10:28:51 +01:00
Tobias Koppers 8cf1cdb74f Merge tag 'v4.25.0' into next
4.25.0
2018-11-05 10:27:45 +01:00
Tobias Koppers 7ce04b48b7 update test case 2018-11-05 09:26:33 +01:00
Tobias Koppers 355590e7c4
Merge pull request #8250 from Aladdin-ADD/patch-3
fix: disable ProvidePlugin for javascript/esm (fixes #7032)
2018-11-05 08:59:20 +01:00
Tobias Koppers 0293c3a5ee
Merge pull request #8279 from smelukov/support-entry-progress
ProgressPlugin: support progress by entry points
2018-11-05 08:55:30 +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 1ea411baad
Merge pull request #8139 from NaviMarella/FormatManifest
Adding format option for Dll Plugin to get a formatted manifest json. #7992
2018-11-05 08:08:21 +01:00
Tobias Koppers 4b7263525e exclude watch test cases 2018-11-05 08:00:26 +01:00
Tobias Koppers e35d08471f increase test timeout 2018-11-05 06:47:56 +01:00
Lex Alexander 84bc9bce48 test(Compiler): Promisifed webpack returns errors as a return value
Fixes #8298
2018-11-04 09:40:51 +01:00
Tobias Koppers eb6831673a
Merge pull request #8294 from ljqx/zhbliu/import-parser-plugin-fix-context-return
[ImportParserPlugin] fix return value when creating context for `import()`
2018-11-03 23:28:22 +01:00
Tobias Koppers 1027871ead fix merge issue 2018-11-03 13:04:13 +01:00
Tobias Koppers f0dfc45b9f merge parts too when simplifying
fix bug which keeps const conditional expression in bundle
remove parsing code from ContextDependencyHelpers
2018-11-03 11:16:16 +01:00
Tobias Koppers 31e189fcde Merge tag 'v4.24.0' into next
4.24.0
2018-11-02 18:02:39 +01:00
Tobias Koppers 770edef742
Update test/configCases/plugins/provide-plugin/index.js
Co-Authored-By: Aladdin-ADD <weiran.zsd@outlook.com>
2018-11-01 09:54:51 +08:00
weiran.zsd f61b4854b8
chore: add a test
Signed-off-by: weiran.zsd <weiran.zsd@alibaba-inc.com>
2018-10-31 21:47:42 +08:00
Franck Freiburger a640cd05b3 - update/enhance the test 2018-10-31 09:28:42 +01:00
Franck Freiburger a093cfa158 run eslint --fix 2018-10-30 17:31:09 +01:00
Franck Freiburger 979320e519 - add a test for PR#8306 2018-10-30 17:00:45 +01:00
Tobias Koppers 044ad3725b test memory cache too 2018-10-30 14:29:22 +01:00
Tobias Koppers ca69e9423d fix/workaround memory leaks 2018-10-30 13:46:50 +01:00
Zhibin Liu ff3bfa157d fix tests 2018-10-30 19:45:16 +08:00
Tobias Koppers 2bf48ca934 Split caching tests into separate suites 2018-10-30 09:54:43 +01:00
Zhibin Liu 84f92abcb9 add tests 2018-10-30 16:22:31 +08:00
hztianxiang d66cce2601 add test case by this change 2018-10-30 15:49:48 +08:00
Tobias Koppers c0d53878e4
Merge pull request #8168 from webpack/feature/serialization/errors
feat(serialization): serialize errors
2018-10-29 23:23:55 +01:00
Tobias Koppers ad308f9d5a increase timeout for StatsTestCases 2018-10-29 22:57:34 +01:00
Tobias Koppers 601824ea1e be less strict in test case
issuer can vary
2018-10-29 21:24:36 +01:00
Zhibin Liu 0cbb36f38f enhance tests 2018-10-30 00:34:12 +08:00
Zhibin Liu 1d78d91467 add tests 2018-10-29 00:21:58 +08:00
Zhibin Liu 0a0ce8269b [Test] simplify .wat code for finalize-exports-issue-8261 test 2018-10-26 23:36:24 +08:00
Sergey Melyukov c7e67b48ca fix tests 2018-10-25 18:57:23 +03:00
Sergey Melyukov 8b962a61b5 Set deterministic module ids in prod by default 2018-10-25 17:56:59 +03:00
Tobias Koppers 8ddcfb59e5 exclude watch test cases 2018-10-25 10:56:31 +02:00
Tobias Koppers bfb1e8694f fix test output message 2018-10-25 10:52:34 +02:00
Tobias Koppers 440be0c53c Merge tag 'v4.23.1' into next
4.23.1
2018-10-25 10:34:31 +02:00
Tobias Koppers f667e5355a
Merge pull request #8267 from smelukov/define-plugin-reevaluate-runtime-in-watch
DefinePlugin: reevaluate runtime values on watch mode
2018-10-25 10:31:42 +02:00
Tobias Koppers 5e5e7b7882
Merge pull request #8270 from ljqx/logical-expression-fix
[ConstPlugin] fix bug introduced by evaluation of && and ||
2018-10-25 10:21:10 +02:00
Zhibin Liu 13d1dabd93 [ConstPlugin] fix bug introduced by evaluation of && and || 2018-10-25 10:43:26 +08:00
Sergey Melyukov 574ccd3c7c added tests 2018-10-24 23:16:05 +03:00
Tobias Koppers d9a0d3a139 Merge tag 'v4.23.0' into next
4.23.0
2018-10-24 20:10:30 +02:00
Tobias Koppers 298fa4c981
Merge pull request #8266 from ljqx/wasm-finalize-exports-fix
[WasmFinalizeExportsPlugin] check if `ref` is null before using it
2018-10-24 17:41:54 +02:00
Zhibin Liu 035ceb6b1b force travis rerun 2018-10-24 22:55:18 +08:00
Zhibin Liu 6844c7526f add test 2018-10-24 22:30:37 +08:00
Tobias Koppers 8256249703 longer timeouts for Compiler test 2018-10-24 15:56:50 +02:00
Tobias Koppers 1c44f95b8c fix bug where module is referenced which is not in the graph 2018-10-24 15:45:10 +02:00
Tobias Koppers 98d077d0b6 order values with different types correctly 2018-10-24 15:45:08 +02:00
Daniel Ehrenberg b22f027f79 Update tests for new WebAssembly.Global API
The current version of the WebAssembly JS API specification [1]
exports globals as WebAssembly.Global, rather than as Numbers. This
version of the API is shipped in Chrome 69 and Firefox 62, and is
also seen in Node 11 nightly builds.

This patch updates webpack's tests to permit either the new API or
the old one, for exports of WebAssembly Globals. One of the affected
tests passes on Node 11 (where it previously failed), and the other
fails for unrelated reasons [2].

Fixes #8145

[1] https://webassembly.github.io/spec/js-api/index.html
[2] https://github.com/webpack/webpack/pull/7467/files#r223454525
2018-10-24 15:45:04 +02:00
Tobias Koppers 523ddd7220 avoid memory leak 2018-10-24 15:30:33 +02:00
Tobias Koppers af4cb35784
Merge pull request #8175 from cacheflow/add-tracking-of-removed-files
feat(Compiler): Add file removal tracking in watch-run
2018-10-24 10:44:40 +02:00
Tobias Koppers 7654a1cefe fix behavior and add test case 2018-10-24 10:02:12 +02:00
Tobias Koppers a262b83580 remove globalPath and useChunkHash feature
It's no longer needed, because we hash the runtime how
2018-10-24 09:39:51 +02:00
renatoagds 5e112dbfbe update watchMode tests 2018-10-23 15:12:36 -03:00
Tobias Koppers 071062422e Merge tag 'v4.22.0' into next
4.22.0
2018-10-23 16:41:31 +02:00
Tobias Koppers 0ae4a58918 make AggressiveSplittingPlugin stable 2018-10-23 11:32:41 +02:00
Tobias Koppers 94eb554dc0 fix byId sorting 2018-10-23 11:32:39 +02:00
Tobias Koppers 60b06472f5 make LimitChunkCountPlugin stable
fix integrating non-runtime with runtime chunk
move entry modules when integrating two chunks
2018-10-23 11:32:36 +02:00
Tobias Koppers 1e29c44df3 move natural chunk comparator to comparators
add name order to natural chunk order
2018-10-23 11:32:34 +02:00
Tobias Koppers 83866b0dac use stable sorting for sorting dependencies 2018-10-23 11:32:32 +02:00
Tobias Koppers ad8f8910e2 make origins sorting deterministic
remove duplicate origins
2018-10-23 11:32:30 +02:00
Tobias Koppers 8955561952 Run additional tests to ensure compilation stablility 2018-10-23 11:32:28 +02:00
renatoagds 22553427d4 fix prettier lint 2018-10-22 20:12:42 -03:00
renatoagds b6dda49add check if watch mode is trigger when use watch 2018-10-22 20:01:07 -03:00
Tobias Koppers 5e4a6a4f5d fix byId sorting 2018-10-19 13:20:48 +02:00
Tobias Koppers c04747f17d make LimitChunkCountPlugin stable 2018-10-19 12:57:27 +02:00
Tobias Koppers a7db689306 make chunk compare stable 2018-10-19 12:57:26 +02:00
Tobias Koppers 3217d02aab make stats assets order stable by providing a default order 2018-10-19 12:57:25 +02:00
Tobias Koppers 98b482efd7 make dependency order stable 2018-10-19 12:57:24 +02:00
Tobias Koppers 8a8111b637 make sorting in Stats stable 2018-10-19 12:57:23 +02:00
Tobias Koppers 511d15bbc4 make origins sorting deterministic
remove duplicate origins
2018-10-19 12:57:22 +02:00
Tobias Koppers c8252e6e4d Run additional tests to ensure compilation stablility 2018-10-19 12:57:19 +02:00
Lex Alexander 2cdf04e14b feat(Compiler): Add file removal tracking in watch-run
-Closes 5072.
2018-10-18 15:58:58 -07:00
Tobias Koppers 1d9f8a332f
Merge pull request #8233 from ljqx/const-plugin-logical-operator
[ConstPlugin] add support for logical expressions (&& and ||)
2018-10-18 09:57:23 +02:00
Zhibin Liu dcd38348e5 fix comments 2018-10-18 14:21:12 +08:00
Tobias Koppers 6b0da68ed9 run all test cases with caching 2018-10-17 22:15:46 +02:00
Tobias Koppers 5b7987abf4 remove console.log 2018-10-17 21:25:46 +02:00
Tobias Koppers 1500a9da5c refactor LocalModule to remove module reference to allow serializing 2018-10-17 21:25:46 +02:00
Tobias Koppers 0d980a75ba improve example build and test
improve cache print of references
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 518104b3fb Merge tag 'v4.21.0' into next
4.21.0
2018-10-17 20:38:00 +02:00
Zhibin Liu 257e6ec8d6 [ConstPlugin] add support for logical expressions (&& and ||) 2018-10-17 23:12:07 +08:00
Tobias Koppers 15b6f8bb7f make afterEach async 2018-10-17 16:17:23 +02:00
Tobias Koppers 7bc5c98171 Merge branch 'master' into marcusdarmstrong-external-module-fix 2018-10-17 16:13:55 +02:00
Tobias Koppers 83538ebc54
Merge pull request #8178 from webpack/feature/moduleIds
Remove moduleIds=total-size and deprecate moduleIds=hashed
2018-10-17 10:04:11 +02:00
Florent Cailhol 7db1d0ce4b Remove IgnorePlugin compat layer 2018-10-12 18:10:12 +02:00
Florent Cailhol 7669104f71 Deprecate moduleIds=hashed in favor of moduleIds=deterministic
Also remove moduleIds=total-size
2018-10-12 17:14:16 +02:00
Naveen Marella 78e64b6cc5 Added unit test to generate formatted manifest json 2018-10-03 13:16:07 -06:00
Tobias Koppers 9fe42e7c40
Merge pull request #8118 from webpack/bugfix/issue-8110
fixes #8110
2018-10-02 16:43:33 +02:00
Tobias Koppers 9da00cdb42 fixes #8110 2018-10-02 14:52:52 +02:00
Michael Ciniawsky 7f746a955a chore(JavascriptParser): update `acorn` dependencies
package: update `acorn` v5.6.2...v6.0.0
package: update `acorn-dynamic-import` v3.0.0...v4.0.0
2018-10-02 14:20:20 +02:00
Sergey Vershinin 8a939328f9 fix output for 'output.library: string[]' configuration 2018-10-01 22:31:26 +03:00
Tobias Koppers 7ed8b97091 add testcase for context dependencies in module 2018-09-27 21:36:41 +02:00
Evyatar 5edea62e35 fix_contains_typo 2018-09-27 19:02:34 +03:00
Tobias Koppers 7340fbb547 refactor Cache
add a new hookable Cache class
removed CachePlugin
add MemoryCachePlugin
refactor timestamps
create FileSystemInfo class
2018-09-27 13:20:19 +02:00
Tobias Koppers bf0d0d8f91
Merge pull request #8093 from eemeli/amd-require
Add "amd-require" libraryTarget, resulting in a require() wrapper
2018-09-27 12:40:05 +02:00