66 Commits

Author SHA1 Message Date
Logan Smyth
4dcec860bd Drop trailing whitespace after all newlines. 2016-07-17 21:51:01 -07:00
Logan Smyth
0e05e9f216 Rely on .space and .newline behavior instead of explicit format checks. 2016-07-17 12:39:22 -07:00
Logan Smyth
d6b1e36d49 Make the 'catchUp' call implicit to source location updates. 2016-07-04 22:49:58 -07:00
Sam Pepose
7d83147e16 Added semicolon 2016-06-22 21:21:53 -07:00
Sam Pepose
199a612131 Fixed incorrect printing of array of nullable flow type 2016-06-22 20:33:43 -07:00
Logan Smyth
df2c3f3d25 Use the common space helper everywhere to ensure we get the smallest output possible. 2016-06-16 22:00:24 -07:00
Logan Smyth
5c74ebb87e Remove unneeded space check. 2016-06-16 22:00:24 -07:00
Logan Smyth
3e1a661eb6 Use the general list handlers and the default separator. 2016-06-16 20:31:19 -07:00
Logan Smyth
efea2c19f2 Add more tests for minified output. 2016-06-16 20:31:19 -07:00
Henry Zhu
b567c02413 generator tests 2016-06-10 18:05:54 -04:00
Logan Smyth
256c0100cb Wrap parens around default exports starting with function/class - fixes T7136 2016-03-12 15:31:16 -08:00
Sam Goldman
a38a58bad8 Add support for Flow def-site variance syntax
This syntax allows you to specify whether a type variable can appear in
a covariant or contravariant position, and is super useful for, say,
Promise.

Right now this is hacked in jankily, but in the next major release we
should stop using Identifier nodes for type parameters.
2016-03-06 14:44:09 -08:00
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
c889ef4058 Parenthesize arrow function when part of logical or binary expression 2015-12-17 23:18:43 -08:00
voideanvalue
2ac8e836f5 [babel-generator] fix unhandled new-precedence edge case 2015-12-16 12:51:13 -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