Nitin Kumar
3943ccefca
fix: initialize `this._cacheStage` in ModuleGraph constructor
2023-03-15 06:51:09 +05:30
Tobias Koppers
da74127bfe
Merge pull request #14420 from webpack/perf/remove-caching
...
remove caching from getModule/ChunkGraphModule/Chunk
2021-10-06 20:19:09 +02:00
Tobias Koppers
1e5abcc51b
improve extractBlockModules
2021-10-06 15:39:21 +02:00
Tobias Koppers
7da89c0580
remove caching from getModuleGraphModule
2021-10-06 14:06:43 +02:00
Tobias Koppers
91b6972144
add memCache2 for mem caching with module/chunk ids
2021-10-05 15:08:18 +02:00
Tobias Koppers
daa2c3808e
lazy assign connections to dependencies
...
in many cases we don't need the assignment
2021-09-28 19:11:39 +02:00
Tobias Koppers
224ed2ac0c
change ModuleGraph storage to WeakMap
2021-09-27 20:41:28 +02:00
Tobias Koppers
c33a64bb23
enable to use mem cache for dependency caching
2021-09-27 20:41:24 +02:00
Tobias Koppers
fc3fe304d9
return consistent datastructure type
2021-04-28 09:10:44 +02:00
Tobias Koppers
78ee6fb386
store parents in Dependency
2021-04-23 14:51:25 +02:00
Tobias Koppers
bbcc5a8ebe
add caching on ModuleGraph
...
cache star reexport assignment
2021-04-14 09:11:23 +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
365a362522
performance optimization
...
add statistics to ModuleConcatenationPlugin
2021-02-23 10:59:59 +01:00
Tobias Koppers
21c08d56ec
avoid allocation of meta info for dependencies when unused
2021-01-27 13:37:34 +01:00
Tobias Koppers
9af1d7526b
refactor module concatenation to address discovered bugs/edge cases
2020-09-15 12:36:02 +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
5068909499
Avoid tracking/printing detailed usage info for modules without exportsType
...
Make ContextModule a static default exporting module
fix provided exports info for ExternalModule
2020-07-08 11:07:03 +02:00
Tobias Koppers
fde5b3df11
allow to concatenate modules when used exports are known
2020-05-19 14:42:21 +02:00
Tobias Koppers
fdf43eab16
Connect more info about exports when using export *
2020-05-19 03:16:21 +02:00
Tobias Koppers
020cedf383
remove weird types
...
remove SKIP_OVER_NAME
update tooling for fixed "to not edit" comments
2020-05-12 15:58:43 +02:00
Nathan Shively-Sanders
8603fd75a6
fix 3.9 build errors
2020-05-12 14:37:02 +02:00
Tobias Koppers
952bc11510
fixes typing in ModuleGraph
2020-05-12 14:34:26 +02:00
Mohsen Azimi
1e0ad4ccd2
Upgrade to TypeScript 3.9
2020-05-12 14:34:24 +02:00
Tobias Koppers
93fddc0680
remove logic to finish modules in module graph
2020-05-05 22:12:27 +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
b4993f1ccc
Merge pull request #10503 from joeldenning/system-esmodule
...
Fix externals interop within SystemLibraryPlugin.
2020-03-10 15:38:38 +01:00
Tobias Koppers
c94aea82cc
enable export mangling for system.js externals
...
add __esModule flag only when needed
2020-03-05 14:07:55 +01:00
evilebottnawi
93dd2b0cfb
chore(deps): update eslint plugins
2020-03-04 12:37:14 +03:00
Tobias Koppers
bcf2f55ecb
remove ChunkGraph.getOrderedChunkEntryModulesWithChunkGroup as it makes no sense
2020-02-26 17:22:46 +01:00
Tobias Koppers
b53a128513
provide better error message when a export name was not found
2020-01-15 22:44:06 +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
ae261ed4c1
move default object redirect logic into separate meta property
2019-12-06 11:12:26 +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
accd66c3ba
Merge pull request #9971 from smelukov/deprecation-codes
...
Add deprecation codes
2019-11-15 12:04:47 +01:00
Tobias Koppers
74074a9b18
add deprecationCode argument to getChunk/ModuleGraphForChunk/Module
2019-11-15 10:07:41 +01:00
Tobias Koppers
e9f8e63593
Make RestoreProvidedData a custom class for visibility in profiles
2019-11-14 20:58:05 +01:00
Sergey Melyukov
a214be41a0
add deprecation codes
2019-11-14 17:03:15 +03:00
Tobias Koppers
c9f15d654c
allocate outgoingConnections Set only when needed
2019-11-10 21:05:23 +01:00
Tobias Koppers
efe0c2e610
avoid creating arrays in getConnections
2019-11-10 21:05:05 +01:00
Tobias Koppers
84b6817f60
consistency and bugfixes for reexporting json
2019-11-05 10:39:12 +01:00
Tobias Koppers
2f2125b4d1
add redirecting support to create correct exports info for exportsType=named
2019-11-05 10:38:02 +01:00
Tobias Koppers
14ee25cd0a
add support for tree-shaking JSON modules
2019-11-05 10:37:59 +01:00
Tobias Koppers
951792b8eb
ModuleGraph can get weak flag from dependency itself
2019-10-30 07:48:43 +01:00
Tobias Koppers
7724f75176
fix typo
2019-10-30 07:48:39 +01:00
Tobias Koppers
8d46b21fad
add Dependency.getCondition and conditional ModuleGraphConnections
...
getDependencyReference is no longer used to check of connection
2019-10-30 07:48:32 +01:00
Tobias Koppers
09d6301712
Move weak flag from DependencyReference to Dependency
2019-10-30 07:48:26 +01:00
Tobias Koppers
ddc3dae0e6
refactor Module.source() and Module.getRuntimeRequirements() into Module.codeGeneration
...
add code generation phase to Compilation
add `output.iife` options to remove iife wrapper
add `experiments.outputModule` which enabled `output.module`
add `output.module` which sets defaults to `output.iife: false`, `output.libraryTarget: "module"`, `output.jsonpScriptType: "module"`, `terserOptions.module: true`
add `output.module` example
improve runtime requirements needed by ConcatenatedModule
add entry inlining, which inlines entry module code into runtime scope (only when safe)
make whole bundle strict when all modules are strict
2019-10-08 23:59:48 +02:00
Tobias Koppers
fb13b76b34
add `__webpack_exports_info__` API to allow export introspection
...
improve usage/provide information for nested exports
improve tests for deep exports
2019-08-22 16:59:37 +02:00