Compare commits

...

67 Commits

Author SHA1 Message Date
Henry Zhu
cee4cde53e v6.26.0 2017-08-16 11:54:08 -04:00
Henry Zhu
aa330999d0 update changelog 2017-08-16 11:39:05 -04:00
Henry Zhu
5749276d7e update deps 2017-08-16 10:21:19 -04:00
Henry Zhu
7b30f77954 Merge pull request #6111 from modosc/update-regenerator
Update regenerator
2017-08-16 10:17:59 -04:00
jbrown215
f4716dc816 Backport #6031 (#6112)
* Backport #6031

* Backport #6031

* Rebase on master, rerun scripts

* Update flowconfig
2017-08-15 17:42:01 -04:00
Henry Zhu
d375d80001 6.26.0 changelog [skip ci] 2017-08-15 17:06:16 -04:00
Henry Zhu
98824e7cb7 backport the fix #6052 [skip ci] 2017-08-15 17:01:25 -04:00
jbrown215
c28465e03e Flow opaque type 6.x backport (#6081)
* Flow opaque type backport

* Add tests for strip types, comments, and babel-generator

* Fix failing tests, run scripts

* Bump babylon to 6.18.0
2017-08-15 16:44:15 -04:00
Jimmy Jia
2dba910b9e Merge branch '6.x' 2017-07-29 12:20:18 -04:00
Shuaibird Hwang
4d51052037 FIX access to the prototype of an instance (#6005)
The right way access to the prototype of an instance is using the `__proto__` rather than the `prototype`.
2017-07-24 21:46:38 -04:00
Marcus Cavanaugh
fe13ba8fc2 Remove unused functions from renamer.js. (#5965) 2017-07-20 11:19:10 -04:00
Brian Ng
81e87b0838 Remove codecov node package and use bash uploader (#5938)
* Remove codecov node package and use bash uploader

* test
2017-07-11 21:32:48 -04:00
Jeffrey Wear
72183ff2e9 Clarify use of bind operator in "prefix position" (#5917)
The REPL [shows](https://babeljs.io/repl/#?babili=false&evaluate=false&lineWrap=true&presets=es2015%2Creact%2Cstage-0&targets=&browsers=&builtIns=false&debug=false&code_lz=PYIwVgXBBmCuB2BjA3AKAPToAQEsDOWApgI6w4BuAhgDaHwAuW9wEqcSAdCDvACYAUoMAEo0qKEI7sUGbPiKkKNOo2atJ0rjwFDRqVEKjT-Vansy4CJMqZVMWbBIg6Ia1QeAA0WU3vEQNJxMaczkrRVsGe1ZNV2p3IW9fZCA)
that when the bind operator prefixes `obj.func` (as opposed to being used
between `obj` and `func`), rather than binding a free function `func` to `obj`,
it binds `obj.func` to `obj`.

[skip ci]
2017-07-04 16:21:39 -07:00
Jim Nielsen
9ad660bbe1 Swap github/twitter links (#5895) [skip ci] 2017-06-28 14:51:23 -04:00
Henry Zhu
48c770e4bb Force color output in test runs to ensure consistent behavior in Travis 2017-06-27 17:48:56 -04:00
Josh Johnston
3cf4cee40a Fix 5768 (#5811)
* Fix destructured exports

- adds a failing test based on description in #5768
- handles ObjectPattern and ArrayPattern

* use export assignment template
2017-06-27 17:31:47 -04:00
Justin Ridgewell
64eafad472 Merge pull request #5469 from yavorsky/fix-commonjs-destructuring
Fix commonjs exports with destructuring.
2017-06-21 16:41:55 -04:00
Danny Andrews
3b28bd2cb1 [skip ci] Fix typos in README.md (#5857) 2017-06-14 09:49:41 -05:00
Konstantin Pschera
fea3a72838 Fix babel-plugin-transform-regenerator README (#5852) 2017-06-13 09:19:36 -05:00
Hasan Bayat
1b29ab1289 Adding documentation and information (#5717) [skip ci] 2017-06-09 11:24:20 -04:00
Alex Rattray
dd82d7a653 Document babel-helper-plugin-test-runner usage (#5843) [skip ci]
* Document `babel-helper-plugin-test-runner` usage

* [skip ci]
2017-06-09 10:35:53 -04:00
Henry Zhu
ccd314cba7 6.25.0 changelog [skip ci] (#5844) 2017-06-08 17:30:39 -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
Bo Lingen
0c8fdc381d Backport array & object pattern fixes to 6.x (#5770)
* Backport array & object pattern fixes to 6.x

Original PRs merged to 7.0 as #5722 and #5762

* fix lint error
2017-06-08 16:58:37 -04:00
Justin Ridgewell
783d85ee4b Merge pull request #5780 from kentor/react-display-name-to-support-createReactClass
Backport support for createReactClass with transform-react-display-name
2017-06-05 16:13:16 -04:00
Justin Ridgewell
489cf90d23 Merge pull request #5796 from noinkling/add-inspect-brk-option
Allow --inspect-brk option to be used with babel-node [6.x backport]
2017-05-31 03:20:41 -04:00
noinkling
0230dc5067 Allow --inspect-brk option to be used with babel-node 2017-05-31 14:14:58 +12:00
Peeyush Kushwaha
dcbb6c5ce5 Add a section on troubleshooting [skip ci] (#5788)
* Add a section on troubleshooting [skip ci]

* Move troubleshooting section to be under the running tests section

* [skip ci]
2017-05-29 11:20:13 -04:00
Brian Vaughn
b296759852 Updated transform-react-display-name for createReactClass addon (#5554)
* Updated transform-react-display-name for ReactCreateClass addon

* Tweaked description for transform-react-display-name plugin

* Changed ReactCreateClass to createReactClass
2017-05-26 10:04:34 -07:00
Henry Zhu
51f3ab45c4 [skip ci] 2017-05-25 12:54:06 -04:00
Justin Ridgewell
5b261849e0 Merge pull request #5755 from u9lyfish/patch-1
Fix broken tables in README.md
2017-05-20 16:57:53 -04:00
u9lyfish@gmail.com
58c686378d Fix broken tables in README.md 2017-05-20 23:44:51 +08:00
Brian Ng
9a92933589 Fix incorrect property ordering with obj rest spread on nested (#5750) 2017-05-20 09:08:23 -04:00
Justin Ridgewell
5f866f2d92 Hoist toSequenceExpression's convert helper (#5693)
* Hoist toSequenceExpression's convert helper

* Adds tests

* lint

* dev-depend on babel-generator
2017-05-19 17:03:33 -04:00
Samuel Reed
3570ba7c28 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 14:22:38 -07:00
Sebastian McKenzie
60adcd68a0 Port flow object spread from #418 to 6.x (#5653)
* Add support for object type spread

* Type spread: remove variance and add stripping test

* Fix tests
2017-04-26 17:16:38 -04:00
ssuman
412180e203 Increase the code coverage for traverse evaluation (#5363)
* When applied this commit will increase the code coverage for evaluation.js

* Fixing linting issues
2017-04-09 16:49:37 -07:00
Jan Kassens
a1a795321a Update deprecation warning on flow bindings (#5615)
Babel 6 is at 6.24, doesn't seem like this is getting removed in version 6 anymore.
2017-04-09 16:11:06 -07:00
Brian Ng
11b7db05fb Merge pull request #5613 from babel/backport-doc-changes
Backport doc changes
2017-04-08 09:08:47 -05:00
Sven SAULEAU
ca435b6d48 Improve options documentation for babel-plugin-transform-runtime #5401 2017-04-08 10:18:44 +02:00
Sven SAULEAU
982aba38e4 [doc] Fix: comments in usage w/ options #5400 2017-04-08 10:18:01 +02:00
Sven SAULEAU
c1b3740707 document cache option for babel-register #5440 2017-04-08 10:16:55 +02:00
Sven SAULEAU
e9bc213b14 Update coffescript/register reference link address #5475 2017-04-08 10:15:43 +02:00
Sven SAULEAU
e2c2d7d742 Update babel-generator's README #5517 2017-04-08 10:14:56 +02:00
Sven SAULEAU
2cb4d08d19 Improve example of babel-plugin-transform-es2015-arrow-functions #5573 2017-04-08 10:14:19 +02:00
Sven SAULEAU
149acc40bd Remove incorrect docs. #5580 2017-04-08 10:13:47 +02:00
Sven SAULEAU
d40cb31685 Update transform-es2015-modules-commonjs doc #5588 2017-04-08 10:13:20 +02:00
Henry Zhu
f8da5e3457 v6.24.1 2017-04-07 11:19:02 -04:00
MrSpider
fd3a2c285a Fix replacing function declaration in export default (fixes #4468) (#5456) 2017-04-06 11:40:31 -04:00
Henry Zhu
3534bc872d Merge pull request #5567 from aickin/update-regenerator-transform
Update regenerator-transform to new version
2017-04-06 11:18:03 -04:00
Daniel Tschinder
66f8546107 Add test for regression 4219 2017-04-06 15:51:17 +02:00
Felix Yan
9b4c33d44e Fix a typo: occurences -> occurrences (#5575) 2017-04-03 22:38:12 -07:00
Sasha Aickin
60df9f3cad Updating regenerator-transform and adding a test for the issue in facebook/regenerator#267 2017-03-30 22:10:02 -07:00
Artem Yavorsky
f2f226b4f2 Add syntax-object-rest-spread as devDep for tests. 2017-03-23 00:52:10 +02:00
Artem Yavorsky
ddfb6f2c44 Remove object-rest-spread syntax. 2017-03-23 00:33:03 +02:00
Artem Yavorsky
70354013f1 Fix visitor inheritance. 2017-03-19 14:46:59 +02:00
Artem Yavorsky
c42e027602 Add object rest spread syntax using plugin. 2017-03-19 14:02:01 +02:00
Artem Yavorsky
18d6ba9947 Fix export array rest expected output. 2017-03-19 01:18:22 +02:00
Artem Yavorsky
c82b084927 Fix object rest params for exports. 2017-03-19 00:32:27 +02:00
Artem Yavorsky
45b41740d8 Consider default params for object pattern. 2017-03-18 16:26:22 +02:00
Artem Yavorsky
b608e28aa7 Consider rest params for array pattern in exports. 2017-03-18 16:02:06 +02:00
Artem Yavorsky
06f67e1ad3 Consider default parameters for array pattern. 2017-03-18 15:42:39 +02:00
Artem Yavorsky
b5bb89b30a Add array pattern to exports destructuring. 2017-03-18 15:12:46 +02:00
Artem Yavorsky
0c2e3b1045 Remove exports definition. 2017-03-15 16:02:21 +02:00
Artem Yavorsky
9b410be61c Add test for exports destructuring. 2017-03-15 15:37:17 +02:00
Artem Yavorsky
f81d7496b1 Fix exports while destructuring. 2017-03-15 15:35:45 +02:00
168 changed files with 6326 additions and 695 deletions

View File

@@ -1,6 +1,7 @@
[ignore]
.*/packages/.*/lib
.*/packages/.*/test
.*/node_modules/conventional-changelog-core/
[include]
packages/*/src

1
.gitignore vendored
View File

@@ -11,6 +11,7 @@ test/tmp
/runtime.js
/coverage
dist
package-lock.json
/.package.json
/packages/babel-runtime/core-js
/packages/babel-runtime/helpers/*.js

View File

@@ -13,6 +13,93 @@ _Note: Gaps between patch versions are faulty, broken or test releases._
See [CHANGELOG - 6to5](CHANGELOG-6to5.md) for the pre-4.0.0 version changelog.
## 6.26.0 (2017-08-16)
> Backports for some folks (also other's when we accidently merged PRs from both 6.x/master)
> Lesson learned: just use `master` and backport on another branch.
#### :eyeglasses: Spec Compliancy
* `babel-core`, `babel-generator`, `babel-plugin-transform-flow-comments`, `babel-plugin-transform-flow-strip-types`, `babel-traverse`, `babel-types`
* [#6081](https://github.com/babel/babel/pull/6081) Flow opaque type 6.x backport. ([@jbrown215](https://github.com/jbrown215))
#### :rocket: New Feature
* `babel-cli`
* [#5796](https://github.com/babel/babel/pull/5796) Allow --inspect-brk option to be used with babel-node [6.x backport]. ([@noinkling](https://github.com/noinkling))
#### :bug: Bug Fix
* `babel-plugin-transform-es2015-modules-commonjs`
* [#5811](https://github.com/babel/babel/pull/5811) Fix 5768. ([@joshwnj](https://github.com/joshwnj))
* [#5469](https://github.com/babel/babel/pull/5469) Fix commonjs exports with destructuring.. ([@yavorsky](https://github.com/yavorsky))
* `babel-types`
* [#5693](https://github.com/babel/babel/pull/5693) Hoist toSequenceExpression's convert helper. ([@jridgewell](https://github.com/jridgewell))
#### :memo: Documentation
* `babel-plugin-transform-class-properties`
* [#6005](https://github.com/babel/babel/pull/6005) FIX access to the prototype of an instance. ([@shuaibird](https://github.com/shuaibird))
* `babel-plugin-transform-runtime`
* [#5857](https://github.com/babel/babel/pull/5857) Fix typos in README.md. ([@danny-andrews](https://github.com/danny-andrews))
* `babel-plugin-transform-regenerator`
* [#5852](https://github.com/babel/babel/pull/5852) Fix babel-plugin-transform-regenerator README. ([@k15a](https://github.com/k15a))
* Other
* [#5788](https://github.com/babel/babel/pull/5788) Add a section on troubleshooting [skip ci]. ([@peey](https://github.com/peey))
* [#5755](https://github.com/babel/babel/pull/5755) Fix broken tables in README.md. ([@u9lyfish](https://github.com/u9lyfish))
* `babel-generator`, `babel-plugin-transform-es2015-arrow-functions`, `babel-plugin-transform-es2015-modules-commonjs`, `babel-plugin-transform-es2015-spread`, `babel-plugin-transform-runtime`, `babel-register`
* [#5613](https://github.com/babel/babel/pull/5613) Backport doc changes. ([@xtuc](https://github.com/xtuc))
#### :house: Internal
* `babel-traverse`
* [#5965](https://github.com/babel/babel/pull/5965) Remove unused functions from renamer.js.. ([@mcav](https://github.com/mcav))
* [#5363](https://github.com/babel/babel/pull/5363) Increase the code coverage for traverse evaluation. ([@ssuman](https://github.com/ssuman))
* Other
* [#5938](https://github.com/babel/babel/pull/5938) Remove codecov node package and use bash uploader. ([@existentialism](https://github.com/existentialism))
#### Committers: 19
- Artem Yavorsky ([yavorsky](https://github.com/yavorsky))
- Brian Ng ([existentialism](https://github.com/existentialism))
- Danny Andrews ([danny-andrews](https://github.com/danny-andrews))
- Henry Zhu ([hzoo](https://github.com/hzoo))
- Jeffrey Wear ([wearhere](https://github.com/wearhere))
- Jordan Brown ([jbrown215](https://github.com/jbrown215))
- Josh Johnston ([joshwnj](https://github.com/joshwnj))
- Justin Ridgewell ([jridgewell](https://github.com/jridgewell))
- Konstantin Pschera ([k15a](https://github.com/k15a))
- Malcolm ([noinkling](https://github.com/noinkling))
- Marcus Cavanaugh ([mcav](https://github.com/mcav))
- Peeyush Kushwaha ([peey](https://github.com/peey))
- Philipp Friedenberger ([MrSpider](https://github.com/MrSpider))
- Samuel Reed ([STRML](https://github.com/STRML))
- Shuaibird Hwang ([shuaibird](https://github.com/shuaibird))
- Suman ([ssuman](https://github.com/ssuman))
- Sven SAULEAU ([xtuc](https://github.com/xtuc))
- jonathan schatz ([modosc](https://github.com/modosc))
- u9lyfish@gmail.com ([u9lyfish](https://github.com/u9lyfish))
## 6.25.0 (2017-06-08)
Just backporting a few things.
#### :rocket: New Feature
* `babel-plugin-transform-react-display-name`
* [#5780](https://github.com/babel/babel/pull/5780) Backport support for createReactClass with transform-react-display-name. ([@kentor](https://github.com/kentor))
* [#5554](https://github.com/babel/babel/pull/5554) Updated transform-react-display-name for createReactClass addon. ([@bvaughn](https://github.com/bvaughn))
* `babel-generator`, `babel-plugin-transform-flow-strip-types`, `babel-types`
* [#5653](https://github.com/babel/babel/pull/5653) Port flow object spread from #418 to 6.x. ([@kittens](https://github.com/kittens))
#### :bug: Bug Fix
* `babel-types`
* [#5770](https://github.com/babel/babel/pull/5770) Backport array & object pattern fixes to 6.x. ([@citycide](https://github.com/citycide))
#### :nail_care: Polish
* `babel-traverse`
* [#5615](https://github.com/babel/babel/pull/5615) Update deprecation warning on flow bindings. ([@kassens](https://github.com/kassens))
#### Committers: 5
- Bo Lingen ([citycide](https://github.com/citycide))
- Brian Vaughn ([bvaughn](https://github.com/bvaughn))
- Jan Kassens ([kassens](https://github.com/kassens))
- Kenneth Chung ([kentor](https://github.com/kentor))
- Sebastian McKenzie ([kittens](https://github.com/kittens))
## 6.24.0 (2017-03-13)
A quick release for 2 features:
@@ -263,7 +350,7 @@ New/Expected Behavior
```js
const _ref = foo(); // should only be called once
const { x } = _ref;
const { x } = _ref;
const y = _objectWithoutProperties(_ref, ["x"]);
```
@@ -279,7 +366,7 @@ function fn({a = 1, ...b} = {}) {
return {a, b};
}
```
* `babel-plugin-transform-es2015-destructuring`
* [#5093](https://github.com/babel/babel/pull/5093) Ensure array is always copied during destructure. ([@existentialism](https://github.com/existentialism))
@@ -293,7 +380,7 @@ const arr = [1, 2, 3]
assign(arr, 1, 42)
console.log(arr) // [1, 2, 3]
```
* `babel-plugin-transform-es2015-function-name`
* [#5008](https://github.com/babel/babel/pull/5008) Don't try to visit ArrowFunctionExpression, they cannot be named. ([@Kovensky](https://github.com/Kovensky))
@@ -308,9 +395,9 @@ Output
```js
export const x = ({ x }) => x;
export const y = function y() {};
export const y = function y() {};
```
* `babel-types`
* [#5068](https://github.com/babel/babel/pull/5068) Fix getBindingIdentifiers in babel-types. ([@rtsao](https://github.com/rtsao))
* `babel-cli`
@@ -460,7 +547,7 @@ Will still error with `Spread children are not supported.`
```js
<div>{...this.props.children}</div>;
```
* `babel-plugin-transform-es2015-block-scoping`, `babel-plugin-transform-react-constant-elements`, `babel-traverse`
* [#4940](https://github.com/babel/babel/pull/4940) Fix React constant element bugs. ([@appden](https://github.com/appden))
@@ -469,7 +556,7 @@ When multiple declarators are present in a declaration, we want to insert the co
```js
function render() {
const bar = "bar", renderFoo = () => <foo bar={bar} baz={baz} />, baz = "baz";
return renderFoo();
}
```
@@ -480,12 +567,12 @@ When block scoped variables caused the block to be wrapped in a closure, the var
function render(flag) {
if (flag) {
let bar = "bar";
[].map(() => bar);
return <foo bar={bar} />;
}
return null;
}
```
@@ -526,7 +613,7 @@ for (let a of b) {
* [#4999](https://github.com/babel/babel/pull/4999) babel-helper-transform-fixture-test-runner: pass require as a global. ([@hzoo](https://github.com/hzoo))
Allows running `require()` in exec.js tests like for [babel/babel-preset-env#95](https://github.com/babel/babel-preset-env/pull/95)
* Other
* [#5005](https://github.com/babel/babel/pull/5005) internal: don't run watch with the test env (skip building with code …. ([@hzoo](https://github.com/hzoo))
@@ -648,8 +735,8 @@ try {
return x;
};
}
```
```
* `babel-helper-remap-async-to-generator`, `babel-plugin-transform-async-generator-functions`, `babel-plugin-transform-async-to-generator`
* [#4901](https://github.com/babel/babel/pull/4901) Only base async fn arity on non-default/non-rest params - Closes [#4891](https://github.com/babel/babel/issues/4891). ([@loganfsmyth](https://github.com/loganfsmyth))
@@ -660,7 +747,7 @@ console.log(foo.length) // 0
const asyncFoo = async (...args) => { }
console.log(asyncFoo.length) // 0
```
* `babel-generator`, `babel-types`
* [#4945](https://github.com/babel/babel/pull/4945) Add `babel-generator` support for `Import`. ([@TheLarkInn](https://github.com/TheLarkInn))
@@ -669,14 +756,14 @@ console.log(asyncFoo.length) // 0
```js
import("module.js");
```
* `babel-plugin-transform-object-rest-spread`
* [#4883](https://github.com/babel/babel/pull/4883) Fix for object-rest with parameters destructuring nested rest. ([@christophehurpeau](https://github.com/christophehurpeau))
```js
function a5({a3, b2: { ba1, ...ba2 }, ...c3}) {}
```
```
* `babel-traverse`
* [#4875](https://github.com/babel/babel/pull/4875) Fix `path.evaluate` for references before declarations. ([@boopathi](https://github.com/boopathi))
@@ -981,7 +1068,7 @@ function render(_ref) {
- Scott Stern ([sstern6](https://github.com/sstern6))
- Shine Wang ([shinew](https://github.com/shinew))
- lion ([lion-man44](https://github.com/lion-man44))
## v6.18.2 (2016-11-01)
Weird publishing issue with v6.18.1, same release.
@@ -1666,7 +1753,7 @@ export default {
#### :bug: Bug Fix
* `babel-helpers`, `babel-plugin-transform-es2015-typeof-symbol`
* [#3686](https://github.com/babel/babel/pull/3686) Fix `typeof Symbol.prototype`. ([@brainlock](https://github.com/brainlock))
```js
// `typeof Symbol.prototype` should be 'object'
typeof Symbol.prototype === 'object'
@@ -1675,7 +1762,7 @@ typeof Symbol.prototype === 'object'
* `babel-cli`
* [#3456](https://github.com/babel/babel/pull/3456) Use the real sourcemap API and handle input sourcemaps - Fixes [#7259](https://github.com/babel/babel/issues/7259). ([@loganfsmyth](https://github.com/loganfsmyth))
* [#4507](https://github.com/babel/babel/pull/4507) Only set options in cli if different from default. ([@danez](https://github.com/danez))
Fix an issue with defaults not being overidden. This was causing options like `comments: false` not to work correctly.
* [#4508](https://github.com/babel/babel/pull/4508) Support custom ports for V8 --inspect. ([@andykant](https://github.com/andykant))
@@ -1730,7 +1817,7 @@ We noticed that we can not make this optimizations if there are function calls o
// was tranforming to
x = a();
y = obj.x;
// now transforms to
// now transforms to
var _ref = [a(), obj.x];
x = _ref[0];
y = _ref[1];
@@ -1796,7 +1883,7 @@ Cleanup tests, remove various unused dependencies, do not run CI with only readm
#### Commiters: 20
First PRs!
- Alberto Piai ([brainlock](https://github.com/brainlock))
- Alberto Piai ([brainlock](https://github.com/brainlock))
- Andy Kant ([andykant](https://github.com/andykant))
- Basil Hosmer ([bhosmer](https://github.com/bhosmer))
- Bo Borgerson ([gigabo](https://github.com/gigabo))
@@ -1879,7 +1966,7 @@ npm install babel-preset-latest --save-dev
{ "presets": [
["latest", {
"es2015": {
"modules": false
"modules": false
}
}]
] }
@@ -2117,7 +2204,7 @@ Can be `false` to not transform modules, or one of `["amd", "umd", "systemjs", "
## v6.11.5 (2016-07-23)
Thanks to Rob Eisenberg ([EisenbergEffect](https://github.com/EisenbergEffect)), Keyan Zhang ([keyanzhang](https://github.com/keyanzhang)), Rolf Timmermans ([rolftimmermans](https://github.com/rolftimmermans)), Thomas Grainger ([graingert](https://github.com/graingert)),
Thanks to Rob Eisenberg ([EisenbergEffect](https://github.com/EisenbergEffect)), Keyan Zhang ([keyanzhang](https://github.com/keyanzhang)), Rolf Timmermans ([rolftimmermans](https://github.com/rolftimmermans)), Thomas Grainger ([graingert](https://github.com/graingert)),
we have few fixes: fix `babel-register` file paths on error, infer class name for classes with class properties, fix `export *` to account for previously compiled modules.
@@ -2165,7 +2252,7 @@ In this release among other things are some more optimizations for babel-generat
## v6.11.3 (2016-07-13)
The main fix is @loganfsmyth's changes of some parts in babel-generator in [#3565](https://github.com/babel/babel/pull/3565) to fix issues with exponential code generation times in certain cases.
The main fix is @loganfsmyth's changes of some parts in babel-generator in [#3565](https://github.com/babel/babel/pull/3565) to fix issues with exponential code generation times in certain cases.
Items: the size of the array being generated
Time: The time in ms to generate the code

View File

@@ -130,6 +130,18 @@ $ BABEL_ENV=cov make build
$ ./scripts/test-cov.sh
```
#### Troubleshooting Tests
In case you're not able to reproduce an error on CI locally, it may be due to
- Node Version: Travis CI runs the tests against all major node versions. If your tests use JavaScript features unsupported by lower versions of node, then use [minNodeVersion option](#writing-tests) in options.json.
- Timeout: Check the CI log and if the only errors are timeout errors and you are sure that it's not related to the changes you made, ask someone in the slack channel to trigger rebuild on the CI build and it might be resolved
In case you're locally getting errors which are not on the CI, it may be due to
- Updates in Dependencies: Make sure you run `make bootstrap` before you run `make build` or `make watch` before you run the tests.
### Writing tests
Most packages in [`/packages`](https://github.com/babel/babel/tree/master/packages) have a `test` folder, however some tests might be in other packages or in [`/packages/babel-core`](https://github.com/babel/babel/tree/master/packages/babel-core/test/fixtures).
@@ -235,7 +247,7 @@ To start the debugging in Chrome DevTools, open the given URL.
The debugger starts at the first executed line of code, which is Mocha's first line by default.
Click _Resume script execution_ <img src="https://i.imgur.com/TmYBn9d.png" alt="Resume script execution button." width="16"> to jump to the set breakpoint.
Note that the code shown in Chrome DevTools is compiled code and therefore differs.
## Internals
- AST spec ([babylon/ast/spec.md](https://github.com/babel/babylon/blob/master/ast/spec.md))
- Versioning ([doc/design/versioning.md](https://github.com/babel/babel/blob/master/doc/design/versioning.md)

View File

@@ -2,6 +2,9 @@ MAKEFLAGS = -j1
export NODE_ENV = test
# Fix color output until TravisCI fixes travis-ci/travis-ci/issues/7967
export FORCE_COLOR = true
.PHONY: build build-dist watch lint fix clean test-clean test-only test test-ci publish bootstrap
build: clean
@@ -52,10 +55,11 @@ test-ci:
make bootstrap
make test-only
test-ci-coverage: SHELL:=/bin/bash
test-ci-coverage:
BABEL_ENV=cov make bootstrap
./scripts/test-cov.sh
./node_modules/.bin/codecov -f coverage/coverage-final.json
bash <(curl -s https://codecov.io/bash) -f coverage/coverage-final.json
publish:
git pull --rebase

View File

@@ -183,29 +183,29 @@ These are mostly for internal use in various plugins: `babel-helper-x`.
### Core members
[![Babel](https://avatars.githubusercontent.com/u/9637642?s=64)](https://github.com/babel) | [![Daniel Tschinder](https://avatars.githubusercontent.com/u/231804?s=64)](https://github.com/danez) | [![Logan Smyth](https://avatars.githubusercontent.com/u/132260?s=64)](https://github.com/loganfsmyth) | [![Henry Zhu](https://avatars.githubusercontent.com/u/588473?s=64)](https://github.com/hzoo) |
|---|---|---|---|---|
Babel | Daniel Tschinder | Logan Smyth | Henry Zhu |
:octocat: [@babel](https://github.com/babel) | [@danez](https://github.com/danez) | [@loganfsmyth](https://github.com/loganfsmyth) | [@hzoo](https://github.com/hzoo) |
:bird: [@babeljs](https://twitter.com/babeljs) | [@TschinderDaniel](https://twitter.com/TschinderDaniel) | [@loganfsmyth](https://twitter.com/loganfsmyth) | [@left_pad](https://twitter.com/left_pad) |
| [![Babel](https://avatars.githubusercontent.com/u/9637642?s=64)](https://github.com/babel) | [![Daniel Tschinder](https://avatars.githubusercontent.com/u/231804?s=64)](https://github.com/danez) | [![Logan Smyth](https://avatars.githubusercontent.com/u/132260?s=64)](https://github.com/loganfsmyth) | [![Henry Zhu](https://avatars.githubusercontent.com/u/588473?s=64)](https://github.com/hzoo) |
|---|---|---|---|
| Babel | Daniel Tschinder | Logan Smyth | Henry Zhu |
| :octocat: [@babel](https://github.com/babel) | [@danez](https://github.com/danez) | [@loganfsmyth](https://github.com/loganfsmyth) | [@hzoo](https://github.com/hzoo) |
| :bird: [@babeljs](https://twitter.com/babeljs) | [@TschinderDaniel](https://twitter.com/TschinderDaniel) | [@loganfsmyth](https://twitter.com/loganfsmyth) | [@left_pad](https://twitter.com/left_pad) |
### Members
[![Andrew Levine](https://avatars.githubusercontent.com/u/5233399?s=64)](https://github.com/drewml) | [![Boopathi Rajaa](https://avatars.githubusercontent.com/u/294474?s=64)](https://github.com/boopathi) | [![Brian Ng](https://avatars.githubusercontent.com/u/56288?s=64)](https://github.com/existentialism) | [![Dan Harper](https://avatars.githubusercontent.com/u/510740?s=64)](https://github.com/danharper) | [![Diogo Franco](https://avatars.githubusercontent.com/u/73085?s=64)](https://github.com/kovensky) |
|---|---|---|---|---|---|---|---|---|
| [![Andrew Levine](https://avatars.githubusercontent.com/u/5233399?s=64)](https://github.com/drewml) | [![Boopathi Rajaa](https://avatars.githubusercontent.com/u/294474?s=64)](https://github.com/boopathi) | [![Brian Ng](https://avatars.githubusercontent.com/u/56288?s=64)](https://github.com/existentialism) | [![Dan Harper](https://avatars.githubusercontent.com/u/510740?s=64)](https://github.com/danharper) | [![Diogo Franco](https://avatars.githubusercontent.com/u/73085?s=64)](https://github.com/kovensky) |
|---|---|---|---|---|
| Andrew Levine | Boopathi Rajaa | Brian Ng | Dan Harper | Diogo Franco |
| [@drewml](https://github.com/drewml) | [@boopathi](https://github.com/boopathi) | [@existentialism](https://github.com/existentialism) | [@danharper](https://github.com/danharper) | [@kovensky](https://github.com/kovensky) |
| [@drewml](https://twitter.com/drewml) | [@heisenbugger](https://twitter.com/heisenbugger) | [@existentialism](https://twitter.com/existentialism) | [@DanHarper7](https://twitter.com/DanHarper7) | [@kovnsk](https://twitter.com/kovnsk) |
[![Juriy Zaytsev](https://avatars.githubusercontent.com/u/383?s=64)](https://github.com/kangax) | [![Kai Cataldo](https://avatars.githubusercontent.com/u/7041728?s=64)](https://github.com/kaicataldo) | [![Moti Zilberman](https://avatars.githubusercontent.com/u/2246565?s=64)](https://github.com/motiz88) | [![Sven Sauleau](https://avatars3.githubusercontent.com/u/1493671?s=64)](https://github.com/xtuc) |
|---|---|---|---|---|---|---|---|---|
| [![Juriy Zaytsev](https://avatars.githubusercontent.com/u/383?s=64)](https://github.com/kangax) | [![Kai Cataldo](https://avatars.githubusercontent.com/u/7041728?s=64)](https://github.com/kaicataldo) | [![Moti Zilberman](https://avatars.githubusercontent.com/u/2246565?s=64)](https://github.com/motiz88) | [![Sven Sauleau](https://avatars3.githubusercontent.com/u/1493671?s=64)](https://github.com/xtuc) |
|---|---|---|---|
| Juriy Zaytsev | Kai Cataldo | Moti Zilberman | Sven Sauleau |
| [@kangax](https://github.com/kangax) | [@kaicataldo](https://github.com/kaicataldo) | [@motiz88](https://github.com/motiz88) | [@xtuc](https://github.com/xtuc) |
| [@kangax](https://twitter.com/kangax) | [@kai_cataldo](https://twitter.com/kai_cataldo) | [@motiz88](https://twitter.com/motiz88) | [@svensauleau](https://twitter.com/svensauleau) |
### Non-Human Members
[<img src="https://github.com/babel/babel-bot/raw/master/babel-bot.png" height="64">](https://github.com/babel-bot) |
| [<img src="https://github.com/babel/babel-bot/raw/master/babel-bot.png" height="64">](https://github.com/babel-bot) |
|---|
| Babel Bot |
| [@babel-bot](https://github.com/babel-bot) |
@@ -216,8 +216,8 @@ Babel | Daniel Tschinder | Logan Smyth | Henry Zhu |
[![Amjad Masad](https://avatars.githubusercontent.com/u/587518?s=64)](https://github.com/amasad) | [![James Kyle](https://avatars.githubusercontent.com/u/952783?s=64)](https://github.com/thejameskyle) | [![Jesse McCarthy](https://avatars.githubusercontent.com/u/129203?s=64)](https://github.com/jmm) | [![Sebastian McKenzie](https://avatars.githubusercontent.com/u/853712?s=64)](https://github.com/kittens) (Creator) |
|---|---|---|---|
Amjad Masad | James Kyle | Jesse McCarthy | Sebastian McKenzie |
[@amasad](https://github.com/amasad) | [@thejameskyle](https://github.com/thejameskyle) | [@jmm](https://github.com/jmm) | [@sebmck](https://twitter.com/sebmck) |
| [@amasad](https://twitter.com/amasad) | [@thejameskyle](https://twitter.com/thejameskyle) | [@mccjm](https://twitter.com/mccjm) | [@kittens](https://github.com/kittens)
[@amasad](https://github.com/amasad) | [@thejameskyle](https://github.com/thejameskyle) | [@jmm](https://github.com/jmm) | [@kittens](https://github.com/kittens) |
| [@amasad](https://twitter.com/amasad) | [@thejameskyle](https://twitter.com/thejameskyle) | [@mccjm](https://twitter.com/mccjm) | [@sebmck](https://twitter.com/sebmck)
## License

View File

@@ -1,6 +1,6 @@
{
"lerna": "2.0.0-beta.23",
"version": "6.24.0",
"lerna": "2.0.0-beta.38",
"version": "6.26.0",
"changelog": {
"repo": "babel/babel",
"labels": {
@@ -16,10 +16,12 @@
"bootstrapConfig": {
"ignore": "babel-runtime"
},
"publishConfig": {
"ignore": [
"*.md",
"test/**"
]
"commands": {
"publish": {
"ignore": [
"*.md",
"test/**"
]
}
}
}

View File

@@ -68,8 +68,8 @@ declare class BabelNodeDirectiveLiteral extends BabelNode {
declare class BabelNodeBlockStatement extends BabelNode {
type: "BlockStatement";
directives?: any;
body: any;
directives?: any;
}
declare class BabelNodeBreakStatement extends BabelNode {
@@ -149,8 +149,8 @@ declare class BabelNodeFunctionDeclaration extends BabelNode {
body: BabelNodeBlockStatement;
generator?: boolean;
async?: boolean;
returnType: any;
typeParameters: any;
returnType?: any;
typeParameters?: any;
}
declare class BabelNodeFunctionExpression extends BabelNode {
@@ -160,14 +160,15 @@ declare class BabelNodeFunctionExpression extends BabelNode {
body: BabelNodeBlockStatement;
generator?: boolean;
async?: boolean;
returnType: any;
typeParameters: any;
returnType?: any;
typeParameters?: any;
}
declare class BabelNodeIdentifier extends BabelNode {
type: "Identifier";
name: any;
typeAnnotation: any;
decorators?: any;
typeAnnotation?: any;
}
declare class BabelNodeIfStatement extends BabelNode {
@@ -230,8 +231,8 @@ declare class BabelNodeNewExpression extends BabelNode {
declare class BabelNodeProgram extends BabelNode {
type: "Program";
directives?: any;
body: any;
directives?: any;
}
declare class BabelNodeObjectExpression extends BabelNode {
@@ -242,22 +243,22 @@ declare class BabelNodeObjectExpression extends BabelNode {
declare class BabelNodeObjectMethod extends BabelNode {
type: "ObjectMethod";
kind?: any;
computed?: boolean;
key: any;
decorators: any;
body: BabelNodeBlockStatement;
generator?: boolean;
async?: boolean;
params: any;
returnType: any;
typeParameters: any;
body: BabelNodeBlockStatement;
computed?: boolean;
async?: boolean;
decorators?: any;
generator?: boolean;
returnType?: any;
typeParameters?: any;
}
declare class BabelNodeObjectProperty extends BabelNode {
type: "ObjectProperty";
computed?: boolean;
key: any;
value: BabelNodeExpression;
value: BabelNodeExpression | BabelNodePattern | BabelNodeRestElement;
computed?: boolean;
shorthand?: boolean;
decorators?: any;
}
@@ -266,6 +267,7 @@ declare class BabelNodeRestElement extends BabelNode {
type: "RestElement";
argument: BabelNodeLVal;
typeAnnotation: any;
decorators?: any;
}
declare class BabelNodeReturnStatement extends BabelNode {
@@ -301,24 +303,24 @@ declare class BabelNodeThrowStatement extends BabelNode {
declare class BabelNodeTryStatement extends BabelNode {
type: "TryStatement";
body: BabelNodeBlockStatement;
block: any;
handler?: any;
finalizer?: ?BabelNodeBlockStatement;
block: any;
body?: ?BabelNodeBlockStatement;
}
declare class BabelNodeUnaryExpression extends BabelNode {
type: "UnaryExpression";
prefix?: boolean;
argument: BabelNodeExpression;
operator: "void" | "delete" | "!" | "+" | "-" | "++" | "--" | "~" | "typeof";
argument: BabelNodeExpression;
prefix?: boolean;
}
declare class BabelNodeUpdateExpression extends BabelNode {
type: "UpdateExpression";
prefix?: boolean;
argument: BabelNodeExpression;
operator: "++" | "--";
argument: BabelNodeExpression;
prefix?: boolean;
}
declare class BabelNodeVariableDeclaration extends BabelNode {
@@ -349,12 +351,14 @@ declare class BabelNodeAssignmentPattern extends BabelNode {
type: "AssignmentPattern";
left: BabelNodeIdentifier;
right: BabelNodeExpression;
decorators?: any;
}
declare class BabelNodeArrayPattern extends BabelNode {
type: "ArrayPattern";
elements: any;
typeAnnotation: any;
decorators?: any;
}
declare class BabelNodeArrowFunctionExpression extends BabelNode {
@@ -362,7 +366,8 @@ declare class BabelNodeArrowFunctionExpression extends BabelNode {
params: any;
body: BabelNodeBlockStatement | BabelNodeExpression;
async?: boolean;
returnType: any;
returnType?: any;
typeParameters?: any;
}
declare class BabelNodeClassBody extends BabelNode {
@@ -373,23 +378,23 @@ declare class BabelNodeClassBody extends BabelNode {
declare class BabelNodeClassDeclaration extends BabelNode {
type: "ClassDeclaration";
id: BabelNodeIdentifier;
body: BabelNodeClassBody;
superClass?: ?BabelNodeExpression;
body: BabelNodeClassBody;
decorators: any;
mixins: any;
typeParameters: any;
superTypeParameters: any;
mixins?: any;
superTypeParameters?: any;
typeParameters?: any;
}
declare class BabelNodeClassExpression extends BabelNode {
type: "ClassExpression";
id?: ?BabelNodeIdentifier;
body: BabelNodeClassBody;
superClass?: ?BabelNodeExpression;
body: BabelNodeClassBody;
decorators: any;
mixins: any;
typeParameters: any;
superTypeParameters: any;
mixins?: any;
superTypeParameters?: any;
typeParameters?: any;
}
declare class BabelNodeExportAllDeclaration extends BabelNode {
@@ -412,8 +417,7 @@ declare class BabelNodeExportNamedDeclaration extends BabelNode {
declare class BabelNodeExportSpecifier extends BabelNode {
type: "ExportSpecifier";
local: BabelNodeIdentifier;
imported: BabelNodeIdentifier;
exported: any;
exported: BabelNodeIdentifier;
}
declare class BabelNodeForOfStatement extends BabelNode {
@@ -443,6 +447,7 @@ declare class BabelNodeImportSpecifier extends BabelNode {
type: "ImportSpecifier";
local: BabelNodeIdentifier;
imported: BabelNodeIdentifier;
importKind?: null | "type" | "typeof";
}
declare class BabelNodeMetaProperty extends BabelNode {
@@ -454,21 +459,22 @@ declare class BabelNodeMetaProperty extends BabelNode {
declare class BabelNodeClassMethod extends BabelNode {
type: "ClassMethod";
kind?: any;
computed?: boolean;
key: any;
params: any;
body: BabelNodeBlockStatement;
generator?: boolean;
computed?: boolean;
async?: boolean;
decorators: any;
returnType: any;
typeParameters: any;
decorators?: any;
generator?: boolean;
returnType?: any;
typeParameters?: any;
}
declare class BabelNodeObjectPattern extends BabelNode {
type: "ObjectPattern";
properties: any;
typeAnnotation: any;
decorators?: any;
}
declare class BabelNodeSpreadElement extends BabelNode {
@@ -500,8 +506,8 @@ declare class BabelNodeTemplateLiteral extends BabelNode {
declare class BabelNodeYieldExpression extends BabelNode {
type: "YieldExpression";
delegate?: boolean;
argument?: ?BabelNodeExpression;
delegate?: boolean;
}
declare class BabelNodeAnyTypeAnnotation extends BabelNode {
@@ -537,6 +543,7 @@ declare class BabelNodeClassProperty extends BabelNode {
value: any;
typeAnnotation: any;
decorators: any;
computed?: boolean;
}
declare class BabelNodeDeclareClass extends BabelNode {
@@ -576,11 +583,25 @@ declare class BabelNodeDeclareTypeAlias extends BabelNode {
right: any;
}
declare class BabelNodeDeclareOpaqueType extends BabelNode {
type: "DeclareOpaqueType";
id: any;
typeParameters: any;
supertype: any;
}
declare class BabelNodeDeclareVariable extends BabelNode {
type: "DeclareVariable";
id: any;
}
declare class BabelNodeDeclareExportDeclaration extends BabelNode {
type: "DeclareExportDeclaration";
declaration: any;
specifiers: any;
source: any;
}
declare class BabelNodeExistentialTypeParam extends BabelNode {
type: "ExistentialTypeParam";
}
@@ -627,6 +648,10 @@ declare class BabelNodeMixedTypeAnnotation extends BabelNode {
type: "MixedTypeAnnotation";
}
declare class BabelNodeEmptyTypeAnnotation extends BabelNode {
type: "EmptyTypeAnnotation";
}
declare class BabelNodeNullableTypeAnnotation extends BabelNode {
type: "NullableTypeAnnotation";
typeAnnotation: any;
@@ -669,6 +694,14 @@ declare class BabelNodeTypeAlias extends BabelNode {
right: any;
}
declare class BabelNodeOpaqueType extends BabelNode {
type: "OpaqueType";
id: any;
typeParameters: any;
impltype: any;
supertype: any;
}
declare class BabelNodeTypeAnnotation extends BabelNode {
type: "TypeAnnotation";
typeAnnotation: any;
@@ -680,6 +713,11 @@ declare class BabelNodeTypeCastExpression extends BabelNode {
typeAnnotation: any;
}
declare class BabelNodeTypeParameter extends BabelNode {
type: "TypeParameter";
bound: any;
}
declare class BabelNodeTypeParameterDeclaration extends BabelNode {
type: "TypeParameterDeclaration";
params: any;
@@ -715,6 +753,11 @@ declare class BabelNodeObjectTypeProperty extends BabelNode {
value: any;
}
declare class BabelNodeObjectTypeSpreadProperty extends BabelNode {
type: "ObjectTypeSpreadProperty";
argument: any;
}
declare class BabelNodeQualifiedTypeIdentifier extends BabelNode {
type: "QualifiedTypeIdentifier";
id: any;
@@ -758,6 +801,11 @@ declare class BabelNodeJSXExpressionContainer extends BabelNode {
expression: BabelNodeExpression;
}
declare class BabelNodeJSXSpreadChild extends BabelNode {
type: "JSXSpreadChild";
expression: BabelNodeExpression;
}
declare class BabelNodeJSXIdentifier extends BabelNode {
type: "JSXIdentifier";
name: string;
@@ -778,8 +826,8 @@ declare class BabelNodeJSXNamespacedName extends BabelNode {
declare class BabelNodeJSXOpeningElement extends BabelNode {
type: "JSXOpeningElement";
name: BabelNodeJSXIdentifier | BabelNodeJSXMemberExpression;
selfClosing?: boolean;
attributes: any;
selfClosing?: boolean;
}
declare class BabelNodeJSXSpreadAttribute extends BabelNode {
@@ -806,12 +854,23 @@ declare class BabelNodeAwaitExpression extends BabelNode {
argument: BabelNodeExpression;
}
declare class BabelNodeForAwaitStatement extends BabelNode {
type: "ForAwaitStatement";
left: BabelNodeVariableDeclaration | BabelNodeLVal;
right: BabelNodeExpression;
body: BabelNodeStatement;
}
declare class BabelNodeBindExpression extends BabelNode {
type: "BindExpression";
object: any;
callee: any;
}
declare class BabelNodeImport extends BabelNode {
type: "Import";
}
declare class BabelNodeDecorator extends BabelNode {
type: "Decorator";
expression: BabelNodeExpression;
@@ -842,28 +901,28 @@ declare class BabelNodeSpreadProperty extends BabelNode {
argument: BabelNodeExpression;
}
type BabelNodeExpression = BabelNodeArrayExpression | BabelNodeAssignmentExpression | BabelNodeBinaryExpression | BabelNodeCallExpression | BabelNodeConditionalExpression | BabelNodeFunctionExpression | BabelNodeIdentifier | BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeNullLiteral | BabelNodeBooleanLiteral | BabelNodeRegExpLiteral | BabelNodeLogicalExpression | BabelNodeMemberExpression | BabelNodeNewExpression | BabelNodeObjectExpression | BabelNodeSequenceExpression | BabelNodeThisExpression | BabelNodeUnaryExpression | BabelNodeUpdateExpression | BabelNodeArrowFunctionExpression | BabelNodeClassExpression | BabelNodeMetaProperty | BabelNodeSuper | BabelNodeTaggedTemplateExpression | BabelNodeTemplateLiteral | BabelNodeYieldExpression | BabelNodeTypeCastExpression | BabelNodeJSXElement | BabelNodeJSXEmptyExpression | BabelNodeJSXIdentifier | BabelNodeJSXMemberExpression | BabelNodeParenthesizedExpression | BabelNodeAwaitExpression | BabelNodeBindExpression | BabelNodeDoExpression;
type BabelNodeExpression = BabelNodeArrayExpression | BabelNodeAssignmentExpression | BabelNodeBinaryExpression | BabelNodeCallExpression | BabelNodeConditionalExpression | BabelNodeFunctionExpression | BabelNodeIdentifier | BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeNullLiteral | BabelNodeBooleanLiteral | BabelNodeRegExpLiteral | BabelNodeLogicalExpression | BabelNodeMemberExpression | BabelNodeNewExpression | BabelNodeObjectExpression | BabelNodeSequenceExpression | BabelNodeThisExpression | BabelNodeUnaryExpression | BabelNodeUpdateExpression | BabelNodeArrowFunctionExpression | BabelNodeClassExpression | BabelNodeMetaProperty | BabelNodeSuper | BabelNodeTaggedTemplateExpression | BabelNodeTemplateLiteral | BabelNodeYieldExpression | BabelNodeTypeCastExpression | BabelNodeJSXElement | BabelNodeJSXEmptyExpression | BabelNodeJSXIdentifier | BabelNodeJSXMemberExpression | BabelNodeParenthesizedExpression | BabelNodeAwaitExpression | BabelNodeBindExpression | BabelNodeImport | BabelNodeDoExpression;
type BabelNodeBinary = BabelNodeBinaryExpression | BabelNodeLogicalExpression;
type BabelNodeScopable = BabelNodeBlockStatement | BabelNodeCatchClause | BabelNodeDoWhileStatement | BabelNodeForInStatement | BabelNodeForStatement | BabelNodeFunctionDeclaration | BabelNodeFunctionExpression | BabelNodeProgram | BabelNodeObjectMethod | BabelNodeSwitchStatement | BabelNodeWhileStatement | BabelNodeArrowFunctionExpression | BabelNodeClassDeclaration | BabelNodeClassExpression | BabelNodeForOfStatement | BabelNodeClassMethod;
type BabelNodeBlockParent = BabelNodeBlockStatement | BabelNodeDoWhileStatement | BabelNodeForInStatement | BabelNodeForStatement | BabelNodeFunctionDeclaration | BabelNodeFunctionExpression | BabelNodeProgram | BabelNodeObjectMethod | BabelNodeSwitchStatement | BabelNodeWhileStatement | BabelNodeArrowFunctionExpression | BabelNodeForOfStatement | BabelNodeClassMethod;
type BabelNodeScopable = BabelNodeBlockStatement | BabelNodeCatchClause | BabelNodeDoWhileStatement | BabelNodeForInStatement | BabelNodeForStatement | BabelNodeFunctionDeclaration | BabelNodeFunctionExpression | BabelNodeProgram | BabelNodeObjectMethod | BabelNodeSwitchStatement | BabelNodeWhileStatement | BabelNodeArrowFunctionExpression | BabelNodeClassDeclaration | BabelNodeClassExpression | BabelNodeForOfStatement | BabelNodeClassMethod | BabelNodeForAwaitStatement;
type BabelNodeBlockParent = BabelNodeBlockStatement | BabelNodeDoWhileStatement | BabelNodeForInStatement | BabelNodeForStatement | BabelNodeFunctionDeclaration | BabelNodeFunctionExpression | BabelNodeProgram | BabelNodeObjectMethod | BabelNodeSwitchStatement | BabelNodeWhileStatement | BabelNodeArrowFunctionExpression | BabelNodeForOfStatement | BabelNodeClassMethod | BabelNodeForAwaitStatement;
type BabelNodeBlock = BabelNodeBlockStatement | BabelNodeProgram;
type BabelNodeStatement = BabelNodeBlockStatement | BabelNodeBreakStatement | BabelNodeContinueStatement | BabelNodeDebuggerStatement | BabelNodeDoWhileStatement | BabelNodeEmptyStatement | BabelNodeExpressionStatement | BabelNodeForInStatement | BabelNodeForStatement | BabelNodeFunctionDeclaration | BabelNodeIfStatement | BabelNodeLabeledStatement | BabelNodeReturnStatement | BabelNodeSwitchStatement | BabelNodeThrowStatement | BabelNodeTryStatement | BabelNodeVariableDeclaration | BabelNodeWhileStatement | BabelNodeWithStatement | BabelNodeClassDeclaration | BabelNodeExportAllDeclaration | BabelNodeExportDefaultDeclaration | BabelNodeExportNamedDeclaration | BabelNodeForOfStatement | BabelNodeImportDeclaration | BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareTypeAlias | BabelNodeDeclareVariable | BabelNodeInterfaceDeclaration | BabelNodeTypeAlias;
type BabelNodeStatement = BabelNodeBlockStatement | BabelNodeBreakStatement | BabelNodeContinueStatement | BabelNodeDebuggerStatement | BabelNodeDoWhileStatement | BabelNodeEmptyStatement | BabelNodeExpressionStatement | BabelNodeForInStatement | BabelNodeForStatement | BabelNodeFunctionDeclaration | BabelNodeIfStatement | BabelNodeLabeledStatement | BabelNodeReturnStatement | BabelNodeSwitchStatement | BabelNodeThrowStatement | BabelNodeTryStatement | BabelNodeVariableDeclaration | BabelNodeWhileStatement | BabelNodeWithStatement | BabelNodeClassDeclaration | BabelNodeExportAllDeclaration | BabelNodeExportDefaultDeclaration | BabelNodeExportNamedDeclaration | BabelNodeForOfStatement | BabelNodeImportDeclaration | BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareOpaqueType | BabelNodeDeclareVariable | BabelNodeDeclareExportDeclaration | BabelNodeInterfaceDeclaration | BabelNodeTypeAlias | BabelNodeOpaqueType | BabelNodeForAwaitStatement;
type BabelNodeTerminatorless = BabelNodeBreakStatement | BabelNodeContinueStatement | BabelNodeReturnStatement | BabelNodeThrowStatement | BabelNodeYieldExpression | BabelNodeAwaitExpression;
type BabelNodeCompletionStatement = BabelNodeBreakStatement | BabelNodeContinueStatement | BabelNodeReturnStatement | BabelNodeThrowStatement;
type BabelNodeConditional = BabelNodeConditionalExpression | BabelNodeIfStatement;
type BabelNodeLoop = BabelNodeDoWhileStatement | BabelNodeForInStatement | BabelNodeForStatement | BabelNodeWhileStatement | BabelNodeForOfStatement;
type BabelNodeLoop = BabelNodeDoWhileStatement | BabelNodeForInStatement | BabelNodeForStatement | BabelNodeWhileStatement | BabelNodeForOfStatement | BabelNodeForAwaitStatement;
type BabelNodeWhile = BabelNodeDoWhileStatement | BabelNodeWhileStatement;
type BabelNodeExpressionWrapper = BabelNodeExpressionStatement | BabelNodeTypeCastExpression | BabelNodeParenthesizedExpression;
type BabelNodeFor = BabelNodeForInStatement | BabelNodeForStatement | BabelNodeForOfStatement;
type BabelNodeForXStatement = BabelNodeForInStatement | BabelNodeForOfStatement;
type BabelNodeFor = BabelNodeForInStatement | BabelNodeForStatement | BabelNodeForOfStatement | BabelNodeForAwaitStatement;
type BabelNodeForXStatement = BabelNodeForInStatement | BabelNodeForOfStatement | BabelNodeForAwaitStatement;
type BabelNodeFunction = BabelNodeFunctionDeclaration | BabelNodeFunctionExpression | BabelNodeObjectMethod | BabelNodeArrowFunctionExpression | BabelNodeClassMethod;
type BabelNodeFunctionParent = BabelNodeFunctionDeclaration | BabelNodeFunctionExpression | BabelNodeProgram | BabelNodeObjectMethod | BabelNodeArrowFunctionExpression | BabelNodeClassMethod;
type BabelNodePureish = BabelNodeFunctionDeclaration | BabelNodeFunctionExpression | BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeNullLiteral | BabelNodeBooleanLiteral | BabelNodeArrowFunctionExpression | BabelNodeClassDeclaration | BabelNodeClassExpression;
type BabelNodeDeclaration = BabelNodeFunctionDeclaration | BabelNodeVariableDeclaration | BabelNodeClassDeclaration | BabelNodeExportAllDeclaration | BabelNodeExportDefaultDeclaration | BabelNodeExportNamedDeclaration | BabelNodeImportDeclaration | BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareVariable | BabelNodeInterfaceDeclaration | BabelNodeTypeAlias;
type BabelNodeDeclaration = BabelNodeFunctionDeclaration | BabelNodeVariableDeclaration | BabelNodeClassDeclaration | BabelNodeExportAllDeclaration | BabelNodeExportDefaultDeclaration | BabelNodeExportNamedDeclaration | BabelNodeImportDeclaration | BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareOpaqueType | BabelNodeDeclareVariable | BabelNodeDeclareExportDeclaration | BabelNodeInterfaceDeclaration | BabelNodeTypeAlias | BabelNodeOpaqueType;
type BabelNodeLVal = BabelNodeIdentifier | BabelNodeMemberExpression | BabelNodeRestElement | BabelNodeAssignmentPattern | BabelNodeArrayPattern | BabelNodeObjectPattern;
type BabelNodeLiteral = BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeNullLiteral | BabelNodeBooleanLiteral | BabelNodeRegExpLiteral | BabelNodeTemplateLiteral;
type BabelNodeImmutable = BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeNullLiteral | BabelNodeBooleanLiteral | BabelNodeJSXAttribute | BabelNodeJSXClosingElement | BabelNodeJSXElement | BabelNodeJSXExpressionContainer | BabelNodeJSXOpeningElement;
type BabelNodeUserWhitespacable = BabelNodeObjectMethod | BabelNodeObjectProperty | BabelNodeObjectTypeCallProperty | BabelNodeObjectTypeIndexer | BabelNodeObjectTypeProperty;
type BabelNodeImmutable = BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeNullLiteral | BabelNodeBooleanLiteral | BabelNodeJSXAttribute | BabelNodeJSXClosingElement | BabelNodeJSXElement | BabelNodeJSXExpressionContainer | BabelNodeJSXSpreadChild | BabelNodeJSXOpeningElement | BabelNodeJSXText;
type BabelNodeUserWhitespacable = BabelNodeObjectMethod | BabelNodeObjectProperty | BabelNodeObjectTypeCallProperty | BabelNodeObjectTypeIndexer | BabelNodeObjectTypeProperty | BabelNodeObjectTypeSpreadProperty;
type BabelNodeMethod = BabelNodeObjectMethod | BabelNodeClassMethod;
type BabelNodeObjectMember = BabelNodeObjectMethod | BabelNodeObjectProperty;
type BabelNodeProperty = BabelNodeObjectProperty | BabelNodeClassProperty;
@@ -873,10 +932,10 @@ type BabelNodeClass = BabelNodeClassDeclaration | BabelNodeClassExpression;
type BabelNodeModuleDeclaration = BabelNodeExportAllDeclaration | BabelNodeExportDefaultDeclaration | BabelNodeExportNamedDeclaration | BabelNodeImportDeclaration;
type BabelNodeExportDeclaration = BabelNodeExportAllDeclaration | BabelNodeExportDefaultDeclaration | BabelNodeExportNamedDeclaration;
type BabelNodeModuleSpecifier = BabelNodeExportSpecifier | BabelNodeImportDefaultSpecifier | BabelNodeImportNamespaceSpecifier | BabelNodeImportSpecifier | BabelNodeExportDefaultSpecifier | BabelNodeExportNamespaceSpecifier;
type BabelNodeFlow = BabelNodeAnyTypeAnnotation | BabelNodeArrayTypeAnnotation | BabelNodeBooleanTypeAnnotation | BabelNodeBooleanLiteralTypeAnnotation | BabelNodeNullLiteralTypeAnnotation | BabelNodeClassImplements | BabelNodeClassProperty | BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareVariable | BabelNodeExistentialTypeParam | BabelNodeFunctionTypeAnnotation | BabelNodeFunctionTypeParam | BabelNodeGenericTypeAnnotation | BabelNodeInterfaceExtends | BabelNodeInterfaceDeclaration | BabelNodeIntersectionTypeAnnotation | BabelNodeMixedTypeAnnotation | BabelNodeNullableTypeAnnotation | BabelNodeNumericLiteralTypeAnnotation | BabelNodeNumberTypeAnnotation | BabelNodeStringLiteralTypeAnnotation | BabelNodeStringTypeAnnotation | BabelNodeThisTypeAnnotation | BabelNodeTupleTypeAnnotation | BabelNodeTypeofTypeAnnotation | BabelNodeTypeAlias | BabelNodeTypeAnnotation | BabelNodeTypeCastExpression | BabelNodeTypeParameterDeclaration | BabelNodeTypeParameterInstantiation | BabelNodeObjectTypeAnnotation | BabelNodeObjectTypeCallProperty | BabelNodeObjectTypeIndexer | BabelNodeObjectTypeProperty | BabelNodeQualifiedTypeIdentifier | BabelNodeUnionTypeAnnotation | BabelNodeVoidTypeAnnotation;
type BabelNodeFlowBaseAnnotation = BabelNodeAnyTypeAnnotation | BabelNodeBooleanTypeAnnotation | BabelNodeNullLiteralTypeAnnotation | BabelNodeMixedTypeAnnotation | BabelNodeNumberTypeAnnotation | BabelNodeStringTypeAnnotation | BabelNodeThisTypeAnnotation | BabelNodeVoidTypeAnnotation;
type BabelNodeFlowDeclaration = BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareVariable | BabelNodeInterfaceDeclaration | BabelNodeTypeAlias;
type BabelNodeJSX = BabelNodeJSXAttribute | BabelNodeJSXClosingElement | BabelNodeJSXElement | BabelNodeJSXEmptyExpression | BabelNodeJSXExpressionContainer | BabelNodeJSXIdentifier | BabelNodeJSXMemberExpression | BabelNodeJSXNamespacedName | BabelNodeJSXOpeningElement | BabelNodeJSXSpreadAttribute | BabelNodeJSXText;
type BabelNodeFlow = BabelNodeAnyTypeAnnotation | BabelNodeArrayTypeAnnotation | BabelNodeBooleanTypeAnnotation | BabelNodeBooleanLiteralTypeAnnotation | BabelNodeNullLiteralTypeAnnotation | BabelNodeClassImplements | BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareOpaqueType | BabelNodeDeclareVariable | BabelNodeDeclareExportDeclaration | BabelNodeExistentialTypeParam | BabelNodeFunctionTypeAnnotation | BabelNodeFunctionTypeParam | BabelNodeGenericTypeAnnotation | BabelNodeInterfaceExtends | BabelNodeInterfaceDeclaration | BabelNodeIntersectionTypeAnnotation | BabelNodeMixedTypeAnnotation | BabelNodeEmptyTypeAnnotation | BabelNodeNullableTypeAnnotation | BabelNodeNumericLiteralTypeAnnotation | BabelNodeNumberTypeAnnotation | BabelNodeStringLiteralTypeAnnotation | BabelNodeStringTypeAnnotation | BabelNodeThisTypeAnnotation | BabelNodeTupleTypeAnnotation | BabelNodeTypeofTypeAnnotation | BabelNodeTypeAlias | BabelNodeOpaqueType | BabelNodeTypeAnnotation | BabelNodeTypeCastExpression | BabelNodeTypeParameter | BabelNodeTypeParameterDeclaration | BabelNodeTypeParameterInstantiation | BabelNodeObjectTypeAnnotation | BabelNodeObjectTypeCallProperty | BabelNodeObjectTypeIndexer | BabelNodeObjectTypeProperty | BabelNodeObjectTypeSpreadProperty | BabelNodeQualifiedTypeIdentifier | BabelNodeUnionTypeAnnotation | BabelNodeVoidTypeAnnotation;
type BabelNodeFlowBaseAnnotation = BabelNodeAnyTypeAnnotation | BabelNodeBooleanTypeAnnotation | BabelNodeNullLiteralTypeAnnotation | BabelNodeMixedTypeAnnotation | BabelNodeEmptyTypeAnnotation | BabelNodeNumberTypeAnnotation | BabelNodeStringTypeAnnotation | BabelNodeThisTypeAnnotation | BabelNodeVoidTypeAnnotation;
type BabelNodeFlowDeclaration = BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareOpaqueType | BabelNodeDeclareVariable | BabelNodeDeclareExportDeclaration | BabelNodeInterfaceDeclaration | BabelNodeTypeAlias | BabelNodeOpaqueType;
type BabelNodeJSX = BabelNodeJSXAttribute | BabelNodeJSXClosingElement | BabelNodeJSXElement | BabelNodeJSXEmptyExpression | BabelNodeJSXExpressionContainer | BabelNodeJSXSpreadChild | BabelNodeJSXIdentifier | BabelNodeJSXMemberExpression | BabelNodeJSXNamespacedName | BabelNodeJSXOpeningElement | BabelNodeJSXSpreadAttribute | BabelNodeJSXText;
declare module "babel-types" {
declare function arrayExpression(elements?: any): BabelNodeArrayExpression;
@@ -884,7 +943,7 @@ declare module "babel-types" {
declare function binaryExpression(operator: "+" | "-" | "/" | "%" | "*" | "**" | "&" | "|" | ">>" | ">>>" | "<<" | "^" | "==" | "===" | "!=" | "!==" | "in" | "instanceof" | ">" | "<" | ">=" | "<=", left: BabelNodeExpression, right: BabelNodeExpression): BabelNodeBinaryExpression;
declare function directive(value: BabelNodeDirectiveLiteral): BabelNodeDirective;
declare function directiveLiteral(value: string): BabelNodeDirectiveLiteral;
declare function blockStatement(directives?: any, body: any): BabelNodeBlockStatement;
declare function blockStatement(body: any, directives?: any): BabelNodeBlockStatement;
declare function breakStatement(label?: ?BabelNodeIdentifier): BabelNodeBreakStatement;
declare function callExpression(callee: BabelNodeExpression, _arguments: any): BabelNodeCallExpression;
declare function catchClause(param: BabelNodeIdentifier, body: BabelNodeBlockStatement): BabelNodeCatchClause;
@@ -897,9 +956,9 @@ declare module "babel-types" {
declare function file(program: BabelNodeProgram, comments: any, tokens: any): BabelNodeFile;
declare function forInStatement(left: BabelNodeVariableDeclaration | BabelNodeLVal, right: BabelNodeExpression, body: BabelNodeStatement): BabelNodeForInStatement;
declare function forStatement(init?: ?BabelNodeVariableDeclaration | BabelNodeExpression, test?: ?BabelNodeExpression, update?: ?BabelNodeExpression, body: BabelNodeStatement): BabelNodeForStatement;
declare function functionDeclaration(id: BabelNodeIdentifier, params: any, body: BabelNodeBlockStatement, generator?: boolean, async?: boolean, returnType: any, typeParameters: any): BabelNodeFunctionDeclaration;
declare function functionExpression(id?: ?BabelNodeIdentifier, params: any, body: BabelNodeBlockStatement, generator?: boolean, async?: boolean, returnType: any, typeParameters: any): BabelNodeFunctionExpression;
declare function identifier(name: any, typeAnnotation: any): BabelNodeIdentifier;
declare function functionDeclaration(id: BabelNodeIdentifier, params: any, body: BabelNodeBlockStatement, generator?: boolean, async?: boolean, returnType?: any, typeParameters?: any): BabelNodeFunctionDeclaration;
declare function functionExpression(id?: ?BabelNodeIdentifier, params: any, body: BabelNodeBlockStatement, generator?: boolean, async?: boolean, returnType?: any, typeParameters?: any): BabelNodeFunctionExpression;
declare function identifier(name: any, decorators?: any, typeAnnotation?: any): BabelNodeIdentifier;
declare function ifStatement(test: BabelNodeExpression, consequent: BabelNodeStatement, alternate?: ?BabelNodeStatement): BabelNodeIfStatement;
declare function labeledStatement(label: BabelNodeIdentifier, body: BabelNodeStatement): BabelNodeLabeledStatement;
declare function stringLiteral(value: string): BabelNodeStringLiteral;
@@ -910,61 +969,63 @@ declare module "babel-types" {
declare function logicalExpression(operator: "||" | "&&", left: BabelNodeExpression, right: BabelNodeExpression): BabelNodeLogicalExpression;
declare function memberExpression(object: BabelNodeExpression, property: any, computed?: boolean): BabelNodeMemberExpression;
declare function newExpression(callee: BabelNodeExpression, _arguments: any): BabelNodeNewExpression;
declare function program(directives?: any, body: any): BabelNodeProgram;
declare function program(body: any, directives?: any): BabelNodeProgram;
declare function objectExpression(properties: any): BabelNodeObjectExpression;
declare function objectMethod(kind?: any, computed?: boolean, key: any, decorators: any, body: BabelNodeBlockStatement, generator?: boolean, async?: boolean, params: any, returnType: any, typeParameters: any): BabelNodeObjectMethod;
declare function objectProperty(computed?: boolean, key: any, value: BabelNodeExpression, shorthand?: boolean, decorators?: any): BabelNodeObjectProperty;
declare function restElement(argument: BabelNodeLVal, typeAnnotation: any): BabelNodeRestElement;
declare function objectMethod(kind?: any, key: any, params: any, body: BabelNodeBlockStatement, computed?: boolean, async?: boolean, decorators?: any, generator?: boolean, returnType?: any, typeParameters?: any): BabelNodeObjectMethod;
declare function objectProperty(key: any, value: BabelNodeExpression | BabelNodePattern | BabelNodeRestElement, computed?: boolean, shorthand?: boolean, decorators?: any): BabelNodeObjectProperty;
declare function restElement(argument: BabelNodeLVal, typeAnnotation: any, decorators?: any): BabelNodeRestElement;
declare function returnStatement(argument?: ?BabelNodeExpression): BabelNodeReturnStatement;
declare function sequenceExpression(expressions: any): BabelNodeSequenceExpression;
declare function switchCase(test?: ?BabelNodeExpression, consequent: any): BabelNodeSwitchCase;
declare function switchStatement(discriminant: BabelNodeExpression, cases: any): BabelNodeSwitchStatement;
declare function thisExpression(): BabelNodeThisExpression;
declare function throwStatement(argument: BabelNodeExpression): BabelNodeThrowStatement;
declare function tryStatement(body: BabelNodeBlockStatement, handler?: any, finalizer?: ?BabelNodeBlockStatement, block: any): BabelNodeTryStatement;
declare function unaryExpression(prefix?: boolean, argument: BabelNodeExpression, operator: "void" | "delete" | "!" | "+" | "-" | "++" | "--" | "~" | "typeof"): BabelNodeUnaryExpression;
declare function updateExpression(prefix?: boolean, argument: BabelNodeExpression, operator: "++" | "--"): BabelNodeUpdateExpression;
declare function tryStatement(block: any, handler?: any, finalizer?: ?BabelNodeBlockStatement, body?: ?BabelNodeBlockStatement): BabelNodeTryStatement;
declare function unaryExpression(operator: "void" | "delete" | "!" | "+" | "-" | "++" | "--" | "~" | "typeof", argument: BabelNodeExpression, prefix?: boolean): BabelNodeUnaryExpression;
declare function updateExpression(operator: "++" | "--", argument: BabelNodeExpression, prefix?: boolean): BabelNodeUpdateExpression;
declare function variableDeclaration(kind: any, declarations: any): BabelNodeVariableDeclaration;
declare function variableDeclarator(id: BabelNodeLVal, init?: ?BabelNodeExpression): BabelNodeVariableDeclarator;
declare function whileStatement(test: BabelNodeExpression, body: BabelNodeBlockStatement | BabelNodeStatement): BabelNodeWhileStatement;
declare function withStatement(object: any, body: BabelNodeBlockStatement | BabelNodeStatement): BabelNodeWithStatement;
declare function assignmentPattern(left: BabelNodeIdentifier, right: BabelNodeExpression): BabelNodeAssignmentPattern;
declare function arrayPattern(elements: any, typeAnnotation: any): BabelNodeArrayPattern;
declare function arrowFunctionExpression(params: any, body: BabelNodeBlockStatement | BabelNodeExpression, async?: boolean, returnType: any): BabelNodeArrowFunctionExpression;
declare function assignmentPattern(left: BabelNodeIdentifier, right: BabelNodeExpression, decorators?: any): BabelNodeAssignmentPattern;
declare function arrayPattern(elements: any, typeAnnotation: any, decorators?: any): BabelNodeArrayPattern;
declare function arrowFunctionExpression(params: any, body: BabelNodeBlockStatement | BabelNodeExpression, async?: boolean, returnType?: any, typeParameters?: any): BabelNodeArrowFunctionExpression;
declare function classBody(body: any): BabelNodeClassBody;
declare function classDeclaration(id: BabelNodeIdentifier, body: BabelNodeClassBody, superClass?: ?BabelNodeExpression, decorators: any, mixins: any, typeParameters: any, superTypeParameters: any, _implements: any): BabelNodeClassDeclaration;
declare function classExpression(id?: ?BabelNodeIdentifier, body: BabelNodeClassBody, superClass?: ?BabelNodeExpression, decorators: any, mixins: any, typeParameters: any, superTypeParameters: any, _implements: any): BabelNodeClassExpression;
declare function classDeclaration(id: BabelNodeIdentifier, superClass?: ?BabelNodeExpression, body: BabelNodeClassBody, decorators: any, _implements?: any, mixins?: any, superTypeParameters?: any, typeParameters?: any): BabelNodeClassDeclaration;
declare function classExpression(id?: ?BabelNodeIdentifier, superClass?: ?BabelNodeExpression, body: BabelNodeClassBody, decorators: any, _implements?: any, mixins?: any, superTypeParameters?: any, typeParameters?: any): BabelNodeClassExpression;
declare function exportAllDeclaration(source: BabelNodeStringLiteral): BabelNodeExportAllDeclaration;
declare function exportDefaultDeclaration(declaration: BabelNodeFunctionDeclaration | BabelNodeClassDeclaration | BabelNodeExpression): BabelNodeExportDefaultDeclaration;
declare function exportNamedDeclaration(declaration?: ?BabelNodeDeclaration, specifiers: any, source?: ?BabelNodeStringLiteral): BabelNodeExportNamedDeclaration;
declare function exportSpecifier(local: BabelNodeIdentifier, imported: BabelNodeIdentifier, exported: any): BabelNodeExportSpecifier;
declare function exportSpecifier(local: BabelNodeIdentifier, exported: BabelNodeIdentifier): BabelNodeExportSpecifier;
declare function forOfStatement(left: BabelNodeVariableDeclaration | BabelNodeLVal, right: BabelNodeExpression, body: BabelNodeStatement): BabelNodeForOfStatement;
declare function importDeclaration(specifiers: any, source: BabelNodeStringLiteral): BabelNodeImportDeclaration;
declare function importDefaultSpecifier(local: BabelNodeIdentifier): BabelNodeImportDefaultSpecifier;
declare function importNamespaceSpecifier(local: BabelNodeIdentifier): BabelNodeImportNamespaceSpecifier;
declare function importSpecifier(local: BabelNodeIdentifier, imported: BabelNodeIdentifier): BabelNodeImportSpecifier;
declare function importSpecifier(local: BabelNodeIdentifier, imported: BabelNodeIdentifier, importKind?: null | "type" | "typeof"): BabelNodeImportSpecifier;
declare function metaProperty(meta: string, property: string): BabelNodeMetaProperty;
declare function classMethod(kind?: any, computed?: boolean, _static?: boolean, key: any, params: any, body: BabelNodeBlockStatement, generator?: boolean, async?: boolean, decorators: any, returnType: any, typeParameters: any): BabelNodeClassMethod;
declare function objectPattern(properties: any, typeAnnotation: any): BabelNodeObjectPattern;
declare function classMethod(kind?: any, key: any, params: any, body: BabelNodeBlockStatement, computed?: boolean, _static?: boolean, async?: boolean, decorators?: any, generator?: boolean, returnType?: any, typeParameters?: any): BabelNodeClassMethod;
declare function objectPattern(properties: any, typeAnnotation: any, decorators?: any): BabelNodeObjectPattern;
declare function spreadElement(argument: BabelNodeExpression): BabelNodeSpreadElement;
declare function taggedTemplateExpression(tag: BabelNodeExpression, quasi: BabelNodeTemplateLiteral): BabelNodeTaggedTemplateExpression;
declare function templateElement(value: any, tail?: boolean): BabelNodeTemplateElement;
declare function templateLiteral(quasis: any, expressions: any): BabelNodeTemplateLiteral;
declare function yieldExpression(delegate?: boolean, argument?: ?BabelNodeExpression): BabelNodeYieldExpression;
declare function yieldExpression(argument?: ?BabelNodeExpression, delegate?: boolean): BabelNodeYieldExpression;
declare function anyTypeAnnotation(): BabelNodeAnyTypeAnnotation;
declare function arrayTypeAnnotation(elementType: any): BabelNodeArrayTypeAnnotation;
declare function booleanTypeAnnotation(): BabelNodeBooleanTypeAnnotation;
declare function booleanLiteralTypeAnnotation(): BabelNodeBooleanLiteralTypeAnnotation;
declare function nullLiteralTypeAnnotation(): BabelNodeNullLiteralTypeAnnotation;
declare function classImplements(id: any, typeParameters: any): BabelNodeClassImplements;
declare function classProperty(key: any, value: any, typeAnnotation: any, decorators: any): BabelNodeClassProperty;
declare function classProperty(key: any, value: any, typeAnnotation: any, decorators: any, computed?: boolean): BabelNodeClassProperty;
declare function declareClass(id: any, typeParameters: any, _extends: any, body: any): BabelNodeDeclareClass;
declare function declareFunction(id: any): BabelNodeDeclareFunction;
declare function declareInterface(id: any, typeParameters: any, _extends: any, body: any): BabelNodeDeclareInterface;
declare function declareModule(id: any, body: any): BabelNodeDeclareModule;
declare function declareModuleExports(typeAnnotation: any): BabelNodeDeclareModuleExports;
declare function declareTypeAlias(id: any, typeParameters: any, right: any): BabelNodeDeclareTypeAlias;
declare function declareOpaqueType(id: any, typeParameters: any, supertype: any): BabelNodeDeclareOpaqueType;
declare function declareVariable(id: any): BabelNodeDeclareVariable;
declare function declareExportDeclaration(declaration: any, specifiers: any, source: any): BabelNodeDeclareExportDeclaration;
declare function existentialTypeParam(): BabelNodeExistentialTypeParam;
declare function functionTypeAnnotation(typeParameters: any, params: any, rest: any, returnType: any): BabelNodeFunctionTypeAnnotation;
declare function functionTypeParam(name: any, typeAnnotation: any): BabelNodeFunctionTypeParam;
@@ -973,6 +1034,7 @@ declare module "babel-types" {
declare function interfaceDeclaration(id: any, typeParameters: any, _extends: any, body: any): BabelNodeInterfaceDeclaration;
declare function intersectionTypeAnnotation(types: any): BabelNodeIntersectionTypeAnnotation;
declare function mixedTypeAnnotation(): BabelNodeMixedTypeAnnotation;
declare function emptyTypeAnnotation(): BabelNodeEmptyTypeAnnotation;
declare function nullableTypeAnnotation(typeAnnotation: any): BabelNodeNullableTypeAnnotation;
declare function numericLiteralTypeAnnotation(): BabelNodeNumericLiteralTypeAnnotation;
declare function numberTypeAnnotation(): BabelNodeNumberTypeAnnotation;
@@ -982,14 +1044,17 @@ declare module "babel-types" {
declare function tupleTypeAnnotation(types: any): BabelNodeTupleTypeAnnotation;
declare function typeofTypeAnnotation(argument: any): BabelNodeTypeofTypeAnnotation;
declare function typeAlias(id: any, typeParameters: any, right: any): BabelNodeTypeAlias;
declare function opaqueType(id: any, typeParameters: any, impltype: any, supertype: any): BabelNodeOpaqueType;
declare function typeAnnotation(typeAnnotation: any): BabelNodeTypeAnnotation;
declare function typeCastExpression(expression: any, typeAnnotation: any): BabelNodeTypeCastExpression;
declare function typeParameter(bound: any): BabelNodeTypeParameter;
declare function typeParameterDeclaration(params: any): BabelNodeTypeParameterDeclaration;
declare function typeParameterInstantiation(params: any): BabelNodeTypeParameterInstantiation;
declare function objectTypeAnnotation(properties: any, indexers: any, callProperties: any): BabelNodeObjectTypeAnnotation;
declare function objectTypeCallProperty(value: any): BabelNodeObjectTypeCallProperty;
declare function objectTypeIndexer(id: any, key: any, value: any): BabelNodeObjectTypeIndexer;
declare function objectTypeProperty(key: any, value: any): BabelNodeObjectTypeProperty;
declare function objectTypeSpreadProperty(argument: any): BabelNodeObjectTypeSpreadProperty;
declare function qualifiedTypeIdentifier(id: any, qualification: any): BabelNodeQualifiedTypeIdentifier;
declare function unionTypeAnnotation(types: any): BabelNodeUnionTypeAnnotation;
declare function voidTypeAnnotation(): BabelNodeVoidTypeAnnotation;
@@ -998,15 +1063,17 @@ declare module "babel-types" {
declare function jSXElement(openingElement: BabelNodeJSXOpeningElement, closingElement?: ?BabelNodeJSXClosingElement, children: any, selfClosing: any): BabelNodeJSXElement;
declare function jSXEmptyExpression(): BabelNodeJSXEmptyExpression;
declare function jSXExpressionContainer(expression: BabelNodeExpression): BabelNodeJSXExpressionContainer;
declare function jSXSpreadChild(expression: BabelNodeExpression): BabelNodeJSXSpreadChild;
declare function jSXIdentifier(name: string): BabelNodeJSXIdentifier;
declare function jSXMemberExpression(object: BabelNodeJSXMemberExpression | BabelNodeJSXIdentifier, property: BabelNodeJSXIdentifier): BabelNodeJSXMemberExpression;
declare function jSXNamespacedName(namespace: BabelNodeJSXIdentifier, name: BabelNodeJSXIdentifier): BabelNodeJSXNamespacedName;
declare function jSXOpeningElement(name: BabelNodeJSXIdentifier | BabelNodeJSXMemberExpression, selfClosing?: boolean, attributes: any): BabelNodeJSXOpeningElement;
declare function jSXOpeningElement(name: BabelNodeJSXIdentifier | BabelNodeJSXMemberExpression, attributes: any, selfClosing?: boolean): BabelNodeJSXOpeningElement;
declare function jSXSpreadAttribute(argument: BabelNodeExpression): BabelNodeJSXSpreadAttribute;
declare function jSXText(value: string): BabelNodeJSXText;
declare function noop(): BabelNodeNoop;
declare function parenthesizedExpression(expression: BabelNodeExpression): BabelNodeParenthesizedExpression;
declare function awaitExpression(argument: BabelNodeExpression): BabelNodeAwaitExpression;
declare function forAwaitStatement(left: BabelNodeVariableDeclaration | BabelNodeLVal, right: BabelNodeExpression, body: BabelNodeStatement): BabelNodeForAwaitStatement;
declare function bindExpression(object: any, callee: any): BabelNodeBindExpression;
declare function decorator(expression: BabelNodeExpression): BabelNodeDecorator;
declare function doExpression(body: BabelNodeBlockStatement): BabelNodeDoExpression;
@@ -1100,7 +1167,9 @@ declare module "babel-types" {
declare function isDeclareModule(node: Object, opts?: Object): boolean;
declare function isDeclareModuleExports(node: Object, opts?: Object): boolean;
declare function isDeclareTypeAlias(node: Object, opts?: Object): boolean;
declare function isDeclareOpaqueType(node: Object, opts?: Object): boolean;
declare function isDeclareVariable(node: Object, opts?: Object): boolean;
declare function isDeclareExportDeclaration(node: Object, opts?: Object): boolean;
declare function isExistentialTypeParam(node: Object, opts?: Object): boolean;
declare function isFunctionTypeAnnotation(node: Object, opts?: Object): boolean;
declare function isFunctionTypeParam(node: Object, opts?: Object): boolean;
@@ -1109,6 +1178,7 @@ declare module "babel-types" {
declare function isInterfaceDeclaration(node: Object, opts?: Object): boolean;
declare function isIntersectionTypeAnnotation(node: Object, opts?: Object): boolean;
declare function isMixedTypeAnnotation(node: Object, opts?: Object): boolean;
declare function isEmptyTypeAnnotation(node: Object, opts?: Object): boolean;
declare function isNullableTypeAnnotation(node: Object, opts?: Object): boolean;
declare function isNumericLiteralTypeAnnotation(node: Object, opts?: Object): boolean;
declare function isNumberTypeAnnotation(node: Object, opts?: Object): boolean;
@@ -1118,14 +1188,17 @@ declare module "babel-types" {
declare function isTupleTypeAnnotation(node: Object, opts?: Object): boolean;
declare function isTypeofTypeAnnotation(node: Object, opts?: Object): boolean;
declare function isTypeAlias(node: Object, opts?: Object): boolean;
declare function isOpaqueType(node: Object, opts?: Object): boolean;
declare function isTypeAnnotation(node: Object, opts?: Object): boolean;
declare function isTypeCastExpression(node: Object, opts?: Object): boolean;
declare function isTypeParameter(node: Object, opts?: Object): boolean;
declare function isTypeParameterDeclaration(node: Object, opts?: Object): boolean;
declare function isTypeParameterInstantiation(node: Object, opts?: Object): boolean;
declare function isObjectTypeAnnotation(node: Object, opts?: Object): boolean;
declare function isObjectTypeCallProperty(node: Object, opts?: Object): boolean;
declare function isObjectTypeIndexer(node: Object, opts?: Object): boolean;
declare function isObjectTypeProperty(node: Object, opts?: Object): boolean;
declare function isObjectTypeSpreadProperty(node: Object, opts?: Object): boolean;
declare function isQualifiedTypeIdentifier(node: Object, opts?: Object): boolean;
declare function isUnionTypeAnnotation(node: Object, opts?: Object): boolean;
declare function isVoidTypeAnnotation(node: Object, opts?: Object): boolean;
@@ -1134,6 +1207,7 @@ declare module "babel-types" {
declare function isJSXElement(node: Object, opts?: Object): boolean;
declare function isJSXEmptyExpression(node: Object, opts?: Object): boolean;
declare function isJSXExpressionContainer(node: Object, opts?: Object): boolean;
declare function isJSXSpreadChild(node: Object, opts?: Object): boolean;
declare function isJSXIdentifier(node: Object, opts?: Object): boolean;
declare function isJSXMemberExpression(node: Object, opts?: Object): boolean;
declare function isJSXNamespacedName(node: Object, opts?: Object): boolean;
@@ -1143,7 +1217,9 @@ declare module "babel-types" {
declare function isNoop(node: Object, opts?: Object): boolean;
declare function isParenthesizedExpression(node: Object, opts?: Object): boolean;
declare function isAwaitExpression(node: Object, opts?: Object): boolean;
declare function isForAwaitStatement(node: Object, opts?: Object): boolean;
declare function isBindExpression(node: Object, opts?: Object): boolean;
declare function isImport(node: Object, opts?: Object): boolean;
declare function isDecorator(node: Object, opts?: Object): boolean;
declare function isDoExpression(node: Object, opts?: Object): boolean;
declare function isExportDefaultSpecifier(node: Object, opts?: Object): boolean;
@@ -1187,14 +1263,4 @@ declare module "babel-types" {
declare function isJSX(node: Object, opts?: Object): boolean;
declare function isNumberLiteral(node: Object, opts?: Object): boolean;
declare function isRegexLiteral(node: Object, opts?: Object): boolean;
declare function isReferencedIdentifier(node: Object, opts?: Object): boolean;
declare function isReferencedMemberExpression(node: Object, opts?: Object): boolean;
declare function isBindingIdentifier(node: Object, opts?: Object): boolean;
declare function isScope(node: Object, opts?: Object): boolean;
declare function isReferenced(node: Object, opts?: Object): boolean;
declare function isBlockScoped(node: Object, opts?: Object): boolean;
declare function isVar(node: Object, opts?: Object): boolean;
declare function isUser(node: Object, opts?: Object): boolean;
declare function isGenerated(node: Object, opts?: Object): boolean;
declare function isPure(node: Object, opts?: Object): boolean;
}

View File

@@ -23,8 +23,7 @@
"browserify": "^13.1.1",
"bundle-collapser": "^1.2.1",
"chai": "^3.5.0",
"chalk": "1.1.1",
"codecov": "^1.0.1",
"chalk": "^1.1.1",
"derequire": "^2.0.2",
"eslint": "^3.9.0",
"eslint-config-babel": "^6.0.0",

View File

@@ -1,6 +1,6 @@
{
"name": "babel-cli",
"version": "6.24.0",
"version": "6.26.0",
"description": "Babel command line.",
"author": "Sebastian McKenzie <sebmck@gmail.com>",
"homepage": "https://babeljs.io/",
@@ -16,26 +16,26 @@
"compiler"
],
"dependencies": {
"babel-core": "^6.24.0",
"babel-register": "^6.24.0",
"babel-polyfill": "^6.23.0",
"babel-runtime": "^6.22.0",
"commander": "^2.8.1",
"convert-source-map": "^1.1.0",
"babel-core": "^6.26.0",
"babel-polyfill": "^6.26.0",
"babel-register": "^6.26.0",
"babel-runtime": "^6.26.0",
"commander": "^2.11.0",
"convert-source-map": "^1.5.0",
"fs-readdir-recursive": "^1.0.0",
"glob": "^7.0.0",
"lodash": "^4.2.0",
"output-file-sync": "^1.1.0",
"path-is-absolute": "^1.0.0",
"glob": "^7.1.2",
"lodash": "^4.17.4",
"output-file-sync": "^1.1.2",
"path-is-absolute": "^1.0.1",
"slash": "^1.0.0",
"source-map": "^0.5.0",
"v8flags": "^2.0.10"
"source-map": "^0.5.6",
"v8flags": "^2.1.1"
},
"optionalDependencies": {
"chokidar": "^1.6.1"
},
"devDependencies": {
"babel-helper-fixtures": "^6.22.0"
"babel-helper-fixtures": "^6.26.0"
},
"bin": {
"babel-doctor": "./bin/babel-doctor.js",

View File

@@ -46,6 +46,7 @@ getV8Flags(function (err, v8Flags) {
case "--debug":
case "--debug-brk":
case "--inspect":
case "--inspect-brk":
args.unshift(arg);
break;

View File

@@ -1,6 +1,6 @@
{
"name": "babel-code-frame",
"version": "6.22.0",
"version": "6.26.0",
"description": "Generate errors that contain a code frame that point to source locations.",
"author": "Sebastian McKenzie <sebmck@gmail.com>",
"homepage": "https://babeljs.io/",
@@ -8,8 +8,8 @@
"repository": "https://github.com/babel/babel/tree/master/packages/babel-code-frame",
"main": "lib/index.js",
"dependencies": {
"chalk": "^1.1.0",
"chalk": "^1.1.3",
"esutils": "^2.0.2",
"js-tokens": "^3.0.0"
"js-tokens": "^3.0.2"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "babel-core",
"version": "6.24.0",
"version": "6.26.0",
"description": "Babel compiler core.",
"author": "Sebastian McKenzie <sebmck@gmail.com>",
"homepage": "https://babeljs.io/",
@@ -26,29 +26,29 @@
"test": "make test"
},
"dependencies": {
"babel-code-frame": "^6.22.0",
"babel-generator": "^6.24.0",
"babel-helpers": "^6.23.0",
"babel-code-frame": "^6.26.0",
"babel-generator": "^6.26.0",
"babel-helpers": "^6.24.1",
"babel-messages": "^6.23.0",
"babel-template": "^6.23.0",
"babel-runtime": "^6.22.0",
"babel-register": "^6.24.0",
"babel-traverse": "^6.23.1",
"babel-types": "^6.23.0",
"babylon": "^6.11.0",
"convert-source-map": "^1.1.0",
"debug": "^2.1.1",
"json5": "^0.5.0",
"lodash": "^4.2.0",
"minimatch": "^3.0.2",
"path-is-absolute": "^1.0.0",
"private": "^0.1.6",
"babel-register": "^6.26.0",
"babel-runtime": "^6.26.0",
"babel-template": "^6.26.0",
"babel-traverse": "^6.26.0",
"babel-types": "^6.26.0",
"babylon": "^6.18.0",
"convert-source-map": "^1.5.0",
"debug": "^2.6.8",
"json5": "^0.5.1",
"lodash": "^4.17.4",
"minimatch": "^3.0.4",
"path-is-absolute": "^1.0.1",
"private": "^0.1.7",
"slash": "^1.0.0",
"source-map": "^0.5.0"
"source-map": "^0.5.6"
},
"devDependencies": {
"babel-helper-fixtures": "^6.22.0",
"babel-helper-transform-fixture-test-runner": "^6.24.0",
"babel-polyfill": "^6.23.0"
"babel-helper-fixtures": "^6.26.0",
"babel-helper-transform-fixture-test-runner": "^6.26.0",
"babel-polyfill": "^6.26.0"
}
}

View File

@@ -7,9 +7,9 @@ Object.defineProperty(exports, "__esModule", {
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var foo = function () {
var _ref2 = _asyncToGenerator(regeneratorRuntime.mark(function _callee3() {
var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
var bar = function () {
var _ref3 = _asyncToGenerator(regeneratorRuntime.mark(function _callee2() {
var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
var baz;
return regeneratorRuntime.wrap(function _callee2$(_context2) {
while (1) {
@@ -58,7 +58,7 @@ var Foo = function () {
_createClass(Foo, [{
key: "bar",
value: function () {
var _ref = _asyncToGenerator(regeneratorRuntime.mark(function _callee() {
var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
var baz;
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {

View File

@@ -54,12 +54,7 @@ sourceFileName | string | | The filename for the sourc
In most cases, Babel does a 1:1 transformation of input-file to output-file. However,
you may be dealing with AST constructed from multiple sources - JS files, templates, etc.
If this is the case, and you want the sourcemaps to reflect the correct sources, you'll need
to make some changes to your code.
First, each node with a `loc` property (which indicates that node's original placement in the
source document) must also include a `loc.filename` property, set to the source filename.
Second, you should pass an object to `generate` as the `code` parameter. Keys
to pass an object to `generate` as the `code` parameter. Keys
should be the source filenames, and values should be the source content.
Here's an example of what that might look like:
@@ -70,14 +65,14 @@ import generate from 'babel-generator';
const a = 'var a = 1;';
const b = 'var b = 2;';
const astA = parse(a, { filename: 'a.js' });
const astB = parse(b, { filename: 'b.js' });
const astA = parse(a, { sourceFilename: 'a.js' });
const astB = parse(b, { sourceFilename: 'b.js' });
const ast = {
type: 'Program',
body: [].concat(astA.body, ast2.body)
body: [].concat(astA.program.body, astB.program.body)
};
const { code, map } = generate(ast, { /* options */ }, {
const { code, map } = generate(ast, { sourceMaps: true }, {
'a.js': a,
'b.js': b
});

View File

@@ -1,6 +1,6 @@
{
"name": "babel-generator",
"version": "6.24.0",
"version": "6.26.0",
"description": "Turns an AST into code.",
"author": "Sebastian McKenzie <sebmck@gmail.com>",
"homepage": "https://babeljs.io/",
@@ -12,16 +12,16 @@
],
"dependencies": {
"babel-messages": "^6.23.0",
"babel-runtime": "^6.22.0",
"babel-types": "^6.23.0",
"babel-runtime": "^6.26.0",
"babel-types": "^6.26.0",
"detect-indent": "^4.0.0",
"jsesc": "^1.3.0",
"lodash": "^4.2.0",
"source-map": "^0.5.0",
"lodash": "^4.17.4",
"source-map": "^0.5.6",
"trim-right": "^1.0.1"
},
"devDependencies": {
"babel-helper-fixtures": "^6.22.0",
"babylon": "^6.11.0"
"babel-helper-fixtures": "^6.26.0",
"babylon": "^6.18.0"
}
}

View File

@@ -1,3 +1,5 @@
import * as t from "babel-types";
export function AnyTypeAnnotation() {
this.word("any");
}
@@ -20,17 +22,21 @@ export function NullLiteralTypeAnnotation() {
this.word("null");
}
export function DeclareClass(node: Object) {
this.word("declare");
this.space();
export function DeclareClass(node: Object, parent: Object) {
if (!t.isDeclareExportDeclaration(parent)) {
this.word("declare");
this.space();
}
this.word("class");
this.space();
this._interfaceish(node);
}
export function DeclareFunction(node: Object) {
this.word("declare");
this.space();
export function DeclareFunction(node: Object, parent: Object) {
if (!t.isDeclareExportDeclaration(parent)) {
this.word("declare");
this.space();
}
this.word("function");
this.space();
this.print(node.id, node);
@@ -69,9 +75,19 @@ export function DeclareTypeAlias(node: Object) {
this.TypeAlias(node);
}
export function DeclareVariable(node: Object) {
this.word("declare");
this.space();
export function DeclareOpaqueType(node: Object, parent: Object) {
if (!t.isDeclareExportDeclaration(parent)) {
this.word("declare");
this.space();
}
this.OpaqueType(node);
}
export function DeclareVariable(node: Object, parent: Object) {
if (!t.isDeclareExportDeclaration(parent)) {
this.word("declare");
this.space();
}
this.word("var");
this.space();
this.print(node.id, node);
@@ -79,6 +95,44 @@ export function DeclareVariable(node: Object) {
this.semicolon();
}
export function DeclareExportDeclaration(node: Object) {
this.word("declare");
this.space();
this.word("export");
this.space();
if (node.default) {
this.word("default");
this.space();
}
FlowExportDeclaration.apply(this, arguments);
}
function FlowExportDeclaration(node: Object) {
if (node.declaration) {
const declar = node.declaration;
this.print(declar, node);
if (!t.isStatement(declar)) this.semicolon();
} else {
this.token("{");
if (node.specifiers.length) {
this.space();
this.printList(node.specifiers, node);
this.space();
}
this.token("}");
if (node.source) {
this.space();
this.word("from");
this.space();
this.print(node.source, node);
}
this.semicolon();
}
}
export function ExistentialTypeParam() {
this.token("*");
}
@@ -222,6 +276,26 @@ export function TypeAlias(node: Object) {
this.print(node.right, node);
this.semicolon();
}
export function OpaqueType(node: Object) {
this.word("opaque");
this.space();
this.word("type");
this.space();
this.print(node.id, node);
this.print(node.typeParameters, node);
if (node.supertype) {
this.token(":");
this.space();
this.print(node.supertype, node);
}
if (node.impltype) {
this.space();
this.token("=");
this.space();
this.print(node.impltype, node);
}
this.semicolon();
}
export function TypeAnnotation(node: Object) {
this.token(":");
@@ -333,6 +407,11 @@ export function ObjectTypeProperty(node: Object) {
this.print(node.value, node);
}
export function ObjectTypeSpreadProperty(node: Object) {
this.token("...");
this.print(node.argument, node);
}
export function QualifiedTypeIdentifier(node: Object) {
this.print(node.qualification, node);
this.token(".");

View File

@@ -99,7 +99,7 @@ function findCommonStringDelimiter(code, tokens) {
return DEFAULT_STRING_DELIMITER;
}
const occurences = {
const occurrences = {
single: 0,
double: 0
};
@@ -112,15 +112,15 @@ function findCommonStringDelimiter(code, tokens) {
const raw = code.slice(token.start, token.end);
if (raw[0] === "'") {
occurences.single++;
occurrences.single++;
} else {
occurences.double++;
occurrences.double++;
}
checked++;
if (checked >= 3) break;
}
if (occurences.single > occurences.double) {
if (occurrences.single > occurrences.double) {
return "single";
} else {
return "double";

View File

@@ -18,3 +18,7 @@ declare type B = {
declare interface I { foo: string }
declare interface I<T> { foo: T }
declare module.exports: { foo: string }
declare opaque type Foo<T>: Bar<T>;
declare opaque type ID;
declare opaque type num: number;
declare opaque type NumArray;

View File

@@ -18,3 +18,7 @@ declare type B = {
declare interface I { foo: string }
declare interface I<T> { foo: T }
declare module.exports: { foo: string }
declare opaque type Foo<T>: Bar<T>;
declare opaque type ID;
declare opaque type num: number;
declare opaque type NumArray;

View File

@@ -0,0 +1,7 @@
type U = {};
type V = {};
type T = { ...U, };
type T = { ...U, ...V };
type T = { p: V, ...U };
type T = { ...U, p: V, };
type T = { ...{}|{ p: V, }};

View File

@@ -0,0 +1,7 @@
type U = {};
type V = {};
type T = { ...U };
type T = { ...U; ...V; };
type T = { p: V; ...U; };
type T = { ...U; p: V; };
type T = { ...{} | { p: V } };

View File

@@ -0,0 +1,14 @@
opaque type ID = string;
opaque type Foo<T> = Bar<T>;
opaque type Maybe<T> = _Maybe<T, *>;
export opaque type Foo = number;
opaque type union =
| {type: "A"}
| {type: "B"}
;
opaque type overloads =
& ((x: string) => number)
& ((x: number) => string)
;

View File

@@ -0,0 +1,8 @@
opaque type ID = string;
opaque type Foo<T> = Bar<T>;
opaque type Maybe<T> = _Maybe<T, *>;
export opaque type Foo = number;
opaque type union = { type: "A" } | { type: "B" };
opaque type overloads = (x: string) => number & (x: number) => string;

View File

@@ -1,13 +1,13 @@
{
"name": "babel-helper-bindify-decorators",
"version": "6.22.0",
"version": "6.24.1",
"description": "Helper function to bindify decorators",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-bindify-decorators",
"license": "MIT",
"main": "lib/index.js",
"dependencies": {
"babel-runtime": "^6.22.0",
"babel-traverse": "^6.22.0",
"babel-types": "^6.22.0"
"babel-traverse": "^6.24.1",
"babel-types": "^6.24.1"
}
}

View File

@@ -1,13 +1,13 @@
{
"name": "babel-helper-builder-binary-assignment-operator-visitor",
"version": "6.22.0",
"version": "6.24.1",
"description": "Helper function to build binary assignment operator visitors",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-builder-binary-assignment-operator-visitor",
"license": "MIT",
"main": "lib/index.js",
"dependencies": {
"babel-helper-explode-assignable-expression": "^6.22.0",
"babel-helper-explode-assignable-expression": "^6.24.1",
"babel-runtime": "^6.22.0",
"babel-types": "^6.22.0"
"babel-types": "^6.24.1"
}
}

View File

@@ -1,13 +1,13 @@
{
"name": "babel-helper-builder-conditional-assignment-operator-visitor",
"version": "6.22.0",
"version": "6.24.1",
"description": "Helper function to build conditional assignment operator visitors",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-builder-conditional-assignment-operator-visitor",
"license": "MIT",
"main": "lib/index.js",
"dependencies": {
"babel-helper-explode-assignable-expression": "^6.22.0",
"babel-helper-explode-assignable-expression": "^6.24.1",
"babel-runtime": "^6.22.0",
"babel-types": "^6.22.0"
"babel-types": "^6.24.1"
}
}

View File

@@ -1,13 +1,13 @@
{
"name": "babel-helper-builder-react-jsx",
"version": "6.23.0",
"version": "6.26.0",
"description": "Helper function to build react jsx",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-builder-react-jsx",
"license": "MIT",
"main": "lib/index.js",
"dependencies": {
"babel-runtime": "^6.22.0",
"babel-types": "^6.23.0",
"esutils": "^2.0.0"
"babel-runtime": "^6.26.0",
"babel-types": "^6.26.0",
"esutils": "^2.0.2"
}
}

View File

@@ -1,14 +1,14 @@
{
"name": "babel-helper-call-delegate",
"version": "6.22.0",
"version": "6.24.1",
"description": "Helper function to call delegate",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-call-delegate",
"license": "MIT",
"main": "lib/index.js",
"dependencies": {
"babel-traverse": "^6.22.0",
"babel-traverse": "^6.24.1",
"babel-runtime": "^6.22.0",
"babel-types": "^6.22.0",
"babel-helper-hoist-variables": "^6.22.0"
"babel-types": "^6.24.1",
"babel-helper-hoist-variables": "^6.24.1"
}
}

View File

@@ -1,14 +1,14 @@
{
"name": "babel-helper-define-map",
"version": "6.23.0",
"version": "6.26.0",
"description": "Helper function to define a map",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-define-map",
"license": "MIT",
"main": "lib/index.js",
"dependencies": {
"babel-runtime": "^6.22.0",
"lodash": "^4.2.0",
"babel-types": "^6.23.0",
"babel-helper-function-name": "^6.23.0"
"babel-helper-function-name": "^6.24.1",
"babel-runtime": "^6.26.0",
"babel-types": "^6.26.0",
"lodash": "^4.17.4"
}
}

View File

@@ -1,13 +1,13 @@
{
"name": "babel-helper-explode-assignable-expression",
"version": "6.22.0",
"version": "6.24.1",
"description": "Helper function to explode an assignable expression",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-explode-assignable-expression",
"license": "MIT",
"main": "lib/index.js",
"dependencies": {
"babel-traverse": "^6.22.0",
"babel-traverse": "^6.24.1",
"babel-runtime": "^6.22.0",
"babel-types": "^6.22.0"
"babel-types": "^6.24.1"
}
}

View File

@@ -1,14 +1,14 @@
{
"name": "babel-helper-explode-class",
"version": "6.22.0",
"version": "6.24.1",
"description": "Helper function to explode class",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-explode-class",
"license": "MIT",
"main": "lib/index.js",
"dependencies": {
"babel-runtime": "^6.22.0",
"babel-traverse": "^6.22.0",
"babel-types": "^6.22.0",
"babel-helper-bindify-decorators": "^6.22.0"
"babel-traverse": "^6.24.1",
"babel-types": "^6.24.1",
"babel-helper-bindify-decorators": "^6.24.1"
}
}

View File

@@ -1,14 +1,14 @@
{
"name": "babel-helper-fixtures",
"version": "6.22.0",
"version": "6.26.0",
"description": "Helper function to support fixtures",
"author": "Sebastian McKenzie <sebmck@gmail.com>",
"license": "MIT",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-fixtures",
"main": "lib/index.js",
"dependencies": {
"babel-runtime": "^6.22.0",
"lodash": "^4.2.0",
"try-resolve": "^1.0.0"
"babel-runtime": "^6.26.0",
"lodash": "^4.17.4",
"try-resolve": "^1.0.1"
}
}

View File

@@ -1,15 +1,15 @@
{
"name": "babel-helper-function-name",
"version": "6.23.0",
"version": "6.24.1",
"description": "Helper function to change the property 'name' of every function",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-function-name",
"license": "MIT",
"main": "lib/index.js",
"dependencies": {
"babel-runtime": "^6.22.0",
"babel-types": "^6.23.0",
"babel-traverse": "^6.23.0",
"babel-helper-get-function-arity": "^6.22.0",
"babel-template": "^6.23.0"
"babel-types": "^6.24.1",
"babel-traverse": "^6.24.1",
"babel-helper-get-function-arity": "^6.24.1",
"babel-template": "^6.24.1"
}
}

View File

@@ -1,12 +1,12 @@
{
"name": "babel-helper-get-function-arity",
"version": "6.22.0",
"version": "6.24.1",
"description": "Helper function to get function arity",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-get-function-arity",
"license": "MIT",
"main": "lib/index.js",
"dependencies": {
"babel-runtime": "^6.22.0",
"babel-types": "^6.22.0"
"babel-types": "^6.24.1"
}
}

View File

@@ -1,12 +1,12 @@
{
"name": "babel-helper-hoist-variables",
"version": "6.22.0",
"version": "6.24.1",
"description": "Helper function to hoist variables",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-hoist-variables",
"license": "MIT",
"main": "lib/index.js",
"dependencies": {
"babel-runtime": "^6.22.0",
"babel-types": "^6.22.0"
"babel-types": "^6.24.1"
}
}

View File

@@ -1,12 +1,12 @@
{
"name": "babel-helper-optimise-call-expression",
"version": "6.23.0",
"version": "6.24.1",
"description": "Helper function to optimise call expression",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-optimise-call-expression",
"license": "MIT",
"main": "lib/index.js",
"dependencies": {
"babel-runtime": "^6.22.0",
"babel-types": "^6.23.0"
"babel-types": "^6.24.1"
}
}

View File

@@ -1,3 +1,13 @@
# babel-helper-plugin-test-runner
**NOTE:** This is an internal Babel module and may not work outside. Use at your own risk.
## Usage:
> Check Babel for an example: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-exponentiation-operator/test
1. Inside a `/test` directory, add an `index.js` with the contents `require("babel-helper-plugin-test-runner")(__dirname);`.
2. Inside `/test/fixtures`, create a folder for each suite (eg; one suite for each feature of your plugin).
3. Suite folders may contain files and folders. Files will be transformed and run; use `expect()` assertions to verify correct behavior. Folders may contain `actual.js`, `expected.js`, and/or `exec.js`. The output of transforming `actual.js` will be checked to match the contents of `expected.js`. `exec.js`, if it exists, will be transformed and run, as with a file in the suite folder.
3. Install and run `mocha`.
4. To run a specific test, run `mocha --grep testName`.

View File

@@ -1,12 +1,12 @@
{
"name": "babel-helper-plugin-test-runner",
"version": "6.24.0",
"version": "6.24.1",
"description": "Helper function to support test runner",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-plugin-test-runner",
"license": "MIT",
"main": "lib/index.js",
"dependencies": {
"babel-runtime": "^6.22.0",
"babel-helper-transform-fixture-test-runner": "^6.24.0"
"babel-helper-transform-fixture-test-runner": "^6.24.1"
}
}

View File

@@ -1,13 +1,13 @@
{
"name": "babel-helper-regex",
"version": "6.22.0",
"version": "6.26.0",
"description": "Helper function to check for literal RegEx",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-regex",
"license": "MIT",
"main": "lib/index.js",
"dependencies": {
"babel-runtime": "^6.22.0",
"lodash": "^4.2.0",
"babel-types": "^6.22.0"
"babel-runtime": "^6.26.0",
"babel-types": "^6.26.0",
"lodash": "^4.17.4"
}
}

View File

@@ -1,15 +1,15 @@
{
"name": "babel-helper-remap-async-to-generator",
"version": "6.22.0",
"version": "6.24.1",
"description": "Helper function to remap async functions to generators",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-remap-async-to-generator",
"license": "MIT",
"main": "lib/index.js",
"dependencies": {
"babel-runtime": "^6.22.0",
"babel-template": "^6.22.0",
"babel-types": "^6.22.0",
"babel-traverse": "^6.22.0",
"babel-helper-function-name": "^6.22.0"
"babel-template": "^6.24.1",
"babel-types": "^6.24.1",
"babel-traverse": "^6.24.1",
"babel-helper-function-name": "^6.24.1"
}
}

View File

@@ -1,16 +1,16 @@
{
"name": "babel-helper-replace-supers",
"version": "6.23.0",
"version": "6.24.1",
"description": "Helper function to replace supers",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-replace-supers",
"license": "MIT",
"main": "lib/index.js",
"dependencies": {
"babel-helper-optimise-call-expression": "^6.23.0",
"babel-helper-optimise-call-expression": "^6.24.1",
"babel-runtime": "^6.22.0",
"babel-traverse": "^6.23.0",
"babel-traverse": "^6.24.1",
"babel-messages": "^6.23.0",
"babel-template": "^6.23.0",
"babel-types": "^6.23.0"
"babel-template": "^6.24.1",
"babel-types": "^6.24.1"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "babel-helper-transform-fixture-test-runner",
"version": "6.24.0",
"version": "6.26.0",
"description": "Transform test runner for babel-helper-fixtures module",
"author": "Sebastian McKenzie <sebmck@gmail.com>",
"homepage": "https://babeljs.io/",
@@ -8,13 +8,13 @@
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-transform-fixture-test-runner",
"main": "lib/index.js",
"dependencies": {
"babel-runtime": "^6.22.0",
"babel-core": "^6.24.0",
"babel-polyfill": "^6.23.0",
"babel-helper-fixtures": "^6.22.0",
"source-map": "^0.5.0",
"babel-code-frame": "^6.22.0",
"chai": "^3.0.0",
"lodash": "^4.2.0"
"babel-code-frame": "^6.26.0",
"babel-core": "^6.26.0",
"babel-helper-fixtures": "^6.26.0",
"babel-polyfill": "^6.26.0",
"babel-runtime": "^6.26.0",
"chai": "^3.5.0",
"lodash": "^4.17.4",
"source-map": "^0.5.6"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "babel-helpers",
"version": "6.23.0",
"version": "6.24.1",
"description": "Collection of helper functions used by Babel transforms.",
"author": "Sebastian McKenzie <sebmck@gmail.com>",
"homepage": "https://babeljs.io/",
@@ -9,6 +9,6 @@
"main": "lib/index.js",
"dependencies": {
"babel-runtime": "^6.22.0",
"babel-template": "^6.23.0"
"babel-template": "^6.24.1"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "babel-plugin-transform-async-generator-functions",
"version": "6.22.0",
"version": "6.24.1",
"description": "Turn async generator functions into ES2015 generators",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-async-generator-functions",
"license": "MIT",
@@ -9,11 +9,11 @@
"babel-plugin"
],
"dependencies": {
"babel-helper-remap-async-to-generator": "^6.22.0",
"babel-helper-remap-async-to-generator": "^6.24.1",
"babel-plugin-syntax-async-generators": "^6.5.0",
"babel-runtime": "^6.22.0"
},
"devDependencies": {
"babel-helper-plugin-test-runner": "^6.22.0"
"babel-helper-plugin-test-runner": "^6.24.1"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "babel-plugin-transform-async-to-generator",
"version": "6.22.0",
"version": "6.24.1",
"description": "Turn async functions into ES2015 generators",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-async-to-generator",
"license": "MIT",
@@ -9,11 +9,11 @@
"babel-plugin"
],
"dependencies": {
"babel-helper-remap-async-to-generator": "^6.22.0",
"babel-helper-remap-async-to-generator": "^6.24.1",
"babel-plugin-syntax-async-functions": "^6.8.0",
"babel-runtime": "^6.22.0"
},
"devDependencies": {
"babel-helper-plugin-test-runner": "^6.22.0"
"babel-helper-plugin-test-runner": "^6.24.1"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "babel-plugin-transform-async-to-module-method",
"version": "6.22.0",
"version": "6.24.1",
"description": "Turn async functions into a module method",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-async-to-module-method",
"license": "MIT",
@@ -10,11 +10,11 @@
],
"dependencies": {
"babel-plugin-syntax-async-functions": "^6.8.0",
"babel-helper-remap-async-to-generator": "^6.22.0",
"babel-types": "^6.22.0",
"babel-helper-remap-async-to-generator": "^6.24.1",
"babel-types": "^6.24.1",
"babel-runtime": "^6.22.0"
},
"devDependencies": {
"babel-helper-plugin-test-runner": "^6.22.0"
"babel-helper-plugin-test-runner": "^6.24.1"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "babel-plugin-transform-class-constructor-call",
"version": "6.22.0",
"version": "6.24.1",
"description": "This plugin allows Babel to transform class constructors (deprecated)",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-class-constructor-call",
"license": "MIT",
@@ -9,11 +9,11 @@
"babel-plugin"
],
"dependencies": {
"babel-template": "^6.22.0",
"babel-template": "^6.24.1",
"babel-plugin-syntax-class-constructor-call": "^6.18.0",
"babel-runtime": "^6.22.0"
},
"devDependencies": {
"babel-helper-plugin-test-runner": "^6.22.0"
"babel-helper-plugin-test-runner": "^6.24.1"
}
}

View File

@@ -1,6 +1,6 @@
# babel-plugin-transform-class-properties
> This plugin transforms es2015 static class properties as well as properties declared with the es2016 property initializer syntax.
> This plugin transforms class propeties
## Example
@@ -24,7 +24,7 @@ Below is a class with four class properties which will be transformed.
let myBork = new Bork;
//Property initializers are not on the prototype.
console.log(myBork.prototype.boundFunction); // > undefined
console.log(myBork.__proto__.boundFunction); // > undefined
//Bound functions are bound to the class instance.
console.log(myBork.boundFunction.call(undefined)); // > "bork"

View File

@@ -1,6 +1,6 @@
{
"name": "babel-plugin-transform-class-properties",
"version": "6.23.0",
"version": "6.24.1",
"description": "This plugin transforms static class properties as well as properties declared with the property initializer syntax",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-class-properties",
"license": "MIT",
@@ -9,12 +9,12 @@
"babel-plugin"
],
"dependencies": {
"babel-helper-function-name": "^6.23.0",
"babel-helper-function-name": "^6.24.1",
"babel-plugin-syntax-class-properties": "^6.8.0",
"babel-runtime": "^6.22.0",
"babel-template": "^6.23.0"
"babel-template": "^6.24.1"
},
"devDependencies": {
"babel-helper-plugin-test-runner": "^6.22.0"
"babel-helper-plugin-test-runner": "^6.24.1"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "babel-plugin-transform-decorators",
"version": "6.22.0",
"version": "6.24.1",
"description": "Compile class and object decorators to ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-decorators",
"license": "MIT",
@@ -9,13 +9,13 @@
"babel-plugin"
],
"dependencies": {
"babel-types": "^6.22.0",
"babel-types": "^6.24.1",
"babel-plugin-syntax-decorators": "^6.13.0",
"babel-helper-explode-class": "^6.22.0",
"babel-template": "^6.22.0",
"babel-helper-explode-class": "^6.24.1",
"babel-template": "^6.24.1",
"babel-runtime": "^6.22.0"
},
"devDependencies": {
"babel-helper-plugin-test-runner": "^6.22.0"
"babel-helper-plugin-test-runner": "^6.24.1"
}
}

View File

@@ -27,12 +27,12 @@ console.log(bob.printFriends());
**Out**
```javascript
var a = function a() {};
var a = function a(b) {
var a = function () {};
var a = function (b) {
return b;
};
var double = [1, 2, 3].map(function (num) {
const double = [1, 2, 3].map(function (num) {
return num * 2;
});
console.log(double); // [2,4,6]
@@ -40,7 +40,7 @@ console.log(double); // [2,4,6]
var bob = {
_name: "Bob",
_friends: ["Sally", "Tom"],
printFriends: function printFriends() {
printFriends() {
var _this = this;
this._friends.forEach(function (f) {

View File

@@ -1,21 +1,21 @@
{
"name": "babel-plugin-transform-es2015-block-scoping",
"version": "6.23.0",
"version": "6.26.0",
"description": "Compile ES2015 block scoping (const and let) to ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-block-scoping",
"license": "MIT",
"main": "lib/index.js",
"dependencies": {
"babel-traverse": "^6.23.0",
"babel-types": "^6.23.0",
"babel-template": "^6.23.0",
"lodash": "^4.2.0",
"babel-runtime": "^6.22.0"
"babel-runtime": "^6.26.0",
"babel-template": "^6.26.0",
"babel-traverse": "^6.26.0",
"babel-types": "^6.26.0",
"lodash": "^4.17.4"
},
"keywords": [
"babel-plugin"
],
"devDependencies": {
"babel-helper-plugin-test-runner": "^6.22.0"
"babel-helper-plugin-test-runner": "^6.24.1"
}
}

View File

@@ -1,25 +1,25 @@
{
"name": "babel-plugin-transform-es2015-classes",
"version": "6.23.0",
"version": "6.24.1",
"description": "Compile ES2015 classes to ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-classes",
"license": "MIT",
"main": "lib/index.js",
"dependencies": {
"babel-helper-optimise-call-expression": "^6.23.0",
"babel-helper-function-name": "^6.23.0",
"babel-helper-replace-supers": "^6.23.0",
"babel-template": "^6.23.0",
"babel-traverse": "^6.23.0",
"babel-helper-define-map": "^6.23.0",
"babel-helper-optimise-call-expression": "^6.24.1",
"babel-helper-function-name": "^6.24.1",
"babel-helper-replace-supers": "^6.24.1",
"babel-template": "^6.24.1",
"babel-traverse": "^6.24.1",
"babel-helper-define-map": "^6.24.1",
"babel-messages": "^6.23.0",
"babel-runtime": "^6.22.0",
"babel-types": "^6.23.0"
"babel-types": "^6.24.1"
},
"keywords": [
"babel-plugin"
],
"devDependencies": {
"babel-helper-plugin-test-runner": "^6.22.0"
"babel-helper-plugin-test-runner": "^6.24.1"
}
}

View File

@@ -11,7 +11,7 @@ var Example = function () {
await Promise.resolve(2);
};
Example.prototype.test2 = regeneratorRuntime.mark(function test2() {
Example.prototype.test2 = /*#__PURE__*/regeneratorRuntime.mark(function test2() {
return regeneratorRuntime.wrap(function test2$(_context) {
while (1) {
switch (_context.prev = _context.next) {

View File

@@ -1,6 +1,6 @@
{
"name": "babel-plugin-transform-es2015-computed-properties",
"version": "6.22.0",
"version": "6.24.1",
"description": "Compile ES2015 computed properties to ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-computed-properties",
"license": "MIT",
@@ -9,10 +9,10 @@
"babel-plugin"
],
"dependencies": {
"babel-template": "^6.22.0",
"babel-template": "^6.24.1",
"babel-runtime": "^6.22.0"
},
"devDependencies": {
"babel-helper-plugin-test-runner": "^6.22.0"
"babel-helper-plugin-test-runner": "^6.24.1"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "babel-plugin-transform-es2015-duplicate-keys",
"version": "6.22.0",
"version": "6.24.1",
"description": "Compile objects with duplicate keys to valid strict ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-duplicate-keys",
"license": "MIT",
@@ -10,9 +10,9 @@
],
"dependencies": {
"babel-runtime": "^6.22.0",
"babel-types": "^6.22.0"
"babel-types": "^6.24.1"
},
"devDependencies": {
"babel-helper-plugin-test-runner": "^6.22.0"
"babel-helper-plugin-test-runner": "^6.24.1"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "babel-plugin-transform-es2015-function-name",
"version": "6.22.0",
"version": "6.24.1",
"description": "Apply ES2015 function.name semantics to all functions",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-function-name",
"license": "MIT",
@@ -9,11 +9,11 @@
"babel-plugin"
],
"dependencies": {
"babel-helper-function-name": "^6.22.0",
"babel-types": "^6.22.0",
"babel-helper-function-name": "^6.24.1",
"babel-types": "^6.24.1",
"babel-runtime": "^6.22.0"
},
"devDependencies": {
"babel-helper-plugin-test-runner": "^6.22.0"
"babel-helper-plugin-test-runner": "^6.24.1"
}
}

View File

@@ -1,19 +1,19 @@
{
"name": "babel-plugin-transform-es2015-modules-amd",
"version": "6.24.0",
"version": "6.24.1",
"description": "This plugin transforms ES2015 modules to AMD",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-modules-amd",
"license": "MIT",
"main": "lib/index.js",
"dependencies": {
"babel-plugin-transform-es2015-modules-commonjs": "^6.24.0",
"babel-template": "^6.22.0",
"babel-plugin-transform-es2015-modules-commonjs": "^6.24.1",
"babel-template": "^6.24.1",
"babel-runtime": "^6.22.0"
},
"keywords": [
"babel-plugin"
],
"devDependencies": {
"babel-helper-plugin-test-runner": "^6.24.0"
"babel-helper-plugin-test-runner": "^6.24.1"
}
}

View File

@@ -82,7 +82,7 @@ Object.defineProperty(exports, "__esModule", {
});
```
In environments that don't support this you can enable loose mode on `babel-plugin-transform-es20150-modules-commonjs`
In environments that don't support this you can enable loose mode on `babel-plugin-transform-es2015-modules-commonjs`
and instead of using `Object.defineProperty` an assignment will be used instead.
```javascript

View File

@@ -1,20 +1,21 @@
{
"name": "babel-plugin-transform-es2015-modules-commonjs",
"version": "6.24.0",
"version": "6.26.0",
"description": "This plugin transforms ES2015 modules to CommonJS",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-modules-commonjs",
"license": "MIT",
"main": "lib/index.js",
"dependencies": {
"babel-types": "^6.23.0",
"babel-runtime": "^6.22.0",
"babel-template": "^6.23.0",
"babel-plugin-transform-strict-mode": "^6.22.0"
"babel-plugin-transform-strict-mode": "^6.24.1",
"babel-runtime": "^6.26.0",
"babel-template": "^6.26.0",
"babel-types": "^6.26.0"
},
"keywords": [
"babel-plugin"
],
"devDependencies": {
"babel-helper-plugin-test-runner": "^6.24.0"
"babel-helper-plugin-test-runner": "^6.24.1",
"babel-plugin-syntax-object-rest-spread": "^6.13.0"
}
}

View File

@@ -1,5 +1,7 @@
import { basename, extname } from "path";
import template from "babel-template";
import babelPluginTransformStrictMode from "babel-plugin-transform-strict-mode";
import * as t from "babel-types";
const buildRequire = template(`
@@ -73,23 +75,54 @@ export default function () {
if (node[REASSIGN_REMAP_SKIP]) return;
const left = path.get("left");
if (!left.isIdentifier()) return;
if (left.isIdentifier()) {
const name = left.node.name;
const exports = this.exports[name];
if (!exports) return;
const name = left.node.name;
const exports = this.exports[name];
if (!exports) return;
// redeclared in this scope
if (this.scope.getBinding(name) !== path.scope.getBinding(name)) return;
// redeclared in this scope
if (this.scope.getBinding(name) !== path.scope.getBinding(name)) return;
node[REASSIGN_REMAP_SKIP] = true;
node[REASSIGN_REMAP_SKIP] = true;
for (const reid of exports) {
node = buildExportsAssignment(reid, node).expression;
}
for (const reid of exports) {
node = buildExportsAssignment(reid, node).expression;
path.replaceWith(node);
this.requeueInParent(path);
}
else if (left.isObjectPattern()) {
for (const property of left.node.properties) {
const name = property.value.name;
path.replaceWith(node);
this.requeueInParent(path);
const exports = this.exports[name];
if (!exports) continue;
// redeclared in this scope
if (this.scope.getBinding(name) !== path.scope.getBinding(name)) return;
node[REASSIGN_REMAP_SKIP] = true;
path.insertAfter(buildExportsAssignment(t.identifier(name), t.identifier(name)));
}
}
else if (left.isArrayPattern()) {
for (const element of left.node.elements) {
if (!element) continue;
const name = element.name;
const exports = this.exports[name];
if (!exports) continue;
// redeclared in this scope
if (this.scope.getBinding(name) !== path.scope.getBinding(name)) return;
node[REASSIGN_REMAP_SKIP] = true;
path.insertAfter(buildExportsAssignment(t.identifier(name), t.identifier(name)));
}
}
},
UpdateExpression(path) {
@@ -127,7 +160,7 @@ export default function () {
};
return {
inherits: require("babel-plugin-transform-strict-mode"),
inherits: babelPluginTransformStrictMode,
visitor: {
ThisExpression(path, state) {
@@ -300,15 +333,42 @@ export default function () {
const id = decl.get("id");
const init = decl.get("init");
const exportsToInsert = [];
if (!init.node) init.replaceWith(t.identifier("undefined"));
if (id.isIdentifier()) {
addTo(exports, id.node.name, id.node);
init.replaceWith(buildExportsAssignment(id.node, init.node).expression);
nonHoistedExportNames[id.node.name] = true;
} else {
// todo
} else if (id.isObjectPattern()) {
for (let i = 0; i < id.node.properties.length; i++) {
const prop = id.node.properties[i];
let propValue = prop.value;
if (t.isAssignmentPattern(propValue)) {
propValue = propValue.left;
} else if (t.isRestProperty(prop)) {
propValue = prop.argument;
}
addTo(exports, propValue.name, propValue);
exportsToInsert.push(buildExportsAssignment(propValue, propValue));
nonHoistedExportNames[propValue.name] = true;
}
} else if (id.isArrayPattern() && id.node.elements) {
for (let i = 0; i < id.node.elements.length; i++) {
let elem = id.node.elements[i];
if (!elem) continue;
if (t.isAssignmentPattern(elem)) {
elem = elem.left;
} else if (t.isRestElement(elem)) {
elem = elem.argument;
}
const name = elem.name;
addTo(exports, name, elem);
exportsToInsert.push(buildExportsAssignment(elem, elem));
nonHoistedExportNames[name] = true;
}
}
path.insertAfter(exportsToInsert);
}
path.replaceWith(declaration.node);
}

View File

@@ -0,0 +1,18 @@
export let x = 0;
export let y = 0;
export function f1 () {
({x} = { x: 1 });
}
export function f2 () {
({x, y} = { x: 2, y: 3 });
}
export function f3 () {
[x, y, z] = [3, 4, 5]
}
export function f4 () {
[x, , y] = [3, 4, 5]
}

View File

@@ -0,0 +1,34 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.f1 = f1;
exports.f2 = f2;
exports.f3 = f3;
exports.f4 = f4;
let x = exports.x = 0;
let y = exports.y = 0;
function f1() {
({ x } = { x: 1 });
exports.x = x;
}
function f2() {
({ x, y } = { x: 2, y: 3 });
exports.y = y;
exports.x = x;
}
function f3() {
[x, y, z] = [3, 4, 5];
exports.y = y;
exports.x = x;
}
function f4() {
[x,, y] = [3, 4, 5];
exports.y = y;
exports.x = x;
}

View File

@@ -0,0 +1,5 @@
"use strict";
const [foo, bar = 2] = [];
exports.foo = foo;
exports.bar = bar;

View File

@@ -0,0 +1 @@
export const [foo, bar, ...baz] = [];

View File

@@ -0,0 +1,6 @@
"use strict";
const [foo, bar, ...baz] = [];
exports.foo = foo;
exports.bar = bar;
exports.baz = baz;

View File

@@ -0,0 +1 @@
export const [foo, bar] = [];

View File

@@ -0,0 +1,5 @@
"use strict";
const [foo, bar] = [];
exports.foo = foo;
exports.bar = bar;

View File

@@ -0,0 +1,5 @@
"use strict";
const { foo, bar = 1 } = {};
exports.foo = foo;
exports.bar = bar;

View File

@@ -0,0 +1 @@
export const { foo, ...bar } = {};

View File

@@ -0,0 +1,5 @@
"use strict";
const { foo, ...bar } = {};
exports.foo = foo;
exports.bar = bar;

View File

@@ -0,0 +1 @@
export const { foo: bar, baz } = {};

View File

@@ -0,0 +1,5 @@
"use strict";
const { foo: bar, baz } = {};
exports.bar = bar;
exports.baz = baz;

View File

@@ -1,3 +1,6 @@
{
"plugins": ["external-helpers", ["transform-es2015-modules-commonjs", { "strict": true }]]
"plugins": [
"external-helpers",
"syntax-object-rest-spread",
["transform-es2015-modules-commonjs", { "strict": true }]]
}

View File

@@ -1,20 +1,20 @@
{
"name": "babel-plugin-transform-es2015-modules-systemjs",
"version": "6.23.0",
"version": "6.24.1",
"description": "This plugin transforms ES2015 modules to SystemJS",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-modules-systemjs",
"license": "MIT",
"main": "lib/index.js",
"dependencies": {
"babel-template": "^6.23.0",
"babel-helper-hoist-variables": "^6.22.0",
"babel-template": "^6.24.1",
"babel-helper-hoist-variables": "^6.24.1",
"babel-runtime": "^6.22.0"
},
"keywords": [
"babel-plugin"
],
"devDependencies": {
"babel-helper-plugin-test-runner": "^6.22.0",
"babel-helper-plugin-test-runner": "^6.24.1",
"babel-plugin-syntax-dynamic-import": "^6.18.0"
}
}

View File

@@ -1,19 +1,19 @@
{
"name": "babel-plugin-transform-es2015-modules-umd",
"version": "6.24.0",
"version": "6.24.1",
"description": "This plugin transforms ES2015 modules to UMD",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-modules-umd",
"license": "MIT",
"main": "lib/index.js",
"dependencies": {
"babel-plugin-transform-es2015-modules-amd": "^6.24.0",
"babel-template": "^6.23.0",
"babel-plugin-transform-es2015-modules-amd": "^6.24.1",
"babel-template": "^6.24.1",
"babel-runtime": "^6.22.0"
},
"keywords": [
"babel-plugin"
],
"devDependencies": {
"babel-helper-plugin-test-runner": "^6.24.0"
"babel-helper-plugin-test-runner": "^6.24.1"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "babel-plugin-transform-es2015-object-super",
"version": "6.22.0",
"version": "6.24.1",
"description": "Compile ES2015 object super to ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-object-super",
"license": "MIT",
@@ -9,10 +9,10 @@
"babel-plugin"
],
"dependencies": {
"babel-helper-replace-supers": "^6.22.0",
"babel-helper-replace-supers": "^6.24.1",
"babel-runtime": "^6.22.0"
},
"devDependencies": {
"babel-helper-plugin-test-runner": "^6.22.0"
"babel-helper-plugin-test-runner": "^6.24.1"
}
}

View File

@@ -1,22 +1,22 @@
{
"name": "babel-plugin-transform-es2015-parameters",
"version": "6.23.0",
"version": "6.24.1",
"description": "Compile ES2015 default and rest parameters to ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-parameters",
"license": "MIT",
"main": "lib/index.js",
"dependencies": {
"babel-traverse": "^6.23.0",
"babel-helper-call-delegate": "^6.22.0",
"babel-helper-get-function-arity": "^6.22.0",
"babel-template": "^6.23.0",
"babel-types": "^6.23.0",
"babel-traverse": "^6.24.1",
"babel-helper-call-delegate": "^6.24.1",
"babel-helper-get-function-arity": "^6.24.1",
"babel-template": "^6.24.1",
"babel-types": "^6.24.1",
"babel-runtime": "^6.22.0"
},
"keywords": [
"babel-plugin"
],
"devDependencies": {
"babel-helper-plugin-test-runner": "^6.22.0"
"babel-helper-plugin-test-runner": "^6.24.1"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "babel-plugin-transform-es2015-shorthand-properties",
"version": "6.22.0",
"version": "6.24.1",
"description": "Compile ES2015 shorthand properties to ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-shorthand-properties",
"license": "MIT",
@@ -9,10 +9,10 @@
"babel-plugin"
],
"dependencies": {
"babel-types": "^6.22.0",
"babel-types": "^6.24.1",
"babel-runtime": "^6.22.0"
},
"devDependencies": {
"babel-helper-plugin-test-runner": "^6.22.0"
"babel-helper-plugin-test-runner": "^6.24.1"
}
}

View File

@@ -9,31 +9,13 @@
```js
var a = ['a', 'b', 'c'];
var b = [...a, 'foo'];
var c = { foo: 'bar', baz: 42 };
var d = {...c, a: 2};
```
**Out**
```js
var _extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
}
var a = [ 'a', 'b', 'c' ];
var b = [].concat(a, [ 'foo' ]);
var c = { foo: 'bar', baz: 42 };
var d = _extends({}, c, { a: 2 });
```
## Installation

View File

@@ -1,6 +1,6 @@
{
"name": "babel-plugin-transform-es2015-sticky-regex",
"version": "6.22.0",
"version": "6.24.1",
"description": "Compile ES2015 sticky regex to an ES5 RegExp constructor",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-sticky-regex",
"license": "MIT",
@@ -9,11 +9,11 @@
"babel-plugin"
],
"dependencies": {
"babel-helper-regex": "^6.22.0",
"babel-types": "^6.22.0",
"babel-helper-regex": "^6.24.1",
"babel-types": "^6.24.1",
"babel-runtime": "^6.22.0"
},
"devDependencies": {
"babel-helper-plugin-test-runner": "^6.22.0"
"babel-helper-plugin-test-runner": "^6.24.1"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "babel-plugin-transform-es2015-unicode-regex",
"version": "6.22.0",
"version": "6.24.1",
"description": "Compile ES2015 Unicode regex to ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-unicode-regex",
"license": "MIT",
@@ -9,11 +9,11 @@
"babel-plugin"
],
"dependencies": {
"babel-helper-regex": "^6.22.0",
"babel-helper-regex": "^6.24.1",
"babel-runtime": "^6.22.0",
"regexpu-core": "^2.0.0"
},
"devDependencies": {
"babel-helper-plugin-test-runner": "^6.22.0"
"babel-helper-plugin-test-runner": "^6.24.1"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "babel-plugin-transform-es5-property-mutators",
"version": "6.22.0",
"version": "6.24.1",
"description": "Compile ES5 property mutator shorthand syntax to Object.defineProperty",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es5-property-mutators",
"license": "MIT",
@@ -9,10 +9,10 @@
"babel-plugin"
],
"dependencies": {
"babel-helper-define-map": "^6.22.0",
"babel-helper-define-map": "^6.24.1",
"babel-runtime": "^6.22.0"
},
"devDependencies": {
"babel-helper-plugin-test-runner": "^6.22.0"
"babel-helper-plugin-test-runner": "^6.24.1"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "babel-plugin-transform-exponentiation-operator",
"version": "6.22.0",
"version": "6.24.1",
"description": "Compile exponentiation operator to ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-exponentiation-operator",
"license": "MIT",
@@ -10,10 +10,10 @@
],
"dependencies": {
"babel-plugin-syntax-exponentiation-operator": "^6.8.0",
"babel-helper-builder-binary-assignment-operator-visitor": "^6.22.0",
"babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1",
"babel-runtime": "^6.22.0"
},
"devDependencies": {
"babel-helper-plugin-test-runner": "^6.22.0"
"babel-helper-plugin-test-runner": "^6.24.1"
}
}

View File

@@ -0,0 +1,15 @@
function a() {}
opaque type A = number;
opaque type B = {
name: string;
};
opaque type union =
| {type: "A"}
| {type: "B"}
;
opaque type overloads =
& ((x: string) => number)
& ((x: number) => string)
;

View File

@@ -0,0 +1,13 @@
function a() {}
/*:: opaque type A = number;*/
/*:: opaque type B = {
name: string;
};*/
/*:: opaque type union =
| {type: "A"}
| {type: "B"}
;*/
/*:: opaque type overloads =
& ((x: string) => number)
& ((x: number) => string)
;*/

View File

@@ -0,0 +1,16 @@
opaque type ID = string;
opaque type Foo<T> = Bar<T>
export opaque type Foo = number;
opaque type union =
| {type: "A"}
| {type: "B"}
;
opaque type overloads =
& ((x: string) => number)
& ((x: number) => string)
;
declare opaque type Foo: Bar;
declare export opaque type Foo: Bar;

View File

@@ -44,6 +44,7 @@ var a: { subObj: {strVal: string} }
var a: { subObj: ?{strVal: string} }
var a: { param1: number; param2: string }
var a: { param1: number; param2?: string }
var a: { ...any; ...{}|{p: void} };
var a: { [a: number]: string; [b: number]: string; };
var a: { add(x: number, ...y: Array<string>): void };
var a: { id<T>(x: T): T; };

View File

@@ -47,6 +47,7 @@ var a;
var a;
var a;
var a;
var a;
var a = [1, 2, 3];
a = class Foo {};
a = class Foo extends Bar {};

View File

@@ -9,13 +9,17 @@ obj::func
// is equivalent to:
func.bind(obj)
::obj.func
// is equivalent to:
obj.func.bind(obj)
obj::func(val)
// is equivalent to:
func.call(obj, val)
::obj.func(val)
// is equivalent to:
func.call(obj, val)
obj.func.call(obj, val)
```

View File

@@ -1,6 +1,6 @@
{
"name": "babel-plugin-transform-object-rest-spread",
"version": "6.23.0",
"version": "6.26.0",
"description": "Compile object rest and spread to ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-object-rest-spread",
"license": "MIT",
@@ -10,7 +10,7 @@
],
"dependencies": {
"babel-plugin-syntax-object-rest-spread": "^6.8.0",
"babel-runtime": "^6.22.0"
"babel-runtime": "^6.26.0"
},
"devDependencies": {
"babel-helper-plugin-test-runner": "^6.22.0"

View File

@@ -107,15 +107,22 @@ export default function ({ types: t }) {
}
let ref = this.originalPath.node.init;
const refPropertyPath = [];
path.findParent((path) => {
if (path.isObjectProperty()) {
ref = t.memberExpression(ref, t.identifier(path.node.key.name));
refPropertyPath.unshift(path.node.key.name);
} else if (path.isVariableDeclarator()) {
return true;
}
});
if (refPropertyPath.length) {
refPropertyPath.forEach((prop) => {
ref = t.memberExpression(ref, t.identifier(prop));
});
}
const [ argument, callExpression ] = createObjectSpread(
file,
path.parentPath.node.properties,

View File

@@ -0,0 +1,15 @@
const test = {
foo: {
bar: {
baz: {
a: {
x: 1,
y: 2,
z: 3,
},
},
},
},
};
const { foo: { bar: { baz: { a: { x, ...other } } } } } = test;

View File

@@ -0,0 +1,16 @@
const test = {
foo: {
bar: {
baz: {
a: {
x: 1,
y: 2,
z: 3
}
}
}
}
};
const { foo: { bar: { baz: { a: { x } } } } } = test,
other = babelHelpers.objectWithoutProperties(test.foo.bar.baz.a, ["x"]);

View File

@@ -0,0 +1,10 @@
const defunct = {
outer: {
inner: {
three: 'three',
four: 'four'
}
}
}
const { outer: { inner: { three, ...other } } } = defunct

View File

@@ -0,0 +1,11 @@
const defunct = {
outer: {
inner: {
three: 'three',
four: 'four'
}
}
};
const { outer: { inner: { three } } } = defunct,
other = babelHelpers.objectWithoutProperties(defunct.outer.inner, ['three']);

View File

@@ -1,6 +1,6 @@
{
"name": "babel-plugin-transform-proto-to-assign",
"version": "6.23.0",
"version": "6.26.0",
"description": "Babel plugin for turning __proto__ into a shallow property clone",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-proto-to-assign",
"license": "MIT",
@@ -9,8 +9,8 @@
"babel-plugin"
],
"dependencies": {
"babel-runtime": "^6.22.0",
"lodash": "^4.2.0"
"babel-runtime": "^6.26.0",
"lodash": "^4.17.4"
},
"devDependencies": {
"babel-helper-plugin-test-runner": "^6.22.0"

Some files were not shown because too many files have changed in this diff Show More