Commit Graph

1069 Commits

Author SHA1 Message Date
Tobias Koppers 94852e07f7 allow to disable runtime chunk per entry via `runtime: false`
and also via `ModuleFederationPlugin`.`runtime`
2021-07-05 11:32:45 +02:00
Tobias Koppers 291321c77a fix memory leaks 2021-06-28 09:58:03 +02:00
Tobias Koppers 4e608c8723 assign class property keys to the correct top level symbol 2021-06-21 09:48:14 +02:00
Tobias Koppers 4cf272b824 add workaround for broken eslint-scope package regarding class field support 2021-05-19 16:21:54 +02:00
Tobias Koppers b0fa9ccada pretty files 2021-05-11 09:31:46 +02:00
Tobias Koppers 94facd387d add support for class fields 2021-04-27 10:28:13 +02:00
Tobias Koppers ee24b22073
Merge pull request #13169 from janlent1/master
Fix deprecation message for LimitChunkCountPlugin
2021-04-19 10:34:15 +02:00
Jan Lentmaier d88605dcbd Fix deprecation message for LimitChunkCountPlugin
Just a quick test whether the issue can easily be solved
by using the chunkGraph instead of the old methods.
2021-04-18 15:54:34 +02:00
Tobias Koppers e21b1d46fe precompile schemas for improved startup performance 2021-04-16 16:02:58 +02: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 70376ad4ec fix problem where emitting an asset twice affects the hash 2021-03-01 09:51:46 +01:00
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
Tobias Koppers 6e7e145107 linting 2020-07-27 22:59:56 +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 b3466e996b add entry[x].runtime option to allow runtime chunk per entry 2020-07-27 22:40:40 +02:00
Tobias Koppers fd9b399ae9 Create Cache facade to make it easier to use
add missing serializers for classes used in test suite
2020-07-15 11:14:28 +02:00
Tobias Koppers 6014ca7e86 splitChunks improvements
add new splitChunks.enforceSizeThreshold option
enforces splitting on certain size (ignoring maxRequests and minRemainingSize)

reduce default for splitChunks.minSize to 20k
set default for splitChunks.enforceSizeThreshold to 50k

fix bug where sorting didn't work for minSize: 0
2020-07-13 10:12:17 +02:00
Tobias Koppers 25a41fa9bb optimize storage format of ExportMode 2020-07-06 21:40:39 +02:00
Tobias Koppers eac7d290ca no need to sort already ordered results 2020-06-22 09:31:03 +02:00
Tobias Koppers 5e87e9bf55 fix too aggressive chunk renaming for maxSize 2020-06-22 09:30:01 +02:00
Tobias Koppers 9d2b79fa83 cache CacheGroup objects 2020-06-22 09:28:21 +02:00
Tobias Koppers c00fec3aa7
Merge pull request #10964 from pushkar100/feature/lazy-load-named-exports
Lazy loading only required exports from dynamic import()
2020-06-16 15:04:06 +02:00
Tobias Koppers a4ac8f0328 Cleanup 2020-06-10 14:01:24 +02:00
Tobias Koppers 3df380e2d7 add script external
change defaults of ModuleFederationPlugin to var library and script remoteType
allow using empty entry in config
2020-06-04 03:18:07 +02:00
Tobias Koppers fde5b3df11 allow to concatenate modules when used exports are known 2020-05-19 14:42:21 +02:00
Tobias Koppers 5efac22a5c improve side-effects handling for dynamic reexports 2020-05-19 02:08:11 +02:00
Tobias Koppers f06086c53b
Merge pull request #10631 from mohsen1/mohsen--ts3.9
Upgrade to TypeScript 3.9
2020-05-13 17:56:20 +02:00
Tobias Koppers ba83554d60 keep function declarations when using export default
fixes #10870
2020-05-12 22:49:33 +02:00
Mohsen Azimi 042b4ee7d4 Use @ts-expext-error 2020-05-12 14:34:29 +02:00
Tobias Koppers b9c50fdb09 fix jsdoc documentations 2020-04-28 19:42:58 +02:00
Tobias Koppers a643278726 refactor exports info logic always represent exports object instead of namespace object
improve test case
2020-04-22 21:01:29 +02:00
Tobias Koppers cbb6ee6809 test more test cases for typings and fix typing bug 2020-04-21 09:25:55 +02:00
Tobias Koppers 8509a225e9 use bindContextCache more often 2020-04-17 10:54:27 +02:00
Tobias Koppers b38330754f add hooks for walking parts of classes
import handling of classes and expressions
2020-04-09 15:53:59 +02:00
Ivan Kopeykin 411728b146 remove unnecessary condition 2020-04-09 10:39:00 +03:00
Ivan Kopeykin de24d3e69d fix(InnerGraph) for ClassExpression 2020-04-09 10:28:46 +03:00
Ivan Kopeykin cc99b42293 fix InnerGraph for super expression 2020-04-09 01:33:55 +03:00
Ivan Kopeykin ccea9ef4ce fix for #10616 2020-04-09 01:32:34 +03:00
Tobias Koppers 7044757751 cleanup, generalization 2020-04-08 22:15:02 +02:00
Ivan Kopeykin 38304f95cc increase priority of PureExpressionDependency 2020-04-08 22:13:14 +02:00
Ivan Kopeykin 660c7a4b89 fix(InnerGraph): #10623 2020-04-08 22:13:12 +02:00
Mohsen Azimi 7b07a8db66 Upgrade to Prettier 2 2020-03-28 18:20:24 -04:00
evilebottnawi dafa4cd69a chore: setup cspell 2020-03-12 19:51:26 +03:00
Nitin Kumar 285529a643
chore: fix typos across the project 2020-03-10 07:29:46 +05:30
Tobias Koppers 6e4b478940 improve exports hoisting in concatenated modules
#10409
2020-02-21 20:57:48 +01:00
Tobias Koppers fdeded05f4 hoist exports to the top of a concatenated module
to handle circular dependencies with non-concatenated modules

