Commit Graph

89 Commits

Author SHA1 Message Date
Asriel Yu 96da766002
Merge branch 'webpack:main' into fix-callback-err-type-should-include-null 2022-01-14 20:07:21 +08:00
Asriel Yu 136b723023 fix callback err type should include null 2021-12-24 20:27:31 +08:00
Tobias Koppers 905e786eb2 avoid reporting non-existant package.jsons as dependencies 2021-12-06 16:09:22 +01:00
Tobias Koppers 00109744f7 fix double compilation when snapshotting managedPaths 2021-11-19 17:24:10 +01:00
Tobias Koppers cae22d1888 fallback to normal snapshotting when managed path optimization fails 2021-11-15 17:08:48 +01:00
Tobias Koppers 98ea582bf0 watch package.json for managed directories 2021-11-15 17:06:04 +01:00
Tobias Koppers 4edd0438cf fix using single quotes with esm files 2021-11-09 12:24:53 +01:00
Tobias Koppers 217a0be903 fix managed paths regexp handling 2021-10-20 10:41:48 +02:00
Tobias Koppers 5e16d642ad allow RegExp as managed and immutable paths
add all node_modules as managedPaths in futureDefaults
2021-10-18 22:56:41 +02:00
Tobias Koppers e26ac7540a handle non-existing directories
fixes #14441
2021-10-13 10:51:36 +02:00
Tobias Koppers 4a8bf4c084 allow to configure all hash functions used
fix default hash function for HttpUriPlugin to sha512
2021-09-23 14:55:13 +02:00
Tobias Koppers 96aca0e4d7 avoid allocations in SnapshotOptimization 2021-09-08 21:25:40 +02:00
Tobias Koppers ca2179f0c2 fix error and callback handling 2021-08-26 16:03:31 +02:00
Tobias Koppers 4195f21c48 Revert "fix: safeguard agains `undefined` entry"
This reverts commit 99585d88d0.
2021-08-26 16:03:27 +02:00
Igor Randjelovic 99585d88d0
fix: safeguard agains `undefined` entry 2021-08-25 21:29:40 +02:00
Tobias Koppers 0088d5565c fix crash when trying to snapshot not existing directory 2021-08-19 13:17:18 +02:00
Tobias Koppers 9577b88d4b track and resolve symlinks when reading context timestamps/hashes
refactor context snapshotting for abstraction purposes
add (symlink) unit test cases for FileSystemInfo snapshotting
2021-08-18 14:50:23 +02:00
Tobias Koppers 5044d62bb2 fix clear 2021-07-16 13:07:56 +02:00
Tobias Koppers 8dd38f5c8a refactor 2021-07-16 13:05:18 +02:00
Mark Molinaro 41f02f947a perf: let Compiler worry about and manage file and context timestamps 2021-07-13 22:13:40 +00:00
Tobias Koppers b0fa9ccada pretty files 2021-05-11 09:31:46 +02:00
Tobias Koppers adc10a5636 make ESM tracking info message less verbose 2021-04-30 15:07:17 +02:00
Tobias Koppers 85fe6ac4f4
Merge pull request #13157 from scamden/pr-hash-bug
fix(resolve): allows filesysteminfo to resolve files that have #'s
2021-04-19 19:42:59 +02:00
Tobias Koppers 0197867237 use paths without fragment and query 2021-04-19 12:13:47 +02:00
Sterling Camden 1e396e8296 fix(resolve): allows filesysteminfo to resolve files that have #'s escaped with \0
i don't understand the reasoning behind @sokra's escaping in enhanced resolve well enough to know if

this makes sense or is basically just undoing the hard work he did to distinguish these characters

from fragments. maybe he can chime in if this makes no sense to do
2021-04-15 11:43:34 -07:00
Tobias Koppers c7b1471251 cheaper getIterator 2021-04-15 15:17:52 +02:00
Tobias Koppers e2fb89eed1 improve resolving of build dependencies when `exports` field is used 2021-04-06 13:58:36 +02:00
Tobias Koppers 8f3a16a49a improve handling of optional build dependencies 2021-04-06 11:28:41 +02:00
Tobias Koppers 3b8d26df1e
Merge pull request #12990 from webpack/bugfix/memory-leak-in-ic
memory usage improvements, add GC support for memory cache, persistent cache only mode
2021-04-01 18:14:16 +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
Tobias Koppers cb94f3cbea improve logging for resolving build dependencies 2021-03-29 09:17:24 +02:00
Tobias Koppers f76ffc0c01 improve resolveBuildDependencies performance 2021-01-15 10:50:02 +01:00
Tobias Koppers 89aabf7696 add experimental ESM tracking based on es-module-lexer
assume that other files have no dependencies
2021-01-13 23:56:29 +01:00
Tobias Koppers c453624a57 store build deps correctly in cache
improve debug logging for snapshotting
2021-01-13 23:54:15 +01:00
Tobias Koppers a2e326129c make filesystem types compatible with memfs and normal fs
fixes #12400
2021-01-13 10:14:58 +01:00
Tobias Koppers 1b07821739 fix incorrect iteration 2020-09-18 21:47:46 +02:00
Tobias Koppers 6715d031b8 avoid error for managed paths that only contain a node_modules 2020-09-17 15:08:38 +02:00
Tobias Koppers d18d555fe2 avoid stack overflow 2020-09-17 11:42:40 +02:00
Tobias Koppers f5be6f0d85 cache deprecated file/context timestamps 2020-09-15 14:39:09 +02: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 cee47dc867 Store cache dependencies inside of Snapshot to reduce cache size 2020-08-24 18:16:54 +02:00
Tobias Koppers 76a6e9b90f create a class for Snapshot for faster access and smaller serialization 2020-08-24 18:16:53 +02:00
Tobias Koppers c309901458 more snapshot statistics 2020-08-24 18:16:53 +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 f61374f3f6 apply snapshot optimization for all snapshot entries 2020-08-24 18:13:59 +02:00
Tobias Koppers 577156f790 extract SnapshotOptimization into separate class
DRY code a little bit
2020-08-24 18:13:59 +02:00
Tobias Koppers f4863f0ef4 improve build dependencies resolving for dependencies with exports field 2020-08-20 10:34:42 +02:00
Tobias Koppers 77cdce7393 remove unused methods, improve code coverage 2020-07-29 11:14:26 +02:00
Tobias Koppers beb58fd23d fix lost file timestamps due to snapshot deduplication
fix missing startTime in deduped snapshots
2020-05-30 21:09:53 +02:00
Tobias Koppers b9c50fdb09 fix jsdoc documentations 2020-04-28 19:42:58 +02:00