Tobias Koppers
1027268fab
bugfixes
2020-07-28 10:13:34 +02:00
Tobias Koppers
e16bdfda6c
refactor used exports analysis, hashing, code generation, optimizations
...
to keep track of runtimes, used exports depending on runtime
modules can have different hashes and generated code depending on runtime
chunks are only considered as equal for MergeDuplicateChunks and SplitChunks when exports used in contained modules are equal
added `optimization.usedExports: "global"` to opt-out from used exports analysis per runtime
added `splitChunks.usedExports` and `splitChunks.cacheGroups[x].usedExports` to enable/disable used exports comparing for modules
`splitChunks.usedExports` defaults to `true` in production
2020-07-27 22:40:44 +02:00
Tobias Koppers
50ec72a6ca
use the full hash on modules that need the full hash of the compilation
...
use getFullHash runtime module for updating the hash in HMR
2020-04-30 17:57:01 +02:00
Tobias Koppers
6daf2ce243
make private property public
2020-02-28 09:50:58 +01:00
Tobias Koppers
bcf2f55ecb
remove ChunkGraph.getOrderedChunkEntryModulesWithChunkGroup as it makes no sense
2020-02-26 17:22:46 +01:00
Tobias Koppers
edecce586b
handle dependOn at start of buildChunkGraph
...
handle jsonp chunk loading correctly for child entrypoints
add error message for incorrect dependOn
2020-02-11 09:12:13 +01:00
Tobias Koppers
522d80f33b
allocate less for empty Sets for runtime requirements and file/context/missingDependencies
2020-01-29 21:46:14 +01:00
Tobias Koppers
3378ac21cf
additional performance improvement for chunks with single source type
2019-11-20 15:27:38 +01:00
Tobias Koppers
fe67677f55
offer cached methods to get chunk modules by source type
2019-11-20 11:20:34 +01:00
Tobias Koppers
accd66c3ba
Merge pull request #9971 from smelukov/deprecation-codes
...
Add deprecation codes
2019-11-15 12:04:47 +01:00
Tobias Koppers
74074a9b18
add deprecationCode argument to getChunk/ModuleGraphForChunk/Module
2019-11-15 10:07:41 +01:00
Tobias Koppers
5cd866e7e3
order entry modules for deterministic chunk hash
2019-11-14 18:05:03 +01:00
Sergey Melyukov
a214be41a0
add deprecation codes
2019-11-14 17:03:15 +03:00
Tobias Koppers
14e901225c
remove return value of ChunkGraph.connectChunkAndModule
2019-11-10 21:05:26 +01:00
Tobias Koppers
10fee6eca9
Make runtimeInChunks undefined if empty to save memory
2019-11-10 21:05:14 +01:00
Tobias Koppers
07ccb8ba49
Make entryInChunks undefined if empty to save memory
2019-11-10 21:05:11 +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
42614b5665
inline cache ChunkGraph attached data access
2019-10-28 14:41:03 +01:00
Tobias Koppers
9e6e812b29
lint fix
2019-06-04 23:29:03 +02:00
Tobias Koppers
de61023616
add side-by-side wasm support based on async modules
...
type: "webassembly/async-experimental"
remove i64 importing limitation since it will have BigInt integration eventually
update wasm example
2019-06-04 23:28:56 +02:00
Tobias Koppers
c5f94f3b6a
don't emit and load JS files for chunks without JS modules
...
allow custom module types in rules
allow configCases to access stats
2019-05-22 13:12:15 +02:00
Tobias Koppers
b66143f706
Merge tag 'v4.30.0' into next
...
4.30.0
2019-05-09 21:34:28 +02:00
Tobias Koppers
251605e0cc
Merge pull request #9032 from Connormiha/optimize-check-availible-chunk
...
Move isAvailible from method to module
2019-05-09 09:45:20 +02:00
Adam Postma
ff8c37e887
correct spelling mistake, update identifer to identifier
2019-04-12 10:29:41 -06:00
Mihail Bodrov
8a78b53baa
Move isAvailible from method to module 🎨
2019-04-12 01:07:25 +03:00
Tobias Koppers
f446bf8a9b
add ability to load dependent chunks for non-web targets
...
This allows to use `splitChunks` for initial chunks in i. e. node and webworker targets
2018-12-29 12:48:59 +01:00
Tobias Koppers
8281667668
improve ids for Long Term Caching
...
add deterministic chunk ids and make it default
StatsTestCases no longer need to explicitly use natural ids as the defaults are deterministic now too
add concept of id name hints for chunks
add `idHint` option to splitChunks to provide a hint
deduplicated code from different id plugins to IdHelpers
improve behavior of named ids in case of conflicts
remove `name: true` and `automaticNamePrefix` from splitChunks it's not as good as expected
improve named chunk ids to show root modules
2018-12-07 12:26:35 +01:00
Tobias Koppers
59e67d8fa4
optimize array operation
2018-12-06 21:00:50 +01:00
Tobias Koppers
e5e0f44e29
add algorithm to extract graph roots
...
show only graph roots in chunks by default
2018-12-06 20:57:04 +01:00
Tobias Koppers
40e4860aef
Use correct size of getIntegratedChunksSize
2018-12-05 20:23:45 +01:00
Tobias Koppers
a3edfe6ef6
Support sizes for chunk and in stats for chunk
2018-12-05 20:23:43 +01:00
Tobias Koppers
0ff1a4f8f8
Merge tag 'v4.27.0' into next
...
4.27.0
2018-12-04 11:02:26 +01:00
Tobias Koppers
9d91861592
Refactor HMR for runtime modules
...
fixed a few HMR bugs
allow other module types for HMR
made HMR more flexible
2018-11-29 16:22:29 +01:00
Tobias Koppers
f753f92c28
ensureChunk to RuntimeModule
...
step 1: non HMR cases
2018-11-29 16:16:39 +01:00
Tobias Koppers
2525c8b7aa
move runtime requirements storage into ChunkGraph
...
use info for function generation
for noParse default to module and exports requirements
2018-11-29 16:06:44 +01:00
Tobias Koppers
0232674f9c
Initial runtime module work
2018-11-29 16:03:32 +01:00
Florent Cailhol
de41d1fe8b
Add missing types on Chunk related classes
2018-11-07 14:10:57 +01:00
Tobias Koppers
69cfc6ff57
fix incorrect merge
...
Chunk.hasEntryModule is deprecated
2018-10-24 20:30:39 +02:00
Tobias Koppers
d9a0d3a139
Merge tag 'v4.23.0' into next
...
4.23.0
2018-10-24 20:10:30 +02:00
Tobias Koppers
60b06472f5
make LimitChunkCountPlugin stable
...
fix integrating non-runtime with runtime chunk
move entry modules when integrating two chunks
2018-10-23 11:32:36 +02:00
Tobias Koppers
604460da52
move iterable compare code to comparators
2018-08-28 15:10:30 +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
4135c6e683
remove some unnecessary moduleGraph arguments and property accesses
2018-08-22 12:45:14 +02:00
Tobias Koppers
5a78e96dc9
add backward-compat layer for ModuleGraph and ChunkGraph
2018-08-21 16:17:02 +02:00
Tobias Koppers
4dfe88edb0
add moduleGraph argument to comparators
2018-08-21 11:08:07 +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