fixes #10409
2020-02-21 12:21:32 +01:00
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 edecce586b handle dependOn at start of buildChunkGraph
handle jsonp chunk loading correctly for child entrypoints
add error message for incorrect dependOn
2020-02-11 09:12:13 +01:00
Tobias Koppers 8cbb4ed72c remove dependencies from inner graph
only use TopLevelSymbols in graph
2020-02-05 11:06:27 +01:00
Tobias Koppers 1d2d1085bd use jsdoc object notation 2020-02-05 10:17:05 +01:00
Sergey Melyukov a9b72d4b40 Merge remote-tracking branch 'upstream/master' into inner-graph-usage-callback 2020-02-04 15:31:06 +03:00
Tobias Koppers 64675e3093 use output.hashFunction and hashDigest for getKey in SplitChunksPlugin 2020-02-04 09:18:54 +01:00
Tobias Koppers 8399762621 use bigints as chunks key for performance 2020-02-04 09:18:18 +01:00
Tobias Koppers 26d68719a3 cache getKey for splitChunks.maxSize 2020-02-03 11:02:49 +01:00
Tobias Koppers e96695a18a add more time logging 2020-01-30 16:10:56 +01:00
Tobias Koppers e6113e9787 optimize SideEffectsFlagPlugin performance 2020-01-30 16:10:53 +01:00
Sergey Melyukov 907ed08519 usage callbacks on inner graph 2020-01-30 04:34:30 +03:00
Tobias Koppers 3be270d91d fix bug with renaming of variables in concatenated modules
fixes #10308
2020-01-29 20:57:44 +01:00
Tobias Koppers a488d073c3
Merge pull request #10295 from smelukov/inner-graph-incapsulating
Incapsulate inner graph logic
2020-01-29 14:50:10 +01:00
Tobias Koppers 77abab8c97 cleanup, renaming 2020-01-29 14:24:55 +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
Sergey Melyukov 432d338f9a incapsulate tag variable 2020-01-27 18:46:23 +03:00
Sergey Melyukov 68a61677dc move flatter algo into InnerGraph 2020-01-27 18:33:40 +03:00
Sergey Melyukov 721ce54bdf incapsulating inner graph logic 2020-01-23 15:59:27 +03:00
Tobias Koppers 1be6dc1dcb
Merge pull request #10286 from smelukov/inner-graph-decouple-parser-state
decouple inner-graph and parser state
2020-01-22 10:03:39 +01:00
Sergey Melyukov 533d7fced7 fix pr comments 2020-01-21 20:50:27 +03:00
Sergey Melyukov 5613a38bb1 decouple inner-graph and parser state 2020-01-21 17:36:22 +03:00
Tobias Koppers 95297186d5 remove Array.prototype.reduce calls to simplify code 2020-01-20 14:41:39 +01:00
Tobias Koppers 131e4177ff remove Array.prototype.reduce calls to simplify code 2020-01-18 19:56:19 +01:00
Tobias Koppers e9948449aa
Merge pull request #10262 from webpack/bugfix/pure-annotation-calls
the pure annotation only applies to function calls
2020-01-16 00:00:19 +01:00
Tobias Koppers 4f1107bcc9 the pure annotation only applies to function calls 2020-01-15 22:54:42 +01:00
Tobias Koppers c80bae2959 faster cache access of contextify 2020-01-15 11:20:22 +01:00
Tobias Koppers aed6ab1d89 improve renaming of variables in concatenated modules
more detailed tracking of conflicted references
to avoid renaming variables when possible

