Commit Graph

27 Commits

Author SHA1 Message Date
alexander.akait 16719ec475 perf: cache hash of deps 2024-11-13 19:16:17 +03:00
Alexander Yamakin ce6b0618ff
Merge branch 'main' into feature-14072 2024-01-09 02:59:32 +03:00
alexander.akait d58b0c9c26 refactor: types more 2023-05-22 00:47:28 +03:00
alexander.akait 055737dc0c refactor(types): more 2023-05-21 23:31:30 +03:00
alexander.akait 4f6dc32d38 chore: improve types 2023-04-21 19:22:33 +03:00
Ivan Kopeykin 0ee3a992e8 fixes 2022-04-05 13:08:20 +03:00
Ivan Kopeykin 405ce48637 fix discussion 2021-11-30 16:36:34 +03:00
Ivan Kopeykin 166be712c0 Merge branch 'main' into feature-14072
# Conflicts:
#	lib/dependencies/CachedConstDependency.js
#	schemas/WebpackOptions.check.js
2021-10-30 21:36:39 +03:00
Tobias Koppers 381614aecc cache computation of values passed for hashing 2021-09-24 14:44:20 +02:00
Ivan Kopeykin 7c5f2cde4f add test case 2021-09-14 22:10:56 +03:00
Ivan Kopeykin 04a466082c use chunkInitFragments 2021-09-14 21:23:41 +03:00
Ivan Kopeykin 6c3a04d5ce add node-module option for node.__file/dirname
evaluate __filename and __dirname for common js modules when output.module to
fileURLToPath(import.meta.url) and fileURLToPath(import.meta.url + "/..") respectively
2021-09-14 16:50:03 +03:00
Tobias Koppers e1a405e3c2 prettier 2020-11-26 10:52:55 +01: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 1d72a05fed Merge tag 'v4.36.0' into next
4.36.0
2019-07-17 16:02:33 +02:00
Tobias Koppers dda3c03b8d Refactor getInitFragments to a property in templateContext and apply method
Having only a single method in DependencyTemplate makes it easier to override
2018-11-16 16:40:03 +01:00
Michael Ciniawsky 9fc7e6de1e feat(CachedConstDependency): make serializable 2018-10-17 21:25:43 +02:00
Tobias Koppers 02b15a1b46 pass chunkGraph to updateHash instead of moduleGraph
pass chunkGraph to compareModulesById instead of moduleGraph
pass chunkGraph to methods of RuntimeTemplate
use comparators from module at some places
2018-08-28 12:06:53 +02:00
Tobias Koppers 831e71c797 make argument of DependencyTemplate an object 2018-08-02 16:07:29 +02:00
Tobias Koppers f68c1f7ab6 add additional arguments to updateHash 2018-08-02 16:04:10 +02:00
Tobias Koppers d6f8e49c3a refactor getInitFraments to take TemplateContext
add a hack to include the current module as property in source
later we will refactor DependencyTemplate.apply to take a TemplateContext too
2018-07-30 23:07:50 +02:00
Tobias Koppers c5c4f6bdd3 remove DependencyTemplate.getInitFragments.source 2018-07-30 22:42:01 +02:00
Tobias Koppers e79d4e002b add stage to InitFragment 2018-07-30 22:39:04 +02:00
Florent Cailhol 6ea5a4ad22 Add types 2018-07-30 22:37:10 +02:00
Florent Cailhol 55b73a54af Return null when no InitFragment is required 2018-07-30 22:36:23 +02:00
Florent Cailhol dcebd57aa4 Replace harmonyInit calls by InitFragments 2018-07-30 22:34:18 +02:00