Commit Graph

469 Commits

Author SHA1 Message Date
Tobias Koppers d48975c948 use types from schema 2018-09-21 11:04:19 +02:00
Tobias Koppers 97ed999aad Merge tag 'v4.19.0' into next
4.19.0

* Separate context for renderBoostrap and hooks
* Remove ModuleTemplate from MainTemplate.bootstrap hook
2018-09-15 13:10:58 +02:00
Tobias Koppers 13b2cdd5ae hash content of bootstrap code
instead of trying to calculate it
from inputs

fixes #8027
fixes #7984
2018-09-13 23:25:26 +02:00
Tobias Koppers 5b4cbb5ee0 add queues to Compilation
remove Semaphore and use AsyncQueue instead
deprecate Module.needRebuild, add Module.needBuild
remove Module.unbuild
add Module.invalidateBuild
2018-09-12 13:17:03 +02:00
Tobias Koppers d48a331642 Split Compilation process in multiple methods 2018-09-12 13:17:02 +02:00
Tobias Koppers b098789625 remove recursive flag 2018-09-12 13:17:00 +02:00
Tobias Koppers 3c244d9fc9 Optimize error origin handling and module trace
Improve warnings and errors sorting
2018-09-12 13:16:59 +02:00
Tobias Koppers 7a43a27eda make Compilation.chunks a Set 2018-09-06 17:04:01 +02:00
Tobias Koppers 6ca7ae1c48 make Compilation.modules a Set 2018-09-06 17:03:24 +02:00
Tobias Koppers b4860ccebb refactor chunk id plugins 2018-09-05 14:28:52 +02:00
Tobias Koppers 4a7a85ca84 rename index/index2 to pre/postOrderIndex 2018-09-04 09:27:25 +02:00
Tobias Koppers 4d7b5b3b5e Refactor module id plugins to be independent 2018-09-03 20:45:44 +02:00
Florent Cailhol 8fda6a562e Add NaturalModuleIdsPlugin 2018-09-03 20:12:55 +02:00
Tobias Koppers bad9d8a271 move Module.id into ChunkGraph
remove disconnect and unseal from Module
2018-08-28 15:08:52 +02:00
Tobias Koppers 02b15a1b46 pass chunkGraph to updateHash instead of moduleGraph
pass chunkGraph to compareModulesById instead of moduleGraph
pass chunkGraph to methods of RuntimeTemplate
use comparators from module at some places
2018-08-28 12:06:53 +02:00
Tobias Koppers 239ce7fcd9 Use ChunkGraph instead of Compilation in updateHash 2018-08-24 12:02:42 +02:00
Tobias Koppers 670502fc81 Move AsyncDependenciesBlock.chunkGroup into ChunkGraph 2018-08-22 20:17:49 +02:00
Tobias Koppers 3aa2280498 move Module.hash and .renderedHash into ChunkGraph 2018-08-22 19:24:54 +02:00
Tobias Koppers eb63cf80d6 move built flag into Compilation 2018-08-22 15:33:16 +02:00
Tobias Koppers e0f84652c0 remove Module.prefetched
remove prefeteched from Stats
make Compilation.addModuleChain public and remove onModule argument
remove Compilation.prefetch
2018-08-22 15:19:05 +02:00
Tobias Koppers b20556c1ff move profile to ModuleGraph 2018-08-22 14:54:28 +02:00
Tobias Koppers 26022c86a0 move Module.depth into ModuleGraph
nested modules no longer have depth and stay unsorted in stats
2018-08-22 12:45:11 +02:00
Tobias Koppers 5a78e96dc9 add backward-compat layer for ModuleGraph and ChunkGraph 2018-08-21 16:17:02 +02:00
Tobias Koppers 42167db4af move Module.index and index2 into ModuleGraph 2018-08-21 16:16:51 +02:00
Tobias Koppers 4dfe88edb0 add moduleGraph argument to comparators 2018-08-21 11:08:07 +02:00
Tobias Koppers 3bb5263bfd move methods from Module into ModuleGraph 2018-08-21 11:04:40 +02:00
Florent Cailhol 7b02084bc5 Replace Basic and Advanced optimzation hooks by stages 2018-08-16 14:10:51 +02:00
Tobias Koppers 6d5310fbd6 allow multiple entryModules per chunk
allow to specify ChunkGroup to depend on
move entry modules into ChunkGraph
2018-08-15 11:51:16 +02:00
Tobias Koppers 3cf01999b5 add ChunkGraph
move chunk modules and module chunks into the ChunkGraph
remove outdated unit tests
2018-08-14 15:32:13 +02:00
Tobias Koppers d35e42a14d move Module.issuer into Module.getIssuer(moduleGraph) 2018-08-09 16:44:28 +02:00
Tobias Koppers 3618cc1b3c remove originModule from Dependencies and add parent module to ModuleGraph 2018-08-07 14:20:53 +02:00
Tobias Koppers 565b569b68 Merge tag 'v4.16.5' into next
4.16.5
2018-08-06 09:20:57 +02:00
Tobias Koppers 17ebfb9784 fix #7829
webpack-hot-client seem to call `addEntry` multiple
which causes two Entrypoints with the same name
This lead the bad side effects
i. e. optimization.runtimeChunk no longer works correctly