fixes #10168
2019-12-23 21:54:57 +01:00
Tobias Koppers 853ec50b57 bugfixes
allow mangle even if object prototype export names are used
prevent mangling for object prototype export names in CommonJS
only treat Object.defineProperty for top-level this as export
replace Object.defineProperty correctly when value is in brakets
2019-12-21 20:32:25 +01:00
Tobias Koppers dda3279221 Merge tag 'v4.41.4'
4.41.4
2019-12-19 13:55:43 +01:00
Tobias Koppers ab4fa8ddb3
Merge pull request #10146 from liximomo/fix-sideEffects
fix: bundle wrong modules
2019-12-18 17:39:10 +01:00
liximomo 156a0874a9 fix: prevent incorrectly redirect 2019-12-18 17:01:58 +01:00
Sergey Melyukov cd174adeb0 Merge remote-tracking branch 'upstream/master' into inner-graph-eval-used 2019-12-18 16:37:03 +03:00
Sergey Melyukov 05abeee20a pr comments 2019-12-18 16:36:19 +03:00
Tobias Koppers c81963bf6b fixes #10104 2019-12-17 17:23:54 +01:00
Tobias Koppers 33d9f7bdbf bugfix: candiates should only be added when adding was successful 2019-12-17 11:24:23 +01:00
Tobias Koppers 73fd64fc90 refactor
refactor ConcatenatedModule to avoid compilation argument
avoid caching inner modules in ConcatenatedModule
improve performance of ModuleConcatenationPlugin
add ModuleStoreError when storing of module fails
2019-12-16 21:08:32 +01:00
Sergey Melyukov 5d18a8e27d persistent cache for concat modules 2019-12-16 21:06:24 +01:00
Sergey Melyukov 9bca2286ed opt-out inner graph optimization when eval is used 2019-12-16 16:49:01 +03:00
Tobias Koppers 3b4a7455df use parser state instead of module to store harmony/dynamic exports state
this is important for incremental build
2019-12-07 01:04:38 +01:00
Tobias Koppers d9a2b7997a refactor dynamic and harmony exports parser state
bailout when using AMD define
2019-12-06 11:13:15 +01:00
Tobias Koppers dd4d68ac8f use Symbol to flag skipped export names 2019-12-06 11:13:14 +01:00
Tobias Koppers 782e4535ac Refactor how exportsType work
add flagged exportsType for __esModule flagged
add getExportsType to merge strict with exportsType
move CommonJsStuffPlugin into CommonJsPlugin
split CommonJsPlugin into imports and exports part
enable minimal tree shaking for CommonJs imports and exports
2019-12-06 11:13:08 +01:00
Tobias Koppers 32ec03f2b2 fix export mangling for unused default objects 2019-12-06 11:12:27 +01:00
Tobias Koppers 6ef9ea8f27 add two chars to numberToIdentifier 2019-12-06 11:12:07 +01:00
Tobias Koppers 5a01ed8121 rename exportsType named to default
exportsType default doesn't include named exports in strict esm
2019-11-20 12:43:53 +01:00
Tobias Koppers eeafeee32a
Merge pull request #9950 from webpack/dependabot/npm_and_yarn/prettier-1.19.1
chore(deps-dev): bump prettier from 1.18.2 to 1.19.1
2019-11-15 12:05:46 +01:00
Tobias Koppers 497b65e122 run prettier 2019-11-15 10:56:01 +01:00
Tobias Koppers b90f3e14a1 upgrade webpack-sources
make source maps and source names context independent

add enhanced-resolve declarations
add types to Module.build
fix tooling for import order to support import renaming
add support for concatenated modules in eval source maps
2019-11-12 08:59:08 +01:00
Tobias Koppers 5abf55b1af allocate presentationalDependencies array only when needed 2019-11-10 21:05:28 +01:00
Tobias Koppers 61e8b44fb9 allocate Module.factoryMeta only when needed 2019-11-10 21:05:21 +01:00
Tobias Koppers ed81ad0fa4 allocate warnings and errors arrays only when needed 2019-11-10 21:05:16 +01:00
Tobias Koppers efe0c2e610 avoid creating arrays in getConnections 2019-11-10 21:05:05 +01:00
Tobias Koppers 9a07012695 fix problem with accessing the default named export of json 2019-11-05 10:39:14 +01:00
Tobias Koppers 84b6817f60 consistency and bugfixes for reexporting json 2019-11-05 10:39:12 +01:00