Commit Graph

29 Commits

Author SHA1 Message Date
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 096c1ec5bd Partially serialize cache items even when some fail to serialize 2020-08-19 20:06:03 +02:00
Tobias Koppers 1ac28f7fc2 improve progress reporting 2020-08-14 10:54:26 +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
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 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 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 81d413a175 Make Pack optimization less noisy and don't invalidate file 2019-11-10 21:04:51 +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 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
Tobias Koppers b3729d40fa improve logging of PackFileCacheStrategy 2019-08-20 14:50:13 +02:00
Tobias Koppers e425ab9345 Avoid retry of unserializable entries in pack 2019-08-20 14:50:12 +02:00
Tobias Koppers cb4c02ebe1 store snapshot of resolving dependencies and re-resolve when needed
to be able to invalidate cache when PnP build dependencies change

cacheDirectory defaults to .pnp/.cache/webpack when PnP is used
fallback cacheDirectory is now .cache/webpack instead of tmpdir
2019-08-20 14:50:09 +02:00
Tobias Koppers a2caa36b8e add immutablePaths next to managedPaths for paths in the yarn cache
for PnP support
2019-08-20 14:50:07 +02:00
Tobias Koppers e8e313b576 capture build dependencies only when pack is invalid
capture build dependencies during storing phase

capture only new build dependencies
2019-08-13 18:59:17 +02:00
Tobias Koppers 03491deca9 Debug message when item invalidated pack
Check identity before invalidating the pack
2019-08-13 18:53:41 +02:00
Tobias Koppers a777ec40b3 restore and check buildSnapshot before reading pack content 2019-08-13 17:02:49 +02:00
Tobias Koppers e5cecdad23 store build dependencies snapshot in pack
add snapshot shortcut for package manager managed paths
add cache.managedPaths
2019-08-13 17:02:37 +02:00
Tobias Koppers f236df1bc9 replace logging in persistent caching with infrastructure logger
remove cache.loglevel
2019-08-12 13:41:23 +02:00
Tobias Koppers e9c0d068dd refactor filesystem interfaces
add Compiler.intermediateFileSystem
avoid using `path` and `fs` module when possible
move `join`, `mkdirp` and `dirname` into utils
join and dirname is optional in FileSystem interface
remove mkdirp from Filesystem interface
2019-06-11 17:32:58 +02:00
Tobias Koppers 7c0d845af3 Refactor FileCachePlugin into multiple modules 2019-01-25 19:21:45 +01:00