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