Now adding an entry with the same name replaces the existing entry
2018-08-03 11:09:26 +02:00
Tobias Koppers 381e2db200 replace Module.reasons and Dependency.module with ModuleGraph 2018-08-02 17:54:44 +02:00
Tobias Koppers 11e127d162 pass moduleGraph along with multiple methods 2018-08-02 17:54:42 +02:00
Tobias Koppers f89b599197 add types to Stats
move recorded property into a WeakMap
remove non-existing property
2018-08-02 16:07:29 +02:00
Tobias Koppers f68c1f7ab6 add additional arguments to updateHash 2018-08-02 16:04:10 +02:00
Tobias Koppers df204b8e35 add module graph 2018-08-02 16:04:09 +02:00
Tobias Koppers 8ffcd9161e
Merge pull request #7781 from webpack/refactor/dep_vars
Refactor dependency variables
2018-07-31 09:08:48 +02:00
Tobias Koppers 2e82dbb63c
Merge pull request #7813 from webpack/refactor/freeze_hooks
Freeze hooks to prevent deopts
2018-07-30 22:47:13 +02:00
Florent Cailhol 71016b1433 Remove DependencyBlockVariable 2018-07-30 22:38:13 +02:00
Tobias Koppers cf5f1d723c format existing code 2018-07-30 21:29:21 +02:00
Florent Cailhol fc4f30329d Freeze hooks to prevent deopts 2018-07-30 14:25:40 +02:00
Tobias Koppers 138687730a only assign module ids for modules in chunks
handle weak dependencies without id correctly
2018-07-27 13:16:54 +02:00
Tobias Koppers 3771daba6a Merge tag 'v4.16.3' into next
4.16.3
2018-07-27 12:21:04 +02:00
Tobias Koppers aac43687fd fix case where empty chunkgroups cause nested chunkgroups to vanish 2018-07-27 10:56:01 +02:00
Florent Cailhol 29c99b1787 Convert GraphHelpers 2018-07-26 22:43:20 +02:00
Tobias Koppers bc10939096 add types for Module and subclasses
better way to handle "optional" methods
2018-07-25 12:12:17 +02:00
Tobias Koppers fcf3f63f0e add DependencyTemplate base class and inherit types from this
fix a few typing issues
2018-07-23 20:11:59 +02:00
Tobias Koppers 86ff1a4642 Merge tag 'v4.16.1' into next
4.16.1
2018-07-16 10:30:31 +02:00
Tobias Koppers 1a16a79480 Merge remote-tracking branch 'origin/master' into enable-noImplicitThis 2018-07-16 10:18:25 +02:00
Tobias Koppers 3f13ed765f
Merge pull request #7706 from webpack/remove/format-location
update formatLocation to only accept location objects
2018-07-15 20:27:11 +02:00
Florent Cailhol 7195bae9b4 Update ESLint and Prettier 2018-07-14 22:52:42 +02:00
Tobias Koppers b0518552e5
Merge pull request #7707 from webpack/remove/deprecated
remove deprecated stuff
2018-07-13 21:36:19 +02:00
Tobias Koppers a672e8f2f9 remove deprecated extracted hooks 2018-07-13 17:30:26 +02:00
Tobias Koppers dbfea49e6f fix case where non-object is passed to addOrigin
add typings to ensure that this doesn't happen again
2018-07-13 17:27:31 +02:00
Tobias Koppers ef40df2d1f fix usage of DependencyTemplates and types 2018-07-12 17:12:00 +02:00
Tobias Koppers e0abce0dd8 make DependencyTemplates a new class 2018-07-11 13:11:08 +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 569c415623
Merge branch 'master' into enable-noImplicitThis 2018-07-11 08:43:26 +02:00
Tobias Koppers 8876514cdb replace deprecated method 2018-07-10 16:03:13 +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
ferhat elmas 271b77d45f all: typo fixes 2018-07-09 22:54:35 +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
Florent Cailhol 4984ed17a2 Remove Dependency#getReference existance check 2018-07-06 13:43:36 +02:00
Mohsen Azimi a0e1ad920e Enable noImplicitThis TypeScript compiler option 2018-07-05 08:07:46 +03:00
Tobias Koppers 0a06f19fd8 Merge tag 'v4.15.0' into next
4.15.0
2018-07-04 22:19:50 +02:00
Tobias Koppers bd2e3448ec Merge tag 'v4.14.0' into next
4.14.0
2018-07-04 22:10:53 +02:00
Tobias Koppers f0ae54d478 Merge tag 'v4.13.0' into next
4.13.0
2018-07-04 22:08:31 +02:00
Mohsen Azimi b01f378a08 Fix @template syntax error in Compilation.js iterationOfArrayCallback 2018-07-03 16:57:16 -07:00
Tobias Koppers 1ad71e01f9 add helpful error when importing wasm in initial chunk 2018-07-02 16:18:49 +02:00
Tobias Koppers c3eecbd7b8
spacing 2018-07-02 08:29:22 +02:00
Sean Larkin 2d1cd74d37
Merge branch 'master' into feature/type-compiler-compilation-save 2018-06-29 11:53:40 -07:00
Tobias Koppers b06cca2371
Merge pull request #7626 from webpack/format/arrow-functions
arrow functions, remove or improve eslint-disable comments
2018-06-29 20:41:54 +02:00
Tobias Koppers 6e68f96d16
Merge branch 'master' into feature/type-compiler-compilation-save 2018-06-29 19:02:35 +02:00
Tobias Koppers 5a185c954e
Merge pull request #7585 from webpack/feature/hook-into-get-reference
hook into dependency reference
2018-06-29 14:00:56 +02:00
Tobias Koppers 522b324f61 allow emitting to the same filename when hash matches
fixes webpack-contrib/mini-css-extract-plugin#190
fixes webpack-contrib/mini-css-extract-plugin#194
2018-06-29 10:03:21 +02:00
Tobias Koppers db63d9fc50 fixes minor type issue 2018-06-28 10:21:25 +02:00
Tobias Koppers d0c89618f3
Merge branch 'master' into feature/type-compiler-compilation-save 2018-06-27 14:58:10 +02:00
Tobias Koppers 7beac3c645
Merge branch 'master' into feature/hook-into-get-reference 2018-06-27 14:34:28 +02:00
Tobias Koppers ad8f496745 arrow functions, remove or improve eslint-disable comments 2018-06-27 13:48:13 +02:00
Florent Cailhol e763d87960 Remove useless checks on ChunkGroup 2018-06-27 11:40:24 +02:00
Florent Cailhol 91663f19a2 Remove deprecated APIs 2018-06-27 10:08:12 +02:00
Tobias Koppers 0f587763e1 add per chunk index and index2
refactor index generation
2018-06-26 18:26:47 +02:00
Florent Cailhol c68d0d2171 Remove Tapable compatibility 2018-06-26 08:31:08 +02:00
Tobias Koppers ee5574dc16 allow iterable for SortableSet 2018-06-25 16:37:20 +02:00
Tobias Koppers 3890b2b09b fix type 2018-06-25 16:30:02 +02:00
Tobias Koppers 5625647f05 add description 2018-06-25 16:27:57 +02:00
Tobias Koppers a39c846c78 Cast dependency.constructor to correct type 2018-06-25 16:24:49 +02:00
Tobias Koppers 41343d1763 add TODO comments 2018-06-25 16:18:21 +02:00
Tobias Koppers 9f596f6357 remove unneeded type 2018-06-25 16:18:08 +02:00
Tobias Koppers 2ac6a85482 cleanup DependencyTemplates 2018-06-25 16:15:17 +02:00
Tobias Koppers 96c5dd1cb0 add some TODOs, add Hash type 2018-06-25 10:53:10 +02:00
Tobias Koppers c774f030f1 merge DependencyLocation and disallow string locations 2018-06-25 10:44:34 +02:00
Sean Larkin f64f75e55f revert function style, fix a few types, etc 2018-06-23 10:24:36 -04:00
Tobias Koppers 50fe2e79ee add Compilation.getDependencyReference and hooks to override it
expose DependencyReference class
2018-06-23 15:13:14 +02:00
Sean Larkin 968edbf77d fix(types): fix errors and linting errors 2018-06-21 14:38:17 +03:00
Sean Larkin c3ebef7f25
Merge branch 'master' into feature/type-compiler-compilation-save 2018-06-21 11:07:33 +03:00
Tobias Koppers 53103a9690 Cleanup error location and origin information 2018-06-04 10:35:46 +02:00
Sean Larkin 1bae93852a
Merge branch 'master' into feature/type-compiler-compilation-save 2018-05-30 19:35:36 -07:00
Florent Cailhol 2a9452e51b Add brackets for multiline if/for statements 2018-05-29 15:45:44 +02:00
Tobias Koppers 342c3c6fec Merge branch 'master' into feature/type-compiler-compilation-save
# Conflicts:
#	yarn.lock
2018-05-24 18:56:04 +02:00
Tobias Koppers 19015b698c fix problems with circular unneeded chunks
fixes #7363
fixes #7239
fixes #6587
2018-05-22 15:30:32 +02:00
Tobias Koppers 3072378892 bugfixes and corrections 2018-05-15 15:04:40 +02:00
Sean Larkin f0ed7b63e8 chore(types): remove dup types, clean up some itesm 2018-05-15 15:04:39 +02:00
Sean Larkin 39195ff62f chore(types): make loose interface for removing reasons ties in Compilation 2018-05-15 15:04:39 +02:00
Sean Larkin 761d73b4e7 chore(types): add Compiler and Compilation type support 2018-05-15 15:04:38 +02:00
Tobias Koppers 5c8a0d23ba Merge branch 'master' into next
# Conflicts:
#	test/statsCases/aggressive-splitting-entry/expected.txt
#	test/statsCases/aggressive-splitting-on-demand/expected.txt
#	test/statsCases/chunk-module-id-range/expected.txt
#	test/statsCases/chunks-development/expected.txt
#	test/statsCases/chunks/expected.txt
#	test/statsCases/color-disabled/expected.txt
#	test/statsCases/color-enabled-custom/expected.txt
#	test/statsCases/color-enabled/expected.txt
#	test/statsCases/commons-chunk-min-size-0/expected.txt
#	test/statsCases/commons-chunk-min-size-Infinity/expected.txt
#	test/statsCases/commons-plugin-issue-4980/expected.txt
#	test/statsCases/define-plugin/expected.txt
#	test/statsCases/exclude-with-loader/expected.txt
#	test/statsCases/external/expected.txt
#	test/statsCases/filter-warnings/expected.txt
#	test/statsCases/import-context-filter/expected.txt
#	test/statsCases/import-weak/expected.txt
#	test/statsCases/limit-chunk-count-plugin/expected.txt
#	test/statsCases/max-modules-default/expected.txt
#	test/statsCases/max-modules/expected.txt
#	test/statsCases/module-assets/expected.txt
#	test/statsCases/named-chunks-plugin-async/expected.txt
#	test/statsCases/named-chunks-plugin/expected.txt
#	test/statsCases/no-emit-on-errors-plugin-with-child-error/expected.txt
#	test/statsCases/optimize-chunks/expected.txt
#	test/statsCases/performance-different-mode-and-target/expected.txt
#	test/statsCases/preset-detailed/expected.txt
#	test/statsCases/preset-normal/expected.txt
#	test/statsCases/preset-verbose/expected.txt
#	test/statsCases/resolve-plugin-context/expected.txt
#	test/statsCases/reverse-sort-modules/expected.txt
#	test/statsCases/scope-hoisting-bailouts/expected.txt
#	test/statsCases/scope-hoisting-multi/expected.txt
#	test/statsCases/simple-more-info/expected.txt
#	test/statsCases/simple/expected.txt
#	test/statsCases/tree-shaking/expected.txt
#	test/statsCases/warnings-uglifyjs/expected.txt
2018-05-01 16:49:08 +02:00
Tobias Koppers 1c0d4f77b0 improve Compilation.processDependenciesBlocksForChunkGroups performance
prepare references for modules
2018-05-01 10:54:00 +02:00
Tobias Koppers 82a71be1dc Cleanup, refactoring, types 2018-04-27 18:53:07 +02:00
Tobias Koppers 9cb1a66317 add support for link preload/prefetch
`import(/* webpackPrefetchPriority: 10 */ "...")`
`import(/* webpackPreloadPriority: 10 */ "...")`
2018-04-16 11:29:25 +02:00
Mohsen Azimi 589f40b26a Add missing class member initializations found by TypeScript 2018-04-11 16:48:44 +02:00
Florent Cailhol fe73712e5b Remove unecessary _this binding 2018-04-10 23:04:20 +02:00
Tobias Koppers 8de560552c sort child compilations for consitent hash
fixes webpack-contrib/mini-css-extract-plugin#75
2018-04-03 17:36:12 +02:00
Tobias Koppers 8d8da4cdff Merge branch 'master' into bump_prettier 2018-03-29 11:48:02 +02:00
Tobias Koppers d4f3c775d5
Merge pull request #6883 from mohsen1/remove-dead-code
Initialize fileTimestamps and contextTimestamps in Compilation
2018-03-29 10:52:06 +02:00
Tobias Koppers 4b6ee7356d
Merge pull request #6894 from webpack/bugfix/css-stuff
fixes for mini-css-extract-plugin
2018-03-29 10:50:38 +02:00
Mohsen Azimi 7a72ee92c0
Merge branch 'master' of github.com:webpack/webpack into remove-dead-code
# Conflicts:
#	lib/Compilation.js
2018-03-28 21:25:46 -07:00
Mohsen Azimi 77535dde7c
Initialize fileTimestamps and contextTimestamps in Compilation 2018-03-28 10:10:28 -07:00
Mohsen Azimi 9728f2d2e0
Revert "Remove dead code in Compilation.js"
This reverts commit 847bfa4c63.
2018-03-28 10:08:25 -07:00
Mohsen Azimi bc76fee70b
Initialize compilationDependencies in Compilation as undefined 2018-03-28 10:05:29 -07:00
Tobias Koppers 93a5bf567f fixes for mini-css-extract-plugin 2018-03-28 16:19:15 +02:00
Mohsen Azimi d2dbed5dda
Update Compilation.js 2018-03-27 22:41:45 -07:00
Mohsen Azimi 864a15977f
Remove extra arguments passed to SortableSet initializing fileDependencies 2018-03-27 22:36:45 -07:00
Mohsen Azimi 847bfa4c63
Remove dead code in Compilation.js 2018-03-27 22:23:47 -07:00
Florent Cailhol f1092ad516 Update prettier toolchain 2018-03-26 16:56:10 +02:00
Tobias Koppers 296542ed79 add [contenthash] support 2018-03-24 12:08:36 +01:00
Florent Cailhol 3983803d30 Destructure 'require' to improve readability 2018-03-22 12:05:58 +01:00
Josh Soref 96ebb27964 spelling: connect 2018-02-26 02:27:17 +00:00
Tobias Koppers 5238159d21 run prettier on existing code 2018-02-25 02:00:20 +01:00
Tobias Koppers e52f323750 optimize performance of assignDepth 2018-02-24 14:38:16 +01:00
Suguru Motegi 864e563173 replace Async with Neo-Async 2018-02-11 14:31:08 -08:00
Tobias Koppers d6816afddf
Merge pull request #6355 from webpack/for_of_loops
Use for-of loops instead of forEach
2018-01-24 10:35:58 +01:00
Tobias Koppers 7a1b357aad
Merge branch 'next' into for_of_loops 2018-01-24 09:01:31 +01:00
Tobias Koppers ad75e44d02
Merge branch 'next' into remove_v3_deprecated 2018-01-24 08:45:13 +01:00
Florent Cailhol 7b8fa112e0 Remove v3 deprecated APIs 2018-01-23 23:25:01 +01:00
Florent Cailhol d4811b0d37 Use for-of loops instead of forEach 2018-01-23 22:53:18 +01:00
Florent Cailhol 77bb4c0055 Deprecate forEach* and map* methods 2018-01-23 22:19:59 +01:00
Florent Cailhol 6192e5b413 Use hooks instead of applyPlugins 2018-01-22 15:23:52 +01:00
Tobias Koppers 18ae73dad4 Refactor chunk graph
Chunks are now always in ChunkGroups
ChunkGroups have parents and children, Chunks no longer have this
AsyncDependenciesBlocks point to a ChunkGroup instead of a list of chunks
Entrypoint is now a ChunkGroup (extends from it)
move stuff graph modification methods into GraphHelpers
Change chunk id recording to source-based
Chunks have parents, siblings and children in Stats
rename AutomaticCommonsChunksPlugin to SplitChunksPlugin
add request property to origin (ChunkGroup)
remove moveToParent from AggressiveMergingPlugin
fix issues with AggressiveSplittingPlugin
remove CommonsChunkPlugin
add optimization.runtimeChunk (RuntimeChunkPlugin)
fix a filename bug for initial chunks
remove extract-text-webpack-plugin from test suite
add DebugHash to help debugging hash issues
fix issues with entry modules in different chunk as runtime
redo optimization.splitChunks options
Compilation.entrypoints is now a Map
Compilation.chunkGroups has been added
remove some unittests
update examples
update tests with CommonsChunkPlugin
2018-01-19 19:21:30 +01:00
Florent Cailhol 1590751da2 Replace dictionaries by Map or Set 2018-01-06 09:45:57 +01:00
Tobias Koppers 1886b7a5cb Merge branch 'master' into next
# Conflicts:
#	bin/webpack.js
#	lib/Compilation.js
#	yarn.lock
2017-12-29 11:17:10 +01:00
Maximilien Garenne c4fa27b451 fix lint errors 2017-12-28 14:38:03 +01:00
Maximilien Garenne 71d12979e4
Refresh code of Compilation.js
I replaced some let by const, removed some unecessary this bindings, rewrote the part with self by this with paying attention to keep the binding to this.
2017-12-28 11:39:29 +01:00
Sean Larkin 30ac70083d
Merge pull request #6101 from webpack/feature/tapable-upgrade-json-export-main-template-plugin
feat(tapable): upgrade other template plugins
2017-12-22 21:38:05 -08:00
Tobias Koppers 2a1546d355 fix reversed order in OccurenceOrderPlugin
try to keep original order
fallback order by name if index order fails
2017-12-20 20:35:16 +01:00
EugeneHlushko 370eb38e32 Feature: Disallow to load initial chunk on demand..: rename class to Error 2017-12-19 17:41:56 +02:00
EugeneHlushko 3096317a4b Feature: Disallow to load initial chunk on demand via throwing an error 2017-12-19 17:12:48 +02:00
Sean Larkin fb5351ec25
Merge branch 'next' into feature/tapable-upgrade-json-export-main-template-plugin 2017-12-15 23:48:48 -08:00
Sean Larkin 5eee030cae fix(tapable): refactored calls to iterator and add some destructuring 2017-12-15 16:14:19 -08:00