Tobias Koppers
fd9b399ae9
Create Cache facade to make it easier to use
...
add missing serializers for classes used in test suite
2020-07-15 11:14:28 +02:00
Tobias Koppers
a4ac8f0328
Cleanup
2020-06-10 14:01:24 +02:00
Tobias Koppers
fde5b3df11
allow to concatenate modules when used exports are known
2020-05-19 14:42:21 +02:00
Tobias Koppers
b9c50fdb09
fix jsdoc documentations
2020-04-28 19:42:58 +02:00
Mohsen Azimi
7b07a8db66
Upgrade to Prettier 2
2020-03-28 18:20:24 -04:00
evilebottnawi
dafa4cd69a
chore: setup cspell
2020-03-12 19:51:26 +03:00
Tobias Koppers
b40a345451
refactor Persistent Cache
...
cache is split into multiple .pack files which represent usage of cache items
this allows to only read/deserialize files that are needed
and reduces the need to rewrite .pack files
while still packaging multiple cache items together
lazy (de)serialization system has changed to allow writeLazy and writeSeparate
2020-01-28 11:35:06 +01:00
Sergey Melyukov
cd174adeb0
Merge remote-tracking branch 'upstream/master' into inner-graph-eval-used
2019-12-18 16:37:03 +03:00
Sergey Melyukov
05abeee20a
pr comments
2019-12-18 16:36:19 +03:00
Tobias Koppers
33d9f7bdbf
bugfix: candiates should only be added when adding was successful
2019-12-17 11:24:23 +01:00
Tobias Koppers
73fd64fc90
refactor
...
refactor ConcatenatedModule to avoid compilation argument
avoid caching inner modules in ConcatenatedModule
improve performance of ModuleConcatenationPlugin
add ModuleStoreError when storing of module fails
2019-12-16 21:08:32 +01:00
Sergey Melyukov
5d18a8e27d
persistent cache for concat modules
2019-12-16 21:06:24 +01:00
Sergey Melyukov
9bca2286ed
opt-out inner graph optimization when eval is used
2019-12-16 16:49:01 +03:00
Tobias Koppers
5abf55b1af
allocate presentationalDependencies array only when needed
2019-11-10 21:05:28 +01:00
Tobias Koppers
efe0c2e610
avoid creating arrays in getConnections
2019-11-10 21:05:05 +01:00
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
Florent Cailhol
08ddad2e10
Replace NormalModuleFactory#plugin() calls
2017-12-14 14:42:49 +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
Florent Cailhol
36c690d37f
Use tapable instead of 'plugin'
2017-12-08 14:23:31 +01:00
Tobias Koppers
485c1673b0
fix typo: explaination -> explanation
2017-11-21 18:52:35 +01:00
Tobias Koppers
95407047c4
fix DllPlugin flagging
2017-11-21 13:09:32 +01:00
Tobias Koppers
2ff9b53754
Use StackedSetMap for better performance
2017-11-19 00:50:10 +01:00
Tobias Koppers
00f2b5ede7
advanced module type refactoring
...
added json type
.mjs default to javascript/esm type
adjusted parser plugins to react on module type
2017-11-11 19:27:19 +01:00
Tobias Koppers
f7c2f8e470
Update code style to arrow functions
2017-11-08 11:56:01 +01:00
Tobias Koppers
c383d5ea7f
rename `pure-module` to `side-effects`
2017-09-14 15:12:36 +02:00
Tobias Koppers
7ceac63f07
add support for pure modules
2017-09-14 09:44:42 +02:00
Tobias Koppers
5c489b6c5d
Refactor harmony modules
...
separate side effects from specifier
fixes TDZ for export let/const
bigger bundles are caused by correct export const/let behavior
BREAKING CHANGE: Internal have changed. Plugins could rely on them.
2017-09-14 09:44:32 +02:00
Tobias Koppers
99c2706ed3
Ensure that graph structure stay consistent
...
fixes #5527
2017-08-16 14:05:06 +02:00
Tobias Koppers
0ea37a5485
Disallow Scope Hoisting when using HMR
...
fixes #5504
2017-08-12 11:00:55 +02:00
Tobias Koppers
0b8023a106
fixes #5096
2017-08-08 08:15:18 +02:00
Tobias Koppers
6607cfa4bd
remove ordering in ModuleConcatenationPlugin
2017-08-07 20:33:47 +02:00
Tobias Koppers
795f6fcbba
fix remaining issues and edge cases
2017-08-07 13:56:50 +02:00
Tobias Koppers
32264b8187
Merge branch 'master' into feature/improve-module-concat-bailout-messages
2017-07-25 13:50:53 +02:00
Tobias Koppers
35c8097b6a
Make sure it's a real module when choosing for ModuleConcatenation
...
fixes #5095
2017-07-25 12:53:54 +02:00
Tobias Koppers
05b913a92c
cleanup messages and added more info
2017-07-24 10:29:08 +02:00
Johannes Ewald
15ccfb68ef
Improve ModuleConcatenation bailout messages
2017-06-28 15:20:06 +02:00
Tobias Koppers
28f826a4e7
consistent order
2017-06-14 23:20:40 +02:00
Tobias Koppers
5d4ba56c5f
Allow scope hoisting to process modules in multiple chunks
2017-06-14 22:46:26 +02:00
Tobias Koppers
6a0e587768
spacing
2017-05-28 23:51:23 +02:00
Tobias Koppers
44bf6c245f
update graph correctly
2017-05-28 17:18:41 +02:00
Tobias Koppers
d8539561fd
add optimization bailout info
...
track optimization bailout in concat plugin
2017-05-28 15:25:07 +02:00
Tobias Koppers
b4d25208f4
filter modules from modules array
2017-05-24 11:22:42 +02:00
Tobias Koppers
5d9eef85c7
improvements from review
2017-05-21 09:15:43 +02:00
Tobias Koppers
4a25a17bb6
improvements from review
2017-05-21 09:15:42 +02:00
Tobias Koppers
9b2a9fa786
Scope Hoisting
2017-05-21 09:15:41 +02:00