diff --git a/CHANGELOG.md b/CHANGELOG.md index f90ac42c12..b597f22f24 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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
{...this.props.children}
; ``` - + * `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 = () => , 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 ; } - + 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 diff --git a/packages/babel-helper-plugin-test-runner/README.md b/packages/babel-helper-plugin-test-runner/README.md index 6e75d3799e..4b35e6e636 100644 --- a/packages/babel-helper-plugin-test-runner/README.md +++ b/packages/babel-helper-plugin-test-runner/README.md @@ -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`. diff --git a/packages/babel-plugin-transform-class-properties/README.md b/packages/babel-plugin-transform-class-properties/README.md index a79f9613e0..4814889bb3 100644 --- a/packages/babel-plugin-transform-class-properties/README.md +++ b/packages/babel-plugin-transform-class-properties/README.md @@ -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 properties ## 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" diff --git a/packages/babel-plugin-transform-function-bind/README.md b/packages/babel-plugin-transform-function-bind/README.md index 76505a17f4..f1bb681da7 100644 --- a/packages/babel-plugin-transform-function-bind/README.md +++ b/packages/babel-plugin-transform-function-bind/README.md @@ -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) ``` diff --git a/packages/babel-plugin-transform-regenerator/README.md b/packages/babel-plugin-transform-regenerator/README.md index e82f106380..c169863152 100644 --- a/packages/babel-plugin-transform-regenerator/README.md +++ b/packages/babel-plugin-transform-regenerator/README.md @@ -60,13 +60,13 @@ With options: |generators|true| |async|true| -````json +```json { "plugins": [ ["transform-regenerator", { - asyncGenerators: false, - generators: false, - async: false + "asyncGenerators": false, + "generators": false, + "async": false }] ] } diff --git a/packages/babel-plugin-transform-regenerator/test/fixtures/computed-properties/example/actual.js b/packages/babel-plugin-transform-regenerator/test/fixtures/computed-properties/example/actual.js new file mode 100644 index 0000000000..15269af02d --- /dev/null +++ b/packages/babel-plugin-transform-regenerator/test/fixtures/computed-properties/example/actual.js @@ -0,0 +1,5 @@ +var o = { + *foo() { + return "foo"; + } +}; diff --git a/packages/babel-plugin-transform-regenerator/test/fixtures/computed-properties/example/expected.js b/packages/babel-plugin-transform-regenerator/test/fixtures/computed-properties/example/expected.js new file mode 100644 index 0000000000..a106fae81b --- /dev/null +++ b/packages/babel-plugin-transform-regenerator/test/fixtures/computed-properties/example/expected.js @@ -0,0 +1,16 @@ +var o = { + foo: + /*#__PURE__*/ + regeneratorRuntime.mark(function _callee() { + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", "foo"); + + case 1: + case "end": + return _context.stop(); + } + }, _callee, this); + }) +}; diff --git a/packages/babel-plugin-transform-regenerator/test/fixtures/computed-properties/example/options.json b/packages/babel-plugin-transform-regenerator/test/fixtures/computed-properties/example/options.json new file mode 100644 index 0000000000..9e14e1cefa --- /dev/null +++ b/packages/babel-plugin-transform-regenerator/test/fixtures/computed-properties/example/options.json @@ -0,0 +1,3 @@ +{ + "plugins": ["transform-regenerator"] +} diff --git a/packages/babel-plugin-transform-regenerator/test/fixtures/regression/4219/actual.js b/packages/babel-plugin-transform-regenerator/test/fixtures/regression/4219/actual.js new file mode 100644 index 0000000000..c3895d07fd --- /dev/null +++ b/packages/babel-plugin-transform-regenerator/test/fixtures/regression/4219/actual.js @@ -0,0 +1,5 @@ +function test(fn) { + return async (...args) => { + return fn(...args); + }; +} \ No newline at end of file diff --git a/packages/babel-plugin-transform-regenerator/test/fixtures/regression/4219/expected.js b/packages/babel-plugin-transform-regenerator/test/fixtures/regression/4219/expected.js new file mode 100644 index 0000000000..ffaa4b9a4e --- /dev/null +++ b/packages/babel-plugin-transform-regenerator/test/fixtures/regression/4219/expected.js @@ -0,0 +1,19 @@ +"use strict"; + +function test(fn) { + return function _callee() { + var _args = arguments; + return regeneratorRuntime.async(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", fn.apply(void 0, _args)); + + case 1: + case "end": + return _context.stop(); + } + } + }, null, this); + }; +} diff --git a/packages/babel-plugin-transform-regenerator/test/fixtures/regression/4219/options.json b/packages/babel-plugin-transform-regenerator/test/fixtures/regression/4219/options.json new file mode 100644 index 0000000000..20b4f2cd5f --- /dev/null +++ b/packages/babel-plugin-transform-regenerator/test/fixtures/regression/4219/options.json @@ -0,0 +1,7 @@ +{ + "plugins": [ + "transform-es2015-parameters", + "transform-es2015-spread", + "transform-regenerator" + ] +} \ No newline at end of file diff --git a/packages/babel-plugin-transform-runtime/README.md b/packages/babel-plugin-transform-runtime/README.md index d179ee7321..b974a7d328 100644 --- a/packages/babel-plugin-transform-runtime/README.md +++ b/packages/babel-plugin-transform-runtime/README.md @@ -227,19 +227,21 @@ var _marked = [foo].map(regeneratorRuntime.mark); function foo() { return regeneratorRuntime.wrap(function foo$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - case "end": - return _context.stop(); + while (1) { + switch (_context.prev = _context.next) { + case 0: + case "end": + return _context.stop(); + } } }, _marked[0], this); } ``` -This isn't ideal as then you have to include the regenerator runtime which +This isn't ideal since it relies on the regenerator runtime being included, which pollutes the global scope. -Instead what the `runtime` transformer does it compile that to: +With the `runtime` transformer, however, it is compiled to: ```javascript "use strict"; @@ -254,10 +256,12 @@ var _marked = [foo].map(_regenerator2.default.mark); function foo() { return _regenerator2.default.wrap(function foo$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - case "end": - return _context.stop(); + while (1) { + switch (_context.prev = _context.next) { + case 0: + case "end": + return _context.stop(); + } } }, _marked[0], this); } diff --git a/packages/babel-traverse/README.md b/packages/babel-traverse/README.md index 6addc10651..1dfda0a1f4 100644 --- a/packages/babel-traverse/README.md +++ b/packages/babel-traverse/README.md @@ -1 +1,33 @@ # babel-traverse + +> babel-traverse maintains the overall tree state, and is responsible for replacing, removing, and adding nodes. + +## Install + +```sh +$ npm install --save babel-traverse +``` + +## Usage + +We can use it alongside Babylon to traverse and update nodes: + +```js +import * as babylon from "babylon"; +import traverse from "babel-traverse"; + +const code = `function square(n) { + return n * n; +}`; + +const ast = babylon.parse(code); + +traverse(ast, { + enter(path) { + if (path.isIdentifier({ name: "n" })) { + path.node.name = "x"; + } + } +}); +``` +[:book: **Read the full docs here**](https://github.com/thejameskyle/babel-handbook/blob/master/translations/en/plugin-handbook.md#babel-traverse) diff --git a/packages/babel-traverse/src/scope/index.js b/packages/babel-traverse/src/scope/index.js index 8e5950bf28..af880dd0cc 100644 --- a/packages/babel-traverse/src/scope/index.js +++ b/packages/babel-traverse/src/scope/index.js @@ -913,7 +913,7 @@ export default class Scope { if (_crawlCallsCount === 0 && binding && binding.path.isFlow()) { console.warn(` You or one of the Babel plugins you are using are using Flow declarations as bindings. - Support for this will be removed in version 6.8. To find out the caller, grep for this + Support for this will be removed in version 7. To find out the caller, grep for this message and change it to a \`console.trace()\`. `); } diff --git a/packages/babel-traverse/test/evaluation.js b/packages/babel-traverse/test/evaluation.js index 89b0cd29a8..785794fad0 100644 --- a/packages/babel-traverse/test/evaluation.js +++ b/packages/babel-traverse/test/evaluation.js @@ -67,6 +67,35 @@ describe("evaluation", function() { ); }); + it("should evaluate template literals", function() { + assert.strictEqual( + getPath("var x = 8; var y = 1; var z = `value is ${x >>> y}`") + .get("body.2.declarations.0.init") + .evaluate().value, + "value is 4", + ); + }); + + it("should evaluate member expressions", function() { + assert.strictEqual( + getPath("var x = 'foo'.length") + .get("body.0.declarations.0.init") + .evaluate().value, + 3, + ); + const member_expr = getPath( + "var x = Math.min(2,Math.max(3,4));var y = Math.random();", + ); + const eval_member_expr = member_expr + .get("body.0.declarations.0.init") + .evaluate(); + const eval_invalid_call = member_expr + .get("body.1.declarations.0.init") + .evaluate(); + assert.strictEqual(eval_member_expr.value, 2); + assert.strictEqual(eval_invalid_call.confident, false); + }); + it("it should not deopt vars in different scope", function() { const input = "var a = 5; function x() { var a = 5; var b = a + 1; } var b = a + 2"; @@ -98,6 +127,13 @@ describe("evaluation", function() { getPath(constExample).get("body.1.consequent.body.1").evaluate().value, false, ); + const test_alternate = "var y = (3 < 4)? 3 + 4: 3 + 4;"; + assert.strictEqual( + getPath(test_alternate) + .get("body.0.declarations.0.init.alternate") + .evaluate().value, + 7, + ); }); it("should deopt ids that are referenced before the bindings", function() { diff --git a/yarn.lock b/yarn.lock index adc97a8bc5..29c643c723 100644 --- a/yarn.lock +++ b/yarn.lock @@ -381,6 +381,14 @@ babel-code-frame@7.0.0-alpha.18: esutils "^2.0.2" js-tokens "^3.0.0" +babel-code-frame@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-7.0.0-alpha.19.tgz#18afb43ec147847cc55f79bad4dab08f938263b1" + dependencies: + chalk "^2.0.0" + esutils "^2.0.2" + js-tokens "^3.0.0" + babel-code-frame@^6.16.0, babel-code-frame@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" @@ -449,6 +457,13 @@ babel-helper-builder-binary-assignment-operator-visitor@7.0.0-alpha.18: babel-helper-explode-assignable-expression "7.0.0-alpha.18" babel-types "7.0.0-alpha.18" +babel-helper-builder-binary-assignment-operator-visitor@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-7.0.0-alpha.19.tgz#b1f685023ca414bf6edeb6d4c99604523fdb6d6a" + dependencies: + babel-helper-explode-assignable-expression "7.0.0-alpha.19" + babel-types "7.0.0-alpha.19" + babel-helper-call-delegate@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-7.0.0-alpha.18.tgz#cb41a536f6a270019790250c89ced32526a34a25" @@ -457,6 +472,14 @@ babel-helper-call-delegate@7.0.0-alpha.18: babel-traverse "7.0.0-alpha.18" babel-types "7.0.0-alpha.18" +babel-helper-call-delegate@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-7.0.0-alpha.19.tgz#d7d5a634c51b95b19a44fc1be87726ba233cbb71" + dependencies: + babel-helper-hoist-variables "7.0.0-alpha.19" + babel-traverse "7.0.0-alpha.19" + babel-types "7.0.0-alpha.19" + babel-helper-define-map@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-7.0.0-alpha.18.tgz#cf3e7f4dcd8771bb2423eae5dfb0dadbc2282ac7" @@ -465,6 +488,14 @@ babel-helper-define-map@7.0.0-alpha.18: babel-types "7.0.0-alpha.18" lodash "^4.2.0" +babel-helper-define-map@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-7.0.0-alpha.19.tgz#d7e112abddacc3cafca89f482dfe2eb1a19ad641" + dependencies: + babel-helper-function-name "7.0.0-alpha.19" + babel-types "7.0.0-alpha.19" + lodash "^4.2.0" + babel-helper-explode-assignable-expression@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-7.0.0-alpha.18.tgz#7aa684719b9a4d9eb3cb000af810f3b8ce9f4de9" @@ -472,6 +503,13 @@ babel-helper-explode-assignable-expression@7.0.0-alpha.18: babel-traverse "7.0.0-alpha.18" babel-types "7.0.0-alpha.18" +babel-helper-explode-assignable-expression@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-7.0.0-alpha.19.tgz#45b639cd0b05a47a0a4c6b22c8925b7a6b7bfec5" + dependencies: + babel-traverse "7.0.0-alpha.19" + babel-types "7.0.0-alpha.19" + babel-helper-function-name@7.0.0-alpha.15: version "7.0.0-alpha.15" resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-7.0.0-alpha.15.tgz#087bb6bb6677acde36b3c19f6bc1afedb3d12e30" @@ -490,6 +528,15 @@ babel-helper-function-name@7.0.0-alpha.18: babel-traverse "7.0.0-alpha.18" babel-types "7.0.0-alpha.18" +babel-helper-function-name@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-7.0.0-alpha.19.tgz#6da459bdbc17fc2bb6a623fbcbfc57dc4ab20e9f" + dependencies: + babel-helper-get-function-arity "7.0.0-alpha.19" + babel-template "7.0.0-alpha.19" + babel-traverse "7.0.0-alpha.19" + babel-types "7.0.0-alpha.19" + babel-helper-get-function-arity@7.0.0-alpha.15: version "7.0.0-alpha.15" resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-7.0.0-alpha.15.tgz#17e93206d0b625c3122f4c674478cbed53281f24" @@ -502,18 +549,36 @@ babel-helper-get-function-arity@7.0.0-alpha.18: dependencies: babel-types "7.0.0-alpha.18" +babel-helper-get-function-arity@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-7.0.0-alpha.19.tgz#29088a3137935e393f09a329d9d7900360514e4e" + dependencies: + babel-types "7.0.0-alpha.19" + babel-helper-hoist-variables@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-7.0.0-alpha.18.tgz#cce862e21106bcba1884792abc2875f254cdaebe" dependencies: babel-types "7.0.0-alpha.18" +babel-helper-hoist-variables@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-7.0.0-alpha.19.tgz#c61a057ec369746a964447a1b3ca5c2442b4d080" + dependencies: + babel-types "7.0.0-alpha.19" + babel-helper-optimise-call-expression@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-7.0.0-alpha.18.tgz#fbb497a9bcf875ade49d22c17442f72b5fe8f344" dependencies: babel-types "7.0.0-alpha.18" +babel-helper-optimise-call-expression@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-7.0.0-alpha.19.tgz#3cd53dd093c2e093635375507a294d6a44dfd429" + dependencies: + babel-types "7.0.0-alpha.19" + babel-helper-regex@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-7.0.0-alpha.18.tgz#c54f5cc91a10deef88924381e5a8bf4157cd480d" @@ -521,6 +586,13 @@ babel-helper-regex@7.0.0-alpha.18: babel-types "7.0.0-alpha.18" lodash "^4.2.0" +babel-helper-regex@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-7.0.0-alpha.19.tgz#d58ea24cbebc4d153c33a967a91322c58c4f1930" + dependencies: + babel-types "7.0.0-alpha.19" + lodash "^4.2.0" + babel-helper-regex@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.24.1.tgz#d36e22fab1008d79d88648e32116868128456ce8" @@ -538,6 +610,15 @@ babel-helper-remap-async-to-generator@7.0.0-alpha.18: babel-traverse "7.0.0-alpha.18" babel-types "7.0.0-alpha.18" +babel-helper-remap-async-to-generator@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-7.0.0-alpha.19.tgz#ddae33dbb4fbc539d9dddc3a9c4ad0395f8f5341" + dependencies: + babel-helper-wrap-function "7.0.0-alpha.19" + babel-template "7.0.0-alpha.19" + babel-traverse "7.0.0-alpha.19" + babel-types "7.0.0-alpha.19" + babel-helper-replace-supers@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-7.0.0-alpha.18.tgz#40a1620cd9b2f8e898c5edee772eea3a8ed99ce4" @@ -548,6 +629,16 @@ babel-helper-replace-supers@7.0.0-alpha.18: babel-traverse "7.0.0-alpha.18" babel-types "7.0.0-alpha.18" +babel-helper-replace-supers@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-7.0.0-alpha.19.tgz#8c9224d65fde8a872e2c5e1d18b15d5ddf3aa212" + dependencies: + babel-helper-optimise-call-expression "7.0.0-alpha.19" + babel-messages "7.0.0-alpha.19" + babel-template "7.0.0-alpha.19" + babel-traverse "7.0.0-alpha.19" + babel-types "7.0.0-alpha.19" + babel-helper-wrap-function@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-helper-wrap-function/-/babel-helper-wrap-function-7.0.0-alpha.18.tgz#47d194f19d0fab899a60e768214b7e1fc71471b0" @@ -557,6 +648,15 @@ babel-helper-wrap-function@7.0.0-alpha.18: babel-traverse "7.0.0-alpha.18" babel-types "7.0.0-alpha.18" +babel-helper-wrap-function@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-helper-wrap-function/-/babel-helper-wrap-function-7.0.0-alpha.19.tgz#20abff1467021a8d2b275c2ad7ae168a11ed25ec" + dependencies: + babel-helper-function-name "7.0.0-alpha.19" + babel-template "7.0.0-alpha.19" + babel-traverse "7.0.0-alpha.19" + babel-types "7.0.0-alpha.19" + babel-helpers@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-7.0.0-alpha.18.tgz#22e466d3f48e8ea777d47b50fdc2c98befc801e0" @@ -579,6 +679,10 @@ babel-messages@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-7.0.0-alpha.18.tgz#fd0293f42f20eff97af5b8ae0c5b75addb465060" +babel-messages@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-7.0.0-alpha.19.tgz#269b34b85070be6f6d101169ed3fdafc856dfd06" + babel-messages@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" @@ -589,6 +693,10 @@ babel-plugin-check-es2015-constants@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-7.0.0-alpha.18.tgz#42c3af2f8f7069722b5335fa9d9ec2da41f32d1c" +babel-plugin-check-es2015-constants@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-7.0.0-alpha.19.tgz#26035252ce8500ca0da8af797bb352d58a62e428" + babel-plugin-inline-replace-variables@1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/babel-plugin-inline-replace-variables/-/babel-plugin-inline-replace-variables-1.3.1.tgz#9fbb8dd43229c777695e14ea0d3d781f048fdc0f" @@ -607,6 +715,10 @@ babel-plugin-syntax-async-functions@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-7.0.0-alpha.18.tgz#7bc553c476d66ce4b2d27920610f258ea1c49e98" +babel-plugin-syntax-async-functions@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-7.0.0-alpha.19.tgz#f2853e10ab14057bd31991048d2da5769f546a99" + babel-plugin-syntax-async-generators@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-7.0.0-alpha.18.tgz#7980045870ed288d0f0d100c39259c4de47bbf0c" @@ -631,10 +743,18 @@ babel-plugin-syntax-exponentiation-operator@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-7.0.0-alpha.18.tgz#640a6ccb0635b6f42e15d5d9e6814bd4bbdd07ec" +babel-plugin-syntax-exponentiation-operator@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-7.0.0-alpha.19.tgz#9fac7fff68ee1963dfaf37417f7df594d205738e" + babel-plugin-syntax-export-extensions@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-7.0.0-alpha.18.tgz#d542390c9849f70a571e845278b7f0eb1407769e" +babel-plugin-syntax-export-extensions@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-7.0.0-alpha.19.tgz#aa9d3a2bf6cfb34973f045991c2f8ee76e16443a" + babel-plugin-syntax-flow@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-7.0.0-alpha.18.tgz#71b39744b5af03170c473c9f239ae4b299125f8b" @@ -667,6 +787,10 @@ babel-plugin-syntax-trailing-function-commas@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-alpha.18.tgz#e97d873b5309b0bf0a48d9e5e8571f0e520134b8" +babel-plugin-syntax-trailing-function-commas@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-alpha.19.tgz#5a7d09bc12f96caa3950262a50f5f25ae3aa2173" + babel-plugin-transform-async-generator-functions@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-7.0.0-alpha.18.tgz#4353aadccf5a8c4c409341cd8e871428bdd20522" @@ -681,6 +805,13 @@ babel-plugin-transform-async-to-generator@7.0.0-alpha.18: babel-helper-remap-async-to-generator "7.0.0-alpha.18" babel-plugin-syntax-async-functions "7.0.0-alpha.18" +babel-plugin-transform-async-to-generator@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-7.0.0-alpha.19.tgz#00b4a0eccf20300d81d8a2eb65ba1d41fda0129c" + dependencies: + babel-helper-remap-async-to-generator "7.0.0-alpha.19" + babel-plugin-syntax-async-functions "7.0.0-alpha.19" + babel-plugin-transform-class-properties@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-7.0.0-alpha.18.tgz#a4f05e66762e2835f3d8e914840e55813c58f2a4" @@ -706,10 +837,18 @@ babel-plugin-transform-es2015-arrow-functions@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-7.0.0-alpha.18.tgz#886758b8bc44ac1c5a835c4627271edc0b6ae425" +babel-plugin-transform-es2015-arrow-functions@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-7.0.0-alpha.19.tgz#1969b464f812b8514c3830130c683419909d505a" + babel-plugin-transform-es2015-block-scoped-functions@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-7.0.0-alpha.18.tgz#eb2b83c325f9da4e9229ed6f221a421cace09ec7" +babel-plugin-transform-es2015-block-scoped-functions@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-7.0.0-alpha.19.tgz#89e073fe39d6ced51aa8e0fc05526fbf95d7d0fd" + babel-plugin-transform-es2015-block-scoping@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-7.0.0-alpha.18.tgz#882ea1f28affd03cc6ba485e0d65b93167009ff8" @@ -719,6 +858,15 @@ babel-plugin-transform-es2015-block-scoping@7.0.0-alpha.18: babel-types "7.0.0-alpha.18" lodash "^4.2.0" +babel-plugin-transform-es2015-block-scoping@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-7.0.0-alpha.19.tgz#b0c962f6d80228c34f6d99885bd80b5ec5cb4126" + dependencies: + babel-template "7.0.0-alpha.19" + babel-traverse "7.0.0-alpha.19" + babel-types "7.0.0-alpha.19" + lodash "^4.2.0" + babel-plugin-transform-es2015-classes@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-7.0.0-alpha.18.tgz#9df446663f9099b62a0a2c6fece5a21eb9210f05" @@ -732,26 +880,59 @@ babel-plugin-transform-es2015-classes@7.0.0-alpha.18: babel-traverse "7.0.0-alpha.18" babel-types "7.0.0-alpha.18" +babel-plugin-transform-es2015-classes@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-7.0.0-alpha.19.tgz#e5a716ecace52ae2e01c80fc31212e9e8083a9cf" + dependencies: + babel-helper-define-map "7.0.0-alpha.19" + babel-helper-function-name "7.0.0-alpha.19" + babel-helper-optimise-call-expression "7.0.0-alpha.19" + babel-helper-replace-supers "7.0.0-alpha.19" + babel-messages "7.0.0-alpha.19" + babel-template "7.0.0-alpha.19" + babel-traverse "7.0.0-alpha.19" + babel-types "7.0.0-alpha.19" + babel-plugin-transform-es2015-computed-properties@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-7.0.0-alpha.18.tgz#83ce6e50bbfaca655eb39532a186c19345501312" dependencies: babel-template "7.0.0-alpha.18" +babel-plugin-transform-es2015-computed-properties@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-7.0.0-alpha.19.tgz#9424f3933e32734a11b28f7c34388d59ee9babc3" + dependencies: + babel-template "7.0.0-alpha.19" + babel-plugin-transform-es2015-destructuring@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-7.0.0-alpha.18.tgz#d69b9fddee3f7da1d7058008aafa4a26d27fa4ce" +babel-plugin-transform-es2015-destructuring@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-7.0.0-alpha.19.tgz#cd1bac3aad6b54613305a8e1c152d0a28fa34470" + babel-plugin-transform-es2015-duplicate-keys@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-7.0.0-alpha.18.tgz#e3bef8d7399590e8051bcd4f474d688a6ea436c0" dependencies: babel-types "7.0.0-alpha.18" +babel-plugin-transform-es2015-duplicate-keys@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-7.0.0-alpha.19.tgz#721152c0192139bd9d1137f30a13a958008451a8" + dependencies: + babel-types "7.0.0-alpha.19" + babel-plugin-transform-es2015-for-of@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-7.0.0-alpha.18.tgz#971dc41d215df6efda182f78fabd470d2b747a02" +babel-plugin-transform-es2015-for-of@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-7.0.0-alpha.19.tgz#733e621be9e4717e5227882139c9f41cbd16b149" + babel-plugin-transform-es2015-function-name@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-7.0.0-alpha.18.tgz#6fa633b7ae319971df6a7c9fbce0ff5249af8f5e" @@ -759,10 +940,21 @@ babel-plugin-transform-es2015-function-name@7.0.0-alpha.18: babel-helper-function-name "7.0.0-alpha.18" babel-types "7.0.0-alpha.18" +babel-plugin-transform-es2015-function-name@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-7.0.0-alpha.19.tgz#7985ae15a7d1fbec05f6edccdbb846255e0c5bc6" + dependencies: + babel-helper-function-name "7.0.0-alpha.19" + babel-types "7.0.0-alpha.19" + babel-plugin-transform-es2015-literals@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-7.0.0-alpha.18.tgz#5904eb861db4e9705ecaafd74122bf6c4fdc0033" +babel-plugin-transform-es2015-literals@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-7.0.0-alpha.19.tgz#64a297e10ccef058544af1d82ec11d2d5b9c9908" + babel-plugin-transform-es2015-modules-amd@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-7.0.0-alpha.18.tgz#b261a4a95e97bfccd781a57fe06cffc6a765bcaf" @@ -770,6 +962,13 @@ babel-plugin-transform-es2015-modules-amd@7.0.0-alpha.18: babel-plugin-transform-es2015-modules-commonjs "7.0.0-alpha.18" babel-template "7.0.0-alpha.18" +babel-plugin-transform-es2015-modules-amd@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-7.0.0-alpha.19.tgz#db7dfecea5956e7f6766c7ef6a743c855c618af0" + dependencies: + babel-plugin-transform-es2015-modules-commonjs "7.0.0-alpha.19" + babel-template "7.0.0-alpha.19" + babel-plugin-transform-es2015-modules-commonjs@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-7.0.0-alpha.18.tgz#86548d8aaf15ee5b1bdb489df04591921c8ee7eb" @@ -778,6 +977,14 @@ babel-plugin-transform-es2015-modules-commonjs@7.0.0-alpha.18: babel-template "7.0.0-alpha.18" babel-types "7.0.0-alpha.18" +babel-plugin-transform-es2015-modules-commonjs@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-7.0.0-alpha.19.tgz#7c3fe8db55592995ceb17260a650640c22f8847d" + dependencies: + babel-plugin-transform-strict-mode "7.0.0-alpha.19" + babel-template "7.0.0-alpha.19" + babel-types "7.0.0-alpha.19" + babel-plugin-transform-es2015-modules-systemjs@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-7.0.0-alpha.18.tgz#8ae907e80fb6bfe95df75a5f04fde50b43e8436e" @@ -785,6 +992,13 @@ babel-plugin-transform-es2015-modules-systemjs@7.0.0-alpha.18: babel-helper-hoist-variables "7.0.0-alpha.18" babel-template "7.0.0-alpha.18" +babel-plugin-transform-es2015-modules-systemjs@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-7.0.0-alpha.19.tgz#251dfe6a1c42ad9a85f676c3f9e0404332860a6c" + dependencies: + babel-helper-hoist-variables "7.0.0-alpha.19" + babel-template "7.0.0-alpha.19" + babel-plugin-transform-es2015-modules-umd@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-7.0.0-alpha.18.tgz#aa0e33f8aedb1dd32793cf7dcc48444314899f7b" @@ -792,12 +1006,25 @@ babel-plugin-transform-es2015-modules-umd@7.0.0-alpha.18: babel-plugin-transform-es2015-modules-amd "7.0.0-alpha.18" babel-template "7.0.0-alpha.18" +babel-plugin-transform-es2015-modules-umd@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-7.0.0-alpha.19.tgz#f0b1a497b453a4113097c8780e241f1895449ae6" + dependencies: + babel-plugin-transform-es2015-modules-amd "7.0.0-alpha.19" + babel-template "7.0.0-alpha.19" + babel-plugin-transform-es2015-object-super@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-7.0.0-alpha.18.tgz#98de0157222a27add0119d49d1c5ff3dc1d29045" dependencies: babel-helper-replace-supers "7.0.0-alpha.18" +babel-plugin-transform-es2015-object-super@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-7.0.0-alpha.19.tgz#67df7402585f593d55069850d1d11bc829c5f4ed" + dependencies: + babel-helper-replace-supers "7.0.0-alpha.19" + babel-plugin-transform-es2015-parameters@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-7.0.0-alpha.18.tgz#ab0f3b8ab054eb0eb0a0ada4783d252de48c676a" @@ -808,16 +1035,36 @@ babel-plugin-transform-es2015-parameters@7.0.0-alpha.18: babel-traverse "7.0.0-alpha.18" babel-types "7.0.0-alpha.18" +babel-plugin-transform-es2015-parameters@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-7.0.0-alpha.19.tgz#8a7caae4d68fbb67b76ca6094b51e1f46a1c6c3c" + dependencies: + babel-helper-call-delegate "7.0.0-alpha.19" + babel-helper-get-function-arity "7.0.0-alpha.19" + babel-template "7.0.0-alpha.19" + babel-traverse "7.0.0-alpha.19" + babel-types "7.0.0-alpha.19" + babel-plugin-transform-es2015-shorthand-properties@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-7.0.0-alpha.18.tgz#843e2fc27be06229f233992e8774a33f5f9f34a6" dependencies: babel-types "7.0.0-alpha.18" +babel-plugin-transform-es2015-shorthand-properties@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-7.0.0-alpha.19.tgz#c1daa38eea8a6a1b50a14a31ce4a3c3e8caec5da" + dependencies: + babel-types "7.0.0-alpha.19" + babel-plugin-transform-es2015-spread@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-7.0.0-alpha.18.tgz#aa346d32b2d0debae10da9d8c0cb14be08debb8f" +babel-plugin-transform-es2015-spread@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-7.0.0-alpha.19.tgz#fa59386e080df5b8ee4011353c0dcb4b7285a6c6" + babel-plugin-transform-es2015-sticky-regex@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-7.0.0-alpha.18.tgz#e18c5c3811a543eb5ac33292275686b9bd4da475" @@ -825,14 +1072,29 @@ babel-plugin-transform-es2015-sticky-regex@7.0.0-alpha.18: babel-helper-regex "7.0.0-alpha.18" babel-types "7.0.0-alpha.18" +babel-plugin-transform-es2015-sticky-regex@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-7.0.0-alpha.19.tgz#480476e5ba72012f00f6adfa508de5a036497793" + dependencies: + babel-helper-regex "7.0.0-alpha.19" + babel-types "7.0.0-alpha.19" + babel-plugin-transform-es2015-template-literals@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-7.0.0-alpha.18.tgz#ce52165035187c9721d54423432aadb0259af816" +babel-plugin-transform-es2015-template-literals@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-7.0.0-alpha.19.tgz#626da711a81cba8bf069c07f51dcc935237ed3cb" + babel-plugin-transform-es2015-typeof-symbol@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-7.0.0-alpha.18.tgz#c90aa1e15f8288d39a1e3d5a84270dfd469c3522" +babel-plugin-transform-es2015-typeof-symbol@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-7.0.0-alpha.19.tgz#588fb8602fe1cc3417ea72ba9d61a2056eb7a05d" + babel-plugin-transform-es2015-unicode-regex@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-7.0.0-alpha.18.tgz#fbfb843af4bb40338e7697206cba51df544b4d95" @@ -840,6 +1102,13 @@ babel-plugin-transform-es2015-unicode-regex@7.0.0-alpha.18: babel-helper-regex "7.0.0-alpha.18" regexpu-core "^4.0.2" +babel-plugin-transform-es2015-unicode-regex@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-7.0.0-alpha.19.tgz#2ca7f971a671f050408102847f1bc00e09014a8d" + dependencies: + babel-helper-regex "7.0.0-alpha.19" + regexpu-core "^4.0.2" + babel-plugin-transform-exponentiation-operator@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-7.0.0-alpha.18.tgz#165e694152d22ccf160c96ed618b670fb8c7a298" @@ -847,6 +1116,13 @@ babel-plugin-transform-exponentiation-operator@7.0.0-alpha.18: babel-helper-builder-binary-assignment-operator-visitor "7.0.0-alpha.18" babel-plugin-syntax-exponentiation-operator "7.0.0-alpha.18" +babel-plugin-transform-exponentiation-operator@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-7.0.0-alpha.19.tgz#512950d6c2b98eda4cba109af59cb625e8b85465" + dependencies: + babel-helper-builder-binary-assignment-operator-visitor "7.0.0-alpha.19" + babel-plugin-syntax-exponentiation-operator "7.0.0-alpha.19" + babel-plugin-transform-export-extensions@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-7.0.0-alpha.18.tgz#71b588cb7833de7d1fc970d74074172b15a76b2c" @@ -908,12 +1184,24 @@ babel-plugin-transform-regenerator@7.0.0-alpha.18: dependencies: regenerator-transform "0.9.11" +babel-plugin-transform-regenerator@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-7.0.0-alpha.19.tgz#a6fb67a3efdfdb4625bc824692668a7550a8bdcc" + dependencies: + regenerator-transform "0.9.11" + babel-plugin-transform-strict-mode@7.0.0-alpha.18: version "7.0.0-alpha.18" resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-7.0.0-alpha.18.tgz#47c84c67ccef90290791496caf26fd2ecfc23c3e" dependencies: babel-types "7.0.0-alpha.18" +babel-plugin-transform-strict-mode@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-7.0.0-alpha.19.tgz#e8f5fdcb8f71b00ec32e3e2ed88c0dcd4d949bfe" + dependencies: + babel-types "7.0.0-alpha.19" + babel-plugin-transform-unicode-property-regex@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/babel-plugin-transform-unicode-property-regex/-/babel-plugin-transform-unicode-property-regex-2.0.2.tgz#8f90d9b4cff96502aa95db8537d2a9d329cb5240" @@ -1079,6 +1367,15 @@ babel-template@7.0.0-alpha.18: babylon "7.0.0-beta.18" lodash "^4.2.0" +babel-template@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-7.0.0-alpha.19.tgz#6ef867c43dbf8c204a22f9cfd62101c64c8ade9c" + dependencies: + babel-traverse "7.0.0-alpha.19" + babel-types "7.0.0-alpha.19" + babylon "7.0.0-beta.18" + lodash "^4.2.0" + babel-template@^6.16.0: version "6.25.0" resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.25.0.tgz#665241166b7c2aa4c619d71e192969552b10c071" @@ -1117,6 +1414,20 @@ babel-traverse@7.0.0-alpha.18: invariant "^2.2.0" lodash "^4.2.0" +babel-traverse@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-7.0.0-alpha.19.tgz#083f3f00a413fd9ec38383c0d5ae79511d9ed53d" + dependencies: + babel-code-frame "7.0.0-alpha.19" + babel-helper-function-name "7.0.0-alpha.19" + babel-messages "7.0.0-alpha.19" + babel-types "7.0.0-alpha.19" + babylon "7.0.0-beta.19" + debug "^2.2.0" + globals "^10.0.0" + invariant "^2.2.0" + lodash "^4.2.0" + babel-traverse@^6.18.0, babel-traverse@^6.25.0: version "6.25.0" resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.25.0.tgz#2257497e2fcd19b89edc13c4c91381f9512496f1" @@ -1147,6 +1458,14 @@ babel-types@7.0.0-alpha.18: lodash "^4.2.0" to-fast-properties "^2.0.0" +babel-types@7.0.0-alpha.19: + version "7.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-7.0.0-alpha.19.tgz#8222ae72f349c51758a9451486783a7b9bffc605" + dependencies: + esutils "^2.0.2" + lodash "^4.2.0" + to-fast-properties "^2.0.0" + babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.25.0: version "6.25.0" resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.25.0.tgz#70afb248d5660e5d18f811d91c8303b54134a18e" @@ -1172,6 +1491,10 @@ babylon@7.0.0-beta.18: version "7.0.0-beta.18" resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.18.tgz#5c23ee3fdb66358aabf3789779319c5b78a233c7" +babylon@7.0.0-beta.19: + version "7.0.0-beta.19" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.19.tgz#e928c7e807e970e0536b078ab3e0c48f9e052503" + babylon@7.0.0-beta.22, babylon@^7.0.0-beta.22: version "7.0.0-beta.22" resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.22.tgz#74f0ad82ed7c7c3cfeab74cf684f815104161b65"