Commit Graph

958 Commits

Author SHA1 Message Date
Tobias Koppers 1ff55df486 fixes #12769 2021-02-24 12:54:17 +01:00
Tobias Koppers f96194e0f6 storing ConcatenatedModule doesn't make sense, since it has no cachable info
instead the code geneneration cache will cover everything
2021-02-23 15:36:52 +01:00
Tobias Koppers 5c42b918b4 further optimizations 2021-02-23 12:03:26 +01:00
Tobias Koppers 365a362522 performance optimization
add statistics to ModuleConcatenationPlugin
2021-02-23 10:59:59 +01:00
Tobias Koppers 972b7f9bd1
Merge pull request #12743 from webpack/bugfix/logger-name
fix logger name
2021-02-22 15:43:41 +01:00
Tobias Koppers a90d2b20f5 fix logger name 2021-02-22 13:41:21 +01:00
Tobias Koppers 2bfbf81b59
Merge pull request #12745 from webpack/perf/module-concatenation
improve performance of finding modules for concatenation
2021-02-22 13:39:29 +01:00
Tobias Koppers 1c0b88c72f fix bug where ExportInfo uses inactive connections to find the target of an export
This happens when multiple exports * export the same name but the first one is discovered later in the process
In this case the ExportInfo contains both connections, but the second one is inactive.
2021-02-22 12:47:34 +01:00
Tobias Koppers a084baac2f improve performance of finding modules for concatenation 2021-02-22 10:52:39 +01:00
Patrik Åkerstrand a62c350804
simplify branching logic 2021-02-19 19:32:23 +01:00
Patrik Åkerstrand 398fdef5c8
Fix module concatenation renaming bug
Fixes a case where variable renaming due to module concatenation caused
the generated code to look up a different property than the source code, when
combined with a default value for the property

Closes #12712
2021-02-19 12:08:21 +01:00
Tobias Koppers 902aecd26c fix #12669 2021-02-14 19:43:39 +01:00
Tobias Koppers 9f3950e571 add support for libraries combined with iife: false
fix missing runtime requirement for system.js context
fix inlining of modules when conflicting symbols are defined on top-level
2021-02-11 11:19:24 +01:00
Tobias Koppers a936d7b3a0 avoid unnecessary conditions 2021-01-27 13:37:34 +01:00
Tobias Koppers 3cf2f45290 remove unused method 2021-01-25 20:30:46 +01:00
Tobias Koppers 8d2c2f44c5
Merge pull request #12453 from webpack/bugfix/reuse-vendor-entry
reuseExistingChunk is able to reuse an entry chunk when it's the only selected chunk
2021-01-19 19:23:38 +01:00
Tobias Koppers 2b3489d136 reuseExistingChunk is able to reuse an entry chunk when it's the only selected chunk 2021-01-19 17:08:58 +01:00
Tobias Koppers 4ec418c8ee allow inner graph shaking for new URL()
fixes #11818
2021-01-19 13:31:55 +01:00
Tobias Koppers 38c7cf2d85 fix caching crash in ConcatenatedModule
Ensure that no warnings/errors occur during testing
add serialization for some missing warnings
2021-01-08 15:44:26 +01:00
Tobias Koppers 35c7801b5e fix bug where cacheGroup index was inverted 2021-01-07 21:47:08 +01:00
Tobias Koppers 3554793b4b fix bug where module size is added multiple times to the split chunk info
fixes #12307
2021-01-07 16:51:08 +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
highonweb bc1911bf78 Changed name of memorize function to memoize 2020-12-27 03:02:57 +05:30
Tobias Koppers 1e2634fdd8 manual side effects flagging should override automatic analysis 2020-12-15 14:40:54 +01:00
Tobias Koppers a0d2b99a34 fixes #12114 2020-12-04 17:03:12 +01:00
Tobias Koppers dade079110 only move export info targets when also moving dependencies
fix #12071
2020-11-30 10:18:38 +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 ed742e071b add test case like html-plugin 2020-11-26 14:00:21 +01:00
Tobias Koppers ccfe01aab4 allow to process assets that are added during processAssets
fix and add processAsset stages

