159 Commits

Author SHA1 Message Date
Henry Zhu
1271d2cd52 Merge pull request #3380 from babel/unary-arrow
Fix: Add parens for unary arrow function
2016-02-29 12:18:12 -05:00
Henry Zhu
ec3c183668 Fix: Add parens for unary arrow function
Fixes T7157
2016-02-28 21:56:22 -05:00
Henry Zhu
35ed18f628 Fix invalid codegen for non decimal numeric literals in MemberExpression
Fixes T7156
2016-02-28 20:34:45 -05:00
Jason
28ca3f7f3a [generator] bug fix
- Fix Whitespace with empty token list
- Force a newline for line comments in concise mode
2016-02-17 13:01:54 +08:00
Henry Zhu
4e619db873 Merge pull request #3324 from zjmiller/master
Parenthize "in" in for-loop init, even when init has nested for-loop
2016-02-05 15:50:11 -05:00
Zachary Miller
33b4ef5d52 Parenthize "in" in for-loop init, even when init has nested for-loop 2016-02-05 14:28:01 -06:00
Jeff Morrison
e6951e99f0 Add support for leading pipes in Flow type alias RHS syntax 2016-02-05 13:23:55 -05:00
Henry Zhu
f8036c7230 Merge pull request #3311 from babel/object-body
[T7047] Consider arrow functions when parenthesizing object expressions
2016-02-04 14:44:22 -05:00
Amjad Masad
3d3b30eb45 [T7047]Consider arrow functions when parenthesizing object expressions 2016-02-02 16:26:31 -08:00
Rob Colburn
7b1b876dc2 Ensure that we do not break mutli-byte handling 2016-01-22 12:13:18 -08:00
Amjad Masad
0d9459dbb6 Fix minified labeledStatement printing
Unary expressions with alphabetic operators like 'void' were being
squished next to the statement.
2016-01-12 17:28:46 -08:00
Amjad Masad
17ea5cd916 Fix failing test 2016-01-06 17:50:17 -08:00
Amjad Masad
139503e86f Parenthesize await/yield expression in binary expr 2016-01-06 17:35:39 -08:00
Amjad Masad
ec983b276e add assignment expression parentheses test 2016-01-06 16:03:45 -08:00
Amjad Masad
e79c625091 Merge pull request #3229 from hzoo/T6913
Add a check for parentheses for AwaitExpressions (fixes T6913)
2016-01-06 14:22:54 -06:00
Sam Goldman
17d19a0056 Add export interface Flow syntax support
An interface export is just like a type export. In fact, it's a syntax affordance which makes the following equivalent:

```javascript
interface I_ { ... }
export type I = I_;
```

```javascript
export interface I { ... }
```

