Sosuke Suzuki
d5ba355867
Support TypeScript 4.5 type-only import/export specifiers ( #13802 )
2021-10-29 01:23:23 +02:00
Huáng Jùnliàng
872086a9a0
feat: support startColumn option ( #13887 )
2021-10-29 01:20:32 +02:00
Nicolò Ribaudo
718c6cb7de
Handle .mts and .cts files in @babel/preset-typescript ( #13838 )
2021-10-29 01:13:37 +02:00
J. S. Choi
ad59a2c618
Caret topic (pipe operator) ( #13749 )
...
* parser: Add caret as topic reference (tests)
* parser: Add caret as topic reference (implement)
* generator: Avoid reconstructing validTopicTokenSet
* babel-parser: Remove redundant throws in expression.js
* Minimize diff
* Update error message
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2021-10-28 16:04:55 -04:00
Sosuke Suzuki
ddc45a5a50
Enable class static blocks by default ( #13713 )
...
* Remove classStaticBlock plugin
* Update tests
* Remove class static blocks from proposalPlugins
* Update tests
* Remove classStaticBlock from mapping for test262
* chore: update babel-types
Co-authored-by: Huáng Jùnliàng <jlhwung@gmail.com>
2021-10-28 14:39:04 -04:00
Nicolò Ribaudo
fb7ddf4d38
[ts] Support private methods overloads ( #13876 )
...
* [parser] Allow private methods overloads when parsing TS
* Add transform tests
* Fix estree
* Fix flow
2021-10-26 07:29:20 +02:00
Nicolò Ribaudo
62b2c5ebb9
Regenerate parser fixtures ( #13882 )
2021-10-24 18:12:10 +02:00
Mickey Rose
b5907ef967
remove executable permission from files that shouldn't have it ( #13873 )
2021-10-23 14:18:30 +02:00
Nicolò Ribaudo
64f14b05fa
Collect comments around parentheses in expressions ( #13803 )
...
Co-authored-by: Brian Ng <bng412@gmail.com>
2021-10-05 20:15:24 +02:00
Huáng Jùnliàng
178d43ff17
Tokenize keywords-like identifier as new tokens ( #13769 )
...
* refactor: add more identifier token helpers
* refactor: explode tt.name into multiple tokens
* fix: disallow escape in interface keyword
* refactor: simplify isMaybeDefaultImport
* review comments
* refactor: avoid string comparison
2021-09-23 10:54:44 -04:00
Nicolò Ribaudo
2e2d202694
[babel 8] Materialize ESTree's classFeatures option ( #13752 )
...
* [babel 8] Enable ESTree classFeatures by default in @babel/parser
* Fix `visitorKeys`
* Update tests
2021-09-22 15:28:10 -04:00
Huáng Jùnliàng
d2076a531f
Store token type as number ( #13768 )
...
* refactor: abstract token metadata access
* refactor: move token-specific update context logic
* refactor: centralize token definitions
* refactor: abstract token type creation
* refactor: use number as token storage
* build: replace tt.* as number
* fix flow errors
* fix: build on Node 12
* Update packages/babel-parser/src/tokenizer/types.js
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
* refactor: rename token types exports to tt
* update unit test
* test: update Babel 8 test fixtures
* fix: centralize obsolete token type updateContext
* fix flow errors
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2021-09-17 09:36:11 -04:00
JuniorTour
da79c90f2a
fix(babel-parser): Allow line break before assert return type ( #13771 )
2021-09-16 23:24:11 +02:00
Nicolò Ribaudo
710b3919fa
[estree] Fix conversion of PrivateName in MemberExpression ( #13755 )
...
* Update test
* [estree] Fix conversion of `PrivateName` in `MemberExpression`
2021-09-14 17:14:04 +02:00
Nicolò Ribaudo
3c3f5205c9
Fix right precedence of Hack pipes ( #13668 )
2021-09-08 17:38:07 +02:00
Sosuke Suzuki
c25ec3e069
[babel-parser] add tests for static blocks with line breaks ( #13734 )
2021-09-04 16:27:38 +02:00
Sosuke Suzuki
62e42a3f60
fix(babel-parser): Fix end of range of SequenceExpression ( #13731 )
2021-09-04 12:01:20 +02:00
Nicolò Ribaudo
44388e6e81
Disallow #a in #b in c and similar expressions ( #13727 )
...
* Disallow `#a in #b in c` and similar expressions
* Update packages/babel-parser/src/parser/expression.js
Co-authored-by: Huáng Jùnliàng <jlhwung@gmail.com>
* Add test for `await #x in`
* Flow
* Update flow allowlist
* Flow
Co-authored-by: Huáng Jùnliàng <jlhwung@gmail.com>
2021-09-04 10:05:09 +02:00
Sosuke Suzuki
a54f041440
test(parser): add no_plugin tests for module blocks ( #13714 )
2021-08-30 09:09:05 +02:00
Sosuke Suzuki
64d116bd6a
fix(parser): [Babel8] Align error codes between Flow and TypeScript ( #13294 )
...
* Align error codes between Flow and TypeScript
* Implement compat fallback in makeErrorTemplates
* Add tests
2021-08-28 22:41:54 +09:00
Sosuke Suzuki
b141c85b17
fix(babel-parser): delete static property from class static block for TS ( #13680 )
...
* Delete static modifier from static blocks node
* Update tests
* Address review
* Address review
* Add tests from review
* Add tests
2021-08-25 14:19:04 -04:00
Huáng Jùnliàng
976bfbbf69
fix: assure left bracket is not consumed after dot ( #13695 )
...
* fix: assure left bracket is not consumed after dot
* address review comments
2021-08-20 11:29:44 +02:00
Nicolò Ribaudo
9286cdb072
Re-enable disabled flow parser test ( #13661 )
2021-08-10 20:57:27 +02:00
doing-art
1229336fea
Fix parse error when using named import "as" with flow parser ( #13659 )
2021-08-10 20:55:21 +02:00
Nicolò Ribaudo
e721f61110
[flow] Fix parsing of arrows in conditional exprs in parens ( #13655 )
2021-08-10 20:46:38 +02:00
Nicolò Ribaudo
9d0aa1ec9d
Disallow <T>(a => b) when parsing Flow ( #13645 )
2021-08-10 19:09:23 +02:00
Nicolò Ribaudo
f9dcc4e4bb
Fix array destructuring elision parsing in TS arrow functions ( #13641 )
2021-08-05 21:47:30 +02:00
Yeonju Hwang
0671afcf87
[ts] support optional chain call with generic ( #13513 )
...
* support optional chain call with generic
* Add testcase handling new line
* allow only call if optional chain type parameter
* use exact error message
* add transform-typescript optional-chain call test
* use exact error message
* apply feedbacks
* Fix lint error
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2021-08-04 17:29:44 +02:00
Huáng Jùnliàng
d5b0d9e33d
Add attachComment parser option to disable comment attachment ( #13229 )
2021-08-04 17:04:22 +02:00
Nicolò Ribaudo
ddaf0d4296
Enable top-level await parsing by default ( #13387 )
2021-08-04 00:00:04 +02:00
Federico Ciardi
c35637e247
feat(ts): raise error for abstract property with initializer ( #13523 )
...
* feat: raise error for abstract property with initializer
* Improve tests
* Address review
* JLHwung review
* Update packages/babel-parser/src/plugins/typescript/index.js
* update test fixtures
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
Co-authored-by: Huáng Jùnliàng <jlhwung@gmail.com>
2021-08-03 23:50:27 +02:00
J. S. Choi
35e4e1f067
Hack-pipe proposal with % topic token ( #13416 )
...
Co-authored-by: Federico Ciardi <fed.ciardi@gmail.com>
2021-08-03 23:30:16 +02:00
J. S. Choi
cd4b3fbffe
parser: Fix Hack/smart-pipe error positions ( #13426 )
2021-08-03 23:30:16 +02:00
J. S. Choi
6276853eb9
Add support for the "Hack" pipeline proposal ( #13191 )
...
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2021-08-03 23:30:16 +02:00
Nicolò Ribaudo
a254ea38a4
Enable ergonomic brand checks (#priv in) by default ( #13554 )
...
* Enable ergonomic brand checks by default in `@babel/parser`
* Enable ergonomic brand checks by default in `preset-env`
* Fix error position
* Update Babel 8 tests
2021-08-03 23:02:17 +02:00
Oleksandr T
b3ab4769d0
fix(ts): raise error for export default interface {} ( #13622 )
2021-08-02 18:16:01 +02:00
Nicolò Ribaudo
4a56387330
ts: Check if param is assignable when parsing arrow return type ( #13581 )
2021-07-26 17:58:10 +02:00
overlookmotel
dd942f92af
fix: parser strictMode option ( #13548 )
2021-07-20 10:42:04 -04:00
Nicholas Eveland
2c6db56696
Allow module block to start a member expression ( #13573 )
...
* Accept module in primaryExpression
* Add module blocks to primaryExpression
* Fix package.json
* Fix yarn.lock
* Fix yarn.lock
* Remove package.tgz file
2021-07-19 17:29:23 -04:00
Huáng Jùnliàng
6e57617138
Fix await binding error within static block ( #13088 )
...
* fix: allow await within SCOPE_FUNCTION under static block
* perf: scan scopeStack for once
* add new test case
* chore: update allowlist
2021-07-16 10:35:19 -04:00
Huáng Jùnliàng
79d3276f61
Overhaul comment attachment ( #13521 )
...
* refactor: inline pushComment
* chore: add benchmark cases
* perf: overhaul comment attachment
* cleanup
* update test fixtures
They are all bugfixes.
* fix: merge HTMLComment parsing to skipSpace
* perf: remove unattachedCommentStack
baseline 128 nested leading comments: 11_034 ops/sec ±50.64% (0.091ms)
baseline 256 nested leading comments: 6_037 ops/sec ±11.46% (0.166ms)
baseline 512 nested leading comments: 3_077 ops/sec ±2.31% (0.325ms)
baseline 1024 nested leading comments: 1_374 ops/sec ±3.22% (0.728ms)
current 128 nested leading comments: 11_027 ops/sec ±37.41% (0.091ms)
current 256 nested leading comments: 6_736 ops/sec ±1.39% (0.148ms)
current 512 nested leading comments: 3_306 ops/sec ±0.69% (0.302ms)
current 1024 nested leading comments: 1_579 ops/sec ±2.09% (0.633ms)
baseline 128 nested trailing comments: 10_073 ops/sec ±42.95% (0.099ms)
baseline 256 nested trailing comments: 6_294 ops/sec ±2.19% (0.159ms)
baseline 512 nested trailing comments: 3_041 ops/sec ±0.8% (0.329ms)
baseline 1024 nested trailing comments: 1_530 ops/sec ±1.18% (0.654ms)
current 128 nested trailing comments: 11_461 ops/sec ±44.89% (0.087ms)
current 256 nested trailing comments: 7_212 ops/sec ±1.6% (0.139ms)
current 512 nested trailing comments: 3_403 ops/sec ±1% (0.294ms)
current 1024 nested trailing comments: 1_539 ops/sec ±1.49% (0.65ms)
* fix: do not expose CommentWhitespace type
* add comments on CommentWhitespace
* add test case for #11576
* fix: mark containerNode be the innermost node containing commentWS
* fix: adjust trailing comma comments for Record/Tuple/OptionalCall
* fix: drain comment stacks in parseExpression
* docs: update comments
* add a new benchmark
* chore: containerNode => containingNode
* add more benchmark cases
* fix: avoid finishNodeAt in stmtToDirective
* finalize comment right after containerNode is set
* add testcase about directive
* fix: finish SequenceExpression at current pos and adjust later
* chore: rename test cases
* add new test case on switch statement
* fix: adjust comments after trailing comma of function params
* add comment attachment design doc
* misc fix
* fix: reset previous trailing comments when parsing async method/accessor
* chore: add more comment testcases
* fix flow errors
* fix: handle comments when parsing async arrow
* fix: handle comments when "static" is a class modifier
* fix flow errors
* fix: handle comments when parsing async function/do
* refactor: simplify resetPreviousNodeTrailingComments
* update test fixtures
2021-07-07 11:51:40 -04:00
Huáng Jùnliàng
8a3e0fd960
Async do expression should start at async ( #13534 )
2021-07-07 00:09:34 -04:00
Huáng Jùnliàng
bfd2f8f4b1
fix: disallow computed async/get/set keyword ( #13531 )
2021-07-07 00:25:57 +02:00
Federico Ciardi
9bad558d13
[babel 8] Use an identifier for TSTypeParameter.name ( #12829 )
2021-07-02 10:44:49 +02:00
Tony Gorez
b0fe6bdbc3
chore(parser): add test to handle optional paramteter in async call ( #13504 )
...
* chore(parser): add test to handle optional paramteter in async call
* chore(parser): add flow test
* chore(parser): add ts test
2021-06-23 11:11:06 -04:00
Sosuke Suzuki
0eb2853732
[ts] Support override modifiers for parameter properties ( #13428 )
2021-06-10 22:29:38 +02:00
Huáng Jùnliàng
b1fe831e4a
fix: disallow JSX tag after non-null assertion ( #13449 )
2021-06-10 15:07:47 -04:00
Huáng Jùnliàng
d3f4c22c28
update test fixtures ( #13440 )
...
* update test fixtures
* chore: typo
2021-06-09 11:48:29 -04:00
Huáng Jùnliàng
b9c1884a58
Reduce exprAllowed usage ( #13431 )
2021-06-09 16:36:09 +02:00
Federico Ciardi
a64d08c101
fix(parser): correctly parse record and tuple tokens ( #13418 )
...
* fix(parser): correctly parse token location for `#{` and `#[`
* fix: `bar` tokens
* fix: don't parse record and tuple pipe closing tokens as operators
2021-06-08 20:58:48 -04:00