allow to hook into RealContentHashPlugin for custom hashing
2020-11-26 14:00:21 +01:00
Tobias Koppers cbcd459d19 fix conflicting real imports and type imports 2020-11-26 10:02:59 +01:00
Tobias Koppers a17ad8eb79
Merge pull request #12002 from webpack/bugfix/ns-consistency
make visible exports from non-harmony modules more consistent
2020-11-17 14:15:43 +01:00
Tobias Koppers 590aacc2ae make visible exports from non-harmony modules more consistent
fixes #11995
2020-11-16 17:19:36 +01:00
Tobias Koppers f32762ed69 fix #11990 2020-11-16 11:53:19 +01:00
Tobias Koppers 3601b4bfe3 handle ASI issue between concatenated modules
fixes #11897
2020-11-04 12:02:36 +01:00
Tobias Koppers 77aed6004a fix a few edge cases with interop
add more test cases
2020-11-03 10:40:39 +01:00
Tobias Koppers c7a9b8ed06 handle renaming in super class expression in nested scopes correctly
fixes #11840
2020-11-02 14:16:04 +01:00
Tobias Koppers 18495151b8 handle the case when execution order in a concatenated module is runtime-dependent
fix #11863
2020-10-29 17:53:56 +01:00
Tobias Koppers 98743909e6 fix incorrect concatenation when module runtime are merged
fixes #11856
2020-10-28 20:22:27 +01:00
Tobias Koppers 167fba77cf handle runtime-dependent code in concatenated modules 2020-10-27 11:43:58 +01:00
Tobias Koppers e1b5a78a24 add optimization.sideEffects: "flag" and use this by default
analysing for side effects cause unnecessary changes in parent modules and we want to avoid that in development
2020-10-27 06:50:07 +01:00
Tobias Koppers 0a8529fcb1 fix undetected module references 2020-10-20 13:50:32 +02:00
Karlis Gangis 95eabe47ec fix: handle star import name collisions in module concatenation 2020-10-20 13:50:56 +03:00
Tobias Koppers b3c73a543b fix runtime-specific handling in concatenated modules 2020-10-16 11:47:30 +02:00
Tobias Koppers 2888c8a406
Revert "fix unused modules in chunk when optimizing runtime-specific " 2020-10-15 20:17:26 +02:00
Tobias Koppers 11935a9141
Merge pull request #11703 from webpack/bugfix/11678
fix infinite loop in inner graph optimization
2020-10-15 14:33:48 +02:00
Tobias Koppers b6bc2730b9 fix infinite loop in inner graph optimization
fixes #11678
2020-10-15 13:24:40 +02:00
Tobias Koppers 5d9d9b90fb fix runtime-specific handling in concatenated modules 2020-10-15 10:18:41 +02:00
Tobias Koppers c00f65bc40 follow reexport in concatenated modules even if they are skipped due to side effects
fixes #11662
2020-10-13 10:01:54 +02:00
Tobias Koppers bbe12305d6
Merge pull request #11628 from webpack/bugfix/real-content-hash
emit error instead of crashing when unexpected problem occurs
2020-10-10 22:06:40 +02:00
Tobias Koppers 47097196bd skip connections copied to concatenated module
fixes #11617
2020-10-10 01:14:00 +02:00
Tobias Koppers a8fb45d242 fixes crash in SideEffectsFlagPlugin
fixes #11615
2020-10-09 23:15:35 +02:00
Tobias Koppers 84b196d32d emit error instead of crashing when unexpected problem occurs 2020-10-09 09:14:34 +02:00
Tobias Koppers e7a18705c7 fix crash when using shared with runtimeChunk 2020-10-08 00:28:30 +02: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 8e562aa260 fix some nitpicks with active state 2020-10-07 09:36:41 +02:00
Tobias Koppers 7948cb29df don't touch not provided exports as they could be on the prototype
fix #11580
2020-10-06 15:38:17 +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
Tobias Koppers 146670b3bd fix splitChunks error message bug 2020-10-06 11:11:10 +02:00
evilebottnawi 8c19efb7fd chore(deps): update `schema-utils` 2020-10-05 21:58:54 +03:00
Tobias Koppers 51b6e9c4d7 fix delete in concatenated module 2020-09-29 22:12:42 +02:00
Tobias Koppers 68f0dbe748 allow plugins to modify the default size types for splitChunks 2020-09-29 14:34:59 +02:00
Tobias Koppers 5807e6c4db when splitChunks entry violates minSize or minRemainingSize retry without offending modules
fixes #11513
2020-09-25 16:16:05 +02:00
Tobias Koppers ea7af1df11 allow to move modules to parent chunks 2020-09-25 10:51:13 +02:00
Tobias Koppers e0b10e9935 fix caching bug in RealContentHashPlugin 2020-09-16 11:12:41 +02:00
Tobias Koppers eddd3206dc add raw export for named reexport from non-harmony 2020-09-15 12:36:29 +02:00
Tobias Koppers 277d4b1b67 handle export mangling in concatenated modules 2020-09-15 12:36:23 +02:00
Tobias Koppers 9af66ff9af revert to registering the namespace export because we need to know this early 2020-09-15 12:36:16 +02:00
Tobias Koppers 39e1a7e4c7 move magic names to constants in ConcatenationScope
improve types
2020-09-15 12:36:06 +02: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 b58393fce0 fix optimization bailout for HMR dependencies 2020-09-15 12:35:58 +02:00
Tobias Koppers 9941a8a497 create root reexports based on export mappings instead of dependencies 2020-09-15 12:35:55 +02:00
Tobias Koppers 5560415856 create root exports based on export mappings instead of dependencies 2020-09-15 12:35:46 +02:00
Tobias Koppers 91cc17b438 register exports in DependencyTemplates 2020-09-15 12:35:38 +02:00
Tobias Koppers 21e202eb24 move concatenation logic to HarmonyImportSpecifierDependency 2020-09-15 12:35:30 +02:00
Tobias Koppers fc551fa6f3 move concatenation logic to HarmonyExportExpressionDependency 2020-09-15 12:35:21 +02:00
Tobias Koppers 47344e7e77 move concatenation logic to HarmonyExportSpecifierDependency and HarmonyExportImportedSpecifierDependency 2020-09-15 12:35:13 +02:00
Tobias Koppers 04dde38b4c move concatenation logic to HarmonyImportSideEffectDependency 2020-09-15 12:35:03 +02:00
Tobias Koppers fdd4a7713f add ConcatenationScope 2020-09-15 12:34:50 +02:00
Tobias Koppers ed06a7f83a new Worker() support
add support for async anonymous entrypoints from inside the codebase
add worker example
move entry options into Entrypoint and receive them from there
2020-09-08 07:37:20 +02:00
Ivan Kopeykin a3fc25cadb refactor asiSafe flag in dependencies 2020-08-29 17:00:03 +03:00
Ivan Kopeykin 35c56e67ae refactor how asi handled
- add asiSafeExpression helper for JavascriptParser
- use asiSafe flag in DefinePlugin
- try to use (...) instead of Object()
2020-08-28 19:46:56 +03:00
Tobias Koppers c0249af6d1
Merge pull request #11370 from webpack/feature/javascript-parser-improvement
use bitmask instead of array+set in getMemberExpressionInfo
2020-08-28 10:08:22 +02:00
Tobias Koppers 49d9ec5625 cleanup public api and expose JavascriptParser 2020-08-28 01:46:14 +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 49a28a73cf accept Source-like objects in assets and cache sources for RealContentHashPlugin 2020-08-20 09:54:59 +02:00
Tobias Koppers 64ceeabeae fixes #11337 2020-08-19 14:45:55 +02:00
Tobias Koppers b13fe97801 fix edgecase without any hash used 2020-08-19 11:37:17 +02:00
Tobias Koppers e3fcabd6f6 add caching to RealContentHashPlugin 2020-08-19 11:25:53 +02:00
Tobias Koppers 2748077a4d bugfixes 2020-08-19 09:46:41 +02:00
Tobias Koppers b929d4cdce calculate real content hash for assets after asset processing 2020-08-18 22:07:24 +02:00
Tobias Koppers 71cf7f4dc8 add support for reexporting in CommonJS
and necessary refactoring + fixes for that
2020-08-17 21:32:47 +02:00
Tobias Koppers 9676693fa3 splitChunks performance improvement 2020-08-14 10:47:37 +02:00
Tobias Koppers 8b91b6c508 use target info to implement side effects plugin 2020-08-12 23:20:45 +02:00
Tobias Koppers 163e7674a0 track the target binding of harmony reexports
display target binding in module info header
check conflicting star exports (fixes #7562) when statically known
2020-08-11 20:13:01 +02:00
Ivan Kopeykin 4fc44a3398 add more types 2020-08-02 23:47:54 +03:00
Tobias Koppers 9e81495f7b add useful error messages for runtime and dependsOn 2020-08-01 06:43:16 +02:00
Tobias Koppers 4c3216efad add size optimization mode to `optimization.mangleExports` 2020-07-31 12:54:38 +02:00
Tobias Koppers a4f17775b1 fix dependOn behavior with runtimes, fix runtime passing by entry 2020-07-30 11:18:09 +02:00
Tobias Koppers 1027268fab bugfixes 2020-07-28 10:13:34 +02:00