134 Commits

Author SHA1 Message Date
Diogo Franco
899a754bef Correct the validator for ArrayPattern (#5722)
The elements of the `elements` array should be either `Identifier`, `Pattern` or `RestElement`, but the validator was requiring `Expression`. It happened to work for `Identifier` since an `Identifier` is an `Expression`, but not for the other possible pattern elements.
2017-05-10 10:50:01 +09:00
Robert Brignull
5633e3c4f6 Fix typo a => b 2017-05-07 15:58:24 -07: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
Conrad Buck
8434f89bc0 Add support for object type spread (#5525)
* Add support for object type spread

* Type spread: remove variance and add stripping test
2017-04-20 11:59:45 -04:00
Sven SAULEAU
2b774f46fb fix: handle bailed when recursive convert (#5499) 2017-03-22 09:18:37 +01:00
Daniel Tschinder
ae8728c146
Merge branch 'master' into 7.0 2017-03-19 14:21:00 +01:00
Diogo Franco
256fcbc58f Treat "await" as an invalid identifier (#4954)
It is valid (outside `async` functions) in the "script" parse goal, but always invalid in the "module" parse goal.

Fixes #4952.
2017-03-19 11:28:52 +09: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
Daniel Tschinder
7c62278dcd [7.0] Change for-await to use new AST (#5321) 2017-02-15 17:29:09 -05:00
Toru Kobayashi
9188be9ed5 [7.0] Rename flow AST Type ExistentialTypeParam to ExistsTypeAnnotation (#5199) 2017-02-15 14:58:07 -05:00
Charles Pick
bc8f476d33 [7.0] Rename NumericLiteralTypeAnnotation to NumberLiteralTypeAnnotation (#5229) 2017-02-15 14:54:27 -05:00
Andres Suarez
8c3392f058 Remove uses of lodash/compact (#5181) 2017-02-04 13:01:45 -08:00
Logan Smyth
b845f2b69d Re-enable the max-len ESLint rule. (#5265) 2017-02-04 11:07:15 -05: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
Logan Smyth
3c2e9c0021 Merge pull request #5110 from loganfsmyth/flowtype-codegen
Validate importKind and ensure code generation exists.
2017-01-14 10:41:25 -08:00
Henry Zhu
672adba9a1 enable prefer const (#5113) 2017-01-14 09:48:52 -05:00
Logan Smyth
80a757819f Validate importKind and ensure code generation exists. 2017-01-13 22:17:39 -08:00
Ryan Tsao
39d18679e1 Fix getBindingIdentifiers in babel-types (#5068)
* Added getBindingIdentifier tests

* Added failing test for getBindingIdentifiers

* Fix babel-types getBindingIdentifiers
2017-01-09 09:08:07 -05:00
Justin Ridgewell
2bbc36d25e JSXSpreadChildren, throw in transform-react-jsx (#4988) 2016-12-16 15:30:00 -05:00
Sean Larkin
39c92160f7 Add generator support for Import (#4945) 2016-12-07 18:22:12 -05:00
Nikolai Tillmann
efefe828f9 Preserve null in babel-types' clone and deepClone. (#4853)
* Preserve null in babel-types' clone and deepClone.
* Also respect undefined when cloning.
* Updating last test to reflect original test case "[,0]"
2016-11-17 08:52:04 -05:00
Henry Zhu
6a6ec8785b Start babel-types tests, add isNodesEquivalent (#3553) 2016-11-15 14:24:20 -05:00
Sam Goldman
15183078e6 Add EmptyTypeAnnotation (#4724)
Added to Flow in facebook/flow#c603505583993aa953904005f91c350f4b65d6bd
Parser support added in babel/babylon#171.
2016-10-14 15:16:02 -04:00
Dan Harper
8709899b42 fix flow-strip-types/flow-comments removing entire ClassProperty (#4587) 2016-09-28 18:25:33 +02:00
zenparsing
26e79c5433 Implement support for async generator functions and for-await statements 2016-09-27 17:37:21 -04:00
Moti Zilberman
03d772c2ec Computed class properties (#4500)
* Support computed class property names (#4499)

** Depends on babel/babylon#121 **

* `babel-types`: Add `computed` field to `ClassProperty`

* `babel-plugin-transform-class-properties`: handle computed property names correctly

* `babel-generator`: add tests for class properties (computed/literal, static/instance)

* doc: Update babel-types with ClassProperty.computed

* chore(package): update babylon to v6.11.0

* babel-types: move ClassProperty.computed to be last builder arg
2016-09-26 17:46:00 +02:00
Daniel Tschinder
1fce4cb42a Fix striping of typeParameters from arrow functions (#4521)
the typeParameters field was missing in the visitors and therefore
never visited by babel-traverse

Fixes #4483
2016-09-17 22:46:45 -04:00
Ben Briggs
c94abcc170 Add support for preserving comments in babel-template. (#3689)
* Add support for preserving comments in babel-template.

* Add an API section to babel-template.
2016-09-01 10:50:25 -04:00
Boopathi Rajaa
953dd1df48 Fix toExpression converting arrow functions to function expressions without block body (#3687) 2016-08-31 17:01:59 -04:00
Logan Smyth
a0ca5ed61e Remove the cycle from babel-types/babel-traverse. 2016-08-29 19:13:19 -07:00
Daniel Tschinder
308de41992 Add support for the new declare module.exports of flow. (#3570) 2016-08-16 16:54:00 +02:00
Daniel Tseng
d0c82f0d8a Missing FlowType definition opts.deprecatedAlias (#3628)
Added missing FlowType definition `opts.deprecatedAlias` for `defineType()` in `babel-types/src/definitions/index.js`
2016-08-04 13:40:41 -04:00
Forbes Lindesay
3bc3c9a3ed Babel types docs (#3549)
* Update babel-types documentation

Mostly just re-run generate-babel-types-docs but also update for some
more validator types.

* Rebuild docs as part of "build-dost"

* Include fields not in BUILDER_KEYS in babel-types docs

These fields don’t have a shorthand for you to pass them to the helper
method, but they are still useful to know about.

* Fields not included in BUILDER_KEYS cannot be "required"

We don’t ever type-check fields not in BUILDER_KEYS so they are never
required.
2016-06-27 17:01:58 -04:00
Daniel Tschinder
d7c0fbdf5b "name" should not be visited for TypeParameter (#3529)
name is a string and does not need to be visited
2016-06-17 17:21:23 -04:00
Henry Zhu
63e8313788 add type def 2016-06-08 16:16:22 -04:00
Leonid Nikiforenko
822e8804d5 Make JSXText Immutable (#3510) 2016-05-25 23:30:29 -04:00
Shuhei Kagawa
be9be86919 Add decorators to argument types (#3470) 2016-05-16 16:48:20 -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
9843c87573 Fix block statement code style. (#3493) 2016-05-02 21:15:37 -04:00
Henry Zhu
8463dff9d9 Lazy-initialize babel-traverse to avoid circular dep. (#3497) 2016-05-02 20:40:05 -04:00
Henry Zhu
ecd294b55e fix babel-traverse issues 2016-04-25 21:52:51 -04:00
Henry Zhu
6f5e47eff0 Check if t.is is already defined (specifically accounting for the isImmutable method in validators 2016-04-24 20:06:23 -04:00
Henry Zhu
c9e5da6ad0 use named exports instead of export * as a temp workaround 2016-04-24 20:06:23 -04:00
Logan Smyth
e7796b45c9 Add a fast path for checking for exact node types.
In my unscientific tests locally, this look the time for generating
200 files down from 11.8 to 8.3 seconds.
2016-04-19 18:59:15 -07:00
Amjad Masad
60d773f370 Merge pull request #3393 from babel/cache
Move NodePath cache out of the AST
2016-03-07 13:57:47 -08:00
Amjad Masad
d5e78384ef Only export methods and not the entire cache 2016-03-07 12:50:29 -08:00
Amjad Masad
bf91a68375 Move scope cache to the cache module 2016-03-07 12:04:44 -08:00
Amjad Masad
5367d5d151 Make sure we update the cache in all the right places 2016-03-07 12:04:44 -08:00