Logan Smyth
8e19a5b057
Update param scope values when expanding parameters.
2017-08-03 20:56:24 -05:00
Sarup Banskota
75808a2d14
Prevent getFunctionParent from returning Program ( #5923 )
2017-08-02 16:30:33 -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
Justin Ridgewell
8a98141b60
Fix a few type inferences ( #5835 )
2017-07-20 11:38:12 -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
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
Brian Ng
e4b35f680d
Run prettier
2017-06-27 12:15:00 -05: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
Justin Ridgewell
ac33b1be27
Fix addCompletionRecords
2017-06-09 00:12:16 -04:00
Justin Ridgewell
119d5c5871
Hoist several closures
2017-06-08 03:39:10 -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
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
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
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
Mauro Bringolf
943b7371a1
Completed return types for all NodePath family methods ( #5739 ) [skip ci]
2017-05-19 14:52:13 -04:00
Logan Smyth
14584c218c
Kill the "shadow-functions.js" internal plugin in favor of an explicit helper ( #5677 )
...
* Handle arrow function processing via shared API rather than default plugin.
* Fix a few small PR comments.
* Preserve existing spec arrow 'this' rewrites, and support spec in subclass constructors.
2017-05-05 13:27:18 -07:00
Samuel Reed
c307bbb3a9
Fix PathHoister hoisting before a same-scope variable declaration.
...
Seems we didn't have tests running for this very simple case.
Also fixes #5520
2017-05-01 14:32:11 -07:00
Samuel Reed
c3e8cc8ad6
Fix PathHoister error attaching after export declarations.
...
Fixes #5369 .
See also 4ee385e96c/packages/babel-plugin-transform-class-properties/src/index.js (L167)
2017-05-01 12:41:29 -07:00
Boopathi Rajaa
c9a851a218
Cleanup traverse cache APIs ( #5494 )
2017-03-23 12:00:28 -04:00
Damien Maillard
299e51298c
Fix path.remove() leading & trailing comments sharing ( #5504 )
2017-03-23 11:55:14 -04:00
Samuel Reed
f20da57317
Fix PathHoister attaching to default parameters. ( #5415 )
...
* Fix PathHoister attaching to default parameters.
Ref: #5315
* Update hoister.js
2017-03-22 16:37:53 -04:00
MrSpider
5287e13817
Fix replacing function declaration in export default ( fixes #4468 ) ( #5444 )
2017-03-10 11:41:03 -08: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
Marcelo Dapper
724c949244
Replace lodash/assign with Object.assign ( #5356 )
...
Remove imports to lodash/assign and replace assign with Object.assign.
The lodash/assign is unnecessary for babel 7 as node >4 has the same
functionality built-in with Object.assign as used here.
This resolve the [issue 5353](https://github.com/babel/babel/issues/5353 )
2017-02-21 22:08:20 -05:00
Logan Smyth
4ee385e96c
Avoid usage of exports/module.exports/require().
2017-02-21 16:52:42 -08:00
Logan Smyth
454933ef76
Revert "Rewrite Hub as interface #5047 " ( #5306 )
2017-02-13 18:15:50 -08:00
Yongxu Ren
2985597d40
Rewrite Hub as interface #5047 ( #5050 )
...
* Rewrite Hub as interface #5047
* Update index.js
2017-02-13 12:49:10 -08:00
Logan Smyth
4edcd02965
Fix linting error
2017-02-12 18:48:07 -08:00
Samuel Reed
f4e3dfee74
Fix PathHoister hoisting before bindings. ( #5153 )
...
Fixes #5149 and enables a few additional safe hoists.
2017-02-12 18:35:08 -08:00
Samuel Reed
eb91bd831c
Fix PathHoister hoisting JSX member expressions on "this". ( #5143 )
...
The PathHoister ignored member references on "this", causing it
to potentially hoist an expression above its function scope.
This patch tells the hoister to watch for "this", and if seen,
mark the nearest non-arrow function scope as the upper limit
for hoistng.
This fixes #4397 and is an alternative to #4787 .
2017-02-12 18:34:07 -08:00
Brian Ng
6da9bb83df
Prevent multiple return statements in a loop when replacing expressions ( #5030 )
2017-02-09 13:06:41 -08:00
Boopathi Rajaa
f8ffe03e79
Deopt evaluation of undefined with a local binding. Fix #5204 ( #5206 )
2017-02-08 10:37:14 -05:00
Vicente Jr Yuchitcho
1ba4a3fe5d
Add path sibling traversal methods ( #5230 )
...
* getPrevSibling
* getNextSibling
* getAllNextSiblings
* getAllPrevSiblings
2017-02-07 11:17:50 -05:00
Łukasz Lityński
badce969da
Fix confusing comment ( #5272 ) ( #5273 )
2017-02-06 16:17:26 -08:00
Logan Smyth
b845f2b69d
Re-enable the max-len ESLint rule. ( #5265 )
2017-02-04 11:07:15 -05:00
Jason Aslakson
ef25bebfa8
fix issue #5012 - Cannot read property 'declarations' of null ( #5019 )
...
- temporary fix
2017-01-19 21:36:18 -05:00
Henry Zhu
672adba9a1
enable prefer const ( #5113 )
2017-01-14 09:48:52 -05:00
Jeff Morrison
b820d8ebc9
Strip Flow's new shorthand import-type specifiers
2017-01-13 13:24:33 -05:00
Daniel Tschinder
dc617129f6
Optimize removal-hooks for ArrowFunctions ( #5076 )
2017-01-09 09:05:23 -05:00
Henry Zhu
670ee996c8
Merge pull request #4940 from appden/fix-react-constant-elements
...
Fix React constant element bugs
2016-12-16 15:29:05 -05:00
Brian Ng
196cdd4dce
Bail on sharing comments with siblings if key is a string ( #5007 )
2016-12-16 10:52:48 -05:00
Boopathi Rajaa
73ff13f326
Add getBindingIdentifierPaths/getOuterBindingIdentifierPaths ( #4876 )
2016-12-08 12:43:14 -05:00
Justin Ridgewell
32aa1f75d6
Hoist generateDeclaredUidIdentifier helper function ( #4934 )
2016-12-08 12:42:22 -05:00
Scott Kyle
c438209718
Fix constant elements hoisted before declarator ( #4804 )
...
When multiple declarators are present in a declaration, we want to insert the constant element inside the declaration rather than placing it before because it may rely on a declarator inside that same declaration.
2016-12-03 20:19:32 -08:00