Commit Graph

103 Commits

Author SHA1 Message Date
Tobias Koppers 8f3a16a49a improve handling of optional build dependencies 2021-04-06 11:28:41 +02:00
Tobias Koppers c84329f73c add GC to the memory cache and make it configurable
memory GC happens by default when persistent cache is enabled and in development mode
otherwise memory cache is kept forever

make maxAge for persistent cache configurable
GC the oldest content file even if it's not touched (to keep cache size small)

filesystem cache will now no longer cache in memory, but restore items from disk again when it was persisted
2021-04-01 17:12:53 +02:00
Tobias Koppers 8074127b98 avoid leaking memory after the compiler has been closed
clear cache on shutdown
2021-04-01 16:59:48 +02:00
Kyle Warren f74af75a56 fixed possible collision with addAll es proposal 2021-03-11 10:59:44 -08:00
Tobias Koppers d9ef8551c0 fix caching of asset modules 2021-02-04 14:13:44 +01:00
Tobias Koppers a1515fa9f0 add experimental lazy compilation 2021-01-21 17:39:56 +01:00
Tobias Koppers c453624a57 store build deps correctly in cache
improve debug logging for snapshotting
2021-01-13 23:54:15 +01:00
highonweb bc1911bf78 Changed name of memorize function to memoize 2020-12-27 03:02:57 +05:30
Tobias Koppers c75a9ef87f errors in initial cache no longer cause build dependencies to be ignored 2020-12-15 17:06:33 +01:00
Tobias Koppers cbcd459d19 fix conflicting real imports and type imports 2020-11-26 10:02:59 +01:00
Tobias Koppers d6e637f33c add "snapshot" configuration to allow to configure how snapshots are created
expose snapshot options for module, resolve, buildDependencies and resolveBuildDependencies
move managedPaths and immutablePaths from config.cache to config.snapshot
add timestamp + hash snapshotting mode
use timestamp + hash mode by default in production and for buildDependencies
2020-08-26 01:27:13 +02:00
Tobias Koppers 4ccb35170b split cache into smaller parts 2020-08-24 18:16:55 +02:00
Tobias Koppers cee47dc867 Store cache dependencies inside of Snapshot to reduce cache size 2020-08-24 18:16:54 +02:00
Tobias Koppers 6409463d24 only create shared snapshots for 3 or more shared entries
add logging
2020-08-24 18:16:50 +02:00
Tobias Koppers 096c1ec5bd Partially serialize cache items even when some fail to serialize 2020-08-19 20:06:03 +02:00
Tobias Koppers 48ff7043f1 add provide and mergeEtags to CacheFacade 2020-08-19 11:25:24 +02:00
Tobias Koppers 1ac28f7fc2 improve progress reporting 2020-08-14 10:54:26 +02:00
Tobias Koppers f9fe121fc8 improve and add statistics 2020-08-14 10:51:12 +02:00
Tobias Koppers ca369f23c5 do cache related tasks after calling handler in watching
improve progress output
2020-08-01 09:00:17 +02:00
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 cfb52451d4 handle case when no snapshot can be created in ResolverCachePlugin 2020-07-07 17:38:03 +02:00
Tobias Koppers b9c50fdb09 fix jsdoc documentations 2020-04-28 19:42:58 +02:00
evilebottnawi dafa4cd69a chore: setup cspell 2020-03-12 19:51:26 +03:00
Nitin Kumar 285529a643
chore: fix typos across the project 2020-03-10 07:29:46 +05:30
Albus Dumbledore 4571fdab69
Fix branding violation ResolverCachePlugin 2020-02-12 20:26:11 +05:30
Albus Dumbledore 466e28b312
Fix branding violation MemoryCachePlugin 2020-02-12 20:23:16 +05:30
Albus Dumbledore ed881885c3
Fix branding violation IdleFileCachePlugin.js 2020-02-12 20:21:28 +05:30
Albus Dumbledore edc7c8fcd5
Fix branding violation AddManagedPathsPlugin 2020-02-12 20:19:14 +05:30
Albus Dumbledore 24448180b0
Fix Branding violation AddBuildDependenciesPlugin 2020-02-12 20:11:30 +05:30
Tobias Koppers e96695a18a add more time logging 2020-01-30 16:10:56 +01:00
Tobias Koppers ec5a744b30 Remove "error" and "ignore" from snapshots 2020-01-29 21:32:50 +01:00
Tobias Koppers 6fd166508c clarification about serialized null and undefined 2020-01-29 10:38:31 +01:00
Tobias Koppers cb543a444c seralization class for resolver cache 2020-01-28 11:35:29 +01:00
Tobias Koppers f49838c95d style improvements and test 2020-01-28 11:35:10 +01: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
Tobias Koppers 87f6eedb16 make sure only a single strategy method is invoked at a time 2020-01-15 11:21:36 +01:00
Tobias Koppers 8fcd251a7f fix cacheWithContext inversion 2019-11-13 12:18:32 +01:00
Tobias Koppers 1a3b391352 compute asset hash lazily to avoid hash computation when memory cache is used
Cache accepts null as break condition when etag mismatches
MemoryCachePlugin caches cache mismatches
2019-11-12 16:07:50 +01:00
Tobias Koppers a8b289bbc9 merge concurrent ResolverCache requests 2019-11-10 21:04:57 +01:00
Tobias Koppers 81d413a175 Make Pack optimization less noisy and don't invalidate file 2019-11-10 21:04:51 +01:00
Tobias Koppers da5ab282e6 fix resolve caching with different resolve options 2019-11-10 21:04:48 +01:00
Tobias Koppers 23f4a53819 respect cacheWithContext in ResolverCachePlugin, default to false 2019-11-10 21:04:46 +01:00
Tobias Koppers b401713633 fix problem with snapshotting managed items
add support for child loggers
add logging for snapshot errors
improve FileSystemInfo logging
improve managed item reading performance
upgrade enhanced-resolve for readdir purge fix
2019-11-05 23:12:02 +01:00
Tobias Koppers 00fcd1dbe8 use LazySet in ResolverCachePlugin 2019-11-01 12:21:55 +01:00
Tobias Koppers 8ba5ff6184 remove temporary workaround for fileDependencies in enhanced-resolve 2019-11-01 12:18:17 +01:00
Tobias Koppers 92e1fc2860 only log ResolverCachePlugin debug message when it has information to provide 2019-11-01 12:17:35 +01:00
Tobias Koppers 87abd00c6e remove all options for cache.store expect "pack"
these are incomplete and may be readded later
2019-10-21 09:22:38 +02:00
Tobias Koppers d3cf3928f5 Persistent Caching fixes
improve error handling in pack file cache strategy
support context timestamp snapshot
make ContextModule serializable
fix snapshotting bug of managed paths
use managed and immutable path info for context hashes and timestamps
enabled managedPaths for node_modules during cache tests
2019-09-04 16:33:54 +02:00
Tobias Koppers 7f7673e5ab provide error fallback when validation errors occur 2019-08-22 10:44:48 +02:00
Tobias Koppers 82452939f5 Move version into PackContainer 2019-08-20 14:50:13 +02:00