68 Commits

Author SHA1 Message Date
Daniel Tschinder
9d2d499760
Replace lodash/map with array equivalent (#7550)
* Replace lodash/map with array equivalent

* Fix review comments
2018-03-12 11:03:03 +01:00
Nicolò Ribaudo
18c8d97c3d
UpdateExpressions as callees must be parenthesized (#6922) 2017-11-27 23:31:24 +01:00
Brian Ng
881fc14329
Add handling parens for extends clause in generator (#6897) 2017-11-27 12:08:35 -06:00
Benedikt Meurer
ffe4301fe2 Fix property lookup on booleans in needsWhitespace. (#6584)
The code

```js
linesInfo && linesInfo[type]
```

performs a lot of dynamic lookups on the `Boolean.prototype`, as the
*ToBoolean* operation let's `true` pass for `linesInfo` (which might
itself be concerning that this can be a boolean). Instead of the
coercion, the code should properly check for valid objects via `typeof`
and strict equality with `null` comparison.

This is a non-breaking performance fix.
2017-10-28 20:16:48 -04:00
Henry Zhu
cde0054227 Scoped: change src imports to @babel/ [skip ci] 2017-10-16 22:49:56 -04:00
Brian Ng
832408e85d Fix generator missing parens on Flow union types (#6334) 2017-09-29 14:43:38 -04:00
Brian Ng
7f390b0282 Make terminator paren comment check more strict (#5651) 2017-09-15 11:06:24 -07:00
Andy
c1d07fd6db babel-generator: Add TypeScript support (#5896)
* babel-generator: Add TypeScript support

* Remove type declarations; not published from babylon

* Remove TODOs

* Consistently use `this.word` for tokens that are words
2017-07-28 16:07:05 -04:00
Daniel Tschinder
b3372a572d Remove whitespace generation (#5833)
* Remove whitespace generation and rely on default printing

Changes to printing:
* Add newline after last empty SwitchCase
* Add newlines around block comments if they are non-flow comments or contain newlines

* Fix a few more fixtures
2017-06-27 21:57:02 -05:00
Brian Ng
e4b35f680d
Run prettier 2017-06-27 12:15:00 -05:00
Brian Ng
cce83a0cea Fix parens issues with exponentiation in generator (#5830) 2017-06-09 11:10:16 -04:00
Nicolò Ribaudo
b0524427c1 Wrap an arrow function in parentheses if it the test of a conditional expression (#5820)
* Wrap an arrow function in parentheses if it the test of a conditional expression

Fixes #5819

* Use ConditionalExpresion to check if () => {} should be wrapped

* Move `t.isTaggedTemplateExpression()` from ArrowFunctionExpression to
  ConditionalExpresion

* [test] `await (() => {})` needs the parentheses

* [test] (a ? b : c)`` needs the parentheses
2017-06-05 12:39:28 -04:00
Aaron Ang
3d987ed6c0 Keep parentheses for logical expression when in await expression (fix #5428) (#5433) 2017-03-09 09:13:53 -05:00
Artem Gurzhii
6888a2c51b Code refactoring for the babel-generator (#5344)
* refactoring code for babel-generator package

* removing spaces and refactoring if statement

* fixing warnings
2017-03-07 16:41:49 -05:00
Brian Ng
8a82cc060a Run new lint rules (#5413) 2017-03-04 10:46:01 -05:00
Henry Zhu
3ff77a61e4 Update babylon beta 3 (#5394)
* Update babylon to v7-beta.3

* convert RestProperty/SpreadProperty to RestElement/SpreadElement

* add virtual types to make it easier to upgrade
2017-02-28 16:58:19 -05:00
Henry Zhu
d33d023594 Merge remote-tracking branch 'origin/master' into merge-master 2017-02-23 18:54:15 -05:00
Zachary Miller
6614a63b3b Wrap some generated do expressions in parens (#5339) 2017-02-22 07:50:58 -05:00
Logan Smyth
4ee385e96c Avoid usage of exports/module.exports/require(). 2017-02-21 16:52:42 -08:00
Erik Desjardins
e9d7757433 Emit parens for await (but not yield) of ternary expressions (#5270) 2017-02-06 09:06:48 -08:00
Brian Ng
b69dc51be0 Fix missing parens when function expressions is tag (#5193) 2017-01-23 08:45:57 -08:00
Brian Ng
8c35b320d3 Bump eslint-config-babel and fix lint (#5129) 2017-01-17 10:51:16 +01:00
Andres Suarez
658f13e030 Replace uses of "lodash/each" with native equivalents 2017-01-15 13:54:54 -08:00
Andres Suarez
2bee765e6b Replace lodash is* with equivalent typeof check 2017-01-15 13:53:58 -08:00
Henry Zhu
672adba9a1 enable prefer const (#5113) 2017-01-14 09:48:52 -05:00
Bruno Jouhier
f9ccee9d83 fixed babel/babel#4632 - missing parentheses around yield expression … (#4633)
* fixed babel/babel#4632 - missing parentheses around yield expression in conditional test

* babel/babel#4632 - added test
2016-10-01 12:58:59 -04:00
Logan Smyth
5de7433147 Avoid calls to isUserWhitespacable by explicitly marking statement lists. 2016-07-17 21:51:00 -07:00
Sam Pepose
3ee06187d5 Fixed incorrect newlines with Flow object types (#3548) 2016-06-23 20:38:05 -04:00
Jordan Klassen
dc1f40540d Upgrade to lodash 4 (#3315)
* Upgrade to lodash 4

* Fix incorrect require in babel-runtime/scripts

* Replace cloneDeep with cloneDeepWith where applicable
2016-05-13 17:15:14 -04:00
Logan Smyth
eb455dff85 Pre-expand type aliases for fast lookup. 2016-04-19 19:36:10 -07:00
Logan Smyth
256c0100cb Wrap parens around default exports starting with function/class - fixes T7136 2016-03-12 15:31:16 -08:00
Amjad Masad
2fbe28cc88 Remove remaining @flow annotations 2016-03-03 15:10:59 -08:00
Amjad Masad
12ee11a0a4 Revert "Remove Flow annotations and pragmas"
This reverts commit 4252244d06b225ab26a02d52c04f9940a3e4d6a2.
2016-03-03 15:03:55 -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
Sam Goldman
5167d001c5 Remove @noflow as well 2016-02-28 13:25:36 -10:00
Sam Goldman
4252244d06 Remove Flow annotations and pragmas 2016-02-28 13:18:57 -10:00
Amjad Masad
bcc32da0d9 Merge pull request #3316 from forivall/babel-generator-simplify-node
Simplify babel-generator/node/index.js
2016-02-04 14:10:16 -08: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
Henry Zhu
c2d7e95e1a add some more flow types 2016-02-04 11:07:03 -05:00
Jordan Klassen
8fd329a2f4 Remove "Node" class from generator, just use module
The Node class was unused as a class
2016-02-03 16:51:10 -08:00
Amjad Masad
3d3b30eb45 [T7047]Consider arrow functions when parenthesizing object expressions 2016-02-02 16:26:31 -08:00
Amjad Masad
139503e86f Parenthesize await/yield expression in binary expr 2016-01-06 17:35:39 -08:00
Amjad Masad
6abee425d3 Revert "babel-types: add Binary alias to AssignmentExpression definition (fixes T6887)"
This was causing problems with parenthesizing assignment expression
This reverts commit b5cf529d6b342b3dd8dd49c50cc9cd5fed4fc5a7.
2016-01-06 15:59:39 -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
Henry Zhu
cf41c321af Don't overparenthesize, add yield tests 2016-01-05 18:12:25 -05:00
Henry Zhu
ab2135bc9f Add a check for parentheses for AwaitExpressions (fixes T6913) 2016-01-04 08:31:07 -05:00
Henry Zhu
b5cf529d6b babel-types: add Binary alias to AssignmentExpression definition (fixes T6887) 2016-01-01 14:44:28 -05: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