Stuart Cook
68bc4dfd31
Print parentheses around identifier let where necessary ( #13269 )
2021-05-06 21:10:45 +02:00
Stuart Cook
fa01fbe052
Parse for await (async of ...) ( #13244 )
2021-05-01 18:00:21 +02:00
Huáng Jùnliàng
28d7442aae
Parse async do expressions ( #13043 )
...
* parse async do expressions
* add test cases
* update test fixtures
* chore: add syntax-async-do-expressions
* generater support
* fix: do not transform async do expressions
* chore: add asyncDoExpressions to missing plugin helpers
* update ast types
* add more test cases
* throw when asyncDoExpressions is enabled but not doExpressions
* avoid add parentheses for async do expressions
* address review comments
* chore: update parser typings
2021-04-28 18:26:01 +02:00
Nicolò Ribaudo
22b0eb038f
[ts] Enforce order for the override modifier ( #13209 )
...
* [ts] Enforce order for the `override` modifier
* generator
* Add more checks
* Update TS tests
2021-04-28 18:21:31 +02:00
George Zahariev
8433cd0c05
Support parsing Flow's Optional Indexed Access Types ( #13224 )
2021-04-28 18:21:31 +02:00
Sosuke Suzuki
7484b51e56
Support TS 4.3 get/set type members ( #13089 )
...
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2021-04-28 18:21:31 +02:00
Pig Fang
bf14a106ad
Support TS 4.3 override syntax in class ( #13097 )
...
* support TS 4.3 `override` syntax in class
* fix types
* fix types
* tweak error message
* update TypeScript commit
* split tests
* add more tests
* update allowlist
* disallow `override` with `declare`
* disallow `override` in non-sub class
* update TypeScript allowlist
* rename error message key
* add more tests
2021-04-28 18:21:31 +02:00
Sosuke Suzuki
f8aa32f767
Support parsing Flow's Indexed Access Types ( #13053 )
2021-04-28 18:21:31 +02:00
Pig Fang
eac0259ce2
Support TS 4.3 static index signature in classes ( #13096 )
2021-04-28 18:21:31 +02:00
Stuart Cook
026e7f5a95
Prevent ForOfStatement from printing the forbidden sequence "for ( async of" ( #13208 )
2021-04-26 11:34:10 -04:00
Stuart Cook
3d4b801bb9
Simplify the special-case printing of single-param arrow functions ( #13204 )
...
* Simplify the special-case printing of single-param arrow functions
* Update test fixtures with single-param arrow functions
* Add some explicit snapshot tests for known edge-cases
2021-04-26 10:26:45 -04:00
Jason
66181dbe37
fix: don't deduplicate comments with same start index ( #13169 )
2021-04-21 15:57:57 +02:00
Nathan Walters
30f93b36a2
Fix printing of single-param async arrow function with comments ( #13136 )
...
* Fix printing of async arrow function with a single param and comments
* Add OVERWRITE support to generator tests
2021-04-12 10:10:02 -04:00
Michael サイトー 中村 Bashurov
d05fdbc3c7
Fix invalid print output when empty array is passed to t.tsInterfaceDeclaration ( #12921 )
...
If you pass an empty array as `extends` in `t.tsInterfaceDeclaration` you'll get an invalid code printed
```ts
t.tsInterfaceDeclaration(
t.identifier('x'),
undefined,
[],
t.tsInterfaceBody([])
)
```
You will get
```ts
interface A extends {}
```
Which is an invalid TS, this PR fixes that
2021-03-01 10:43:24 -05:00
Michael サイトー 中村 Bashurov
4c343ac853
Allow nullish extends in interfaceish ( #12920 )
...
* Allow nullish extends in interfaceish
Otherwise code such as
```ts
t.interfaceDeclaration(
t.identifier('id'),
undefined,
undefined,
t.objectTypeAnnotation([])
)
```
Will fail when priting with ` TypeError: unknown: Cannot read property 'length' of null`
Despite nullish values being allowed in `t.interfaceDeclaration` definitions
* Update packages/babel-generator/src/generators/flow.ts
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2021-03-01 10:42:40 -05:00
Siddhant N Trivedi
507ad63140
[babel 8] Remove the Noop node type ( #12361 )
...
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2021-02-21 21:59:53 +01:00
Sosuke Suzuki
9c567baa9b
Parse JS Module Blocks proposal ( #12469 )
2021-02-21 20:08:20 +01:00
Sosuke Suzuki
e4588bed22
Support TypeScript 4.2 abstract constructor signatures ( #12628 )
...
Co-authored-by: Huáng Jùnliàng <jlhwung@gmail.com>
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2021-02-21 20:07:55 +01:00
George Zahariev
5b99b8f221
Flow Enums with unknown members support ( #12193 )
...
* Flow Enums with unknown members parsing
* Updates after rebase
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2021-02-21 18:42:23 +01:00
Daniel Sainati
16e9f1c8e5
Support Flow this parameter annotations ( #12234 )
2021-02-21 17:44:27 +01:00
Nicolò Ribaudo
77d46bcb1a
Respect the jsescOption.minimal generator option ( #12755 )
2021-02-04 16:45:02 +01:00
Bogdan Savluk
9ac36b136a
convert @babel/generator to TypeScript ( #12487 )
...
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2021-01-27 19:21:07 +01:00
Huáng Jùnliàng
446c70c6c3
fix: avoid line breaks between class members head and key ( #12653 )
2021-01-24 02:06:01 +01:00
Huáng Jùnliàng
cd090e9842
[babel 8] Output minimal strings by default ( #12675 )
...
Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
Co-authored-by: Justin Ridgewell <jridgewell@google.com>
2021-01-23 22:50:07 +01:00
Nicolò Ribaudo
e8176de528
[babel 8] Remove the jsonCompatibleStrings option ( #12477 )
...
Co-authored-by: Tan Li Hau <tanhauhau@users.noreply.github.com>
2020-12-10 18:14:13 +01:00
Brian Ng
7018ed6e46
Fix printing BigIntLiterals/DecimalLiterals with compact option ( #12424 )
2020-11-30 20:18:57 -06:00
Huáng Jùnliàng
ea2892fefc
add declare to class properties type annotations ( #12257 )
...
* add declare to class properties type annotations
* chore: use preset-flow
2020-10-27 10:05:01 -04:00
Ian Craig
87a30524f6
Correctly indent multiline comments when retainLines: true ( #12260 )
2020-10-27 12:46:25 +01:00
Sosuke Suzuki
faaebfe91f
Support Import Assertions for re-export statement ( #12249 )
2020-10-26 15:18:45 +01:00
Sven Sauleau
af8e0facc1
Parse import-assertions ( #12139 )
...
Co-authored-by: Huáng Jùnliàng <jlhwung@gmail.com>
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2020-10-14 21:18:16 +02:00
Huáng Jùnliàng
3ccca88178
Parse class static block ( #12079 )
...
Co-authored-by: Brian Ng <bng412@gmail.com>
2020-10-14 21:16:24 +02:00
Brian Ng
6830c90ac9
Support TypeScript mapped type 'as' clauses ( #12129 )
2020-10-14 20:16:22 +02:00
Nicolò Ribaudo
9f40d6fcd0
[ts] Add support for the "intrinsic" keyword ( #12147 )
2020-10-14 20:15:17 +02:00
Brian Ng
3ba1ece0ce
Fix printing TSTypeOperator ( #12114 )
2020-09-28 11:01:13 -05:00
overlookmotel
1a074ee7e6
Ensure expressions wrapped in parens ( #12082 )
2020-09-25 15:58:04 -05:00
Ananda Umamil
af612db8c3
Fix @babel/generator does not print decorators of private properties ( #12081 )
2020-09-25 08:16:28 -05:00
Justin Ridgewell
f49234aa69
Add sourcemap markings for each line of a string ( #12086 )
...
* Add sourcemap markings for each line of a string
Fixes https://github.com/babel/babel/issues/12083
* Fix for multiple newlines
* Optimize with indexOf
* Comment explaining newline search
2020-09-22 21:36:21 -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
Nicolò Ribaudo
eba4c3b6ed
TypeScript 4.0: Support labeled tuple elements ( #11754 )
...
* TypeScript 4.0: Support labeled tuple elements
* More tests
* Disallow mixing labeled and unlabeled elements
* Update AST shape
* Enable test after rebase
* Allow labeled spread types
* Fix flow
* Add types and generator suport
* Update packages/babel-parser/src/plugins/typescript/index.js
* Prettier
2020-07-29 16:51:48 -04:00
Huáng Jùnliàng
9e6663f125
Follow-up on initial TS4 catch param support ( #11767 )
...
* refactor: align with AST shape convention
* feat: print catch param type annotations
* test: add test case on transform
2020-07-29 16:51:48 -04:00
Huáng Jùnliàng
059e9124ff
Add decimal parsing support ( #11640 )
...
* docs: add DecimalLiteral to AST spec
* add decimal support
* fix: throw invalid decimal on start
* add DecimalLiteral type definitions
* update parser typings
* add generator support
* add syntax-decimal plugin
* Add syntax-decimal to babel-standalone
* add syntax-decimal to missing plugin helpers
* fix incorrect test macro
2020-07-29 16:43:15 -04:00
Joshua Ohlman
e12caf4f69
Always retain lines for async arrow ( #11836 )
2020-07-15 22:48:08 +02:00
James Addison
3e55270135
Reduce dependency on lodash functions: includes, uniq, repeat, isinteger ( #11790 )
...
* Replace lodash 'includes' usage with Array.prototype.includes
* Replace lodash 'values' usage with Object.values
* Replace lodash 'uniq' usage with Array.from(new Set(...))
* Property safety: ensure that ignoreSuites/ignoreTasks are populated prior to access
* Property safety: ensure that blacklistTypes is populated prior to access
* Revert "Replace lodash 'values' usage with Object.values"
This reverts commit 9fd3679d6db03066daee09fad0050e5292a32aa1.
* Replace lodash 'repeat' usage with String.prototype.repeat
* Replace lodash 'isinteger' usage with Number.isInteger
* Remove explicit lodash dependency from babel-generator package
* Update packages/babel-helper-transform-fixture-test-runner/src/index.js
Co-authored-by: Brian Ng <bng412@gmail.com>
* Rely on optional chaining operator as sole boolean check
* Handle additional optional chaining operator simplification
* Update type signature
Co-authored-by: Brian Ng <bng412@gmail.com>
2020-07-06 09:27:41 +02:00
Bogdan Savluk
4108524856
Update prettier to v2 ( #11579 )
...
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2020-06-07 22:21:33 +02:00
Huáng Jùnliàng
5b24d79875
fix: add bigIntSuffix to minified output ( #11645 )
2020-05-29 22:09:20 +02:00
Brian Ng
d7d36a6c25
Add support for printing ImportAttribute ( #11641 )
2020-05-29 08:49:38 -05:00
Nicolò Ribaudo
31b361b736
Use ?. where it represents the intended semantics ( #11512 )
2020-05-09 23:31:50 +02:00
Bogdan Savluk
96ccf56436
add support for getters and setters in generator for declare class statement ( #11502 )
2020-04-30 09:47:42 +02:00
Nicolò Ribaudo
ce6cc4eb55
Unify parens printing for postfix-like expressions ( #11382 )
...
* Unify parens printing for postfix exprs: (), [...], !
* Also move template tags handling
* Add tagged template test
* isPostfixExpression -> hasPostfixPart
2020-04-07 21:36:35 +02:00
Huáng Jùnliàng
8e7ef30968
polish: align optional chain whitespace behavior to their sibiling ( #11328 )
2020-03-24 15:52:36 -04:00