Commit Graph

294 Commits

Author SHA1 Message Date
Tobias Koppers 87b67a920d avoid memory leak in v8 ICs after parsing and building modules 2021-03-25 14:52:12 +01:00
shYkiSto 9566a5b732 fix(NormalModule): call super to restore base module cache data 2021-03-23 16:44:03 -07:00
Tobias Koppers 9c648cf90f improve error handling in beforeLoaders hook 2021-03-22 10:17:17 +01:00
Tobias Koppers ecb2c18cc6 offer contextify and absoluteify in loader context as utils 2021-03-19 10:59:10 +01:00
Tobias Koppers 5af7e54e7d
Merge pull request #12896 from webpack/feature/define-cache-version
DefinePlugin takes care of module invalidation when values have changed
2021-03-15 16:14:35 +01:00
Tobias Koppers 103a51468b DefinePlugin takes care of module invalidation when values have changed
The options of the DefinePlugin no longer have to be covered by build dependencies
2021-03-15 15:19:42 +01:00
Tobias Koppers 18967078cb cleanup modules after compilation to avoid leaking references when they are cached 2021-03-15 11:23:54 +01:00
Tobias Koppers d9ef8551c0 fix caching of asset modules 2021-02-04 14:13:44 +01:00
Tobias Koppers 52abb681ff avoid allocation of warning marker weak set when unused 2021-01-27 13:36:03 +01:00
Tobias Koppers aaadeda40b non-fs resources should not end up in fileDependencies
fixes #12283
2021-01-07 15:37:19 +01:00
Tobias Koppers 09862aacf8 add warning when invalid dependencies are reported by loaders/plugins
add automatic workaround for invalid dependencies

#12340
#12283
2021-01-07 13:31:16 +01:00
Tobias Koppers 10aa3daede add experiments.layers
add layers to define different module layers
support module layers in stats

add layer support for NormalModules

fixes #11466
2021-01-05 20:50:59 +01:00
Tobias Koppers 1e2634fdd8 manual side effects flagging should override automatic analysis 2020-12-15 14:40:54 +01:00
Tobias Koppers c7ea63875c improve side effects analysis to report imported and reexports symbols as side-effect-free
add bailout messages for side effects
2020-11-28 18:10:27 +01:00
Tobias Koppers cbcd459d19 fix conflicting real imports and type imports 2020-11-26 10:02:59 +01:00
Tobias Koppers 11a7cac537 add useSimpleSourceMap flag to enable/disable OriginalSource for generated code
pass reduced options object to Source.map() function
2020-10-26 16:33:38 +01:00
liximomo 8e9614894c fix: reorder params 2020-10-16 00:21:16 +08:00
Tobias Koppers 18c20d6327
Merge pull request #11582 from webpack/update-schema-utils
chore(deps): update `schema-utils`
2020-10-07 10:30:11 +02:00
Tobias Koppers fcca1d649d analyse source code for side effects
mark the module as side effects free in such cases
allow 3rd state TRANSITIVE_ONLY to be side-effect-free but dependencies should still be included (for mini-css-extract-plugin)
2020-10-06 14:10:29 +02:00
evilebottnawi 8c19efb7fd chore(deps): update `schema-utils` 2020-10-05 21:58:54 +03:00
Tobias Koppers 9af1d7526b refactor module concatenation to address discovered bugs/edge cases 2020-09-15 12:36:02 +02:00
Tobias Koppers 23e91dbbac move module concatenation bailout checks to Module and for NormalModule to Generator 2020-09-15 12:35:59 +02:00
Tobias Koppers fdd4a7713f add ConcatenationScope 2020-09-15 12:34:50 +02:00
Tobias Koppers eec6fbdd7c extract loader.target from target option 2020-09-09 19:04:30 +02:00
Tobias Koppers 338f7d404c cache modules even if they are not parsed 2020-08-26 10:03:00 +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 8ee39ac3ac fix dependencies when snapshot is missing 2020-08-24 20:37:12 +02:00
Tobias Koppers cee47dc867 Store cache dependencies inside of Snapshot to reduce cache size 2020-08-24 18:16:54 +02:00
Ivan Kopeykin 4fc44a3398 add more types 2020-08-02 23:47:54 +03: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 77cdce7393 remove unused methods, improve code coverage 2020-07-29 11:14:26 +02:00
Tobias Koppers 1265765141 polish, types 2020-07-27 22:41:04 +02:00
Tobias Koppers e16bdfda6c refactor used exports analysis, hashing, code generation, optimizations
to keep track of runtimes, used exports depending on runtime

modules can have different hashes and generated code depending on runtime
chunks are only considered as equal for MergeDuplicateChunks and SplitChunks when exports used in contained modules are equal
added `optimization.usedExports: "global"` to opt-out from used exports analysis per runtime
added `splitChunks.usedExports` and `splitChunks.cacheGroups[x].usedExports` to enable/disable used exports comparing for modules
`splitChunks.usedExports` defaults to `true` in production
2020-07-27 22:40:44 +02:00
Tobias Koppers 7dad1c1c30 refactor scheme handling into plugins 2020-07-03 17:01:02 +02:00
Ivan Kopeykin d42d2b51df check for Windows absolute url in URLAbsoluteSpecifier util 2020-06-29 12:24:44 +03:00
Ivan Kopeykin 89abab2631 add absolute url specifier support 2020-06-26 22:16:27 +03:00
goganchic 19609937c7 implement uri imports 2020-06-05 15:15:10 +03:00
Mohsen Azimi 042b4ee7d4 Use @ts-expext-error 2020-05-12 14:34:29 +02:00
Tobias Koppers 3b49828a18 report better error message when wasm experiment is not enabled
#10788
2020-04-28 20:22:50 +02:00
Nitin Kumar 285529a643
chore: fix typos across the project 2020-03-10 07:29:46 +05:30
Tobias Koppers 6477ca56f8 Split options defaulting in normalization and defaults
Apply defaults after plugins are applied to allow plugins to feature their own defaults.
This allows to make preset plugins.
2020-02-17 19:12:54 +01:00
Tobias Koppers 87ad88174b
Merge pull request #10354 from jeffin143/minor-code-refactor
Minor code refactoring to use destructuring
2020-02-10 13:15:17 +01:00
jeffin143 a50f0d50e6 refactor: make use of destructuring 2020-02-08 03:08:53 +05:30
Tobias Koppers ec5a744b30 Remove "error" and "ignore" from snapshots 2020-01-29 21:32:50 +01:00
jamesgeorge007 974d2495af fix: typo 2020-01-19 13:31:37 +05:30
jamesgeorge007 5506161f5e refactor: use startsWith 2020-01-19 13:29:39 +05:30
jamesgeorge007 357e707e2c refactor: prefer destructuring approach 2020-01-19 13:28:22 +05:30
Tobias Koppers d673e4179b test errors message, allow custom names in schema 2020-01-17 12:17:53 +01:00
Tobias Koppers f9846f1f91 improve code, remove unneeded old stuff 2020-01-16 14:48:52 +01:00
evilebottnawi 4e808cb613 feat: getOptions util for loader 2020-01-16 11:43:26 +01:00