Commit Graph

433 Commits

Author SHA1 Message Date
Tobias Koppers 1e73752fb2 improve chunk splitting
by also trying to select combinations of module chunks
(limited by complexity)
fix size ordering (was reversed)
add chunk cound ordering
2018-02-17 07:01:00 +01:00
Tobias Koppers edd8daf1d7 Merge branch 'master' into next
# Conflicts:
#	lib/optimize/ConcatenatedModule.js
#	package.json
#	yarn.lock
2018-02-09 17:04:33 +01:00
Tobias Koppers 313944891d
Merge pull request #6432 from webpack/bugfix/split-chunks-duplicate
fixes #6413
2018-02-06 09:14:12 +01:00
Tobias Koppers b50a5b61c4
Merge pull request #6384 from benthemonkey/next
Add "single" option to RuntimeChunkPlugin
2018-02-05 17:35:55 +01:00
Tobias Koppers 4dd521f498 fixes #6413 2018-02-05 17:14:31 +01:00
Tobias Koppers b3f3100259
Merge pull request #6429 from webpack/fix-6426/ENAMETOOLONG
Truncate generated chunk name if too long
2018-02-05 09:16:19 +01:00
Florent Cailhol 6ebdc6b309 Truncate generated chunk name if too long
Fixes #6426
2018-02-02 09:55:52 +01:00
Tobias Koppers 9fde04d299 handle single option in options defaulter
change runtime chunk naming schema
2018-02-01 17:53:15 +01:00
Florent Cailhol 63b4523a15 Pass 'context' as constructor argument 2018-01-30 21:40:44 +01:00
Olivier Combe 2aebfbe48c fix(ConcatenatedModule): don't throw on arrays with empty values
Fixes #6407
Fixes #5415
Ref https://github.com/angular/angular/issues/21809
2018-01-29 15:52:01 +01:00
Ben Rothman c26c872bb2 add "single" option to RuntimeChunkPlugin 2018-01-26 22:03:56 -06:00
Tobias Koppers 72f904a34b run splitChunks and runtimeChunk only on main compiliation 2018-01-24 12:00:50 +01:00
Tobias Koppers 7a1b357aad
Merge branch 'next' into for_of_loops 2018-01-24 09:01:31 +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 7f303e5260 Use Buffer.from instead of new Buffer 2018-01-22 17:23:34 +01:00
Tobias Koppers ea609374f7 split Chunk.isInitial into isOnlyInitial and canBeInitial
remove includeInitial argument of getChunk(Module)Maps
2018-01-22 12:52:28 +01:00
Florent Cailhol 86e6edf1ab Refactor how source type is handled by the parser 2018-01-22 09:30:43 +01:00
Tobias Koppers b28435eb32 make default cache group explicit
add priority
using cacheGroups doesn't override default cache groups
2018-01-20 13:13:10 +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 114abeeb4d fix merge issue 2018-01-18 11:31:38 +01:00
Tobias Koppers af90de826c
Merge pull request #6236 from ooflorent/use_map_set
Replace dictionaries by Map or Set
2018-01-18 09:24:36 +01:00
Tobias Koppers 6437964207
Merge pull request #6291 from Iwouldliketobeapig/next
feat: CommonsChunkPlugin indexOf -> includes
2018-01-12 10:57:42 +01:00
dutao 9cbe4f19c5 fix: lint miss ; 2018-01-12 09:07:22 +08:00
Tobias Koppers 7112943ca4
Merge pull request #6298 from EugeneHlushko/refactor/indexof-to-includes
Refactor/indexof to includes
2018-01-11 22:45:02 +01:00
EugeneHlushko 2aab060f26 Refactor: indexOf >< checks to includes 2018-01-11 18:58:39 +02:00
Tobias Koppers 7baf6aff08
Merge pull request #6281 from webpack/feature/auto-ccp
Add AutomaticCommonsChunksPlugin and config options and defaults
2018-01-11 11:15:26 +01:00
dutao 58cacb25a0 feat: indexOf -> includes 2018-01-11 17:25:00 +08:00
Tobias Koppers d60a9f5288
Merge pull request #6287 from ooflorent/remove_dedupeplugin
Remove deprecated DedupePlugin
2018-01-10 23:59:50 +01:00
Tobias Koppers acdabb1427 linting, comment and minor improvements 2018-01-10 19:22:25 +01:00
Tobias Koppers 85acfeb1c2 allow to use new options minSize, maxRequests 2018-01-10 18:58:27 +01:00
Tobias Koppers 4b81320695 allow limit requests and chunk size
with defaults
2018-01-10 18:58:27 +01:00
Tobias Koppers b34663cb2d add more config options
fix bugs
2018-01-10 18:58:27 +01:00
Tobias Koppers 417044f065 add AutomaticCommonsChunksPlugin
enable it by default for async chunks
add options for initial chunks
2018-01-10 18:58:26 +01:00
Tobias Koppers 08cd2f0ffe introduce ChunkGroup for AND in parents 2018-01-10 17:12:03 +01:00
Florent Cailhol 67f31aeebc Remove deprecated DedupePlugin 2018-01-09 17:09:18 +01:00
Tobias Koppers 2cbd4685d3
Merge pull request #6250 from webpack/bugfix/json-concat
fix a bug with json modules in concatenated modules
2018-01-06 10:37:30 +01:00
Florent Cailhol 1590751da2 Replace dictionaries by Map or Set 2018-01-06 09:45:57 +01:00
Florent Cailhol 9f13bfec6c Optimize chunk traversal in RemoveParentModulesPlugin 2018-01-05 22:49:55 +01:00
Tobias Koppers 87fdb61c0a better names for interop properties 2018-01-05 22:35:54 +01:00
Tobias Koppers bde926605c fix a bug with json modules in concatenated modules 2018-01-05 22:27:42 +01:00
Florent Cailhol 9f9e730ff3 Use for-of loops instead of forEachModule 2018-01-04 23:15:32 +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
Tobias Koppers 2aac6badd5 move generated runtime code to RuntimeTemplate 2017-12-22 19:41:28 +01:00
Florent Cailhol 9669c9e013 Use Parser#hooks instead of Tapable#plugin 2017-12-21 09:08:10 +01: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
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
Tobias Koppers 27d60f7dd6
Merge pull request #6126 from ooflorent/remove_plugin_calls
Remove more plugin calls
2017-12-15 13:42:38 +01:00
Florent Cailhol 08ddad2e10 Replace NormalModuleFactory#plugin() calls 2017-12-14 14:42:49 +01:00