Commit Graph

80 Commits

Author SHA1 Message Date
Tobias Koppers a877cd51d1 add presentational dependencies which are cheaper, but allow only templating 2019-10-30 07:49:20 +01:00
Tobias Koppers 8696017c55 add Dependency.getReferencedExports
remove Dependency.getReference
remove DependencyReference
2019-10-30 07:48:37 +01:00
Tobias Koppers 8d46b21fad add Dependency.getCondition and conditional ModuleGraphConnections
getDependencyReference is no longer used to check of connection
2019-10-30 07:48:32 +01:00
Tobias Koppers ec518945f1 fix edge case in scope analysis
fix double declaration problem in variable declarations
remove TrackingSet
rename StackedSetMap to StackedMap and remove add method
add more scope analysis test
2019-09-05 13:34:16 +02:00
Tobias Koppers 1977cb1036 move async module flag to ModuleGraph 2019-06-05 11:15:25 +02:00
Tobias Koppers 1b685d1de8 change DependencyReference.importedNames to be always an string[][] 2019-05-29 11:55:07 +02:00
Florent Cailhol b12f24d20c Update hook types 2019-05-10 09:52:22 +02:00
Tobias Koppers b66143f706 Merge tag 'v4.30.0' into next
4.30.0
2019-05-09 21:34:28 +02:00
Matt Mulder 287c2b7ef1 fix null module reference when concatenating entryModule in split chunk 2019-03-15 01:30:36 -07:00
Tobias Koppers 923e16dd5a remove module argument from getDependencyReference 2019-01-28 08:38:35 +01:00
Florent Cailhol a42922f663 Move provided exports to the module graph 2018-12-31 12:28:51 +01:00
Tobias Koppers 6ca7ae1c48 make Compilation.modules a Set 2018-09-06 17:03:24 +02:00
Tobias Koppers 4d7b5b3b5e Refactor module id plugins to be independent 2018-09-03 20:45:44 +02:00
Tobias Koppers bd18e019d4 Clone module attributes instead of moving them 2018-09-03 20:12:55 +02:00
Tobias Koppers 888ad3d684 insert concatenated module at correct position
fixes bug where ids are incorrectly assigned
2018-09-03 20:12:55 +02:00
Tobias Koppers eb63cf80d6 move built flag into Compilation 2018-08-22 15:33:16 +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 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 34427c1845 migrate to init fragments in ConcatenatedModule 2018-08-09 15:45:45 +02:00
Tobias Koppers 3347700225 improve optimization bailout message usefulness 2018-08-09 15:45:30 +02:00
Tobias Koppers d6cf42e4c2 merge used with usedExports
usedExports = false now means module is not used
2018-08-06 21:05:11 +02:00
Tobias Koppers c4e0a9f72e Move Module.used and Module.usedExports into ModuleGraph 2018-08-06 21:04:01 +02:00
Tobias Koppers 97cc9d7140 Move optimizationBailout into ModuleGraph meta information 2018-08-06 10:42:41 +02:00
Tobias Koppers 3ef5475183 filter connections while replacing module 2018-08-02 17:54:44 +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
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
Tobias Koppers 50fe2e79ee add Compilation.getDependencyReference and hooks to override it
expose DependencyReference class
2018-06-23 15:13:14 +02:00
Tobias Koppers dabbfa7c4e remove unneeded array 2018-06-08 13:21:18 +02:00
Tobias Koppers 6390240e05 rewrite module reference correctly after replacing ConcatenatedModule
fixes #7443
2018-05-30 09:51:11 +02:00
Florent Cailhol 2a9452e51b Add brackets for multiline if/for statements 2018-05-29 15:45:44 +02:00
Tobias Koppers 351c9936e6 fixup reasons when redirecting dependencies for side-effects
show reason explanation in stats

fixes #7428
2018-05-29 14:12:31 +02:00
Mohsen Azimi d677bdd0e9 pretty 2018-04-12 11:42:38 +02:00
Mohsen Azimi 6a9ee8fd4e more comment types and one actual code change 2018-04-12 11:42:37 +02:00
Brent Wilton 39095efc34 add todo for ModuleConcatenationPlugin for loop bugfix 2018-03-02 14:08:26 +13:00
Brent Wilton 9f37b499bf improve performance of ModuleConcatenationPlugin for loop 2018-02-28 11:46:12 +13:00
Tobias Koppers e7aba18ed5 fix incorrect optimization bailout messages
fixes #6570
2018-02-26 20:22:58 +01:00
Tobias Koppers 5238159d21 run prettier on existing code 2018-02-25 02:00:20 +01:00
Florent Cailhol d4811b0d37 Use for-of loops instead of forEach 2018-01-23 22:53:18 +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
Tobias Koppers 53a1d6c7b5 replace harmonyModule flag with exportsType 3-state
exportsType falsy: It's non-harmony module
exportsType "namespace": It's a harmony module, the exports is the namespace object
exportsType "default": It's a harmony module, the exports is the default exports, named exports are properties of the default export
2017-12-22 19:42:41 +01:00
Florent Cailhol 9669c9e013 Use Parser#hooks instead of Tapable#plugin 2017-12-21 09:08:10 +01:00
Tobias Koppers ba00d7495a fix unnecessary module concatenation
allow to display nested modules in stats
2017-12-20 20:35:16 +01:00
Florent Cailhol 31e0c406b7 Bail out concatenation if module uses module.id or module.loaded 2017-12-19 10:08:43 +01:00