Commit Graph

600 Commits

Author SHA1 Message Date
Tobias Koppers d65f3bbf0d fix crash when all modules of an entrypoint fail resolving and another entrypoint dependOn it 2021-02-10 15:40:11 +01:00
Tobias Koppers 93931241ba
Merge pull request #12567 from mattcompiles/fix-broken-rebuild 2021-02-03 14:41:42 +01:00
Matt Jones d39cbe2ee6 Fix module rebuilds that add new dependencies 2021-02-03 08:40:20 +11:00
Tobias Koppers 3e1c7082d2 log out module profile summary when profiling is enabled 2021-02-02 03:29:21 +01:00
Tobias Koppers f25345cae9 refactor code generation and HMR plugin to generate real module hashes for HMR 2021-01-26 14:45:11 +01:00
Sam Cooke ea4e298efe Self-review, add chunkGraph 2021-01-13 12:53:37 +01:00
Sam Cooke a1a536ceb0 Linting 2021-01-13 12:53:37 +01:00
Sam Cooke 13af82bb9e Fix failing test 2021-01-13 12:53:36 +01:00
Tobias Koppers 10aa3daede add experiments.layers
add layers to define different module layers
support module layers in stats

add layer support for NormalModules

fixes #11466
2021-01-05 20:50:59 +01:00
Tobias Koppers b5b1f25ad2 improve typings for stats related hooks and classes 2020-12-17 18:51:55 +01:00
Tobias Koppers 63dda151a2 expose Asset and AssetInfo types
allow custom properties in AssetInfo
2020-12-17 10:27:18 +01:00
Tobias Koppers 1c7f221e0a fix triggering processAssets for some assets twice 2020-12-10 17:40:12 +01:00
Tobias Koppers c2069f8db7 fix handling of multiple identical assets with different querystrings
fixes #11894
2020-12-09 16:10:32 +01:00
Tobias Koppers ccfe01aab4 allow to process assets that are added during processAssets
fix and add processAsset stages

