Tobias Koppers
4b5d1360d8
fix serialization and snapshots
2021-11-03 11:34:26 +01:00
Tobias Koppers
d9c592738a
refactor and add test cases
...
add `parser.exportPresence`, `parser.importExportPresence`, `parser.reeexportExportPresence` `"error" | "warn" | "auto" | false`
2021-11-02 18:29:47 +01:00
Sven Sauleau
6c50c81350
Revert "Revert "Merge pull request #12278 from xtuc/sven/import-assertions""
...
This reverts commit 61946b7c46 .
2021-07-24 23:28:30 +01:00
Tobias Koppers
61946b7c46
Revert "Merge pull request #12278 from xtuc/sven/import-assertions"
...
This reverts commit df02bc6c0a , reversing
changes made to a6f341e243 .
2021-07-16 21:54:21 +02:00
Tobias Koppers
7f22e4721f
match on asserts
...
change Map to Record
improve test case
2021-07-16 13:17:20 +02:00
Tobias Koppers
b0fa9ccada
pretty files
2021-05-11 09:31:46 +02:00
Tobias Koppers
92fba2d346
fix json related tree shaking and caching problems
...
json with constructor property now caches correctly
json generation with object prototype property now works correctly
tree shaking json array when accessing length property now works correctly
fix incorrect call context when calling properties on imports from CommonJS modules
fixes #12615
2021-02-07 16:43:44 +01:00
Tobias Koppers
a936d7b3a0
avoid unnecessary conditions
2021-01-27 13:37:34 +01:00
Tobias Koppers
21c08d56ec
avoid allocation of meta info for dependencies when unused
2021-01-27 13:37:34 +01:00
Tobias Koppers
97b83161d9
move responsibility of exports info and connected modules hashing from Dependencies to Module
...
fixes a bug where modules are incorrectly cached when exports info of connected modules change
2021-01-24 21:36:36 +01:00
Tobias Koppers
4ec418c8ee
allow inner graph shaking for new URL()
...
fixes #11818
2021-01-19 13:31:55 +01:00
Tobias Koppers
7cc206974c
upgrade typescript major version
2020-11-30 08:42:35 +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
e1a405e3c2
prettier
2020-11-26 10:52:55 +01:00
Tobias Koppers
19f51535ca
merge multiple import statements with different conditions correctly
...
improve hashing when conditional runtime evaluation is involved
add test cases
2020-10-27 06:48:54 +01:00
Tobias Koppers
8e562aa260
fix some nitpicks with active state
2020-10-07 09:36:41 +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
8db617db80
avoid error when target module failed
2020-09-25 10:53:12 +02:00
Tobias Koppers
39e1a7e4c7
move magic names to constants in ConcatenationScope
...
improve types
2020-09-15 12:36:06 +02:00
Tobias Koppers
21e202eb24
move concatenation logic to HarmonyImportSpecifierDependency
2020-09-15 12:35:30 +02:00
Ivan Kopeykin
a3fc25cadb
refactor asiSafe flag in dependencies
2020-08-29 17:00:03 +03: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
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
Pushkar DK
31e3369a73
Add 'webpackExports' & make only referenced exports available in import()
2020-06-06 00:11:21 +05:30
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
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
84b6817f60
consistency and bugfixes for reexporting json
2019-11-05 10:39:12 +01:00
Tobias Koppers
8696017c55
add Dependency.getReferencedExports
...
remove Dependency.getReference
remove DependencyReference
2019-10-30 07:48:37 +01:00
Tobias Koppers
efe3a81325
remove sourceOrder from DependencyReference
2019-10-30 07:48:35 +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
a5b3177fc0
conditional import specifiers do not generate import statements when exports are unused
2019-09-06 14:49:05 +02:00
Tobias Koppers
2e37731988
add analysis for top level symbols, exports and imports
...
integrates the work of Vincent Chan for GSoC 2018
Co-authored-by: Vincent Chan <cdzos97@gmail.com>
2019-09-03 14:18:40 +02:00
Tobias Koppers
ab169893a1
refactor Parser to allow variable tagging
...
use variable tagging in harmony pluging (instead of magic renaming)
Parser no longer calls hooks.expression for x in `x = ...`, hooks.pattern is called instead
remove rootName argument from hooks.expressionMemberChain and hooks.callMemberChain
2019-09-03 14:17:46 +02:00
Tobias Koppers
0bce5fd8d5
detect ASI and generate more efficient code when no semicolon need to be inserted
2019-08-22 23:03:38 +02:00
Tobias Koppers
7ba057f787
Reduce memory usage for warnings/errors by avoiding empty arrays
2019-08-07 16:14:02 +02:00
Tobias Koppers
2c02db6b81
Avoid JSON.stringify for performance reasons
2019-07-26 13:59:11 +02:00
Tobias Koppers
1d72a05fed
Merge tag 'v4.36.0' into next
...
4.36.0
2019-07-17 16:02:33 +02:00
Tobias Koppers
8d5ad83b32
simplify code
2019-06-12 15:16:54 +02:00
alreadyExisted
df5e118da4
fix(mjs): remove unused namespace build errors
2019-06-12 14:46:39 +02:00
Tobias Koppers
ba77df23dd
add warnings for non-default json module imports
...
unify linking error generation
2019-06-12 14:33:49 +02:00
Tobias Koppers
fd4b3c503a
pretty files
2019-06-09 11:23:42 +02:00
Tobias Koppers
979e6e40a8
fix edgecase with script this context
2019-05-29 21:59:09 +02:00
Tobias Koppers
1b685d1de8
change DependencyReference.importedNames to be always an string[][]
2019-05-29 11:55:07 +02:00
Tobias Koppers
43bc7a306e
Refactor to track nested exports
...
Harmony dependencies track access to nested properties
Flag nested exports
2019-05-29 11:55:00 +02:00
Tobias Koppers
924daa105b
Use simpler/faster hash function to get a hash number
...
Use deterministic mangled names for exports
refactor assignDeterministicIds
rename __webpack_init__ function in wasm to ""
fix bug with incorrectly cached StaticExportsDependency
fix bug in hash logic of Module
2019-02-20 22:41:07 +01:00
Tobias Koppers
eac069a46b
move isProvided into ModuleGraph
2018-12-31 12:51:35 +01:00
Florent Cailhol
a42922f663
Move provided exports to the module graph
2018-12-31 12:28:51 +01:00
Tobias Koppers
bf1fc171ba
runtime requirement for RuntimeGlobals.moduleFactories
2018-11-29 16:08:52 +01:00
Tobias Koppers
a09b9a5b8f
refactor call and callArgs for HarmonyImportSpecifierDependency
2018-10-17 21:25:41 +02:00