Commit Graph

63 Commits

Author SHA1 Message Date
Tobias Koppers a2e326129c make filesystem types compatible with memfs and normal fs
fixes #12400
2021-01-13 10:14:58 +01:00
highonweb bc1911bf78 Changed name of memorize function to memoize 2020-12-27 03:02:57 +05:30
Tobias Koppers e500ad0714 nitpicks 2020-12-14 23:05:40 +01:00
Tobias Koppers 3db039a183 improve serialization of lazy elements 2020-12-14 16:43:29 +01:00
Tobias Koppers 9563338d90 improve reading of cache file 2020-12-14 13:16:20 +01:00
Tobias Koppers 005bdbbefd fix memory leak when using createReadStream 2020-12-14 11:06:15 +01:00
Tobias Koppers 1b00c9986f add polyfills for reading 64bit numbers from buffer for node 10 2020-12-14 10:48:21 +01:00
Tobias Koppers 6735b57888 use a dispatch table for performance 2020-12-14 08:16:10 +01:00
Tobias Koppers 8db0edbbcc microoptimization 2020-12-14 08:16:10 +01:00
Tobias Koppers f3bd8eda5b avoid references for single char strings 2020-12-14 08:16:10 +01:00
Tobias Koppers c194abeb65 dedupe Buffers during serialization 2020-12-14 08:16:09 +01:00
Tobias Koppers 227c16b9a8 improve string (de)serialization 2020-12-14 08:16:09 +01:00
Tobias Koppers 57c3a7eb05 optimize headers and encoding 2020-12-14 08:16:09 +01:00
Tobias Koppers 5a80ba12f1 help the GC 2020-12-14 08:16:09 +01:00
Tobias Koppers 4d1e913f48 avoid copy of data 2020-12-14 08:16:09 +01:00
Tobias Koppers c6311bae62 allow bigger cache sizes 2020-12-14 08:16:08 +01:00
Tobias Koppers 35363408c6 fix newly found eslint problems 2020-11-26 11:13:17 +01:00
Tobias Koppers 369dfe8997 reduce number of small buffers in BinaryMiddleware 2020-08-24 18:16:56 +02:00
Tobias Koppers 0701f48294 improve error message for weird objects in ObjectMiddleware
add Date serializer to default serializers
2020-06-02 16:09:48 +02:00
Tobias Koppers 49a6184e20 add tests to increase code coverage 2020-04-16 22:20:04 +02:00
evilebottnawi dafa4cd69a chore: setup cspell 2020-03-12 19:51:26 +03:00
Tobias Koppers ba832ec08c
Merge pull request #10326 from vankop/refactor-binary-middleware
refactor BinaryMiddleware
2020-02-06 09:42:15 +01:00
Ivan Kopeykin 19f5cd879e (#10326) resolve discussions 2020-02-05 13:19:10 +03:00
Ivan Kopeykin 350e397f63 refactor(FileMiddleware): add format information, minor code refactoring 2020-01-31 19:53:50 +03:00
Ivan Kopeykin 3cd865d7ab refactor(BinaryMiddleware): 2020-01-31 16:52:57 +03:00
Tobias Koppers eab25de485 dedupe object keys of plain object 2020-01-28 11:35:18 +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 95297186d5 remove Array.prototype.reduce calls to simplify code 2020-01-20 14:41:39 +01:00
Tobias Koppers b086bfbcc6 faster object type lookup during deserialization 2019-11-13 12:18:04 +01:00
Tobias Koppers 6eb9958643 print warning for large serialized strings 2019-11-10 21:04:54 +01:00
Tobias Koppers 8c594a61c1 Avoid recursion for nested plain objects 2019-11-10 21:04:49 +01:00
Tobias Koppers d8c93b40be faster serialization for deserialized data 2019-11-04 10:46:33 +01:00
Tobias Koppers 83c5305872 improve error message when deserialization failed 2019-11-01 12:19:27 +01:00
Tobias Koppers e9596ac799 faster referenceables in ObjectMiddleware 2019-08-13 17:03:01 +02:00
Tobias Koppers 563f8635b6 performance and memory improvement of BinaryMiddleware 2019-08-13 17:02:57 +02:00
Tobias Koppers 5320fcfbbe bugfix for nested promises in FileMiddleware 2019-08-13 17:02:47 +02:00
Tobias Koppers b2e7837288 replace Object.assign with object spread 2019-06-19 13:16:05 +02:00
Tobias Koppers 6db94536ad Merge tag 'v4.34.0' into next
4.34.0
2019-06-13 10:51:12 +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 e9c6539645 change Serializer API to be not file serialization specific 2019-01-24 17:42:38 +01:00
Tobias Koppers ad6e095c43 Improve typings of SerializerMiddlewares 2019-01-24 16:51:05 +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 aa72c93b4d Use Buffer.allocUnsafe for better performance and buffer pooling 2019-01-24 15:14:39 +01:00
Tobias Koppers f68d465afa make reading from file safer and handle unexpected end of file 2019-01-19 11:49:30 +01:00
Tobias Koppers 00065741d2 log a warning when serialization fails 2019-01-19 11:47:19 +01:00
Sergey Tatarintsev eeb6e2db17 Improve memory consumption of file middleware
Buffers.concat creates a new buffer. On a large project, when using resolver
cache and pack store, total size of buffer can reach hundreds of megabytes. Use
streaming write instead.
2019-01-14 19:20:28 +01:00
Tobias Koppers 44663f8c67 allow serializing of objects with null prototype 2018-12-25 22:08:35 +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 aedc34b76d load internal serializers internally
allows to bundle webpack
2018-12-20 11:04:31 +01:00