allow to hook into RealContentHashPlugin for custom hashing
2020-11-26 14:00:21 +01:00
Tobias Koppers eb5481adfb
Merge pull request #11948 from jantimon/fix/plugin-types
fixes "Type '(compiler: Compiler) => void' is not assignable to type '() => void'.ts"
2020-11-26 13:56:41 +01:00
Tobias Koppers cbcd459d19 fix conflicting real imports and type imports 2020-11-26 10:02:59 +01:00
Hiroki Osame 1422f2400d docs(type): documented minimized property on asset-info 2020-11-11 01:15:35 -05:00
Jan Nicklas d12b043c3d fix: adjust typings to resolve "Type '(compiler: Compiler) => void' is not assignable to type '() => void'.ts 2020-11-09 14:54:40 +01:00
Tobias Koppers 19f51535ca merge multiple import statements with different conditions correctly
improve hashing when conditional runtime evaluation is involved
add test cases
2020-10-27 06:48:54 +01:00
Tobias Koppers 7661ad868a generate code that executes depending on runtime
fixes #11770
2020-10-27 06:30:49 +01:00
Tobias Koppers 2ec90b3687 add asset info for `sourceFilename` and `javascriptModule` 2020-10-22 10:47:23 +02:00
Tobias Koppers 204caeee05 fix order of asset optimization to fix conflict between compression-plugin and real hash plugin 2020-10-16 14:42:46 +02:00
Tobias Koppers 63ba54c109 update chunk to files mapping when deleting assets 2020-10-15 14:27:23 +02:00
Tobias Koppers 45040463c6 order runtime chunks correctly when they depend on each other 2020-10-14 21:19:50 +02:00
Christian Brueggemann 51f8069907 Try to fix lint errors 2020-10-06 17:55:22 +02:00
Christian Brueggemann f7e6f2a02a Remove own implementation of Array equals 2020-10-06 17:48:13 +02:00
Christian Brueggemann 302db2a1f8 Try to fix lint errors 2020-10-06 17:42:03 +02:00
Christian Brüggemann 3aac3350a8
Fix compilation of projects where dependsOn is an array
An entrypoint can be defined with `dependOn` specified as an array (see docs)[https://webpack.js.org/configuration/entry-context/#entry], for example:

```javascript
 splitmodule1: {
                import: scanSourceFiles('./src/splitmodule1'),
                dependOn: [ 'pluginregistry'] // Note that we could specify multiple dependencies here, e.g. dependOn: ['core', 'pluginregistry']
 }
```
Using the Webpack Watcher results in the following error:

```
× 「wdm」: Error: Conflicting entry option dependOn = pluginregistry vs pluginregistry
    at Compilation._addEntryItem (C:\Users\c.brueggemann\Documents\Projects\codesplit\node_modules\webpack\lib\Compilation.js:1616:7)
    at Compilation.addEntry (C:\Users\c.brueggemann\Documents\Projects\codesplit\node_modules\webpack\lib\Compilation.js:1560:8)
    at C:\Users\c.brueggemann\Documents\Projects\codesplit\node_modules\webpack\lib\DynamicEntryPlugin.js:59:23
    at new Promise (<anonymous>)
    at C:\Users\c.brueggemann\Documents\Projects\codesplit\node_modules\webpack\lib\DynamicEntryPlugin.js:58:10
```

This PR fixes the crash by comparing the arrays deeply instead of using incorrectly comparing them using `===`. I'm not too familiar with Webpack, so I'll be happy to adjust according to feedback.
2020-10-06 16:28:06 +02:00
Tobias Koppers 07fc554bef improve warnings and errors handling in stats
respect warningsFilter for warnings count
include child compilation warnings and errors in count
show hint for child compilation errors and warnings
2020-09-20 21:24:15 +02:00
Tobias Koppers ed06a7f83a new Worker() support
add support for async anonymous entrypoints from inside the codebase
add worker example
move entry options into Entrypoint and receive them from there
2020-09-08 07:37:20 +02:00
Tobias Koppers b6bfe8b891 fix auxiliary files for Compilation.renameAsset 2020-09-03 23:24:16 +02:00
Tobias Koppers 8497cd34c6 move start and endTime from Stats to Compilation 2020-09-03 22:01:25 +02:00
Tobias Koppers 0f089187e4 improve hashing of runtime modules that need a full hash 2020-09-01 18:31:29 +02:00
Tobias Koppers be021e00f4 add grouping of modules 2020-09-01 18:31:22 +02:00
Tobias Koppers dff76973e4 type fixes 2020-08-24 18:35:28 +02:00
Tobias Koppers cee47dc867 Store cache dependencies inside of Snapshot to reduce cache size 2020-08-24 18:16:54 +02:00
Tobias Koppers 114154099c avoid merging LazySets from factory results 2020-08-24 18:16:52 +02:00
Tobias Koppers 6409463d24 only create shared snapshots for 3 or more shared entries
add logging
2020-08-24 18:16:50 +02:00
Tobias Koppers b929d4cdce calculate real content hash for assets after asset processing 2020-08-18 22:07:24 +02:00
Tobias Koppers 62ccae1abd build errors should be errors even for optional modules
optional modules should only treat "not found" errors as warnings

fixes #9161
2020-08-14 20:03:48 +02:00
Tobias Koppers f9fe121fc8 improve and add statistics 2020-08-14 10:51:12 +02:00
Tobias Koppers a42e636a9c handle case where assets are related from multiple assets 2020-08-07 15:24:49 +02:00
Tobias Koppers 84aeac5c92 add Compilation.deleteAsset 2020-08-06 09:55:18 +02:00
Tobias Koppers f5bd6216aa add related info to asset info 2020-08-02 07:36:05 +02:00
Tobias Koppers fdfaa2efa0
Merge pull request #11252 from webpack/improve/cache-and-progress
do cache related tasks after calling handler in watching
2020-08-01 19:11:48 +02:00
Tobias Koppers ca369f23c5 do cache related tasks after calling handler in watching
improve progress output
2020-08-01 09:00:17 +02:00
Tobias Koppers 9e81495f7b add useful error messages for runtime and dependsOn 2020-08-01 06:43:16 +02:00
Tobias Koppers 216ab35823 avoid storing code generation result on errors 2020-07-28 22:09:31 +02:00
Tobias Koppers 3465b00a62 performance, cleanup 2020-07-28 22:05:13 +02:00
Tobias Koppers 1265765141 polish, types 2020-07-27 22:41:04 +02:00