Commit Graph

227 Commits

Author SHA1 Message Date
alexander.akait ae66636cd0 test: added 2023-05-24 00:28:23 +03:00
alexander.akait a9e8aacecb fix: handle class name in properties and methods 2023-05-24 00:28:23 +03:00
alexander.akait f003f1c138 refactor: types more 2023-05-22 05:12:44 +03:00
alexander.akait 8e63b43b5e refactor: types more 2023-05-22 04:50:50 +03:00
alexander.akait 30390058ef refactor: types more 2023-05-22 03:46:58 +03:00
alexander.akait e719e60340 refactor: types more 2023-05-22 03:03:05 +03:00
alexander.akait 78075cac67 refactor: types more 2023-05-22 01:28:57 +03:00
alexander.akait 055737dc0c refactor(types): more 2023-05-21 23:31:30 +03:00
Sean Larkin f3389577ef refactor(types): Increase type coverage & docs for B.E.E 2023-04-28 19:21:02 +00:00
Sean Larkin 0fff38d157 refactor(types): Improve types coverage & docs for js parser 2023-04-28 17:59:30 +00:00
An0nie 9309106146 fix: template string compare issue 2023-04-27 16:54:20 +02:00
擢秀 8c59f8955d
fix: avoid modify ast params object reference 2023-04-20 18:35:54 +08:00
Sean Larkin 9c70d1dcf6
Merge pull request #17016 from xiaoboost/fix/fix-spell-error
fix: fix spell error
2023-04-18 19:10:37 -07:00
xiaoboost a01d2d5360 fix: fix spell error 2023-04-18 22:45:47 +08:00
Ivan Kopeykin 3824beedaf support destructuring assignment with AwaitExpression 2023-04-13 17:16:32 +03:00
Ivan Kopeykin 45754f45d0 rename some properties, add more test cases 2023-04-09 10:44:09 +03:00
Ivan Kopeykin bdbb78769f support rest element 2023-04-09 08:55:55 +03:00
Ivan Kopeykin 89933e8a06 fix pre walking 2023-04-08 21:19:04 +03:00
Ivan Kopeykin 12844b2d34 fix keys evaluation 2023-04-08 13:17:30 +03:00
Ivan Kopeykin 9bb35fb998 support destructuring assignment in parser 2023-04-07 22:29:32 +03:00
Jack Works 4f39c9f658 fix: type error 2022-11-22 12:09:17 +08:00
Jack Works c922ee1569 chore: revert breaking change 2022-11-22 12:03:27 +08:00
Jack Works 1d86c181a8 fix: test fail 2022-11-22 11:52:04 +08:00
Jack Works 18c59c600d fix: avoid cross-realm objects 2022-11-22 11:37:16 +08:00
Ivan Kopeykin 8bfcb6999b support import/export name as string literal 2022-07-19 16:58:38 +03:00
Ivan Kopeykin 8df5134ddb support context 2022-03-31 15:10:21 +03:00
Ivan Kopeykin 34c4edca6b add createRequire support 2022-03-25 10:50:13 +03:00
Tobias Koppers 86a8bd9618
Merge pull request #15455 from webpack/feature/support-in-operator
add "in" operator support
2022-03-17 11:17:39 +01:00
Tobias Koppers 5cc3a39109
Merge pull request #15327 from webpack/fix/dont-count-optional-chaining-in-import-specifier
dont count optional chaining in import specifier
2022-03-15 16:56:06 +01:00
Ivan Kopeykin b2fc854227 fix parser.evaluteExpression api 2022-03-15 15:37:17 +03:00
Ivan Kopeykin eb5d124150 add "in" operator support 2022-03-02 15:01:35 +03:00
Ivan Kopeykin 005e065fc4 renaming 2022-02-28 22:52:16 +03:00
Ivan Kopeykin 59437ccd10 dont count optional chaining in import specifier
instead of full member expression use only non-optional member expression part
2022-02-07 16:14:22 +03:00
Ivan Kopeykin a3fff1a4c8 evaluate undefined to type undefined 2021-11-25 22:41:27 +03:00
Ivan Kopeykin 58edd1aebb fix evaluating tagged template 2021-11-24 21:22:59 +03:00
Ivan Kopeykin ffad02dbe2 fix discussions 2021-09-20 15:40:45 +03:00
Ivan Kopeykin 1b2c08a672 fix discussions 2021-09-17 07:23:29 +03:00
Ivan Kopeykin 18ed9cb34b fix logic expression evaluation 2021-09-16 13:15:01 +03:00
Tobias Koppers 720aa43bd3 handle hashbangs in javascript files
fixes https://github.com/vercel/next.js/issues/27806
2021-08-10 11:34:06 +02: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
Sven Sauleau b166f46f2c parse import assertions 2021-07-16 13:14:54 +02:00
Tobias Koppers d09cc17cee use types from estree 2021-06-22 09:47:29 +02:00
Tobias Koppers d0f500b76d
Merge pull request #13565 from webpack/dependabot/npm_and_yarn/acorn-8.4.0
chore(deps): bump acorn from 8.2.4 to 8.4.0
2021-06-22 09:43:00 +02:00
Tobias Koppers b6a39e3ccf remove allowAwaitOutsideFunction option as it's now set by default 2021-06-21 10:14:49 +02:00
Tobias Koppers 4e608c8723 assign class property keys to the correct top level symbol 2021-06-21 09:48:14 +02:00
Tobias Koppers b0fa9ccada pretty files 2021-05-11 09:31:46 +02:00
Tobias Koppers 94facd387d add support for class fields 2021-04-27 10:28:13 +02:00
Tobias Koppers 87b67a920d avoid memory leak in v8 ICs after parsing and building modules 2021-03-25 14:52:12 +01:00
Tobias Koppers 61cc65c58e improve parsing to handle non-literal options 2021-03-12 12:09:02 +01:00
Tobias Koppers 9f3950e571 add support for libraries combined with iife: false
fix missing runtime requirement for system.js context
fix inlining of modules when conflicting symbols are defined on top-level
2021-02-11 11:19:24 +01:00
Tobias Koppers a07a1269f0
Merge pull request #11316 from petermetz/master 2021-01-21 11:46:33 +01:00
Tobias Koppers be13a46750 sort imports 2021-01-20 09:51:17 +01:00
Peter Somogyvari ded4cc64a0 perf(parser): binary search for comments in range
Signed-off-by: Peter Somogyvari <peter.metz@unarin.com>
2021-01-19 11:55:35 -08:00
Tobias Koppers a2fd6c2226 disable iife handling for functions with default parameters or patterns 2021-01-19 13:35:50 +01:00
Ivan Kopeykin 9fadec4dc1 fix: walk iife function expression params 2021-01-19 13:35:50 +01:00
Tobias Koppers ae15a701a4 fix handling of MetaProperty
fixes #12339
2021-01-05 21:26:28 +01:00
highonweb bc1911bf78 Changed name of memorize function to memoize 2020-12-27 03:02:57 +05:30
Tobias Koppers dbea79cf8a improve code and test case 2020-11-25 22:48:11 +01:00
Ivan Kopeykin f000854cee fix: check statements in path for asi safe 2020-11-25 22:48:10 +01:00
Tobias Koppers 3601b4bfe3 handle ASI issue between concatenated modules
fixes #11897
2020-11-04 12:02:36 +01:00
Tobias Koppers 1b78895c31 improve handling of ASI in concatenated modules and with imports
fixes #11897
2020-11-02 14:15:12 +01:00
Tobias Koppers 20c4eff3e7 Merge branch 'master' into bump-acorn-8 2020-10-07 10:35:13 +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
Huáng Jùnliàng bd902b37ed chore: bump acorn to 8.0.3 2020-10-02 10:13:10 -04:00
Huáng Jùnliàng d1dd411cb3 workaround upstream bug 2020-10-01 18:05:23 -04:00
Huáng Jùnliàng 48be8c4d26 fix typing 2020-09-30 08:49:06 -04:00
Huáng Jùnliàng e142c50a91 revert AcornOptions hotfix 2020-09-30 08:49:05 -04:00
Huáng Jùnliàng aea7ce053d feat: add logical assignment support 2020-09-30 08:49:05 -04:00
Tobias Koppers 145d392143 fixes parsing of 'this' in arrow iife
yarnpkg/berry#1832
2020-09-15 13:46:10 +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
Tobias Koppers bdeea6ec2f
Merge pull request #11395 from webpack/refactor/asi
refactor how asi handled
2020-09-01 15:47:41 +02:00
Tobias Koppers 962199c288 nitpicks 2020-09-01 11:15:52 +02:00
Tobias Koppers dd6512ddfe add support for IIFE with arrow functions 2020-08-29 01:59:42 +02: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 e23bc8ca7c use expression hook for metaProperty
a MetaProperty is an Expression
it's more consistent
2020-08-27 13:03:56 +02:00
Ivan Kopeykin 1556341c13 fix #11310 2020-08-27 12:59:28 +02:00
Ivan Kopeykin a739705ff8 expose consts 2020-08-24 23:04:35 +03:00
Ivan Kopeykin 434c446d91 use bitmask instead of array+set in getMemberExpressionInfo 2020-08-24 22:00:08 +03:00
Tobias Koppers 65710679fb
Merge pull request #11299 from webpack/feature/evaluate-new-regexp
feat: evaluate new RegExp
2020-08-24 18:27:22 +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 52cfe09ac7 track statement path in parser instead of only positions 2020-08-17 09:45:50 +02:00
Ivan Kopeykin eb48bb2c61 check that RegExp is not redefined 2020-08-15 12:35:04 +03:00
Ivan Kopeykin 8c6860e6c7 increase coverage 2020-08-09 22:50:38 +03:00
Ivan Kopeykin 9d36bd46b3 feat: evaluate new RegExp 2020-08-09 22:17:19 +03: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
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 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
evilebottnawi cc02825bed chore: setup cspell 2020-03-13 12:23:42 +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 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 2f3da77d38 Introduce a Parser base class to improve Parser types
Parser.parse must be always sync
make JSON and WASM modules strict

fix inherit-types tooling to omit static methods
2019-11-30 01:36:28 +01:00
Tobias Koppers 90c2392b29 fix bug where importing variables with special free names is broken 2019-10-30 13:06:53 +01:00
Tobias Koppers acff6ec992 move BasicEvaluatedExpression and JavascriptParserHelpers to javascript directory 2019-10-22 09:27:52 +02:00
evilebottnawi 8198ffb3e6 refactor: code 2019-10-22 00:14:05 +02:00