Justin Ridgewell
4ca686b7be
Fix relative execution location introspection ( #5741 )
...
So, I was reading the new Flow type strictness and noticed
https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/
Specifically, I wondered whether the `sum_all` example would copy the
arguments into an array, then loop over. Sadly, it does.
```js
function sum_all(...rest) {
let ret = 0;
for (let i = 0; i < rest.length; i++) { ret += rest[i]; }
return ret;
}
// output
function sum_all() {
var ret = 0;
for (var _len = arguments.length, rest = Array(_len), _key = 0; _key < _len; _key++) {
rest[_key] = arguments[_key];
}
for (var i = 0; i < rest.length; i++) { ret += rest[i]; }
return ret;
}
```
But then I noticed if I changed `let i = 0` to `let i: number = 0`, it
worked directly on `arguments`. That lead me down a rabbit hole to
`Path#_guessExecutionStatusRelativeTo`. When tracing through, the last
comparison made no sense to me. It was trying to find the index of
`"init"` in a list of `["declarations"]` and `"body"` in `["directives",
"body"]`. Red flags and such.
But it makes sense when you're trying to compare the visitor order of
the common ancestor path. Then we're trying to find `"init"` in a list
of `["init", "test", "update", "body"]`. Oh, and there's `"body"` in
there too! And now we know the `ForStatement`'s `init` is executed
before the `body`.
2017-08-14 22:22:18 -04:00
Henry Zhu
79f4956948
v7.0.0-alpha.19
2017-08-07 18:21:08 -04:00
Henry Zhu
47a9ba3440
Merge pull request #6051 from babel/5709-2
...
Rewrite parameter transform and drop _blockHoist reliance
2017-08-04 18:55:23 -04:00
Henry Zhu
a1debae8f0
babylon beta.19 ( #6053 )
2017-08-04 14:46:12 -04:00
Logan Smyth
8e19a5b057
Update param scope values when expanding parameters.
2017-08-03 20:56:24 -05:00
Henry Zhu
79c6814d65
v7.0.0-alpha.18
2017-08-03 18:20:36 -04:00
Sarup Banskota
75808a2d14
Prevent getFunctionParent from returning Program ( #5923 )
2017-08-02 16:30:33 -05:00
Henry Zhu
0f823beeb1
Newlines in fixtures ( #6044 )
...
* write newlines for fixtures
* rerun fixtures
2017-08-02 15:35:29 -04:00
Jimmy Jia
2dba910b9e
Merge branch '6.x'
2017-07-29 12:20:18 -04:00
Henry Zhu
9322fd0458
v7.0.0-alpha.17
2017-07-26 08:38:44 -04:00
Henry Zhu
f01438e9b1
update devdeps to latest, update babylon ( #6012 )
...
* temporary flow strip measure
2017-07-26 07:57:49 -04:00
Henry Zhu
7f1cd44d60
v7.0.0-alpha.16
2017-07-25 17:35:35 -04:00
MarckK
9fc910d8c0
Add optionality to catch bindings ( #5956 )
2017-07-25 09:38:48 -05:00
Peeyush Kushwaha
2225892348
Use first binding for multiple var declarations ( #5745 )
...
* Use first binding for multiple var declarations
Since var declarations after initial binding have no effect, use the
first declaration. Fixes #2378
* Include hoisted function bindings
* Missing newline in expected.js
* Simplify constantViolations in new Binding on existing
* clarify comment language
2017-07-24 14:43:17 -04:00
Daniel Tschinder
b9ed9919c1
Update globals to v10 ( #5993 )
2017-07-23 09:21:08 -04:00
Justin Ridgewell
8a98141b60
Fix a few type inferences ( #5835 )
2017-07-20 11:38:12 -04:00
Marcus Cavanaugh
fe13ba8fc2
Remove unused functions from renamer.js. ( #5965 )
2017-07-20 11:19:10 -04:00
Justin Ridgewell
63204ae51e
Remove maybePopFromStatements ( #5945 )
...
It prevented you from pushing into the `params` of a function.
```js
fnpath.pushContainer("params", t.identifier("memo"))
```
2017-07-18 14:55:33 -04:00
Justin Ridgewell
28ae47a174
Stop mutating nodes ( #5963 )
...
* Stop mutating nodes
* Update tests
* linting
2017-07-18 13:24:07 -04:00
Henry Zhu
a0f0411abf
v7.0.0-alpha.15
2017-07-11 23:35:22 -04:00
Henry Zhu
03f249430a
v7.0.0-alpha.14
2017-07-11 22:53:09 -04:00
Henry Zhu
8460b4c62f
v7.0.0-alpha.13
2017-07-11 22:27:56 -04:00
Ash
960e1708a1
babel-traverse: Mark appropriate template literals as pure ( #5914 )
...
* Identify pure template literals
* Mark template literals as pure where possible
* Changes based on code review
* nit
2017-07-11 17:42:34 -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
Henry Zhu
a4080dc095
update babylon
2017-06-27 17:17:41 -04:00
Brian Ng
e4b35f680d
Run prettier
2017-06-27 12:15:00 -05:00
Henry Zhu
89d8f70fcd
Merge pull request #5813 from jridgewell/pr/5786
...
Optional Chaining Operator (Stage 1)
2017-06-27 11:10:47 -04:00
Joseph Frazier
a330cf2b09
Add support for evaluating String.raw expressions ( #5681 )
...
* Add support for evaluating `String.raw` expressions
* Dedupe evaluation code for template literal quasis
* Check scoping in `String.raw` evaluation
This addresses https://github.com/babel/babel/pull/5681#discussion_r114203497
* Ensure that `tag` is a MemberExpression in `String.raw` evaluation
This addresses https://github.com/babel/babel/pull/5681#discussion_r114203555
* babel-traverse: Move evaluateQuasis() outside _evaluate()
2017-06-24 16:00:42 -04:00
Henry Zhu
ba671d0a66
update babel-eslint, try out numeric separators ( #5866 )
...
* update babel-eslint, try out numeric separators
* update version
2017-06-17 23:31:47 -04:00
Hasan Bayat
1b29ab1289
Adding documentation and information ( #5717 ) [skip ci]
2017-06-09 11:24:20 -04:00
Justin Ridgewell
ac33b1be27
Fix addCompletionRecords
2017-06-09 00:12:16 -04:00
Henry Zhu
82f37841f5
v6.25.0
2017-06-08 17:29:04 -04:00
Henry Zhu
bc013e6d34
just make sure babylon is up to date [skip ci]
2017-06-08 17:10:51 -04:00
Justin Ridgewell
119d5c5871
Hoist several closures
2017-06-08 03:39:10 -04:00
Justin Ridgewell
97d0ab78cb
Update babylon
2017-06-07 03:52:42 -04:00
Justin Ridgewell
5cc1cbf3bc
Matches pattern cleanup ( #5826 )
...
* Extract duplicated function into babel-types
Also reimplements in a sane way.
* Add tests
* cleanup
2017-06-06 11:20:05 -04:00
Simen Bekkhus
1e55653ac1
Don't call deprecated code frame export ( #5815 )
2017-06-02 08:49:26 -04:00
Henry Zhu
272209ace5
⬆️ Alpha 12 ( #5808 )
...
* fix usage of codeframe
2017-06-01 15:13:17 -04:00
Henry Zhu
c5bad22767
v7.0.0-alpha.12
2017-05-31 17:11:39 -04:00
Henry Zhu
ce976bba2a
v7.0.0-alpha.11
2017-05-31 16:43:30 -04:00
Mauro Bringolf
c142bbc429
Remove duplicated getStatementParent and refactor requires to imports in tests ( #5746 )
...
* Additional testcase and require->import refactorings
* Removed duplicated getStatementParent function. Refactored all babel-traverse tests to use ESmodules
2017-05-31 15:33:25 -04:00
Rick Waldron
5393a49349
Support for NumericLiteralSeparator, Stage 1 feature ( #5793 )
...
* Support for NumericLiteralSeparator, Stage 1 feature
commit cd8f6e062876261a334d968f875e477a48927b6d
Author: Sven SAULEAU <xtuc@users.noreply.github.com>
Date: Wed May 31 16:14:15 2017 +0200
docs: update README [skip ci]
commit cf013e3382bf73cdf9224026c1ec0b1a368cfef2
Author: Rick Waldron <waldron.rick@gmail.com>
Date: Tue May 30 14:51:20 2017 -0400
Support for NumericLiteralSeparator, Stage 1 feature
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
* add note about presets [skip ci]
2017-05-31 15:18:48 -04:00
Henry Zhu
0df3e3d6eb
update babylon beta 11
2017-05-27 09:08:58 -04:00
Mauro Bringolf
f0d7d580d5
Added individual test cases for possible errors with path.replaceWith ( #5779 )
2017-05-27 00:22:26 -04:00
Henry Zhu
9b44cef691
v7.0.0-alpha.10
2017-05-25 15:17:07 -04:00
Henry Zhu
ce2335604c
Merge pull request #5761 from babel/b7-10
...
Babylon 7 alpha.10
2017-05-25 14:29:25 -04:00
Samuel Reed
853b9f8ece
Fix multiple var declarations in transform-react-constant-elements ( #5732 ) ( #5756 )
...
This was broken by a legacy attachment path conditional that
is no longer needed.
2017-05-22 17:46:53 -04:00
Henry Zhu
6620612b66
update to beta.10
2017-05-22 17:13:54 -04:00
Buu Nguyen
c474fd48e1
Fix issue semi-colon gets inserted unnecessarily ( #5749 )
...
* Fix issue semi-colon gets inserted unnecessarily
* Simplify if condition a bit
2017-05-19 16:54:51 -04:00
Mauro Bringolf
8facda4505
Added more types to API signatures ( #5733 ) [skip ci]
2017-05-19 14:53:43 -04:00