5064 Commits

Author SHA1 Message Date
Barron Wei
1a8e7ff2ec
fix(do-expr): SwitchStatement with IfStatement cases (#11728)
* test(do-expr): condition before break

* test(do-expr): labeled break

* fix(do-expr): add check for break in BlockStatement

* fix(do-expr): add LabeledStatement case for getCompletionRecords

* test(do-expr): rename condition before break to condition before expression

* revert(do-expr): undo remove break for do switch

* revert(do-expr): undo remove labeled break

* test(do-expr): add condition before break

* test(do-expr): update condition before break

* test(do-expr): remove labeled break

* fix(do-expr): add tree search in findBreak

* fix(do-expr): ignore isFunction case in findBreak
2020-09-18 10:34:35 -04:00
Sosuke Suzuki
7028a14c7f
fix: throw for constructors with type parameters (#12065)
* Throw a syntax error for a constructor with type parameters

* Modify to match error location with TypeScript

* Update typescript parser tests

Update allowlist.txt
2020-09-17 13:03:33 -04:00
Sosuke Suzuki
bbe0cf09fc
Throw a syntax error for a parameter properties in not constructor (#12061) 2020-09-14 16:28:06 -05:00
Huáng Jùnliàng
70cf2d704a
chore: remove unused dependencies (#12044) 2020-09-09 22:05:57 -04:00
Huáng Jùnliàng
e51139d7fd v7.11.6 2020-09-03 11:11:11 -04:00
Huáng Jùnliàng
a91fdeb1f6
Revert #12014 (#12027)
* Revert "chore: bump source-map to 0.6.1 (#12014)"

This reverts commit d5bcc08bf7134db165af91a88a61c8c6bfe39144.

* test: add regression tests for #12025
2020-09-01 15:42:01 -04:00
Huáng Jùnliàng
af64ccb2b0 v7.11.5 2020-08-31 15:54:06 -04:00
Joe Haddad
371e152cd2
fix(jsx): do not throw on generated element in development mode (#12017)
* Fix `jsxDEV` for generated elements

* Throw invariant error

* Add test

* test: revise test layout

* fix: node 6 does not support trailing comma

* Use undefined node

Co-authored-by: Huáng Jùnliàng <jlhwung@gmail.com>
2020-08-31 15:16:47 -04:00
Huáng Jùnliàng
d5bcc08bf7
chore: bump source-map to 0.6.1 (#12014) 2020-08-27 17:17:49 -04:00
Huáng Jùnliàng
2c60595342
fix: ExpressionBody should respect [In] parameter (#11931) 2020-08-26 13:24:44 -04:00
Huáng Jùnliàng
3fad7eab9b
Use Yarn 2 (#11962)
* chore: use yarn 2

* chore: remove redundant yarn locks

* chore: remove publishEslintPkg

* chore: remove redundant make bootstrap

* Update .yarnrc.yml

Co-authored-by: Kristoffer K. <merceyz@users.noreply.github.com>

* chore: use workspace protocol for eslint packages in the root

Co-Authored-By: merceyz <merceyz@users.noreply.github.com>

* chore: pin caniuse-lite versions

Testcases in packages/babel-preset-env/test/fixtures/debug/browserslists-defaults-not-ie
depends on specific caniuse-lite versions. We pinned the version here
so we don't have to deal with fixture different in e2e-tests
where all deps will be updated and tested.

* chore: resolve yarn install warnings

* chore: update yarn cache path on circle/travis

* chore: add yarn deduplicate plugin

* chore: deduplicate lock files

* chore: move devDependencies to leaf packages

* chore: remove @yarnpkg/plugin-constraints

* chore: remove unused dedupe options

* test: fix unwanted self reference

* chore: remove output-file-sync dependency

* chore: update browserify to 16.5.2

Co-authored-by: Kristoffer K. <merceyz@users.noreply.github.com>
2020-08-25 14:37:30 -04:00
uhyo
76d571e285
fix(plugin-proposal-function-bind): fix invalid code emitted for ::super.foo (#12000) 2020-08-24 12:35:31 -05:00
Brian Ng
941f610275
Set generator to true during error recovery of accessor (#11987) 2020-08-21 14:37:52 -05:00
Johan Holmerin
b9407d7660
Forward deopt node path in NodePath#evaludate (#11832)
* Forward deopt node path

* Move deopt evaluation tests

* Document evaluate deopt property
2020-08-20 16:20:19 -04:00
Huáng Jùnliàng
90b1989569 v7.11.4 2020-08-20 14:51:38 -04:00
Huáng Jùnliàng
565cfff486 chore: test against workspace babel/core 2020-08-20 14:51:09 -04:00
Huáng Jùnliàng
d844700449
fix: declare @babel/traverse as a dependency (#11985) 2020-08-20 14:01:29 -04:00
Huáng Jùnliàng
4be67fb19a
Ensure import() is not transpiled in babel-core published source (#11974)
* fix: Ensure `import()` is not transpiled when published

* Update packages/babel-core/test/config-chain.js [skip ci]
2020-08-20 13:31:26 -04:00
Brian Ng
84ea6e4501
Throw error on invalid flow async generic arrow syntax (#11979) 2020-08-19 16:11:17 -05:00
Brian Ng
96cc8292b7
Fix parsing type casted generic flow arrow exprs (#11955) 2020-08-19 14:15:01 -05:00
Huáng Jùnliàng
cdada5800d
fix: do not transform ClassPrivateMethods in estree (#11973)
* fix: do not transform ClassPrivateMethods in estree

* fix: use MethodDefinition as ClassPrivateMethod visitor keys
2020-08-18 11:18:38 -04:00
Huáng Jùnliàng
66c6b3b949
Add more parser test cases (#11923)
* remove unused codes

* refactor: remove unused parseAccessModifier

* refactor: remove redundant async function checks

* refactor: remove redundant class check in checkExport

* add more parser test cases

* Update packages/babel-parser/src/parser/statement.js

Co-authored-by: Brian Ng <bng412@gmail.com>

* chore: add sourceType: unambiguous test

Co-authored-by: Brian Ng <bng412@gmail.com>
2020-08-14 11:53:17 -04:00
James C. Davis
9c565a97d5
chore: remove obsolete comment (#11953) 2020-08-13 12:43:07 +02:00
Huáng Jùnliàng
2e2d15fb4c
chore: build babel-polyfill-dist on make watch (#11951) 2020-08-12 10:18:36 -04:00
Huáng Jùnliàng
df9ee2c7cd
Simplify tokenizer update context (#11944)
* replace lineBreak.test by hasPrecedingLingBreak

* refactor: simplify updateContext
2020-08-11 13:43:03 -04:00
Huáng Jùnliàng
3995160fc7
fix: push new token context when braceHashL is seen (#11941)
* fix: push new token context when braceHashL is seen

* Update packages/babel-parser/src/tokenizer/context.js
2020-08-11 09:55:13 -04:00
Justin Ridgewell
a5bc48661b
Isolated exec tests (#11531)
* Run exec tests in fresh contexts

* Reevaluate modules in every context

* Cache module code when running tests

* Eliminate weakmap accesses as much as possible

* Remove old multiline usage

* Using bundled polyfill to significantly increase performance

The individual requires for each file were the part that was sooooo slow.

* Drop LRU cache size

* Fixes

* Fix test

Co-authored-by: Huáng Jùnliàng <jlhwung@gmail.com>
2020-08-10 18:57:48 -04:00
Huáng Jùnliàng
3bff1ce35a
fix: disallow line break between async and property (#11947) 2020-08-10 17:33:14 -05:00
Huáng Jùnliàng
008fe25ae2
fix: reset EndLocation for catch param (#11943) 2020-08-10 17:06:34 -04:00
Huáng Jùnliàng
a3893129ec
chore: enable flowcheck on CI (#11945)
* chore: enable flowcheck on CI

* fix: flow errors
2020-08-10 16:57:29 -04:00
Yuku Kotani
00b974298b
Move some @babel/traverse from deps to devDeps (#11937) 2020-08-10 11:36:09 -05:00
Huáng Jùnliàng
4bb1e164da
Refactor [In] production parameter tracking (#11930)
* refactor: track [In] parameter in prodParam

* Apply suggestions from code review
2020-08-10 07:32:38 -04:00
Huáng Jùnliàng
57b658c4d8 v7.11.3 2020-08-08 15:59:38 -04:00
Huáng Jùnliàng
a827ca41f3
refactor: simplify smart pipeline parsing (#11919) 2020-08-05 21:15:42 -04:00
Huáng Jùnliàng
76f033f8c7
simplify isLookaheadRelational method (#11922)
* refactor: move isLookaheadRelational to flow plugins

* refactor: simplify isLookaheadRelational to isLookaheadToken_lt
2020-08-05 20:21:35 -04:00
Huáng Jùnliàng
cd577eedfd
refactor: add recoverable error on accessorIsGenerator (#11921)
* refactor: add recoverable error on accessorIsGenerator

* Update packages/babel-parser/src/parser/error-message.js

Co-authored-by: Brian Ng <bng412@gmail.com>

* Apply suggestions from code review

Co-authored-by: Brian Ng <bng412@gmail.com>
2020-08-05 17:52:13 -04:00
Brian Ng
c0f6f0394d
Support ConditionalExpressions in dry-error-messages rule (#11917)
* Support ConditionalExpressions in dry-error-messages rule

* tests
2020-08-05 16:28:35 -04:00
Huáng Jùnliàng
50b3262063
refactor: avoid unnecessary property access (#11918)
* refactor: avoid unnecessary property access

* refactor: `else` is redundant because keyName is const
2020-08-05 15:39:45 -04:00
Huáng Jùnliàng
bc7a811fce v7.11.2 2020-08-05 10:15:43 -04:00
Huáng Jùnliàng
92434269af
fix: do not eat get/set after async is parsed (#11916) 2020-08-05 08:19:59 -05:00
Huáng Jùnliàng
953ae82159 v7.11.1 2020-08-04 17:58:35 -04:00
Huáng Jùnliàng
a1eabb84ea
rescan gt/lt token after TsAsExpression is parsed (#11912)
* refactor: move inType checks to flow plugin

* polish: replace hardcoded char codes

* fix: rescan greater/less token after asExpression is parsed
2020-08-04 17:00:21 -04:00
Devon Govett
c29138fd72
Do not cache non-existent files forever (#11906) 2020-08-04 16:07:25 -04:00
Huáng Jùnliàng
a4ebe29b3f
Parser refactoring (#11871)
* refactor: parseMaybeUnary => parseUnary

* refactor: extract shouldExitDescending method

* refactor: add parseUpdate

* refactor: avoid comparing with hardcoded token value

* refactor: add ParseNewOrNewTarget

* refactor: add parseCoverCallAndAsyncArrowHead

* add parseBind

* refactor: polish parseTaggedTemplateExpression interface

* refactor: add parseMember method

* refactor: add parseSuper method

* refactor: add parseAsyncArrowUnaryFunction method

* fix: disallow line break before async binding arrow

* refactor: simplify tt.name logic

* refactor: add parseDo method

* refactor: misc

* refactor: rename parseObjectMember by parsePropertyDefinition

* refactor: unify set/get/async keyword parsing in ObjectMethod

* refactor: misc

* refactor: add parseArrayLike method

* refactor: move fsharp epilogure and prologue inside parseObjectLike

* fixup

* refactor: rename parseFunctionExpression to parseFunctionOrFunctionSent

* refactor: remove redundant logic

* refactor: rename parseClassPropertyName by parseClassElementName

* refactor: avoid unecessary lookahead when parsing tt._export

* fix: export-default-from should support escaped async as export binding

* address review comments

* parseUnary -> parseMaybeUnary
2020-07-31 20:36:04 -04:00
Huáng Jùnliàng
c41dcd045b
fix: ensure […map.keys] can be correctly transformed in loose mode (#11901) 2020-07-31 14:26:22 -05:00
Huáng Jùnliàng
45fdb87747 v7.11.0 2020-07-30 17:12:07 -04:00
Oliver Dunk
db56261414
Skip TSAsExpression when transforming spread in CallExpression (#11404)
* Skip TSAsExpression when transforming spread in CallExpression

* Create @babel/helper-get-call-context package

* Support OptionalCallExpressions

* Use helper in optional chaining plugin, and move tests

* Update package.json files

* Use dot notation to access property

* Remove private method tests until future MR

* Update packages/babel-plugin-transform-spread/package.json

* Rename @babel/helper-get-call-context to @babel/helper-skip-transparent-expr-wrappers

* Handle typed OptionalMemberExpressions

* Make @babel/helper-skip-transparent-expr-wrappers a dependency

* Support TSNonNullExpressions

* Use named import instead of default

* Add test for call context when parenthesized call expression has type

* Improve handling of member expressions inside transparent expression wrappers

* Add comment explaining what a transparent expression wrapper is

* Add newlines to test fixtures

* Pass correct parameter type to skipTransparentExprWrappers

* Rename to babel-helper-skip-transparent-expression-wrappers

* Remove getCallContext helper

* Fixed exports key

* Preserve types in babel-plugin-transform-spread tests

* Use external-helpers to avoid inlining helper functions in tests

Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2020-07-30 14:17:37 -04:00
Ujjwal Sharma
2ac49ba7c4
add support for logical assignments with private properties (#11702)
* add support for logical assignments with private properties

Patches the logic for handling assignment operators and adds support for
handling the logical assignment operators appropriately.

Fixes: https://github.com/babel/babel/issues/11646

* replace hardcoded logical assignment operators with constant

Replace a hardcoded check for logical assignment operators with the
LOGICAL_OPERATORS constant in
plugin-proposal-logical-assignment-operators.

Refs: https://github.com/babel/babel/pull/11702#discussion_r438554423
2020-07-30 14:10:16 -04:00
James C. Davis
aa82ab6358
Typescript: always strip declare from class fields (#11747)
* test: add failing test for decorated declare

* fix: always strip declare from class fields

* test: add decorated-declare-properties test
2020-07-30 14:06:45 -04:00
Huáng Jùnliàng
0e4cf1e6a2
chore: build standalone once in prepublish step (#11777) 2020-07-30 12:54:56 -04:00