Commit Graph

231 Commits

Author SHA1 Message Date
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
Tobias Koppers 90c5adef14 linting, unittests 2017-12-12 21:21:02 +01:00
Tobias Koppers c68f224272 move providedExports into buildMeta 2017-12-12 17:01:03 +01:00
Tobias Koppers ffb977fed4 refactor meta -> buildMeta, add factoryMeta
add compat layer to Module.meta
2017-12-12 16:57:50 +01:00
Tobias Koppers 2bb95a3b93 Refactor addModule to keep Module instances between rebuilds 2017-12-12 16:57:50 +01:00
Tobias Koppers 758a388f69 pass runtimeTemplate to DependencyTemplate
move outputOptions and requestShortener into runtimeTemplate
2017-12-11 17:59:32 +01:00
Sean Larkin 25c135aa82 feat(tapable): upgrade other template plugins 2017-12-08 02:05:45 -08:00
Tobias Koppers 7d87f34269 Only create one RequestShortener per Compiler
move Compiler.context assignment into Compiler
2017-12-04 12:23:42 +01:00
Tobias Koppers 0d66130daf always create a CachedSource, because it's accessed multiple times 2017-12-04 12:23:32 +01:00
Tobias Koppers 88ad7ed186 Merge branch 'refactoring/plugin-system-templates' into refactoring/plugin-system-all 2017-11-29 08:07:18 +01:00
Tobias Koppers 56328a7cab upgrate tapable in Templates 2017-11-28 18:43:01 +01:00
Tobias Koppers 7787b4ad13 upgrade tapable for Compilation 2017-11-27 21:14:16 +01:00
Tobias Koppers 5a4f0aca67 change imports of tapable to old version
prepare to migrate to new tapable version
2017-11-27 20:56:42 +01:00
Tobias Koppers a0ef93f939 aggregate all crypto hash usages into util/createHash
try to avoid calling hash.update with short strings
2017-11-23 11:09:17 +01:00
Tobias Koppers 5a8e7673cb fix weak status of harmony accept dependency
add test case for accepting default import
2017-11-22 08:06:47 +01:00
Tobias Koppers 4c4121b948 fix test and lint issues 2017-11-19 09:06:40 +01:00
Tobias Koppers 93171b9795 replace isEqualResource with more performance implementation 2017-11-19 00:22:38 +01:00
Tobias Koppers 5e39ec46ee Allow to override resolve configuration 2017-11-18 08:12:35 +01:00
Tobias Koppers a53672d1a2 Merge branch 'master' into next
# Conflicts:
#	lib/EvalSourceMapDevToolModuleTemplatePlugin.js
#	lib/dependencies/HarmonyDetectionParserPlugin.js
#	lib/dependencies/HarmonyImportDependency.js
#	package.json
#	schemas/webpackOptionsSchema.json
#	test/Validation.test.js
2017-11-17 16:03:46 +01:00
Tushar Sharma ee84d788dd vars to lets and const 2017-11-15 13:58:45 +05:30
Tobias Koppers 65e855c636 fix deprecations 2017-11-11 11:27:02 +01:00
Tobias Koppers 9b9b6eafe0 add deprecation message to Compilation.moduleTemplate 2017-11-10 11:36:49 +01:00
Tobias Koppers 41a1d602e1 added WebAssembly Proof of Concept 2017-11-10 09:17:11 +01:00
Tobias Koppers 860da9baaa
Merge branch 'next' into refactor/sets 2017-11-08 21:28:51 +01:00
Tobias Koppers 75f68a2635 fixes linting, remove not needed context arguments 2017-11-08 20:49:41 +01:00
Tobias Koppers f7c2f8e470 Update code style to arrow functions 2017-11-08 11:56:01 +01:00
Tobias Koppers 447d85ad79 Merge branch 'next' into refactor/sets
# Conflicts:
#	lib/ContextModule.js
#	lib/NormalModule.js
#	lib/optimize/ConcatenatedModule.js
2017-11-08 06:01:24 +01:00
Tobias Koppers 51c572c4f5 refactor more properties to Sets 2017-11-07 09:17:12 +01:00
Tobias Koppers 0339d4da49 Refactor weird things
* Declare used properties in constructor
* Module.(re)building moved into Compilation._(re)buildingModules (Map)
* Make NormalModule.error private
* Move Module.cacheable logic into needRebuild
* More stable implemention of rebuildModule
* addModuleChain waits for Module building finished before returning
* Set built and cacheable flags correctly in Modules
* More portableId into WeakMap
* Add ModuleReason for entrypoints
* cacheable can be true/false/null in Stats
* added Stats module issuerPath
* fixes profile in stats output
2017-11-06 13:16:09 +01:00
Tobias Koppers 82f42e2c67 Merge branch 'master' into next 2017-10-17 12:38:38 +02:00
Tobias Koppers b597322e3c fix behavior and add a warning when trying to load an
initial chunk on demand
2017-10-17 09:06:05 +02:00
Tobias Koppers 814c894168 Merge branch 'master' into next
# Conflicts:
#	lib/optimize/CommonsChunkPlugin.js
#	test/statsCases/limit-chunk-count-plugin/expected.txt
#	test/statsCases/named-chunks-plugin-async/expected.txt
#	test/statsCases/optimize-chunks/expected.txt
2017-10-16 10:47:17 +02:00
Tobias Koppers 11e28793fa improve performance by doing a breath-first traversal in the chunk graph
This is faster because shorter paths usually have less modules available.
This allows to reach minimal modules faster
2017-10-12 20:03:36 +02:00
Tobias Koppers 5abd69680d Merge branch 'master' into next
# Conflicts:
#	lib/Compilation.js
#	test/statsCases/optimize-chunks/expected.txt
2017-10-11 19:26:00 +02:00
Tobias Koppers 7ebf9314d6 Merge pull request #5786 from webpack/performance/chunks
improve chunk graph building performance
2017-10-11 17:05:20 +02:00
Tobias Koppers 2919a9cd53 prevent crashing when error out early in bail mode
fixes #5787
2017-10-11 15:28:18 +02:00
Tobias Koppers 7870bfc01d improve chunk graph building performance
document algorithm
2017-10-11 15:08:00 +02:00
Tobias Koppers 03b0ff2c9c Merge branch 'master' into next 2017-10-11 12:42:31 +02:00
Tobias Koppers 91df794788 bugfix and test for graph correctness 2017-10-11 11:13:36 +02:00