Commit Graph

56 Commits

Author SHA1 Message Date
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 856235d76f track and config build dependencies 2019-08-12 23:07:41 +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 c21fb4bd58 Add LazySet for file/context/missingDependencies for performance 2019-08-07 16:13:56 +02:00
Tobias Koppers fd35041dd3
Merge pull request #9476 from webpack/logging/times
add more timestamp logging to some core parts
2019-07-26 15:01:50 +02:00
Tobias Koppers 0750da4dc3 add statistics report to ResolverCachePlugin 2019-07-26 14:03:22 +02:00
Tobias Koppers d2181eeffa pass missing idleTimeout options to CachePlugin 2019-07-26 13:59:15 +02:00
Tobias Koppers e2b1ab3258 adding some random types 2019-07-18 14:15:20 +02:00
Tobias Koppers c94073b31c update enhanced-resolve 2019-07-05 00:45:41 +02:00
Tobias Koppers b2e7837288 replace Object.assign with object spread 2019-06-19 13:16:05 +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 39c75ee6a9 add stages for Cache plugins 2019-05-13 11:03:10 +02:00
Tobias Koppers 180f912493 Merge tag 'v4.29.2' into next
4.29.2
2019-02-06 15:37:11 +01:00
Tobias Koppers 7c0d845af3 Refactor FileCachePlugin into multiple modules 2019-01-25 19:21:45 +01:00
Tobias Koppers e9c6539645 change Serializer API to be not file serialization specific 2019-01-24 17:42:38 +01:00
Tobias Koppers 3a1eefec0a Measure size of objects to decide about inline or lazy storing 2019-01-24 15:14:41 +01:00
Tobias Koppers cf71cd0dd8 faster way to provide got handlers for cache 2019-01-19 12:31:24 +01:00
Tobias Koppers ba6ac9ae81 add cache.idleTimeoutForInitialStore
to allow to force an initial store
2019-01-19 12:07:26 +01:00
Tobias Koppers e4a5e59570 add cache.idleTimeout option to delay cache storing 2019-01-19 11:47:53 +01:00
Tobias Koppers 00065741d2 log a warning when serialization fails 2019-01-19 11:47:19 +01:00
Tobias Koppers 4492c30ac4 Update watching system to report more timing info to webpack
Add snapshotting feature to FileSystemInfo for better performance
2019-01-09 14:42:54 +01:00
Tobias Koppers 0fd50ddd84 avoid JSON.stringify for better performance 2019-01-08 15:14:30 +01:00
Tobias Koppers ef9e25d8ea report dependencies from resolver to the compilation
refactor NormalModuleFactory
2019-01-08 15:14:25 +01:00
Florent Cailhol e06a808763 Expose the serialization API 2018-12-28 13:21:19 +01:00
Tobias Koppers 77c2e61a31 remove memory cache from FileCachePlugin
support layers of caches
2018-12-27 20:57:54 +01:00
Tobias Koppers ea255fd38a Remember unserializable things and avoid trying again 2018-12-21 12:36:38 +01:00
Tobias Koppers f15956f19f The context result is not a context dependency
The resulting directory should be threated as file dependency
as it doesn't depend on the content of the directory
2018-12-21 12:29:49 +01:00
Tobias Koppers d9238f061d memorize lazy data on access
remove need for read on write
add queue for file accesses in FileMiddleware to support concurrent access
2018-12-21 12:05:29 +01:00
Tobias Koppers 14ec0aa4cf remove the static memory cache, leaving only the per compilation memory cache
Otherwise this leaks memory
2018-12-20 17:32:52 +01:00
Tobias Koppers 02ba24aca8 add a `cache` option to control the resolve cache 2018-10-31 13:55:28 +01:00
Tobias Koppers 4ed5622b53 add direct memory cache 2018-10-31 13:07:07 +01:00
Tobias Koppers 2688b5b17f add resolver cache 2018-10-30 15:43:26 +01:00
Tobias Koppers 9e3cecc21e resolve promise even if caching failed 2018-10-30 09:54:53 +01:00
Tobias Koppers 3c8bb29834 use lazy serialization when etag is passed 2018-10-30 09:54:51 +01:00
Tobias Koppers 0cc84d8227 default to packed mode 2018-10-30 09:54:49 +01:00
Tobias Koppers a594f9884c add another loglevel to the persistent cache 2018-10-30 09:54:45 +01:00
Tobias Koppers 590772b934 add packed store mode 2018-10-30 09:54:40 +01:00
Tobias Koppers 6b0da68ed9 run all test cases with caching 2018-10-17 22:15:46 +02:00
Tobias Koppers 459fef0263 fix warning stack for failed module 2018-10-17 21:25:41 +02:00
Tobias Koppers d2f1484914 no need to create cache directory before build 2018-10-17 21:25:41 +02:00