See facebook/flow#1145
2016-01-05 15:57:45 -08:00
Henry Zhu
cf41c321af Don't overparenthesize, add yield tests 2016-01-05 18:12:25 -05:00
Sam Goldman
26c97c4069 Add support for "declare interface" Flow syntax
This has been a feature in Flow for a long time (couldn't easily find a
specific commit adding this). Interfaces are basically undocumented, though, so
it's easy to see how this was missed.
2016-01-04 11:50:12 -08:00
Sam Goldman
e764346d5f Add support for "declare type" Flow syntax
See facebook/flow#1105
2016-01-04 11:42:43 -08:00
Henry Zhu
ab2135bc9f Add a check for parentheses for AwaitExpressions (fixes T6913) 2016-01-04 08:31:07 -05:00
Amjad Masad
570b50c895 Merge pull request #3213 from babel/print-bugs
Fix various print inefficiencies/bugs
2015-12-27 18:28:27 -06:00
Sebastian McKenzie
5ca1cf0506 Merge pull request #3203 from samwgoldman/flow-mixins-6.x
Add support for mixins to Babel 6.x
2015-12-27 21:04:40 +00:00
Amjad Masad
5be9d9d8aa More tests 2015-12-27 01:59:24 -08:00
Amjad Masad
ed5a057e4e Fix various print inefficiencies/bugs 2015-12-27 01:24:19 -08:00
Amjad Masad
10c9d26983 Also use for object expressions 2015-12-24 15:01:46 -08:00
Amjad Masad
0d8e5a9e86 Fix over-parenthesizing of function expressions 2015-12-24 14:55:51 -08:00
Sam Goldman
bb874a4e46 Add babel-generator support for mixins to Babel 6.x 2015-12-23 16:26:29 -05:00
Sam Goldman
32c03222bf Add support for this type to Babel 6.x 2015-12-23 13:54:57 -05:00
Amjad Masad
959021dc70 Merge pull request #3190 from hzoo/remove-await-star
Remove await* from babel-generator, add parsing error to babylon - (fixes T6688)
2015-12-22 22:57:23 -08:00
Henry Zhu
276c98f7f0 Remove await* from babel-generator, add parsing error to babylon - (fixes T6688) 2015-12-19 23:15:09 -05:00
Henry Zhu
379be365d6 babel-generator: keep double quotes in StringLiteral for JSX parent (fixes T6859) 2015-12-19 22:12:41 -05:00
Amjad Masad
135e1e56ca Merge pull request #3182 from babel/arrow-fn
Parenthesize arrow function when part of logical or binary expression
2015-12-18 00:11:24 -08:00
Amjad Masad
c889ef4058 Parenthesize arrow function when part of logical or binary expression 2015-12-17 23:18:43 -08:00
Amjad Masad
47b686b6fa Handle nested if statements with alternates in printer
Previously we saw a bug that when we have nested if statements
and an alternate then the generated code may confuse which
if statement the alternate belongs to.

e.g.

```
if (foo) if (bar) bar(); else baz();
```

But this was handled by looking at the consequent
and if it's an if we add a block. However we didn't
handle situations where it's not an if but the last
recursive statement is an if:

```
if (foo) while (bar) if (baz) baz(); else shoosh()
```

This handles it by recurring until we get the last
statement.
2015-12-17 22:41:55 -08:00
voideanvalue
2ac8e836f5 [babel-generator] fix unhandled new-precedence edge case 2015-12-16 12:51:13 -08:00
Amjad Masad
178da2f59b var 2015-12-16 12:20:49 -08:00
Amjad Masad
320cede9be Fix invalid codegen for number member expr 2015-12-15 17:47:46 -08:00
Amjad Masad
007ef5cdbb Use the leftMost from the right to check if we need spaces in BinaryExpressions 2015-12-14 13:36:52 -08:00
Amjad Masad
07df8515b9 Parenthesize object expression when it could end up at the start of an expression T6811 2015-12-11 18:04:16 -08:00
Amjad Masad
cb03a98b65 Add minified format option
As a follow up from #3145 we agreed to add a new format that is a
superset of the compact format option. Do things that are considered
dangerous. e.g. not printing semicolons, or print literal values
as opposed to raw values.
2015-12-09 17:34:23 -08:00
Amjad Masad
4b99d18ea7 Only reprint in compact mode 2015-12-07 10:59:50 -08:00
Henry Zhu
6082ac8a59 skip nested new expressions 2015-12-05 14:19:31 -05:00
Henry Zhu
21f76655ad account for parent NewExpression with arguments 2015-12-05 13:37:06 -05:00
Henry Zhu
8a1ad5350c Merge pull request #3111 from amasad/new
No need for parens for new expressions without args
2015-12-05 13:33:23 -05:00
Amjad Masad
9c20ace184 Add support for null literal type 2015-12-03 23:58:25 -08:00
Amjad Masad
2efb677822 Add test cases with spaces 2015-12-01 10:47:25 -08:00
Amjad Masad
54a2a47030 Fix spacing in binary expression when right is a binary expression and has a unary on the left 2015-12-01 10:37:58 -08:00
Amjad Masad
486d781be3 Handle member expressions 2015-11-24 19:20:06 -08:00
Amjad Masad
f1f6c820fe Handle new X()() 2015-11-24 19:12:24 -08:00
Amjad Masad
d32fae6fcd No need for parens for new expressions without args 2015-11-24 19:07:03 -08:00