Commit Graph

65 Commits

Author SHA1 Message Date
Tobias Koppers 52cfe09ac7 track statement path in parser instead of only positions 2020-08-17 09:45:50 +02:00
Tobias Koppers 41a8e2ea48 use xor to hash modules instead of sorting them 2020-08-14 10:54:24 +02:00
Tobias Koppers 537c6f228c
Merge pull request #11292 from webpack/fix/issue-11283
fix(#11283) bug with switch case
2020-08-08 11:06:01 +02:00
Ivan Kopeykin 8e480b8720 use one block scope for switch 2020-08-08 11:13:38 +03:00
Tobias Koppers fcf2647019
Merge pull request #11257 from webpack/chore/todos-to-defined-types
add more types
2020-08-07 19:29:32 +02:00
Tobias Koppers 1eacb07c95 improve optional chaining handling 2020-08-07 14:45:25 +02:00
Ivan Kopeykin 70c0b28d00 add tests, refactor how optional chaining handles 2020-08-07 14:44:54 +02:00
Ivan Kopeykin 18ae4d16d8 add evaluation to optional chaining 2020-08-07 14:43:40 +02:00
Ivan Kopeykin dfdc554b80 add optional chaining support 2020-08-07 14:43:39 +02:00
Ivan Kopeykin 42cb86bfdc fix(#11283): define extra scope for switch-case 2020-08-07 00:56:35 +03:00
Ivan Kopeykin 8cf511dc94 Merge branch 'master' into chore/todos-to-defined-types 2020-08-06 22:48:20 +03:00
Tobias Koppers dfc8e35f2d enable experiments.importAsync by default
remove experiments.importAwait
2020-08-04 00:47:08 +02:00
Ivan Kopeykin 4fc44a3398 add more types 2020-08-02 23:47:54 +03: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
Ivan Kopeykin 8b0aed4465 fix discussions 2020-07-22 22:49:07 +03:00
Ivan Kopeykin bd858f0d30 add more types 2020-07-22 19:58:08 +03:00
Tobias Koppers c8aff62228 improve handling of side effects with evaluation 2020-07-21 13:00:25 +02:00
Tobias Koppers bc1c5a8f23 refactor evaluation logic 2020-07-21 10:30:12 +02:00
Ivan Kopeykin 5ec7dfd6ac refactor equality comparison, support nullish coalescing in ConstPlugin
- add handleStrictEqualityComparison callback
- add handleAbstractEqualityComparison callback
- rework evaluateIdentifier interface
- add tests
2020-07-21 10:30:10 +02:00
Ivan Kopeykin 3ecc87889c add nullish coalescing support 2020-07-21 10:30:08 +02:00
Tobias Koppers e8ed3d8d3b
Merge pull request #11117 from vankop/add-export-as-from
add export * as namespace from "module"
2020-07-06 22:31:07 +02:00
Tobias Koppers 85edc5c7fa improve code design of ImportMetaPlugin
add missing evaluation for compare operations
refactor duplicate code

add unhandledExpressionMemberChain hook to parser
add evaluateToNumber and types to JavascriptParserHelpers
add undefined to BasicEvaluatedExpression

add import.meta.webpack as webpack major version
2020-07-06 17:13:09 +02:00
Ivan Kopeykin 85715ba2c9 add export * as namespace from "module" 2020-07-03 13:12:58 +03:00
Ivan Kopeykin de18533373 update import.meta
- add evaluation to import.meta and import.meta.url
- bare import.meta is disallowed
2020-06-24 22:47:43 +03:00
Ivan Kopeykin 1beb4e5707 support import.meta 2020-06-23 01:03:52 +03:00
Ivan Kopeykin 104845a419 support import.meta.hot 2020-06-22 18:49:57 +03:00
Mohsen Azimi 042b4ee7d4 Use @ts-expext-error 2020-05-12 14:34:29 +02:00
Tobias Koppers 50ec72a6ca use the full hash on modules that need the full hash of the compilation
use getFullHash runtime module for updating the hash in HMR
2020-04-30 17:57:01 +02:00
Tobias Koppers b9c50fdb09 fix jsdoc documentations 2020-04-28 19:42:58 +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 cc99b42293 fix InnerGraph for super expression 2020-04-09 01:33:55 +03:00
Mohsen Azimi 7b07a8db66 Upgrade to Prettier 2 2020-03-28 18:20:24 -04:00
evilebottnawi cc02825bed chore: setup cspell 2020-03-13 12:23:42 +03:00
evilebottnawi dafa4cd69a chore: setup cspell 2020-03-12 19:51:26 +03:00
evilebottnawi 09197da090 feat: `bigint` for the `DefinePlugin` plugin 2020-03-09 10:57:22 +01:00
evilebottnawi 784ff508d0 feat: `bigint` for the `DefinePlugin` plugin 2020-03-09 10:57:14 +01:00
evilebottnawi 1308ae7e8e feat: `bigint` for the `DefinePlugin` plugin 2020-03-09 10:57:05 +01:00
Tobias Koppers a995a335f4
add missing argument check 2020-03-02 16:05:43 +01:00
evilebottnawi f4ba449130 fix: negative zero for DefinePlugin 2020-03-02 16:49:59 +03:00
jamesgeorge007 bebc55b7a1 chore: rephrase JSDoc comment 2020-01-23 14:24:36 +05:30
jamesgeorge007 cc85a27955 chore: rephrase comment 2020-01-23 14:20:53 +05:30
jamesgeorge007 52422ad14a refactor: prefer destructuring approach 2020-01-23 14:18:14 +05:30
Gergely Nagy aea4fd97b5 do not evaluate constants in asm.js, fix IIFE mode detection
fixes #10283
2020-01-22 15:41:45 +01:00
Tobias Koppers 6400fd42b4
Merge pull request #10139 from yurynix/relative-dir-runtime-chunk-loading
Make inner folder entrypoints able to require common chunks
2020-01-17 11:39:52 +01:00
Tobias Koppers 2350d09680 move chunk filename template logic into reusable function 2020-01-16 15:40:44 +01:00
Tobias Koppers b398814628 cache module wrappers in memory 2019-12-19 14:26:27 +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 ab8a768cac remove module.id and loaded shortcuts and only include them when used 2019-12-06 11:09:43 +01:00
Sergey Melyukov f212d3c30e pr comments 2019-12-03 18:11:46 +03:00
Sergey Melyukov faf784b6ab refactor hop runtime helper 2019-12-03 16:27:39 +03:00