Commit Graph

834 Commits

Author SHA1 Message Date
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