Commit Graph

821 Commits

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