From f81d7496b146c5b6c674012206d785bafa6f6003 Mon Sep 17 00:00:00 2001 From: Artem Yavorsky Date: Wed, 15 Mar 2017 15:35:45 +0200 Subject: [PATCH 01/60] Fix exports while destructuring. --- .../src/index.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js b/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js index 2afc2d6fbb..5574550a90 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js @@ -306,6 +306,15 @@ export default function () { addTo(exports, id.node.name, id.node); init.replaceWith(buildExportsAssignment(id.node, init.node).expression); nonHoistedExportNames[id.node.name] = true; + } else if (id.isObjectPattern()) { + for (let i = 0; i < id.node.properties.length; i++) { + const prop = id.node.properties[i]; + if (!t.isRestProperty(prop)) { + addTo(exports, prop.value.name, prop.value); + path.insertAfter(buildExportsAssignment(prop.value, prop.value)); + nonHoistedExportNames[prop.value.name] = true; + } + } } else { // todo } From 9b410be61c7d4e4e52cbfe5d31e7456d1ba19705 Mon Sep 17 00:00:00 2001 From: Artem Yavorsky Date: Wed, 15 Mar 2017 15:37:17 +0200 Subject: [PATCH 02/60] Add test for exports destructuring. --- .../fixtures/strict/export-const-destructuring/actual.js | 1 + .../strict/export-const-destructuring/expected.js | 8 ++++++++ 2 files changed, 9 insertions(+) create mode 100644 packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring/actual.js create mode 100644 packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring/expected.js diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring/actual.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring/actual.js new file mode 100644 index 0000000000..f571493604 --- /dev/null +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring/actual.js @@ -0,0 +1 @@ +export const { foo: bar, baz } = {}; diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring/expected.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring/expected.js new file mode 100644 index 0000000000..b1bd936932 --- /dev/null +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring/expected.js @@ -0,0 +1,8 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +const { foo: bar, baz } = {}; +exports.baz = baz; +exports.bar = bar; From 0c2e3b1045df669aa2de70f77c492c11b821d82b Mon Sep 17 00:00:00 2001 From: Artem Yavorsky Date: Wed, 15 Mar 2017 16:02:21 +0200 Subject: [PATCH 03/60] Remove exports definition. --- .../fixtures/strict/export-const-destructuring/expected.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring/expected.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring/expected.js index b1bd936932..ff1a912e33 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring/expected.js +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring/expected.js @@ -1,8 +1,5 @@ "use strict"; -Object.defineProperty(exports, "__esModule", { - value: true -}); const { foo: bar, baz } = {}; exports.baz = baz; exports.bar = bar; From b5bb89b30a43db219de22d82eff8cf4b2727efc4 Mon Sep 17 00:00:00 2001 From: Artem Yavorsky Date: Sat, 18 Mar 2017 15:12:46 +0200 Subject: [PATCH 04/60] Add array pattern to exports destructuring. --- .../src/index.js | 22 ++++++++++++++----- .../actual.js | 1 + .../expected.js | 5 +++++ .../actual.js | 0 .../expected.js | 0 5 files changed, 23 insertions(+), 5 deletions(-) create mode 100644 packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array/actual.js create mode 100644 packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array/expected.js rename packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/{export-const-destructuring => export-const-destructuring-object}/actual.js (100%) rename packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/{export-const-destructuring => export-const-destructuring-object}/expected.js (100%) diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js b/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js index 5574550a90..1ae00f1c3c 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js @@ -300,6 +300,7 @@ 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()) { @@ -310,14 +311,25 @@ export default function () { for (let i = 0; i < id.node.properties.length; i++) { const prop = id.node.properties[i]; if (!t.isRestProperty(prop)) { - addTo(exports, prop.value.name, prop.value); - path.insertAfter(buildExportsAssignment(prop.value, prop.value)); - nonHoistedExportNames[prop.value.name] = true; + const propValue = prop.value; + 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++) { + const elem = id.node.elements[i]; + if (!elem) continue; + if (!t.isRestElement(elem)) { + const name = elem.name; + addTo(exports, name, elem); + exportsToInsert.push(buildExportsAssignment(elem, elem)); + nonHoistedExportNames[name] = true; } } - } else { - // todo } + path.insertAfter(exportsToInsert); } path.replaceWith(declaration.node); } diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array/actual.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array/actual.js new file mode 100644 index 0000000000..1b7752d6c5 --- /dev/null +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array/actual.js @@ -0,0 +1 @@ +export const [ foo, bar ] = []; diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array/expected.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array/expected.js new file mode 100644 index 0000000000..e2fafbd5ca --- /dev/null +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array/expected.js @@ -0,0 +1,5 @@ +"use strict"; + +const [foo, bar] = []; +exports.foo = foo; +exports.bar = bar; diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring/actual.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object/actual.js similarity index 100% rename from packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring/actual.js rename to packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object/actual.js diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring/expected.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object/expected.js similarity index 100% rename from packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring/expected.js rename to packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object/expected.js From 06f67e1ad3eda952690d67eebc2cc0c3c827f683 Mon Sep 17 00:00:00 2001 From: Artem Yavorsky Date: Sat, 18 Mar 2017 15:42:39 +0200 Subject: [PATCH 05/60] Consider default parameters for array pattern. --- .../src/index.js | 5 ++++- .../strict/export-const-destructuring-array/actual.js | 2 +- .../strict/export-const-destructuring-array/expected.js | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js b/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js index 1ae00f1c3c..8fd67773c6 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js @@ -319,9 +319,12 @@ export default function () { } } else if (id.isArrayPattern() && id.node.elements) { for (let i = 0; i < id.node.elements.length; i++) { - const elem = id.node.elements[i]; + let elem = id.node.elements[i]; if (!elem) continue; if (!t.isRestElement(elem)) { + if (t.isAssignmentPattern(elem)) { + elem = elem.left; + } const name = elem.name; addTo(exports, name, elem); exportsToInsert.push(buildExportsAssignment(elem, elem)); diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array/actual.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array/actual.js index 1b7752d6c5..ae9b52c168 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array/actual.js +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array/actual.js @@ -1 +1 @@ -export const [ foo, bar ] = []; +export const [foo, bar = 2] = [1]; diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array/expected.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array/expected.js index e2fafbd5ca..62eda5c150 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array/expected.js +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array/expected.js @@ -1,5 +1,5 @@ "use strict"; -const [foo, bar] = []; +const [foo, bar = 2] = [1]; exports.foo = foo; exports.bar = bar; From b608e28aa7978b9c97e0e5cffeefe4441eda5d0b Mon Sep 17 00:00:00 2001 From: Artem Yavorsky Date: Sat, 18 Mar 2017 16:02:06 +0200 Subject: [PATCH 06/60] Consider rest params for array pattern in exports. --- .../src/index.js | 16 ++++++++-------- .../actual.js | 1 + .../expected.js | 5 +++++ .../actual.js | 1 + .../expected.js | 6 ++++++ .../export-const-destructuring-array/actual.js | 2 +- .../export-const-destructuring-array/expected.js | 2 +- 7 files changed, 23 insertions(+), 10 deletions(-) create mode 100644 packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array-default-params/actual.js create mode 100644 packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array-default-params/expected.js create mode 100644 packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array-rest/actual.js create mode 100644 packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array-rest/expected.js diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js b/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js index 8fd67773c6..58ee8e97e4 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js @@ -321,15 +321,15 @@ export default function () { for (let i = 0; i < id.node.elements.length; i++) { let elem = id.node.elements[i]; if (!elem) continue; - if (!t.isRestElement(elem)) { - if (t.isAssignmentPattern(elem)) { - elem = elem.left; - } - const name = elem.name; - addTo(exports, name, elem); - exportsToInsert.push(buildExportsAssignment(elem, elem)); - nonHoistedExportNames[name] = true; + 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); diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array-default-params/actual.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array-default-params/actual.js new file mode 100644 index 0000000000..15f05d97e4 --- /dev/null +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array-default-params/actual.js @@ -0,0 +1 @@ +export const [foo, bar = 2] = []; diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array-default-params/expected.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array-default-params/expected.js new file mode 100644 index 0000000000..124bbfcc78 --- /dev/null +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array-default-params/expected.js @@ -0,0 +1,5 @@ +"use strict"; + +const [foo, bar = 2] = []; +exports.foo = foo; +exports.bar = bar; diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array-rest/actual.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array-rest/actual.js new file mode 100644 index 0000000000..0a9d393da8 --- /dev/null +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array-rest/actual.js @@ -0,0 +1 @@ +export const [foo, bar, ...baz] = []; diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array-rest/expected.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array-rest/expected.js new file mode 100644 index 0000000000..7f0d3ab179 --- /dev/null +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array-rest/expected.js @@ -0,0 +1,6 @@ +"use strict"; + +const [foo, bar, ...baz] = []; +exports.foo = foo; +exports.bar = bar; +exports.bar = baz; diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array/actual.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array/actual.js index ae9b52c168..17971b0e11 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array/actual.js +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array/actual.js @@ -1 +1 @@ -export const [foo, bar = 2] = [1]; +export const [foo, bar] = []; diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array/expected.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array/expected.js index 62eda5c150..e2fafbd5ca 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array/expected.js +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array/expected.js @@ -1,5 +1,5 @@ "use strict"; -const [foo, bar = 2] = [1]; +const [foo, bar] = []; exports.foo = foo; exports.bar = bar; From 45b41740d851ccfc2189f987f55fd2bff776a5b4 Mon Sep 17 00:00:00 2001 From: Artem Yavorsky Date: Sat, 18 Mar 2017 16:26:22 +0200 Subject: [PATCH 07/60] Consider default params for object pattern. --- .../src/index.js | 5 ++++- .../actual.js | 1 + .../expected.js | 5 +++++ .../strict/export-const-destructuring-object/expected.js | 2 +- 4 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-default-params/actual.js create mode 100644 packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-default-params/expected.js diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js b/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js index 58ee8e97e4..4344f2cc71 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js @@ -310,8 +310,11 @@ export default function () { } 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.isRestProperty(prop)) { - const propValue = prop.value; + if (t.isAssignmentPattern(propValue)) { + propValue = propValue.left; + } addTo(exports, propValue.name, propValue); exportsToInsert.push(buildExportsAssignment(propValue, propValue)); nonHoistedExportNames[propValue.name] = true; diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-default-params/actual.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-default-params/actual.js new file mode 100644 index 0000000000..03958a0709 --- /dev/null +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-default-params/actual.js @@ -0,0 +1 @@ +export const { foo, bar = 1 } = {}; diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-default-params/expected.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-default-params/expected.js new file mode 100644 index 0000000000..2f72b34fb6 --- /dev/null +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-default-params/expected.js @@ -0,0 +1,5 @@ +"use strict"; + +const { foo, bar = 1 } = {}; +exports.foo = foo; +exports.bar = bar; diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object/expected.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object/expected.js index ff1a912e33..83cc6e03df 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object/expected.js +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object/expected.js @@ -1,5 +1,5 @@ "use strict"; const { foo: bar, baz } = {}; -exports.baz = baz; exports.bar = bar; +exports.baz = baz; From c82b084927c5c15372a51e54158216052a3eddc0 Mon Sep 17 00:00:00 2001 From: Artem Yavorsky Date: Sun, 19 Mar 2017 00:32:27 +0200 Subject: [PATCH 08/60] Fix object rest params for exports. --- .../src/index.js | 18 +++++++++++------- .../actual.js | 1 + .../expected.js | 5 +++++ 3 files changed, 17 insertions(+), 7 deletions(-) create mode 100644 packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-rest/actual.js create mode 100644 packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-rest/expected.js diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js b/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js index 4344f2cc71..f780fe72bf 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js @@ -129,6 +129,10 @@ export default function () { return { inherits: require("babel-plugin-transform-strict-mode"), + manipulateOptions(opts, parserOpts) { + parserOpts.plugins.push("objectRestSpread"); + }, + visitor: { ThisExpression(path, state) { // If other plugins run after this plugin's Program#exit handler, we allow them to @@ -311,14 +315,14 @@ export default function () { for (let i = 0; i < id.node.properties.length; i++) { const prop = id.node.properties[i]; let propValue = prop.value; - if (!t.isRestProperty(prop)) { - if (t.isAssignmentPattern(propValue)) { - propValue = propValue.left; - } - addTo(exports, propValue.name, propValue); - exportsToInsert.push(buildExportsAssignment(propValue, propValue)); - nonHoistedExportNames[propValue.name] = true; + 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++) { diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-rest/actual.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-rest/actual.js new file mode 100644 index 0000000000..d4d52568ce --- /dev/null +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-rest/actual.js @@ -0,0 +1 @@ +export const { foo, ...bar } = {}; diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-rest/expected.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-rest/expected.js new file mode 100644 index 0000000000..4e27e34014 --- /dev/null +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-rest/expected.js @@ -0,0 +1,5 @@ +"use strict"; + +const { foo, ...bar } = {}; +exports.foo = foo; +exports.bar = bar; From 18d6ba99475665d2a2417ae01ed5055c2ed26f3f Mon Sep 17 00:00:00 2001 From: Artem Yavorsky Date: Sun, 19 Mar 2017 01:18:22 +0200 Subject: [PATCH 09/60] Fix export array rest expected output. --- .../strict/export-const-destructuring-array-rest/expected.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array-rest/expected.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array-rest/expected.js index 7f0d3ab179..c975988eb9 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array-rest/expected.js +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-array-rest/expected.js @@ -3,4 +3,4 @@ const [foo, bar, ...baz] = []; exports.foo = foo; exports.bar = bar; -exports.bar = baz; +exports.baz = baz; From c42e027602eb7065087fcf7b375c0b5ca4c244e9 Mon Sep 17 00:00:00 2001 From: Artem Yavorsky Date: Sun, 19 Mar 2017 14:02:01 +0200 Subject: [PATCH 10/60] Add object rest spread syntax using plugin. --- .../package.json | 4 +- .../src/index.js | 671 +++++++++--------- 2 files changed, 339 insertions(+), 336 deletions(-) diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/package.json b/packages/babel-plugin-transform-es2015-modules-commonjs/package.json index 148504224f..cfad0ef5ef 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/package.json +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/package.json @@ -9,12 +9,14 @@ "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.22.0", + "babel-plugin-syntax-object-rest-spread": "^6.13.0" }, "keywords": [ "babel-plugin" ], "devDependencies": { + "babel-plugin-transform-object-assign": "6.22.0", "babel-helper-plugin-test-runner": "^6.24.0" } } diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js b/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js index f780fe72bf..daf10a4357 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js @@ -1,5 +1,8 @@ import { basename, extname } from "path"; import template from "babel-template"; +import babelPluginSyntaxObjectRestSpread from "babel-plugin-syntax-object-rest-spread"; +import babelPluginTransformStrictMode from "babel-plugin-transform-strict-mode"; + import * as t from "babel-types"; const buildRequire = template(` @@ -126,320 +129,287 @@ export default function () { } }; - return { - inherits: require("babel-plugin-transform-strict-mode"), + return Object.assign( + babelPluginSyntaxObjectRestSpread(), + babelPluginTransformStrictMode(), + { + visitor: { + ThisExpression(path, state) { + // If other plugins run after this plugin's Program#exit handler, we allow them to + // insert top-level `this` values. This allows the AMD and UMD plugins to + // function properly. + if (this.ranCommonJS) return; - manipulateOptions(opts, parserOpts) { - parserOpts.plugins.push("objectRestSpread"); - }, - - visitor: { - ThisExpression(path, state) { - // If other plugins run after this plugin's Program#exit handler, we allow them to - // insert top-level `this` values. This allows the AMD and UMD plugins to - // function properly. - if (this.ranCommonJS) return; - - if ( - state.opts.allowTopLevelThis !== true && - !path.findParent((path) => !path.is("shadow") && - THIS_BREAK_KEYS.indexOf(path.type) >= 0) - ) { - path.replaceWith(t.identifier("undefined")); - } - }, - - Program: { - exit(path) { - this.ranCommonJS = true; - - const strict = !!this.opts.strict; - const noInterop = !!this.opts.noInterop; - - const { scope } = path; - - // rename these commonjs variables if they're declared in the file - scope.rename("module"); - scope.rename("exports"); - scope.rename("require"); - - let hasExports = false; - let hasImports = false; - - const body: Array = path.get("body"); - const imports = Object.create(null); - const exports = Object.create(null); - - const nonHoistedExportNames = Object.create(null); - - const topNodes = []; - const remaps = Object.create(null); - - const requires = Object.create(null); - - function addRequire(source, blockHoist) { - const cached = requires[source]; - if (cached) return cached; - - const ref = path.scope.generateUidIdentifier(basename(source, extname(source))); - - const varDecl = t.variableDeclaration("var", [ - t.variableDeclarator(ref, buildRequire( - t.stringLiteral(source) - ).expression) - ]); - - // Copy location from the original import statement for sourcemap - // generation. - if (imports[source]) { - varDecl.loc = imports[source].loc; - } - - if (typeof blockHoist === "number" && blockHoist > 0) { - varDecl._blockHoist = blockHoist; - } - - topNodes.push(varDecl); - - return requires[source] = ref; + if ( + state.opts.allowTopLevelThis !== true && + !path.findParent((path) => !path.is("shadow") && + THIS_BREAK_KEYS.indexOf(path.type) >= 0) + ) { + path.replaceWith(t.identifier("undefined")); } + }, - function addTo(obj, key, arr) { - const existing = obj[key] || []; - obj[key] = existing.concat(arr); - } + Program: { + exit(path) { + this.ranCommonJS = true; - for (const path of body) { - if (path.isExportDeclaration()) { - hasExports = true; + const strict = !!this.opts.strict; + const noInterop = !!this.opts.noInterop; - const specifiers = [].concat(path.get("declaration"), path.get("specifiers")); - for (const specifier of specifiers) { - const ids = specifier.getBindingIdentifiers(); - if (ids.__esModule) { - throw specifier.buildCodeFrameError("Illegal export \"__esModule\""); - } - } - } + const { scope } = path; - if (path.isImportDeclaration()) { - hasImports = true; + // rename these commonjs variables if they're declared in the file + scope.rename("module"); + scope.rename("exports"); + scope.rename("require"); - const key = path.node.source.value; - const importsEntry = imports[key] || { - specifiers: [], - maxBlockHoist: 0, - loc: path.node.loc, - }; + let hasExports = false; + let hasImports = false; - importsEntry.specifiers.push(...path.node.specifiers); + const body: Array = path.get("body"); + const imports = Object.create(null); + const exports = Object.create(null); - if (typeof path.node._blockHoist === "number") { - importsEntry.maxBlockHoist = Math.max( - path.node._blockHoist, - importsEntry.maxBlockHoist - ); + const nonHoistedExportNames = Object.create(null); + + const topNodes = []; + const remaps = Object.create(null); + + const requires = Object.create(null); + + function addRequire(source, blockHoist) { + const cached = requires[source]; + if (cached) return cached; + + const ref = path.scope.generateUidIdentifier(basename(source, extname(source))); + + const varDecl = t.variableDeclaration("var", [ + t.variableDeclarator(ref, buildRequire( + t.stringLiteral(source) + ).expression) + ]); + + // Copy location from the original import statement for sourcemap + // generation. + if (imports[source]) { + varDecl.loc = imports[source].loc; } - imports[key] = importsEntry; + if (typeof blockHoist === "number" && blockHoist > 0) { + varDecl._blockHoist = blockHoist; + } - path.remove(); - } else if (path.isExportDefaultDeclaration()) { - const declaration = path.get("declaration"); - if (declaration.isFunctionDeclaration()) { - const id = declaration.node.id; - const defNode = t.identifier("default"); - if (id) { - addTo(exports, id.name, defNode); - topNodes.push(buildExportsAssignment(defNode, id)); - path.replaceWith(declaration.node); - } else { - topNodes.push(buildExportsAssignment(defNode, t.toExpression(declaration.node))); - path.remove(); + topNodes.push(varDecl); + + return requires[source] = ref; + } + + function addTo(obj, key, arr) { + const existing = obj[key] || []; + obj[key] = existing.concat(arr); + } + + for (const path of body) { + if (path.isExportDeclaration()) { + hasExports = true; + + const specifiers = [].concat(path.get("declaration"), path.get("specifiers")); + for (const specifier of specifiers) { + const ids = specifier.getBindingIdentifiers(); + if (ids.__esModule) { + throw specifier.buildCodeFrameError("Illegal export \"__esModule\""); + } } - } else if (declaration.isClassDeclaration()) { - const id = declaration.node.id; - const defNode = t.identifier("default"); - if (id) { - addTo(exports, id.name, defNode); - path.replaceWithMultiple([ - declaration.node, - buildExportsAssignment(defNode, id) - ]); - } else { - path.replaceWith(buildExportsAssignment(defNode, t.toExpression(declaration.node))); + } - // Manualy re-queue `export default class {}` expressions so that the ES3 transform + if (path.isImportDeclaration()) { + hasImports = true; + + const key = path.node.source.value; + const importsEntry = imports[key] || { + specifiers: [], + maxBlockHoist: 0, + loc: path.node.loc, + }; + + importsEntry.specifiers.push(...path.node.specifiers); + + if (typeof path.node._blockHoist === "number") { + importsEntry.maxBlockHoist = Math.max( + path.node._blockHoist, + importsEntry.maxBlockHoist + ); + } + + imports[key] = importsEntry; + + path.remove(); + } else if (path.isExportDefaultDeclaration()) { + const declaration = path.get("declaration"); + if (declaration.isFunctionDeclaration()) { + const id = declaration.node.id; + const defNode = t.identifier("default"); + if (id) { + addTo(exports, id.name, defNode); + topNodes.push(buildExportsAssignment(defNode, id)); + path.replaceWith(declaration.node); + } else { + topNodes.push(buildExportsAssignment(defNode, t.toExpression(declaration.node))); + path.remove(); + } + } else if (declaration.isClassDeclaration()) { + const id = declaration.node.id; + const defNode = t.identifier("default"); + if (id) { + addTo(exports, id.name, defNode); + path.replaceWithMultiple([ + declaration.node, + buildExportsAssignment(defNode, id) + ]); + } else { + path.replaceWith(buildExportsAssignment(defNode, t.toExpression(declaration.node))); + + // Manualy re-queue `export default class {}` expressions so that the ES3 transform + // has an opportunity to convert them. Ideally this would happen automatically from the + // replaceWith above. See #4140 for more info. + path.parentPath.requeue(path.get("expression.left")); + } + } else { + path.replaceWith(buildExportsAssignment(t.identifier("default"), declaration.node)); + + // Manualy re-queue `export default foo;` expressions so that the ES3 transform // has an opportunity to convert them. Ideally this would happen automatically from the // replaceWith above. See #4140 for more info. path.parentPath.requeue(path.get("expression.left")); } - } else { - path.replaceWith(buildExportsAssignment(t.identifier("default"), declaration.node)); - - // Manualy re-queue `export default foo;` expressions so that the ES3 transform - // has an opportunity to convert them. Ideally this would happen automatically from the - // replaceWith above. See #4140 for more info. - path.parentPath.requeue(path.get("expression.left")); - } - } else if (path.isExportNamedDeclaration()) { - const declaration = path.get("declaration"); - if (declaration.node) { - if (declaration.isFunctionDeclaration()) { - const id = declaration.node.id; - addTo(exports, id.name, id); - topNodes.push(buildExportsAssignment(id, id)); - path.replaceWith(declaration.node); - } else if (declaration.isClassDeclaration()) { - const id = declaration.node.id; - addTo(exports, id.name, id); - path.replaceWithMultiple([ - declaration.node, - buildExportsAssignment(id, id) - ]); - nonHoistedExportNames[id.name] = true; - } else if (declaration.isVariableDeclaration()) { - const declarators = declaration.get("declarations"); - for (const decl of declarators) { - 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 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); - } - continue; - } - - const specifiers = path.get("specifiers"); - const nodes = []; - const source = path.node.source; - if (source) { - const ref = addRequire(source.value, path.node._blockHoist); - - for (const specifier of specifiers) { - if (specifier.isExportNamespaceSpecifier()) { - // todo - } else if (specifier.isExportDefaultSpecifier()) { - // todo - } else if (specifier.isExportSpecifier()) { - if (!noInterop && specifier.node.local.name === "default") { - topNodes.push(buildExportsFrom(t.stringLiteral(specifier.node.exported.name), - t.memberExpression( - t.callExpression(this.addHelper("interopRequireDefault"), [ref]), - specifier.node.local - ) - )); - } else { - topNodes.push(buildExportsFrom(t.stringLiteral(specifier.node.exported.name), - t.memberExpression(ref, specifier.node.local))); - } - nonHoistedExportNames[specifier.node.exported.name] = true; - } - } - } else { - for (const specifier of specifiers) { - if (specifier.isExportSpecifier()) { - addTo(exports, specifier.node.local.name, specifier.node.exported); - nonHoistedExportNames[specifier.node.exported.name] = true; - nodes.push(buildExportsAssignment(specifier.node.exported, specifier.node.local)); - } - } - } - path.replaceWithMultiple(nodes); - } else if (path.isExportAllDeclaration()) { - const exportNode = buildExportAll({ - OBJECT: addRequire(path.node.source.value, path.node._blockHoist) - }); - exportNode.loc = path.node.loc; - topNodes.push(exportNode); - path.remove(); - } - } - - for (const source in imports) { - const { specifiers, maxBlockHoist } = imports[source]; - if (specifiers.length) { - const uid = addRequire(source, maxBlockHoist); - - let wildcard; - - for (let i = 0; i < specifiers.length; i++) { - const specifier = specifiers[i]; - if (t.isImportNamespaceSpecifier(specifier)) { - if (strict || noInterop) { - remaps[specifier.local.name] = uid; - } else { - const varDecl = t.variableDeclaration("var", [ - t.variableDeclarator( - specifier.local, - t.callExpression( - this.addHelper("interopRequireWildcard"), - [uid] - ) - ) + } else if (path.isExportNamedDeclaration()) { + const declaration = path.get("declaration"); + if (declaration.node) { + if (declaration.isFunctionDeclaration()) { + const id = declaration.node.id; + addTo(exports, id.name, id); + topNodes.push(buildExportsAssignment(id, id)); + path.replaceWith(declaration.node); + } else if (declaration.isClassDeclaration()) { + const id = declaration.node.id; + addTo(exports, id.name, id); + path.replaceWithMultiple([ + declaration.node, + buildExportsAssignment(id, id) ]); + nonHoistedExportNames[id.name] = true; + } else if (declaration.isVariableDeclaration()) { + const declarators = declaration.get("declarations"); + for (const decl of declarators) { + const id = decl.get("id"); - if (maxBlockHoist > 0) { - varDecl._blockHoist = maxBlockHoist; + 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 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); } - - topNodes.push(varDecl); + path.replaceWith(declaration.node); } - wildcard = specifier.local; - } else if (t.isImportDefaultSpecifier(specifier)) { - specifiers[i] = t.importSpecifier(specifier.local, t.identifier("default")); + continue; } - } - for (const specifier of specifiers) { - if (t.isImportSpecifier(specifier)) { - let target = uid; - if (specifier.imported.name === "default") { - if (wildcard) { - target = wildcard; - } else if (!noInterop) { - target = wildcard = path.scope.generateUidIdentifier(uid.name); + const specifiers = path.get("specifiers"); + const nodes = []; + const source = path.node.source; + if (source) { + const ref = addRequire(source.value, path.node._blockHoist); + + for (const specifier of specifiers) { + if (specifier.isExportNamespaceSpecifier()) { + // todo + } else if (specifier.isExportDefaultSpecifier()) { + // todo + } else if (specifier.isExportSpecifier()) { + if (!noInterop && specifier.node.local.name === "default") { + topNodes.push(buildExportsFrom(t.stringLiteral(specifier.node.exported.name), + t.memberExpression( + t.callExpression(this.addHelper("interopRequireDefault"), [ref]), + specifier.node.local + ) + )); + } else { + topNodes.push(buildExportsFrom(t.stringLiteral(specifier.node.exported.name), + t.memberExpression(ref, specifier.node.local))); + } + nonHoistedExportNames[specifier.node.exported.name] = true; + } + } + } else { + for (const specifier of specifiers) { + if (specifier.isExportSpecifier()) { + addTo(exports, specifier.node.local.name, specifier.node.exported); + nonHoistedExportNames[specifier.node.exported.name] = true; + nodes.push(buildExportsAssignment(specifier.node.exported, specifier.node.local)); + } + } + } + path.replaceWithMultiple(nodes); + } else if (path.isExportAllDeclaration()) { + const exportNode = buildExportAll({ + OBJECT: addRequire(path.node.source.value, path.node._blockHoist) + }); + exportNode.loc = path.node.loc; + topNodes.push(exportNode); + path.remove(); + } + } + + for (const source in imports) { + const { specifiers, maxBlockHoist } = imports[source]; + if (specifiers.length) { + const uid = addRequire(source, maxBlockHoist); + + let wildcard; + + for (let i = 0; i < specifiers.length; i++) { + const specifier = specifiers[i]; + if (t.isImportNamespaceSpecifier(specifier)) { + if (strict || noInterop) { + remaps[specifier.local.name] = uid; + } else { const varDecl = t.variableDeclaration("var", [ t.variableDeclarator( - target, + specifier.local, t.callExpression( - this.addHelper("interopRequireDefault"), + this.addHelper("interopRequireWildcard"), [uid] ) ) @@ -451,68 +421,99 @@ export default function () { topNodes.push(varDecl); } + wildcard = specifier.local; + } else if (t.isImportDefaultSpecifier(specifier)) { + specifiers[i] = t.importSpecifier(specifier.local, t.identifier("default")); } - remaps[specifier.local.name] = t.memberExpression(target, - t.cloneWithoutLoc(specifier.imported)); } + + for (const specifier of specifiers) { + if (t.isImportSpecifier(specifier)) { + let target = uid; + if (specifier.imported.name === "default") { + if (wildcard) { + target = wildcard; + } else if (!noInterop) { + target = wildcard = path.scope.generateUidIdentifier(uid.name); + const varDecl = t.variableDeclaration("var", [ + t.variableDeclarator( + target, + t.callExpression( + this.addHelper("interopRequireDefault"), + [uid] + ) + ) + ]); + + if (maxBlockHoist > 0) { + varDecl._blockHoist = maxBlockHoist; + } + + topNodes.push(varDecl); + } + } + remaps[specifier.local.name] = t.memberExpression(target, + t.cloneWithoutLoc(specifier.imported)); + } + } + } else { + // bare import + const requireNode = buildRequire(t.stringLiteral(source)); + requireNode.loc = imports[source].loc; + topNodes.push(requireNode); } - } else { - // bare import - const requireNode = buildRequire(t.stringLiteral(source)); - requireNode.loc = imports[source].loc; - topNodes.push(requireNode); } - } - if (hasImports && Object.keys(nonHoistedExportNames).length) { + if (hasImports && Object.keys(nonHoistedExportNames).length) { - // avoid creating too long of export assignment to prevent stack overflow - const maxHoistedExportsNodeAssignmentLength = 100; - const nonHoistedExportNamesArr = Object.keys(nonHoistedExportNames); + // avoid creating too long of export assignment to prevent stack overflow + const maxHoistedExportsNodeAssignmentLength = 100; + const nonHoistedExportNamesArr = Object.keys(nonHoistedExportNames); - for ( - let currentExportsNodeAssignmentLength = 0; - currentExportsNodeAssignmentLength < nonHoistedExportNamesArr.length; - currentExportsNodeAssignmentLength += maxHoistedExportsNodeAssignmentLength - ) { - const nonHoistedExportNamesChunk = nonHoistedExportNamesArr.slice( - currentExportsNodeAssignmentLength, - currentExportsNodeAssignmentLength + maxHoistedExportsNodeAssignmentLength); + for ( + let currentExportsNodeAssignmentLength = 0; + currentExportsNodeAssignmentLength < nonHoistedExportNamesArr.length; + currentExportsNodeAssignmentLength += maxHoistedExportsNodeAssignmentLength + ) { + const nonHoistedExportNamesChunk = nonHoistedExportNamesArr.slice( + currentExportsNodeAssignmentLength, + currentExportsNodeAssignmentLength + maxHoistedExportsNodeAssignmentLength); - let hoistedExportsNode = t.identifier("undefined"); + let hoistedExportsNode = t.identifier("undefined"); - nonHoistedExportNamesChunk.forEach(function (name) { - hoistedExportsNode = buildExportsAssignment(t.identifier(name), hoistedExportsNode) - .expression; - }); + nonHoistedExportNamesChunk.forEach(function (name) { + hoistedExportsNode = buildExportsAssignment(t.identifier(name), hoistedExportsNode) + .expression; + }); - const node = t.expressionStatement(hoistedExportsNode); - node._blockHoist = 3; + const node = t.expressionStatement(hoistedExportsNode); + node._blockHoist = 3; - topNodes.unshift(node); + topNodes.unshift(node); + } } + + // add __esModule declaration if this file has any exports + if (hasExports && !strict) { + let buildTemplate = buildExportsModuleDeclaration; + if (this.opts.loose) buildTemplate = buildLooseExportsModuleDeclaration; + + const declar = buildTemplate(); + declar._blockHoist = 3; + + topNodes.unshift(declar); + } + + path.unshiftContainer("body", topNodes); + path.traverse(reassignmentVisitor, { + remaps, + scope, + exports, + requeueInParent: (newPath) => path.requeue(newPath), + }); } - - // add __esModule declaration if this file has any exports - if (hasExports && !strict) { - let buildTemplate = buildExportsModuleDeclaration; - if (this.opts.loose) buildTemplate = buildLooseExportsModuleDeclaration; - - const declar = buildTemplate(); - declar._blockHoist = 3; - - topNodes.unshift(declar); - } - - path.unshiftContainer("body", topNodes); - path.traverse(reassignmentVisitor, { - remaps, - scope, - exports, - requeueInParent: (newPath) => path.requeue(newPath), - }); } } } - }; + ); } From 70354013f15d3afc52f66af6a5cfb113b9c9447d Mon Sep 17 00:00:00 2001 From: Artem Yavorsky Date: Sun, 19 Mar 2017 14:46:59 +0200 Subject: [PATCH 11/60] Fix visitor inheritance. --- .../src/index.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js b/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js index daf10a4357..0f2c19e52e 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js @@ -130,9 +130,9 @@ export default function () { }; return Object.assign( - babelPluginSyntaxObjectRestSpread(), - babelPluginTransformStrictMode(), { + inherits: babelPluginTransformStrictMode, + visitor: { ThisExpression(path, state) { // If other plugins run after this plugin's Program#exit handler, we allow them to @@ -514,6 +514,7 @@ export default function () { } } } - } + }, + babelPluginSyntaxObjectRestSpread() ); } From ddfb6f2c447ef0dca89a161e8ceb98a32808b41a Mon Sep 17 00:00:00 2001 From: Artem Yavorsky Date: Thu, 23 Mar 2017 00:33:03 +0200 Subject: [PATCH 12/60] Remove object-rest-spread syntax. --- .../package.json | 4 +- .../src/index.js | 680 +++++++++--------- .../actual.js | 1 - .../expected.js | 5 - 4 files changed, 339 insertions(+), 351 deletions(-) delete mode 100644 packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-rest/actual.js delete mode 100644 packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-rest/expected.js diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/package.json b/packages/babel-plugin-transform-es2015-modules-commonjs/package.json index cfad0ef5ef..148504224f 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/package.json +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/package.json @@ -9,14 +9,12 @@ "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-syntax-object-rest-spread": "^6.13.0" + "babel-plugin-transform-strict-mode": "^6.22.0" }, "keywords": [ "babel-plugin" ], "devDependencies": { - "babel-plugin-transform-object-assign": "6.22.0", "babel-helper-plugin-test-runner": "^6.24.0" } } diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js b/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js index 0f2c19e52e..5011bc10ed 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js @@ -1,6 +1,5 @@ import { basename, extname } from "path"; import template from "babel-template"; -import babelPluginSyntaxObjectRestSpread from "babel-plugin-syntax-object-rest-spread"; import babelPluginTransformStrictMode from "babel-plugin-transform-strict-mode"; import * as t from "babel-types"; @@ -129,287 +128,316 @@ export default function () { } }; - return Object.assign( - { - inherits: babelPluginTransformStrictMode, + return { + inherits: babelPluginTransformStrictMode, - visitor: { - ThisExpression(path, state) { - // If other plugins run after this plugin's Program#exit handler, we allow them to - // insert top-level `this` values. This allows the AMD and UMD plugins to - // function properly. - if (this.ranCommonJS) return; + visitor: { + ThisExpression(path, state) { + // If other plugins run after this plugin's Program#exit handler, we allow them to + // insert top-level `this` values. This allows the AMD and UMD plugins to + // function properly. + if (this.ranCommonJS) return; - if ( - state.opts.allowTopLevelThis !== true && - !path.findParent((path) => !path.is("shadow") && - THIS_BREAK_KEYS.indexOf(path.type) >= 0) - ) { - path.replaceWith(t.identifier("undefined")); + if ( + state.opts.allowTopLevelThis !== true && + !path.findParent((path) => !path.is("shadow") && + THIS_BREAK_KEYS.indexOf(path.type) >= 0) + ) { + path.replaceWith(t.identifier("undefined")); + } + }, + + Program: { + exit(path) { + this.ranCommonJS = true; + + const strict = !!this.opts.strict; + const noInterop = !!this.opts.noInterop; + + const { scope } = path; + + // rename these commonjs variables if they're declared in the file + scope.rename("module"); + scope.rename("exports"); + scope.rename("require"); + + let hasExports = false; + let hasImports = false; + + const body: Array = path.get("body"); + const imports = Object.create(null); + const exports = Object.create(null); + + const nonHoistedExportNames = Object.create(null); + + const topNodes = []; + const remaps = Object.create(null); + + const requires = Object.create(null); + + function addRequire(source, blockHoist) { + const cached = requires[source]; + if (cached) return cached; + + const ref = path.scope.generateUidIdentifier(basename(source, extname(source))); + + const varDecl = t.variableDeclaration("var", [ + t.variableDeclarator(ref, buildRequire( + t.stringLiteral(source) + ).expression) + ]); + + // Copy location from the original import statement for sourcemap + // generation. + if (imports[source]) { + varDecl.loc = imports[source].loc; + } + + if (typeof blockHoist === "number" && blockHoist > 0) { + varDecl._blockHoist = blockHoist; + } + + topNodes.push(varDecl); + + return requires[source] = ref; } - }, - Program: { - exit(path) { - this.ranCommonJS = true; + function addTo(obj, key, arr) { + const existing = obj[key] || []; + obj[key] = existing.concat(arr); + } - const strict = !!this.opts.strict; - const noInterop = !!this.opts.noInterop; + for (const path of body) { + if (path.isExportDeclaration()) { + hasExports = true; - const { scope } = path; - - // rename these commonjs variables if they're declared in the file - scope.rename("module"); - scope.rename("exports"); - scope.rename("require"); - - let hasExports = false; - let hasImports = false; - - const body: Array = path.get("body"); - const imports = Object.create(null); - const exports = Object.create(null); - - const nonHoistedExportNames = Object.create(null); - - const topNodes = []; - const remaps = Object.create(null); - - const requires = Object.create(null); - - function addRequire(source, blockHoist) { - const cached = requires[source]; - if (cached) return cached; - - const ref = path.scope.generateUidIdentifier(basename(source, extname(source))); - - const varDecl = t.variableDeclaration("var", [ - t.variableDeclarator(ref, buildRequire( - t.stringLiteral(source) - ).expression) - ]); - - // Copy location from the original import statement for sourcemap - // generation. - if (imports[source]) { - varDecl.loc = imports[source].loc; - } - - if (typeof blockHoist === "number" && blockHoist > 0) { - varDecl._blockHoist = blockHoist; - } - - topNodes.push(varDecl); - - return requires[source] = ref; - } - - function addTo(obj, key, arr) { - const existing = obj[key] || []; - obj[key] = existing.concat(arr); - } - - for (const path of body) { - if (path.isExportDeclaration()) { - hasExports = true; - - const specifiers = [].concat(path.get("declaration"), path.get("specifiers")); - for (const specifier of specifiers) { - const ids = specifier.getBindingIdentifiers(); - if (ids.__esModule) { - throw specifier.buildCodeFrameError("Illegal export \"__esModule\""); - } + const specifiers = [].concat(path.get("declaration"), path.get("specifiers")); + for (const specifier of specifiers) { + const ids = specifier.getBindingIdentifiers(); + if (ids.__esModule) { + throw specifier.buildCodeFrameError("Illegal export \"__esModule\""); } } + } - if (path.isImportDeclaration()) { - hasImports = true; + if (path.isImportDeclaration()) { + hasImports = true; - const key = path.node.source.value; - const importsEntry = imports[key] || { - specifiers: [], - maxBlockHoist: 0, - loc: path.node.loc, - }; + const key = path.node.source.value; + const importsEntry = imports[key] || { + specifiers: [], + maxBlockHoist: 0, + loc: path.node.loc, + }; - importsEntry.specifiers.push(...path.node.specifiers); + importsEntry.specifiers.push(...path.node.specifiers); - if (typeof path.node._blockHoist === "number") { - importsEntry.maxBlockHoist = Math.max( - path.node._blockHoist, - importsEntry.maxBlockHoist - ); - } + if (typeof path.node._blockHoist === "number") { + importsEntry.maxBlockHoist = Math.max( + path.node._blockHoist, + importsEntry.maxBlockHoist + ); + } - imports[key] = importsEntry; + imports[key] = importsEntry; - path.remove(); - } else if (path.isExportDefaultDeclaration()) { - const declaration = path.get("declaration"); - if (declaration.isFunctionDeclaration()) { - const id = declaration.node.id; - const defNode = t.identifier("default"); - if (id) { - addTo(exports, id.name, defNode); - topNodes.push(buildExportsAssignment(defNode, id)); - path.replaceWith(declaration.node); - } else { - topNodes.push(buildExportsAssignment(defNode, t.toExpression(declaration.node))); - path.remove(); - } - } else if (declaration.isClassDeclaration()) { - const id = declaration.node.id; - const defNode = t.identifier("default"); - if (id) { - addTo(exports, id.name, defNode); - path.replaceWithMultiple([ - declaration.node, - buildExportsAssignment(defNode, id) - ]); - } else { - path.replaceWith(buildExportsAssignment(defNode, t.toExpression(declaration.node))); - - // Manualy re-queue `export default class {}` expressions so that the ES3 transform - // has an opportunity to convert them. Ideally this would happen automatically from the - // replaceWith above. See #4140 for more info. - path.parentPath.requeue(path.get("expression.left")); - } + path.remove(); + } else if (path.isExportDefaultDeclaration()) { + const declaration = path.get("declaration"); + if (declaration.isFunctionDeclaration()) { + const id = declaration.node.id; + const defNode = t.identifier("default"); + if (id) { + addTo(exports, id.name, defNode); + topNodes.push(buildExportsAssignment(defNode, id)); + path.replaceWith(declaration.node); } else { - path.replaceWith(buildExportsAssignment(t.identifier("default"), declaration.node)); + topNodes.push(buildExportsAssignment(defNode, t.toExpression(declaration.node))); + path.remove(); + } + } else if (declaration.isClassDeclaration()) { + const id = declaration.node.id; + const defNode = t.identifier("default"); + if (id) { + addTo(exports, id.name, defNode); + path.replaceWithMultiple([ + declaration.node, + buildExportsAssignment(defNode, id) + ]); + } else { + path.replaceWith(buildExportsAssignment(defNode, t.toExpression(declaration.node))); - // Manualy re-queue `export default foo;` expressions so that the ES3 transform + // Manualy re-queue `export default class {}` expressions so that the ES3 transform // has an opportunity to convert them. Ideally this would happen automatically from the // replaceWith above. See #4140 for more info. path.parentPath.requeue(path.get("expression.left")); } - } else if (path.isExportNamedDeclaration()) { - const declaration = path.get("declaration"); - if (declaration.node) { - if (declaration.isFunctionDeclaration()) { - const id = declaration.node.id; - addTo(exports, id.name, id); - topNodes.push(buildExportsAssignment(id, id)); - path.replaceWith(declaration.node); - } else if (declaration.isClassDeclaration()) { - const id = declaration.node.id; - addTo(exports, id.name, id); - path.replaceWithMultiple([ - declaration.node, - buildExportsAssignment(id, id) - ]); - nonHoistedExportNames[id.name] = true; - } else if (declaration.isVariableDeclaration()) { - const declarators = declaration.get("declarations"); - for (const decl of declarators) { - const id = decl.get("id"); + } else { + path.replaceWith(buildExportsAssignment(t.identifier("default"), declaration.node)); - 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 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); - } - continue; - } - - const specifiers = path.get("specifiers"); - const nodes = []; - const source = path.node.source; - if (source) { - const ref = addRequire(source.value, path.node._blockHoist); - - for (const specifier of specifiers) { - if (specifier.isExportNamespaceSpecifier()) { - // todo - } else if (specifier.isExportDefaultSpecifier()) { - // todo - } else if (specifier.isExportSpecifier()) { - if (!noInterop && specifier.node.local.name === "default") { - topNodes.push(buildExportsFrom(t.stringLiteral(specifier.node.exported.name), - t.memberExpression( - t.callExpression(this.addHelper("interopRequireDefault"), [ref]), - specifier.node.local - ) - )); - } else { - topNodes.push(buildExportsFrom(t.stringLiteral(specifier.node.exported.name), - t.memberExpression(ref, specifier.node.local))); - } - nonHoistedExportNames[specifier.node.exported.name] = true; - } - } - } else { - for (const specifier of specifiers) { - if (specifier.isExportSpecifier()) { - addTo(exports, specifier.node.local.name, specifier.node.exported); - nonHoistedExportNames[specifier.node.exported.name] = true; - nodes.push(buildExportsAssignment(specifier.node.exported, specifier.node.local)); - } - } - } - path.replaceWithMultiple(nodes); - } else if (path.isExportAllDeclaration()) { - const exportNode = buildExportAll({ - OBJECT: addRequire(path.node.source.value, path.node._blockHoist) - }); - exportNode.loc = path.node.loc; - topNodes.push(exportNode); - path.remove(); + // Manualy re-queue `export default foo;` expressions so that the ES3 transform + // has an opportunity to convert them. Ideally this would happen automatically from the + // replaceWith above. See #4140 for more info. + path.parentPath.requeue(path.get("expression.left")); } - } + } else if (path.isExportNamedDeclaration()) { + const declaration = path.get("declaration"); + if (declaration.node) { + if (declaration.isFunctionDeclaration()) { + const id = declaration.node.id; + addTo(exports, id.name, id); + topNodes.push(buildExportsAssignment(id, id)); + path.replaceWith(declaration.node); + } else if (declaration.isClassDeclaration()) { + const id = declaration.node.id; + addTo(exports, id.name, id); + path.replaceWithMultiple([ + declaration.node, + buildExportsAssignment(id, id) + ]); + nonHoistedExportNames[id.name] = true; + } else if (declaration.isVariableDeclaration()) { + const declarators = declaration.get("declarations"); + for (const decl of declarators) { + const id = decl.get("id"); - for (const source in imports) { - const { specifiers, maxBlockHoist } = imports[source]; - if (specifiers.length) { - const uid = addRequire(source, maxBlockHoist); + const init = decl.get("init"); + const exportsToInsert = []; + if (!init.node) init.replaceWith(t.identifier("undefined")); - let wildcard; + if (id.isIdentifier()) { + addTo(exports, id.node.name, id.node); + init.replaceWith(buildExportsAssignment(id.node, init.node).expression); + nonHoistedExportNames[id.node.name] = true; + } 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); + } + continue; + } - for (let i = 0; i < specifiers.length; i++) { - const specifier = specifiers[i]; - if (t.isImportNamespaceSpecifier(specifier)) { - if (strict || noInterop) { - remaps[specifier.local.name] = uid; + const specifiers = path.get("specifiers"); + const nodes = []; + const source = path.node.source; + if (source) { + const ref = addRequire(source.value, path.node._blockHoist); + + for (const specifier of specifiers) { + if (specifier.isExportNamespaceSpecifier()) { + // todo + } else if (specifier.isExportDefaultSpecifier()) { + // todo + } else if (specifier.isExportSpecifier()) { + if (!noInterop && specifier.node.local.name === "default") { + topNodes.push(buildExportsFrom(t.stringLiteral(specifier.node.exported.name), + t.memberExpression( + t.callExpression(this.addHelper("interopRequireDefault"), [ref]), + specifier.node.local + ) + )); } else { + topNodes.push(buildExportsFrom(t.stringLiteral(specifier.node.exported.name), + t.memberExpression(ref, specifier.node.local))); + } + nonHoistedExportNames[specifier.node.exported.name] = true; + } + } + } else { + for (const specifier of specifiers) { + if (specifier.isExportSpecifier()) { + addTo(exports, specifier.node.local.name, specifier.node.exported); + nonHoistedExportNames[specifier.node.exported.name] = true; + nodes.push(buildExportsAssignment(specifier.node.exported, specifier.node.local)); + } + } + } + path.replaceWithMultiple(nodes); + } else if (path.isExportAllDeclaration()) { + const exportNode = buildExportAll({ + OBJECT: addRequire(path.node.source.value, path.node._blockHoist) + }); + exportNode.loc = path.node.loc; + topNodes.push(exportNode); + path.remove(); + } + } + + for (const source in imports) { + const { specifiers, maxBlockHoist } = imports[source]; + if (specifiers.length) { + const uid = addRequire(source, maxBlockHoist); + + let wildcard; + + for (let i = 0; i < specifiers.length; i++) { + const specifier = specifiers[i]; + if (t.isImportNamespaceSpecifier(specifier)) { + if (strict || noInterop) { + remaps[specifier.local.name] = uid; + } else { + const varDecl = t.variableDeclaration("var", [ + t.variableDeclarator( + specifier.local, + t.callExpression( + this.addHelper("interopRequireWildcard"), + [uid] + ) + ) + ]); + + if (maxBlockHoist > 0) { + varDecl._blockHoist = maxBlockHoist; + } + + topNodes.push(varDecl); + } + wildcard = specifier.local; + } else if (t.isImportDefaultSpecifier(specifier)) { + specifiers[i] = t.importSpecifier(specifier.local, t.identifier("default")); + } + } + + for (const specifier of specifiers) { + if (t.isImportSpecifier(specifier)) { + let target = uid; + if (specifier.imported.name === "default") { + if (wildcard) { + target = wildcard; + } else if (!noInterop) { + target = wildcard = path.scope.generateUidIdentifier(uid.name); const varDecl = t.variableDeclaration("var", [ t.variableDeclarator( - specifier.local, + target, t.callExpression( - this.addHelper("interopRequireWildcard"), + this.addHelper("interopRequireDefault"), [uid] ) ) @@ -421,100 +449,68 @@ export default function () { topNodes.push(varDecl); } - wildcard = specifier.local; - } else if (t.isImportDefaultSpecifier(specifier)) { - specifiers[i] = t.importSpecifier(specifier.local, t.identifier("default")); } + remaps[specifier.local.name] = t.memberExpression(target, + t.cloneWithoutLoc(specifier.imported)); } - - for (const specifier of specifiers) { - if (t.isImportSpecifier(specifier)) { - let target = uid; - if (specifier.imported.name === "default") { - if (wildcard) { - target = wildcard; - } else if (!noInterop) { - target = wildcard = path.scope.generateUidIdentifier(uid.name); - const varDecl = t.variableDeclaration("var", [ - t.variableDeclarator( - target, - t.callExpression( - this.addHelper("interopRequireDefault"), - [uid] - ) - ) - ]); - - if (maxBlockHoist > 0) { - varDecl._blockHoist = maxBlockHoist; - } - - topNodes.push(varDecl); - } - } - remaps[specifier.local.name] = t.memberExpression(target, - t.cloneWithoutLoc(specifier.imported)); - } - } - } else { - // bare import - const requireNode = buildRequire(t.stringLiteral(source)); - requireNode.loc = imports[source].loc; - topNodes.push(requireNode); } + } else { + // bare import + const requireNode = buildRequire(t.stringLiteral(source)); + requireNode.loc = imports[source].loc; + topNodes.push(requireNode); } - - if (hasImports && Object.keys(nonHoistedExportNames).length) { - - // avoid creating too long of export assignment to prevent stack overflow - const maxHoistedExportsNodeAssignmentLength = 100; - const nonHoistedExportNamesArr = Object.keys(nonHoistedExportNames); - - for ( - let currentExportsNodeAssignmentLength = 0; - currentExportsNodeAssignmentLength < nonHoistedExportNamesArr.length; - currentExportsNodeAssignmentLength += maxHoistedExportsNodeAssignmentLength - ) { - const nonHoistedExportNamesChunk = nonHoistedExportNamesArr.slice( - currentExportsNodeAssignmentLength, - currentExportsNodeAssignmentLength + maxHoistedExportsNodeAssignmentLength); - - let hoistedExportsNode = t.identifier("undefined"); - - nonHoistedExportNamesChunk.forEach(function (name) { - hoistedExportsNode = buildExportsAssignment(t.identifier(name), hoistedExportsNode) - .expression; - }); - - const node = t.expressionStatement(hoistedExportsNode); - node._blockHoist = 3; - - topNodes.unshift(node); - } - } - - // add __esModule declaration if this file has any exports - if (hasExports && !strict) { - let buildTemplate = buildExportsModuleDeclaration; - if (this.opts.loose) buildTemplate = buildLooseExportsModuleDeclaration; - - const declar = buildTemplate(); - declar._blockHoist = 3; - - topNodes.unshift(declar); - } - - path.unshiftContainer("body", topNodes); - path.traverse(reassignmentVisitor, { - remaps, - scope, - exports, - requeueInParent: (newPath) => path.requeue(newPath), - }); } + + if (hasImports && Object.keys(nonHoistedExportNames).length) { + + // avoid creating too long of export assignment to prevent stack overflow + const maxHoistedExportsNodeAssignmentLength = 100; + const nonHoistedExportNamesArr = Object.keys(nonHoistedExportNames); + + for ( + let currentExportsNodeAssignmentLength = 0; + currentExportsNodeAssignmentLength < nonHoistedExportNamesArr.length; + currentExportsNodeAssignmentLength += maxHoistedExportsNodeAssignmentLength + ) { + const nonHoistedExportNamesChunk = nonHoistedExportNamesArr.slice( + currentExportsNodeAssignmentLength, + currentExportsNodeAssignmentLength + maxHoistedExportsNodeAssignmentLength); + + let hoistedExportsNode = t.identifier("undefined"); + + nonHoistedExportNamesChunk.forEach(function (name) { + hoistedExportsNode = buildExportsAssignment(t.identifier(name), hoistedExportsNode) + .expression; + }); + + const node = t.expressionStatement(hoistedExportsNode); + node._blockHoist = 3; + + topNodes.unshift(node); + } + } + + // add __esModule declaration if this file has any exports + if (hasExports && !strict) { + let buildTemplate = buildExportsModuleDeclaration; + if (this.opts.loose) buildTemplate = buildLooseExportsModuleDeclaration; + + const declar = buildTemplate(); + declar._blockHoist = 3; + + topNodes.unshift(declar); + } + + path.unshiftContainer("body", topNodes); + path.traverse(reassignmentVisitor, { + remaps, + scope, + exports, + requeueInParent: (newPath) => path.requeue(newPath), + }); } } - }, - babelPluginSyntaxObjectRestSpread() - ); + } + }; } diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-rest/actual.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-rest/actual.js deleted file mode 100644 index d4d52568ce..0000000000 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-rest/actual.js +++ /dev/null @@ -1 +0,0 @@ -export const { foo, ...bar } = {}; diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-rest/expected.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-rest/expected.js deleted file mode 100644 index 4e27e34014..0000000000 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-rest/expected.js +++ /dev/null @@ -1,5 +0,0 @@ -"use strict"; - -const { foo, ...bar } = {}; -exports.foo = foo; -exports.bar = bar; From f2f226b4f22b3e0afc66c56d251cbdb1c35b865e Mon Sep 17 00:00:00 2001 From: Artem Yavorsky Date: Thu, 23 Mar 2017 00:52:10 +0200 Subject: [PATCH 13/60] Add syntax-object-rest-spread as devDep for tests. --- .../package.json | 3 ++- .../strict/export-const-destructuring-object-rest/actual.js | 1 + .../export-const-destructuring-object-rest/expected.js | 5 +++++ .../test/fixtures/strict/options.json | 5 ++++- 4 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-rest/actual.js create mode 100644 packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-rest/expected.js diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/package.json b/packages/babel-plugin-transform-es2015-modules-commonjs/package.json index 148504224f..416648c85c 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/package.json +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/package.json @@ -15,6 +15,7 @@ "babel-plugin" ], "devDependencies": { - "babel-helper-plugin-test-runner": "^6.24.0" + "babel-helper-plugin-test-runner": "^6.24.0", + "babel-plugin-syntax-object-rest-spread": "^6.13.0" } } diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-rest/actual.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-rest/actual.js new file mode 100644 index 0000000000..d4d52568ce --- /dev/null +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-rest/actual.js @@ -0,0 +1 @@ +export const { foo, ...bar } = {}; diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-rest/expected.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-rest/expected.js new file mode 100644 index 0000000000..4e27e34014 --- /dev/null +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-rest/expected.js @@ -0,0 +1,5 @@ +"use strict"; + +const { foo, ...bar } = {}; +exports.foo = foo; +exports.bar = bar; diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/options.json b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/options.json index b2db9b9205..064550a7c2 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/options.json +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/options.json @@ -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 }]] } From 60df9f3cad158d5023d379678927bcfaaefa9bba Mon Sep 17 00:00:00 2001 From: Sasha Aickin Date: Thu, 30 Mar 2017 22:10:02 -0700 Subject: [PATCH 14/60] Updating regenerator-transform and adding a test for the issue in facebook/regenerator#267 --- .../package.json | 2 +- .../fixtures/computed-properties/example/actual.js | 5 +++++ .../computed-properties/example/expected.js | 14 ++++++++++++++ .../computed-properties/example/options.json | 3 +++ 4 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 packages/babel-plugin-transform-regenerator/test/fixtures/computed-properties/example/actual.js create mode 100644 packages/babel-plugin-transform-regenerator/test/fixtures/computed-properties/example/expected.js create mode 100644 packages/babel-plugin-transform-regenerator/test/fixtures/computed-properties/example/options.json diff --git a/packages/babel-plugin-transform-regenerator/package.json b/packages/babel-plugin-transform-regenerator/package.json index 39d2c085bc..168c470cf9 100644 --- a/packages/babel-plugin-transform-regenerator/package.json +++ b/packages/babel-plugin-transform-regenerator/package.json @@ -7,7 +7,7 @@ "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-regenerator", "main": "lib/index.js", "dependencies": { - "regenerator-transform": "0.9.8" + "regenerator-transform": "0.9.11" }, "license": "MIT", "devDependencies": { 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..ed5887aa72 --- /dev/null +++ b/packages/babel-plugin-transform-regenerator/test/fixtures/computed-properties/example/expected.js @@ -0,0 +1,14 @@ +var o = { + foo: 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); + }) +}; \ No newline at end of file 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"] +} From 9b4c33d44ed303be9506592d6a8466ea990724f3 Mon Sep 17 00:00:00 2001 From: Felix Yan Date: Tue, 4 Apr 2017 13:38:12 +0800 Subject: [PATCH 15/60] Fix a typo: occurences -> occurrences (#5575) --- packages/babel-generator/src/index.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/babel-generator/src/index.js b/packages/babel-generator/src/index.js index 27adb65697..1d511096d3 100644 --- a/packages/babel-generator/src/index.js +++ b/packages/babel-generator/src/index.js @@ -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"; From 66f8546107624d26374f807f81d1d3a245634e1e Mon Sep 17 00:00:00 2001 From: Daniel Tschinder Date: Thu, 6 Apr 2017 15:51:17 +0200 Subject: [PATCH 16/60] Add test for regression 4219 --- .../test/fixtures/regression/4219/actual.js | 5 +++++ .../test/fixtures/regression/4219/expected.js | 21 +++++++++++++++++++ .../fixtures/regression/4219/options.json | 7 +++++++ 3 files changed, 33 insertions(+) create mode 100644 packages/babel-plugin-transform-regenerator/test/fixtures/regression/4219/actual.js create mode 100644 packages/babel-plugin-transform-regenerator/test/fixtures/regression/4219/expected.js create mode 100644 packages/babel-plugin-transform-regenerator/test/fixtures/regression/4219/options.json 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..66d3cf4dae --- /dev/null +++ b/packages/babel-plugin-transform-regenerator/test/fixtures/regression/4219/expected.js @@ -0,0 +1,21 @@ +"use strict"; + +function test(fn) { + var _this = this; + + 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(undefined, _args)); + + case 1: + case "end": + return _context.stop(); + } + } + }, null, _this); + }; +} \ No newline at end of file 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 From fd3a2c285aac1774425e300121570b0da7cbf191 Mon Sep 17 00:00:00 2001 From: MrSpider Date: Thu, 6 Apr 2017 17:40:31 +0200 Subject: [PATCH 17/60] Fix replacing function declaration in export default (fixes #4468) (#5456) --- .../babel-traverse/src/path/replacement.js | 3 +- packages/babel-traverse/test/replacement.js | 28 +++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 packages/babel-traverse/test/replacement.js diff --git a/packages/babel-traverse/src/path/replacement.js b/packages/babel-traverse/src/path/replacement.js index 47e706d0d2..8ac89eaaf7 100644 --- a/packages/babel-traverse/src/path/replacement.js +++ b/packages/babel-traverse/src/path/replacement.js @@ -125,7 +125,8 @@ export function replaceWith(replacement) { if (this.isNodeType("Statement") && t.isExpression(replacement)) { if ( !this.canHaveVariableDeclarationOrExpression() && - !this.canSwapBetweenExpressionAndStatement(replacement) + !this.canSwapBetweenExpressionAndStatement(replacement) && + !this.parentPath.isExportDefaultDeclaration() ) { // replacing a statement with an expression so wrap it in an expression statement replacement = t.expressionStatement(replacement); diff --git a/packages/babel-traverse/test/replacement.js b/packages/babel-traverse/test/replacement.js new file mode 100644 index 0000000000..eb29364f2f --- /dev/null +++ b/packages/babel-traverse/test/replacement.js @@ -0,0 +1,28 @@ +import traverse from "../lib"; +import assert from "assert"; +import { parse } from "babylon"; +import * as t from "babel-types"; + +describe("path/replacement", function () { + describe("replaceWith", function () { + const ast = parse("export default function() {};", { sourceType: "module" }); + + it("replaces declaration in ExportDefaultDeclaration node", function() { + traverse(ast, { + FunctionDeclaration(path) { + path.replaceWith(t.arrayExpression([ + t.functionExpression( + path.node.id, + path.node.params, + path.node.body, + path.node.generator, + path.node.async + ), + ])); + }, + }); + + assert(ast.program.body[0].declaration.type == "ArrayExpression"); + }); + }); +}); From f8da5e345798c8a5db98302bfbc2621187b0d4ac Mon Sep 17 00:00:00 2001 From: Henry Zhu Date: Fri, 7 Apr 2017 11:19:02 -0400 Subject: [PATCH 18/60] v6.24.1 --- lerna.json | 16 +++++---- packages/babel-cli/package.json | 6 ++-- packages/babel-core/package.json | 16 ++++----- packages/babel-generator/package.json | 4 +-- .../package.json | 6 ++-- .../package.json | 6 ++-- .../package.json | 6 ++-- .../package.json | 4 +-- .../babel-helper-call-delegate/package.json | 8 ++--- packages/babel-helper-define-map/package.json | 6 ++-- .../package.json | 6 ++-- .../babel-helper-explode-class/package.json | 8 ++--- .../babel-helper-function-name/package.json | 10 +++--- .../package.json | 4 +-- .../babel-helper-hoist-variables/package.json | 4 +-- .../package.json | 4 +-- .../package.json | 4 +-- packages/babel-helper-regex/package.json | 4 +-- .../package.json | 10 +++--- .../babel-helper-replace-supers/package.json | 10 +++--- .../package.json | 4 +-- packages/babel-helpers/package.json | 4 +-- .../package.json | 6 ++-- .../package.json | 6 ++-- .../package.json | 8 ++--- .../package.json | 6 ++-- .../package.json | 8 ++--- .../package.json | 10 +++--- .../package.json | 10 +++--- .../package.json | 18 +++++----- .../package.json | 6 ++-- .../package.json | 6 ++-- .../package.json | 8 ++--- .../package.json | 8 ++--- .../package.json | 10 +++--- .../package.json | 8 ++--- .../package.json | 8 ++--- .../package.json | 6 ++-- .../package.json | 14 ++++---- .../package.json | 6 ++-- .../package.json | 8 ++--- .../package.json | 6 ++-- .../package.json | 6 ++-- .../package.json | 6 ++-- .../package.json | 6 ++-- .../package.json | 6 ++-- .../package.json | 4 +-- .../package.json | 6 ++-- packages/babel-preset-es2015/package.json | 36 +++++++++---------- packages/babel-preset-es2016/package.json | 4 +-- packages/babel-preset-es2017/package.json | 4 +-- packages/babel-preset-latest/package.json | 10 +++--- packages/babel-preset-react/package.json | 4 +-- packages/babel-preset-stage-0/package.json | 4 +-- packages/babel-preset-stage-1/package.json | 6 ++-- packages/babel-preset-stage-2/package.json | 8 ++--- packages/babel-preset-stage-3/package.json | 8 ++--- packages/babel-register/package.json | 4 +-- packages/babel-template/package.json | 6 ++-- packages/babel-traverse/package.json | 6 ++-- packages/babel-types/package.json | 2 +- 61 files changed, 227 insertions(+), 225 deletions(-) diff --git a/lerna.json b/lerna.json index 117685b8a5..b5dc6b6174 100644 --- a/lerna.json +++ b/lerna.json @@ -1,6 +1,6 @@ { - "lerna": "2.0.0-beta.23", - "version": "6.24.0", + "lerna": "2.0.0-beta.38", + "version": "6.24.1", "changelog": { "repo": "babel/babel", "labels": { @@ -16,10 +16,12 @@ "bootstrapConfig": { "ignore": "babel-runtime" }, - "publishConfig": { - "ignore": [ - "*.md", - "test/**" - ] + "commands": { + "publish": { + "ignore": [ + "*.md", + "test/**" + ] + } } } diff --git a/packages/babel-cli/package.json b/packages/babel-cli/package.json index 650754193a..004f8aaf37 100644 --- a/packages/babel-cli/package.json +++ b/packages/babel-cli/package.json @@ -1,6 +1,6 @@ { "name": "babel-cli", - "version": "6.24.0", + "version": "6.24.1", "description": "Babel command line.", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", @@ -16,8 +16,8 @@ "compiler" ], "dependencies": { - "babel-core": "^6.24.0", - "babel-register": "^6.24.0", + "babel-core": "^6.24.1", + "babel-register": "^6.24.1", "babel-polyfill": "^6.23.0", "babel-runtime": "^6.22.0", "commander": "^2.8.1", diff --git a/packages/babel-core/package.json b/packages/babel-core/package.json index 782335fc44..9c18b89cf7 100644 --- a/packages/babel-core/package.json +++ b/packages/babel-core/package.json @@ -1,6 +1,6 @@ { "name": "babel-core", - "version": "6.24.0", + "version": "6.24.1", "description": "Babel compiler core.", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", @@ -27,14 +27,14 @@ }, "dependencies": { "babel-code-frame": "^6.22.0", - "babel-generator": "^6.24.0", - "babel-helpers": "^6.23.0", + "babel-generator": "^6.24.1", + "babel-helpers": "^6.24.1", "babel-messages": "^6.23.0", - "babel-template": "^6.23.0", + "babel-template": "^6.24.1", "babel-runtime": "^6.22.0", - "babel-register": "^6.24.0", - "babel-traverse": "^6.23.1", - "babel-types": "^6.23.0", + "babel-register": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1", "babylon": "^6.11.0", "convert-source-map": "^1.1.0", "debug": "^2.1.1", @@ -48,7 +48,7 @@ }, "devDependencies": { "babel-helper-fixtures": "^6.22.0", - "babel-helper-transform-fixture-test-runner": "^6.24.0", + "babel-helper-transform-fixture-test-runner": "^6.24.1", "babel-polyfill": "^6.23.0" } } diff --git a/packages/babel-generator/package.json b/packages/babel-generator/package.json index f306ab9665..989f200e7b 100644 --- a/packages/babel-generator/package.json +++ b/packages/babel-generator/package.json @@ -1,6 +1,6 @@ { "name": "babel-generator", - "version": "6.24.0", + "version": "6.24.1", "description": "Turns an AST into code.", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", @@ -13,7 +13,7 @@ "dependencies": { "babel-messages": "^6.23.0", "babel-runtime": "^6.22.0", - "babel-types": "^6.23.0", + "babel-types": "^6.24.1", "detect-indent": "^4.0.0", "jsesc": "^1.3.0", "lodash": "^4.2.0", diff --git a/packages/babel-helper-bindify-decorators/package.json b/packages/babel-helper-bindify-decorators/package.json index ba8d4b6ed3..175eb515d6 100644 --- a/packages/babel-helper-bindify-decorators/package.json +++ b/packages/babel-helper-bindify-decorators/package.json @@ -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" } } diff --git a/packages/babel-helper-builder-binary-assignment-operator-visitor/package.json b/packages/babel-helper-builder-binary-assignment-operator-visitor/package.json index 1170a03986..30be794691 100644 --- a/packages/babel-helper-builder-binary-assignment-operator-visitor/package.json +++ b/packages/babel-helper-builder-binary-assignment-operator-visitor/package.json @@ -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" } } diff --git a/packages/babel-helper-builder-conditional-assignment-operator-visitor/package.json b/packages/babel-helper-builder-conditional-assignment-operator-visitor/package.json index d693b0dab6..76131377db 100644 --- a/packages/babel-helper-builder-conditional-assignment-operator-visitor/package.json +++ b/packages/babel-helper-builder-conditional-assignment-operator-visitor/package.json @@ -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" } } diff --git a/packages/babel-helper-builder-react-jsx/package.json b/packages/babel-helper-builder-react-jsx/package.json index 92fb33891d..00796cf0af 100644 --- a/packages/babel-helper-builder-react-jsx/package.json +++ b/packages/babel-helper-builder-react-jsx/package.json @@ -1,13 +1,13 @@ { "name": "babel-helper-builder-react-jsx", - "version": "6.23.0", + "version": "6.24.1", "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", + "babel-types": "^6.24.1", "esutils": "^2.0.0" } } diff --git a/packages/babel-helper-call-delegate/package.json b/packages/babel-helper-call-delegate/package.json index 258f15ebef..8662c3f0ae 100644 --- a/packages/babel-helper-call-delegate/package.json +++ b/packages/babel-helper-call-delegate/package.json @@ -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" } } diff --git a/packages/babel-helper-define-map/package.json b/packages/babel-helper-define-map/package.json index d90b57f8b8..7d3a0809b5 100644 --- a/packages/babel-helper-define-map/package.json +++ b/packages/babel-helper-define-map/package.json @@ -1,6 +1,6 @@ { "name": "babel-helper-define-map", - "version": "6.23.0", + "version": "6.24.1", "description": "Helper function to define a map", "repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-define-map", "license": "MIT", @@ -8,7 +8,7 @@ "dependencies": { "babel-runtime": "^6.22.0", "lodash": "^4.2.0", - "babel-types": "^6.23.0", - "babel-helper-function-name": "^6.23.0" + "babel-types": "^6.24.1", + "babel-helper-function-name": "^6.24.1" } } diff --git a/packages/babel-helper-explode-assignable-expression/package.json b/packages/babel-helper-explode-assignable-expression/package.json index 5baba21edd..264e806b00 100644 --- a/packages/babel-helper-explode-assignable-expression/package.json +++ b/packages/babel-helper-explode-assignable-expression/package.json @@ -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" } } diff --git a/packages/babel-helper-explode-class/package.json b/packages/babel-helper-explode-class/package.json index 0bbd09cc0a..05d0f115f4 100644 --- a/packages/babel-helper-explode-class/package.json +++ b/packages/babel-helper-explode-class/package.json @@ -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" } } diff --git a/packages/babel-helper-function-name/package.json b/packages/babel-helper-function-name/package.json index d131f2e387..905b401fb1 100644 --- a/packages/babel-helper-function-name/package.json +++ b/packages/babel-helper-function-name/package.json @@ -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" } } diff --git a/packages/babel-helper-get-function-arity/package.json b/packages/babel-helper-get-function-arity/package.json index d6878a1758..d12fb37a05 100644 --- a/packages/babel-helper-get-function-arity/package.json +++ b/packages/babel-helper-get-function-arity/package.json @@ -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" } } diff --git a/packages/babel-helper-hoist-variables/package.json b/packages/babel-helper-hoist-variables/package.json index 6d303b2765..7d62a4f727 100644 --- a/packages/babel-helper-hoist-variables/package.json +++ b/packages/babel-helper-hoist-variables/package.json @@ -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" } } diff --git a/packages/babel-helper-optimise-call-expression/package.json b/packages/babel-helper-optimise-call-expression/package.json index 888f412beb..a34efda7f3 100644 --- a/packages/babel-helper-optimise-call-expression/package.json +++ b/packages/babel-helper-optimise-call-expression/package.json @@ -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" } } diff --git a/packages/babel-helper-plugin-test-runner/package.json b/packages/babel-helper-plugin-test-runner/package.json index 8e305b6964..c74128461d 100644 --- a/packages/babel-helper-plugin-test-runner/package.json +++ b/packages/babel-helper-plugin-test-runner/package.json @@ -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" } } diff --git a/packages/babel-helper-regex/package.json b/packages/babel-helper-regex/package.json index 0a3e92f249..894abcea05 100644 --- a/packages/babel-helper-regex/package.json +++ b/packages/babel-helper-regex/package.json @@ -1,6 +1,6 @@ { "name": "babel-helper-regex", - "version": "6.22.0", + "version": "6.24.1", "description": "Helper function to check for literal RegEx", "repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-regex", "license": "MIT", @@ -8,6 +8,6 @@ "dependencies": { "babel-runtime": "^6.22.0", "lodash": "^4.2.0", - "babel-types": "^6.22.0" + "babel-types": "^6.24.1" } } diff --git a/packages/babel-helper-remap-async-to-generator/package.json b/packages/babel-helper-remap-async-to-generator/package.json index e1ec449760..be9907c940 100644 --- a/packages/babel-helper-remap-async-to-generator/package.json +++ b/packages/babel-helper-remap-async-to-generator/package.json @@ -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" } } diff --git a/packages/babel-helper-replace-supers/package.json b/packages/babel-helper-replace-supers/package.json index 2401573e5d..c5bed94d4c 100644 --- a/packages/babel-helper-replace-supers/package.json +++ b/packages/babel-helper-replace-supers/package.json @@ -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" } } diff --git a/packages/babel-helper-transform-fixture-test-runner/package.json b/packages/babel-helper-transform-fixture-test-runner/package.json index 1f3b785bf5..24865aff9b 100644 --- a/packages/babel-helper-transform-fixture-test-runner/package.json +++ b/packages/babel-helper-transform-fixture-test-runner/package.json @@ -1,6 +1,6 @@ { "name": "babel-helper-transform-fixture-test-runner", - "version": "6.24.0", + "version": "6.24.1", "description": "Transform test runner for babel-helper-fixtures module", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", @@ -9,7 +9,7 @@ "main": "lib/index.js", "dependencies": { "babel-runtime": "^6.22.0", - "babel-core": "^6.24.0", + "babel-core": "^6.24.1", "babel-polyfill": "^6.23.0", "babel-helper-fixtures": "^6.22.0", "source-map": "^0.5.0", diff --git a/packages/babel-helpers/package.json b/packages/babel-helpers/package.json index 15172747db..f2f8dc237d 100644 --- a/packages/babel-helpers/package.json +++ b/packages/babel-helpers/package.json @@ -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 ", "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" } } diff --git a/packages/babel-plugin-transform-async-generator-functions/package.json b/packages/babel-plugin-transform-async-generator-functions/package.json index 0fdff521fb..06cd571e1c 100644 --- a/packages/babel-plugin-transform-async-generator-functions/package.json +++ b/packages/babel-plugin-transform-async-generator-functions/package.json @@ -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" } } diff --git a/packages/babel-plugin-transform-async-to-generator/package.json b/packages/babel-plugin-transform-async-to-generator/package.json index 9dcbc1e179..762003f8a9 100644 --- a/packages/babel-plugin-transform-async-to-generator/package.json +++ b/packages/babel-plugin-transform-async-to-generator/package.json @@ -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" } } diff --git a/packages/babel-plugin-transform-async-to-module-method/package.json b/packages/babel-plugin-transform-async-to-module-method/package.json index 1d5029e79b..d078ce4de8 100644 --- a/packages/babel-plugin-transform-async-to-module-method/package.json +++ b/packages/babel-plugin-transform-async-to-module-method/package.json @@ -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" } } diff --git a/packages/babel-plugin-transform-class-constructor-call/package.json b/packages/babel-plugin-transform-class-constructor-call/package.json index b150c05137..1b5bda11bb 100644 --- a/packages/babel-plugin-transform-class-constructor-call/package.json +++ b/packages/babel-plugin-transform-class-constructor-call/package.json @@ -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" } } diff --git a/packages/babel-plugin-transform-class-properties/package.json b/packages/babel-plugin-transform-class-properties/package.json index 6b7df0db15..b9019e8da0 100644 --- a/packages/babel-plugin-transform-class-properties/package.json +++ b/packages/babel-plugin-transform-class-properties/package.json @@ -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" } } diff --git a/packages/babel-plugin-transform-decorators/package.json b/packages/babel-plugin-transform-decorators/package.json index e8df3a76d0..9f775cf3c1 100644 --- a/packages/babel-plugin-transform-decorators/package.json +++ b/packages/babel-plugin-transform-decorators/package.json @@ -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" } } diff --git a/packages/babel-plugin-transform-es2015-block-scoping/package.json b/packages/babel-plugin-transform-es2015-block-scoping/package.json index df7f3c7875..0b8883d683 100644 --- a/packages/babel-plugin-transform-es2015-block-scoping/package.json +++ b/packages/babel-plugin-transform-es2015-block-scoping/package.json @@ -1,14 +1,14 @@ { "name": "babel-plugin-transform-es2015-block-scoping", - "version": "6.23.0", + "version": "6.24.1", "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", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1", + "babel-template": "^6.24.1", "lodash": "^4.2.0", "babel-runtime": "^6.22.0" }, @@ -16,6 +16,6 @@ "babel-plugin" ], "devDependencies": { - "babel-helper-plugin-test-runner": "^6.22.0" + "babel-helper-plugin-test-runner": "^6.24.1" } } diff --git a/packages/babel-plugin-transform-es2015-classes/package.json b/packages/babel-plugin-transform-es2015-classes/package.json index d07efab036..a559e79594 100644 --- a/packages/babel-plugin-transform-es2015-classes/package.json +++ b/packages/babel-plugin-transform-es2015-classes/package.json @@ -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" } } diff --git a/packages/babel-plugin-transform-es2015-computed-properties/package.json b/packages/babel-plugin-transform-es2015-computed-properties/package.json index 5eb95c5463..46ddea01aa 100644 --- a/packages/babel-plugin-transform-es2015-computed-properties/package.json +++ b/packages/babel-plugin-transform-es2015-computed-properties/package.json @@ -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" } } diff --git a/packages/babel-plugin-transform-es2015-duplicate-keys/package.json b/packages/babel-plugin-transform-es2015-duplicate-keys/package.json index 6b67a6e48d..ee574a4f56 100644 --- a/packages/babel-plugin-transform-es2015-duplicate-keys/package.json +++ b/packages/babel-plugin-transform-es2015-duplicate-keys/package.json @@ -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" } } diff --git a/packages/babel-plugin-transform-es2015-function-name/package.json b/packages/babel-plugin-transform-es2015-function-name/package.json index 27d81478bc..4d96d97f4f 100644 --- a/packages/babel-plugin-transform-es2015-function-name/package.json +++ b/packages/babel-plugin-transform-es2015-function-name/package.json @@ -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" } } diff --git a/packages/babel-plugin-transform-es2015-modules-amd/package.json b/packages/babel-plugin-transform-es2015-modules-amd/package.json index d25079b7a3..816b5699b5 100644 --- a/packages/babel-plugin-transform-es2015-modules-amd/package.json +++ b/packages/babel-plugin-transform-es2015-modules-amd/package.json @@ -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" } } diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/package.json b/packages/babel-plugin-transform-es2015-modules-commonjs/package.json index 148504224f..6692af6084 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/package.json +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/package.json @@ -1,20 +1,20 @@ { "name": "babel-plugin-transform-es2015-modules-commonjs", - "version": "6.24.0", + "version": "6.24.1", "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-types": "^6.24.1", "babel-runtime": "^6.22.0", - "babel-template": "^6.23.0", - "babel-plugin-transform-strict-mode": "^6.22.0" + "babel-template": "^6.24.1", + "babel-plugin-transform-strict-mode": "^6.24.1" }, "keywords": [ "babel-plugin" ], "devDependencies": { - "babel-helper-plugin-test-runner": "^6.24.0" + "babel-helper-plugin-test-runner": "^6.24.1" } } diff --git a/packages/babel-plugin-transform-es2015-modules-systemjs/package.json b/packages/babel-plugin-transform-es2015-modules-systemjs/package.json index a4d7b43764..c5e282735f 100644 --- a/packages/babel-plugin-transform-es2015-modules-systemjs/package.json +++ b/packages/babel-plugin-transform-es2015-modules-systemjs/package.json @@ -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" } } diff --git a/packages/babel-plugin-transform-es2015-modules-umd/package.json b/packages/babel-plugin-transform-es2015-modules-umd/package.json index 15e7dd4244..ea38e91bd3 100644 --- a/packages/babel-plugin-transform-es2015-modules-umd/package.json +++ b/packages/babel-plugin-transform-es2015-modules-umd/package.json @@ -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" } } diff --git a/packages/babel-plugin-transform-es2015-object-super/package.json b/packages/babel-plugin-transform-es2015-object-super/package.json index df33b3d904..c0bc4a9fd9 100644 --- a/packages/babel-plugin-transform-es2015-object-super/package.json +++ b/packages/babel-plugin-transform-es2015-object-super/package.json @@ -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" } } diff --git a/packages/babel-plugin-transform-es2015-parameters/package.json b/packages/babel-plugin-transform-es2015-parameters/package.json index f88d30c684..6d27af9a4e 100644 --- a/packages/babel-plugin-transform-es2015-parameters/package.json +++ b/packages/babel-plugin-transform-es2015-parameters/package.json @@ -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" } } diff --git a/packages/babel-plugin-transform-es2015-shorthand-properties/package.json b/packages/babel-plugin-transform-es2015-shorthand-properties/package.json index f3d831b323..dba2f277b3 100644 --- a/packages/babel-plugin-transform-es2015-shorthand-properties/package.json +++ b/packages/babel-plugin-transform-es2015-shorthand-properties/package.json @@ -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" } } diff --git a/packages/babel-plugin-transform-es2015-sticky-regex/package.json b/packages/babel-plugin-transform-es2015-sticky-regex/package.json index 066ca612df..068c7e0e9d 100644 --- a/packages/babel-plugin-transform-es2015-sticky-regex/package.json +++ b/packages/babel-plugin-transform-es2015-sticky-regex/package.json @@ -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" } } diff --git a/packages/babel-plugin-transform-es2015-unicode-regex/package.json b/packages/babel-plugin-transform-es2015-unicode-regex/package.json index 116b9035f3..0a02d878ca 100644 --- a/packages/babel-plugin-transform-es2015-unicode-regex/package.json +++ b/packages/babel-plugin-transform-es2015-unicode-regex/package.json @@ -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" } } diff --git a/packages/babel-plugin-transform-es5-property-mutators/package.json b/packages/babel-plugin-transform-es5-property-mutators/package.json index b2cdbb72e7..1c1f1a4bfe 100644 --- a/packages/babel-plugin-transform-es5-property-mutators/package.json +++ b/packages/babel-plugin-transform-es5-property-mutators/package.json @@ -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" } } diff --git a/packages/babel-plugin-transform-exponentiation-operator/package.json b/packages/babel-plugin-transform-exponentiation-operator/package.json index 17b67800e9..8055d3811e 100644 --- a/packages/babel-plugin-transform-exponentiation-operator/package.json +++ b/packages/babel-plugin-transform-exponentiation-operator/package.json @@ -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" } } diff --git a/packages/babel-plugin-transform-react-jsx-compat/package.json b/packages/babel-plugin-transform-react-jsx-compat/package.json index 7b853f1a64..e832161251 100644 --- a/packages/babel-plugin-transform-react-jsx-compat/package.json +++ b/packages/babel-plugin-transform-react-jsx-compat/package.json @@ -1,6 +1,6 @@ { "name": "babel-plugin-transform-react-jsx-compat", - "version": "6.22.0", + "version": "6.24.1", "description": "Turn JSX into React Pre-0.12 function calls", "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-react-jsx-compat", "license": "MIT", @@ -10,9 +10,9 @@ ], "dependencies": { "babel-runtime": "^6.22.0", - "babel-helper-builder-react-jsx": "^6.22.0" + "babel-helper-builder-react-jsx": "^6.24.1" }, "devDependencies": { - "babel-helper-plugin-test-runner": "^6.22.0" + "babel-helper-plugin-test-runner": "^6.24.1" } } diff --git a/packages/babel-plugin-transform-react-jsx/package.json b/packages/babel-plugin-transform-react-jsx/package.json index b6a25a2dc5..cf5e7cce81 100644 --- a/packages/babel-plugin-transform-react-jsx/package.json +++ b/packages/babel-plugin-transform-react-jsx/package.json @@ -1,6 +1,6 @@ { "name": "babel-plugin-transform-react-jsx", - "version": "6.23.0", + "version": "6.24.1", "description": "Turn JSX into React function calls", "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-react-jsx", "license": "MIT", @@ -10,10 +10,10 @@ ], "dependencies": { "babel-runtime": "^6.22.0", - "babel-helper-builder-react-jsx": "^6.23.0", + "babel-helper-builder-react-jsx": "^6.24.1", "babel-plugin-syntax-jsx": "^6.8.0" }, "devDependencies": { - "babel-helper-plugin-test-runner": "^6.22.0" + "babel-helper-plugin-test-runner": "^6.24.1" } } diff --git a/packages/babel-plugin-transform-regenerator/package.json b/packages/babel-plugin-transform-regenerator/package.json index 168c470cf9..3b5887adfa 100644 --- a/packages/babel-plugin-transform-regenerator/package.json +++ b/packages/babel-plugin-transform-regenerator/package.json @@ -2,7 +2,7 @@ "name": "babel-plugin-transform-regenerator", "author": "Ben Newman ", "description": "Explode async and generator functions into a state machine.", - "version": "6.22.0", + "version": "6.24.1", "homepage": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-regenerator", "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-regenerator", "main": "lib/index.js", @@ -11,6 +11,6 @@ }, "license": "MIT", "devDependencies": { - "babel-helper-plugin-test-runner": "^6.22.0" + "babel-helper-plugin-test-runner": "^6.24.1" } } diff --git a/packages/babel-plugin-transform-strict-mode/package.json b/packages/babel-plugin-transform-strict-mode/package.json index c006ccf966..da1f871793 100644 --- a/packages/babel-plugin-transform-strict-mode/package.json +++ b/packages/babel-plugin-transform-strict-mode/package.json @@ -1,6 +1,6 @@ { "name": "babel-plugin-transform-strict-mode", - "version": "6.22.0", + "version": "6.24.1", "description": "This plugin places a 'use strict'; directive at the top of all files to enable strict mode", "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-strict-mode", "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" } } diff --git a/packages/babel-preset-es2015/package.json b/packages/babel-preset-es2015/package.json index 15cccddece..fe93c1a990 100644 --- a/packages/babel-preset-es2015/package.json +++ b/packages/babel-preset-es2015/package.json @@ -1,6 +1,6 @@ { "name": "babel-preset-es2015", - "version": "6.24.0", + "version": "6.24.1", "description": "Babel preset for all es2015 plugins.", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", @@ -11,30 +11,30 @@ "babel-plugin-check-es2015-constants": "^6.22.0", "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoping": "^6.22.0", - "babel-plugin-transform-es2015-classes": "^6.22.0", - "babel-plugin-transform-es2015-computed-properties": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.24.1", + "babel-plugin-transform-es2015-classes": "^6.24.1", + "babel-plugin-transform-es2015-computed-properties": "^6.24.1", "babel-plugin-transform-es2015-destructuring": "^6.22.0", - "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.24.1", "babel-plugin-transform-es2015-for-of": "^6.22.0", - "babel-plugin-transform-es2015-function-name": "^6.22.0", + "babel-plugin-transform-es2015-function-name": "^6.24.1", "babel-plugin-transform-es2015-literals": "^6.22.0", - "babel-plugin-transform-es2015-modules-amd": "^6.24.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.24.0", - "babel-plugin-transform-es2015-modules-systemjs": "^6.22.0", - "babel-plugin-transform-es2015-modules-umd": "^6.24.0", - "babel-plugin-transform-es2015-object-super": "^6.22.0", - "babel-plugin-transform-es2015-parameters": "^6.22.0", - "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-systemjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-umd": "^6.24.1", + "babel-plugin-transform-es2015-object-super": "^6.24.1", + "babel-plugin-transform-es2015-parameters": "^6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1", "babel-plugin-transform-es2015-spread": "^6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.24.1", "babel-plugin-transform-es2015-template-literals": "^6.22.0", "babel-plugin-transform-es2015-typeof-symbol": "^6.22.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", - "babel-plugin-transform-regenerator": "^6.22.0" + "babel-plugin-transform-es2015-unicode-regex": "^6.24.1", + "babel-plugin-transform-regenerator": "^6.24.1" }, "devDependencies": { - "babel-helper-transform-fixture-test-runner": "^6.24.0", - "babel-helper-plugin-test-runner": "^6.24.0" + "babel-helper-transform-fixture-test-runner": "^6.24.1", + "babel-helper-plugin-test-runner": "^6.24.1" } } diff --git a/packages/babel-preset-es2016/package.json b/packages/babel-preset-es2016/package.json index 9df7e0dfd8..ef41bddb5b 100644 --- a/packages/babel-preset-es2016/package.json +++ b/packages/babel-preset-es2016/package.json @@ -1,6 +1,6 @@ { "name": "babel-preset-es2016", - "version": "6.22.0", + "version": "6.24.1", "description": "Babel preset for all es2016 plugins.", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", @@ -8,6 +8,6 @@ "repository": "https://github.com/babel/babel/tree/master/packages/babel-preset-es2016", "main": "lib/index.js", "dependencies": { - "babel-plugin-transform-exponentiation-operator": "^6.22.0" + "babel-plugin-transform-exponentiation-operator": "^6.24.1" } } diff --git a/packages/babel-preset-es2017/package.json b/packages/babel-preset-es2017/package.json index 2db56d5ae4..794551b8e6 100644 --- a/packages/babel-preset-es2017/package.json +++ b/packages/babel-preset-es2017/package.json @@ -1,6 +1,6 @@ { "name": "babel-preset-es2017", - "version": "6.22.0", + "version": "6.24.1", "description": "Babel preset for all es2017 plugins.", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", @@ -9,6 +9,6 @@ "main": "lib/index.js", "dependencies": { "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-async-to-generator": "^6.22.0" + "babel-plugin-transform-async-to-generator": "^6.24.1" } } diff --git a/packages/babel-preset-latest/package.json b/packages/babel-preset-latest/package.json index 85791245c0..88816ba5fa 100644 --- a/packages/babel-preset-latest/package.json +++ b/packages/babel-preset-latest/package.json @@ -1,6 +1,6 @@ { "name": "babel-preset-latest", - "version": "6.24.0", + "version": "6.24.1", "description": "Babel preset including es2015+", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", @@ -8,11 +8,11 @@ "repository": "https://github.com/babel/babel/tree/master/packages/babel-preset-latest", "main": "lib/index.js", "dependencies": { - "babel-preset-es2015": "^6.24.0", - "babel-preset-es2016": "^6.22.0", - "babel-preset-es2017": "^6.22.0" + "babel-preset-es2015": "^6.24.1", + "babel-preset-es2016": "^6.24.1", + "babel-preset-es2017": "^6.24.1" }, "devDependencies": { - "babel-helper-plugin-test-runner": "^6.24.0" + "babel-helper-plugin-test-runner": "^6.24.1" } } diff --git a/packages/babel-preset-react/package.json b/packages/babel-preset-react/package.json index 1a4bf7c55d..4aba06e9fd 100644 --- a/packages/babel-preset-react/package.json +++ b/packages/babel-preset-react/package.json @@ -1,6 +1,6 @@ { "name": "babel-preset-react", - "version": "6.23.0", + "version": "6.24.1", "description": "Babel preset for all React plugins.", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", @@ -11,7 +11,7 @@ "babel-preset-flow": "^6.23.0", "babel-plugin-syntax-jsx": "^6.3.13", "babel-plugin-transform-react-display-name": "^6.23.0", - "babel-plugin-transform-react-jsx": "^6.23.0", + "babel-plugin-transform-react-jsx": "^6.24.1", "babel-plugin-transform-react-jsx-source": "^6.22.0", "babel-plugin-transform-react-jsx-self": "^6.22.0" } diff --git a/packages/babel-preset-stage-0/package.json b/packages/babel-preset-stage-0/package.json index 398e12bc61..4542abb98f 100644 --- a/packages/babel-preset-stage-0/package.json +++ b/packages/babel-preset-stage-0/package.json @@ -1,6 +1,6 @@ { "name": "babel-preset-stage-0", - "version": "6.22.0", + "version": "6.24.1", "description": "Babel preset for stage 0 plugins", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", @@ -10,6 +10,6 @@ "dependencies": { "babel-plugin-transform-do-expressions": "^6.22.0", "babel-plugin-transform-function-bind": "^6.22.0", - "babel-preset-stage-1": "^6.22.0" + "babel-preset-stage-1": "^6.24.1" } } diff --git a/packages/babel-preset-stage-1/package.json b/packages/babel-preset-stage-1/package.json index 7ba8cdaffd..602df05fb8 100644 --- a/packages/babel-preset-stage-1/package.json +++ b/packages/babel-preset-stage-1/package.json @@ -1,6 +1,6 @@ { "name": "babel-preset-stage-1", - "version": "6.22.0", + "version": "6.24.1", "description": "Babel preset for stage 1 plugins", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", @@ -8,8 +8,8 @@ "repository": "https://github.com/babel/babel/tree/master/packages/babel-preset-stage-1", "main": "lib/index.js", "dependencies": { - "babel-plugin-transform-class-constructor-call": "^6.22.0", + "babel-plugin-transform-class-constructor-call": "^6.24.1", "babel-plugin-transform-export-extensions": "^6.22.0", - "babel-preset-stage-2": "^6.22.0" + "babel-preset-stage-2": "^6.24.1" } } diff --git a/packages/babel-preset-stage-2/package.json b/packages/babel-preset-stage-2/package.json index b47b116be7..1c0928cb2f 100644 --- a/packages/babel-preset-stage-2/package.json +++ b/packages/babel-preset-stage-2/package.json @@ -1,6 +1,6 @@ { "name": "babel-preset-stage-2", - "version": "6.22.0", + "version": "6.24.1", "description": "Babel preset for stage 2 plugins", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", @@ -8,9 +8,9 @@ "repository": "https://github.com/babel/babel/tree/master/packages/babel-preset-stage-2", "main": "lib/index.js", "dependencies": { - "babel-plugin-transform-class-properties": "^6.22.0", - "babel-plugin-transform-decorators": "^6.22.0", + "babel-plugin-transform-class-properties": "^6.24.1", + "babel-plugin-transform-decorators": "^6.24.1", "babel-plugin-syntax-dynamic-import": "^6.18.0", - "babel-preset-stage-3": "^6.22.0" + "babel-preset-stage-3": "^6.24.1" } } diff --git a/packages/babel-preset-stage-3/package.json b/packages/babel-preset-stage-3/package.json index 256406caed..5eb0ba7bb5 100644 --- a/packages/babel-preset-stage-3/package.json +++ b/packages/babel-preset-stage-3/package.json @@ -1,6 +1,6 @@ { "name": "babel-preset-stage-3", - "version": "6.22.0", + "version": "6.24.1", "description": "Babel preset for stage 3 plugins", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", @@ -9,9 +9,9 @@ "main": "lib/index.js", "dependencies": { "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-async-generator-functions": "^6.22.0", - "babel-plugin-transform-async-to-generator": "^6.22.0", - "babel-plugin-transform-exponentiation-operator": "^6.22.0", + "babel-plugin-transform-async-generator-functions": "^6.24.1", + "babel-plugin-transform-async-to-generator": "^6.24.1", + "babel-plugin-transform-exponentiation-operator": "^6.24.1", "babel-plugin-transform-object-rest-spread": "^6.22.0" } } diff --git a/packages/babel-register/package.json b/packages/babel-register/package.json index 2d1e7c7668..13db56e091 100644 --- a/packages/babel-register/package.json +++ b/packages/babel-register/package.json @@ -1,6 +1,6 @@ { "name": "babel-register", - "version": "6.24.0", + "version": "6.24.1", "description": "babel require hook", "license": "MIT", "repository": "https://github.com/babel/babel/tree/master/packages/babel-register", @@ -8,7 +8,7 @@ "main": "lib/node.js", "browser": "lib/browser.js", "dependencies": { - "babel-core": "^6.24.0", + "babel-core": "^6.24.1", "babel-runtime": "^6.22.0", "core-js": "^2.4.0", "home-or-tmp": "^2.0.0", diff --git a/packages/babel-template/package.json b/packages/babel-template/package.json index 4de89280f4..e07a8025b5 100644 --- a/packages/babel-template/package.json +++ b/packages/babel-template/package.json @@ -1,6 +1,6 @@ { "name": "babel-template", - "version": "6.23.0", + "version": "6.24.1", "description": "Generate an AST from a string template.", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", @@ -9,8 +9,8 @@ "main": "lib/index.js", "dependencies": { "babylon": "^6.11.0", - "babel-traverse": "^6.23.0", - "babel-types": "^6.23.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1", "babel-runtime": "^6.22.0", "lodash": "^4.2.0" } diff --git a/packages/babel-traverse/package.json b/packages/babel-traverse/package.json index f884ed2d8b..cf762e7ebb 100644 --- a/packages/babel-traverse/package.json +++ b/packages/babel-traverse/package.json @@ -1,6 +1,6 @@ { "name": "babel-traverse", - "version": "6.23.1", + "version": "6.24.1", "description": "The Babel Traverse module maintains the overall tree state, and is responsible for replacing, removing, and adding nodes", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", @@ -11,7 +11,7 @@ "babel-code-frame": "^6.22.0", "babel-messages": "^6.23.0", "babel-runtime": "^6.22.0", - "babel-types": "^6.23.0", + "babel-types": "^6.24.1", "babylon": "^6.15.0", "debug": "^2.2.0", "globals": "^9.0.0", @@ -19,6 +19,6 @@ "lodash": "^4.2.0" }, "devDependencies": { - "babel-generator": "^6.23.0" + "babel-generator": "^6.24.1" } } diff --git a/packages/babel-types/package.json b/packages/babel-types/package.json index 5a3001f1e7..35f4b85548 100644 --- a/packages/babel-types/package.json +++ b/packages/babel-types/package.json @@ -1,6 +1,6 @@ { "name": "babel-types", - "version": "6.23.0", + "version": "6.24.1", "description": "Babel Types is a Lodash-esque utility library for AST nodes", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", From d40cb31685cfa627bae3a4fd001aa0129befb5ff Mon Sep 17 00:00:00 2001 From: Sven SAULEAU Date: Sat, 8 Apr 2017 10:13:20 +0200 Subject: [PATCH 19/60] Update transform-es2015-modules-commonjs doc #5588 --- .../babel-plugin-transform-es2015-modules-commonjs/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/README.md b/packages/babel-plugin-transform-es2015-modules-commonjs/README.md index 33088cc868..bdad889670 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/README.md +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/README.md @@ -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 From 149acc40bdac5ac42bb4e49ff71192274b69de26 Mon Sep 17 00:00:00 2001 From: Sven SAULEAU Date: Sat, 8 Apr 2017 10:13:47 +0200 Subject: [PATCH 20/60] Remove incorrect docs. #5580 --- .../README.md | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/packages/babel-plugin-transform-es2015-spread/README.md b/packages/babel-plugin-transform-es2015-spread/README.md index e33a1db7cf..ad1fd70d16 100644 --- a/packages/babel-plugin-transform-es2015-spread/README.md +++ b/packages/babel-plugin-transform-es2015-spread/README.md @@ -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 From 2cb4d08d194040bed7345e72fa3d549518b9836f Mon Sep 17 00:00:00 2001 From: Sven SAULEAU Date: Sat, 8 Apr 2017 10:14:19 +0200 Subject: [PATCH 21/60] Improve example of babel-plugin-transform-es2015-arrow-functions #5573 --- .../README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/babel-plugin-transform-es2015-arrow-functions/README.md b/packages/babel-plugin-transform-es2015-arrow-functions/README.md index 658f413f6c..9a5ab5b2f5 100644 --- a/packages/babel-plugin-transform-es2015-arrow-functions/README.md +++ b/packages/babel-plugin-transform-es2015-arrow-functions/README.md @@ -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) { From e2c2d7d7423a8823dda60ab54e0881011be6baf1 Mon Sep 17 00:00:00 2001 From: Sven SAULEAU Date: Sat, 8 Apr 2017 10:14:56 +0200 Subject: [PATCH 22/60] Update babel-generator's README #5517 --- packages/babel-generator/README.md | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/packages/babel-generator/README.md b/packages/babel-generator/README.md index a337191353..ff215b753f 100644 --- a/packages/babel-generator/README.md +++ b/packages/babel-generator/README.md @@ -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 }); From e9bc213b140ab1a30b3bb2df1162c7ae95ee5c05 Mon Sep 17 00:00:00 2001 From: Sven SAULEAU Date: Sat, 8 Apr 2017 10:15:43 +0200 Subject: [PATCH 23/60] Update coffescript/register reference link address #5475 --- packages/babel-register/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/babel-register/README.md b/packages/babel-register/README.md index 6a4682b568..c19e260c40 100644 --- a/packages/babel-register/README.md +++ b/packages/babel-register/README.md @@ -5,7 +5,7 @@ One of the ways you can use Babel is through the require hook. The require hook will bind itself to node's `require` and automatically compile files on the fly. This is equivalent to CoffeeScript's -[coffee-script/register](http://coffeescript.org/documentation/docs/register.html). +[coffee-script/register](http://coffeescript.org/v2/annotated-source/register.html). ## Install From c1b374070740ff75d0f6782a12856e37746c5b4d Mon Sep 17 00:00:00 2001 From: Sven SAULEAU Date: Sat, 8 Apr 2017 10:16:55 +0200 Subject: [PATCH 24/60] document cache option for babel-register #5440 --- packages/babel-register/README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/babel-register/README.md b/packages/babel-register/README.md index c19e260c40..413e7a6349 100644 --- a/packages/babel-register/README.md +++ b/packages/babel-register/README.md @@ -66,7 +66,10 @@ require("babel-register")({ // Setting this will remove the currently hooked extensions of .es6, `.es`, `.jsx` // and .js so you'll have to add them back if you want them to be used again. - extensions: [".es6", ".es", ".jsx", ".js"] + extensions: [".es6", ".es", ".jsx", ".js"], + + // Setting this to false will disable the cache. + cache: true }); ``` From 982aba38e4b13e77fd1e6639b43ce208d1296981 Mon Sep 17 00:00:00 2001 From: Sven SAULEAU Date: Sat, 8 Apr 2017 10:18:01 +0200 Subject: [PATCH 25/60] [doc] Fix: comments in usage w/ options #5400 --- packages/babel-plugin-transform-runtime/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/babel-plugin-transform-runtime/README.md b/packages/babel-plugin-transform-runtime/README.md index 011a3eab10..fb82b38de5 100644 --- a/packages/babel-plugin-transform-runtime/README.md +++ b/packages/babel-plugin-transform-runtime/README.md @@ -50,7 +50,7 @@ Without options: With options: -```json +```js { "plugins": [ ["transform-runtime", { From ca435b6d486f356cf8004a6bda07f28fb3c5474a Mon Sep 17 00:00:00 2001 From: Sven SAULEAU Date: Sat, 8 Apr 2017 10:18:44 +0200 Subject: [PATCH 26/60] Improve options documentation for `babel-plugin-transform-runtime` #5401 --- .../babel-plugin-transform-runtime/README.md | 64 ++++++++++++++++--- 1 file changed, 54 insertions(+), 10 deletions(-) diff --git a/packages/babel-plugin-transform-runtime/README.md b/packages/babel-plugin-transform-runtime/README.md index fb82b38de5..2ab8ae8920 100644 --- a/packages/babel-plugin-transform-runtime/README.md +++ b/packages/babel-plugin-transform-runtime/README.md @@ -1,8 +1,8 @@ # babel-plugin-transform-runtime -> Externalise references to helpers and builtins, automatically polyfilling your code without polluting globals. (This plugin is recommended in a library/tool) +> Externalise references to helpers and built-ins, automatically polyfilling your code without polluting globals. (This plugin is recommended in a library/tool) -NOTE: Instance methods such as `"foobar".includes("foo")` will not work since that would require modification of existing builtins (Use [`babel-polyfill`](http://babeljs.io/docs/usage/polyfill) for that). +NOTE: Instance methods such as `"foobar".includes("foo")` will not work since that would require modification of existing built-ins (Use [`babel-polyfill`](http://babeljs.io/docs/usage/polyfill) for that). ## Why? @@ -50,14 +50,14 @@ Without options: With options: -```js +```json { "plugins": [ ["transform-runtime", { - "helpers": false, // defaults to true - "polyfill": false, // defaults to true - "regenerator": true, // defaults to true - "moduleName": "babel-runtime" // defaults to "babel-runtime" + "helpers": false, + "polyfill": false, + "regenerator": true, + "moduleName": "babel-runtime" }] ] } @@ -77,15 +77,59 @@ require("babel-core").transform("code", { }); ``` +## Options + +### `helpers` + +`boolean`, defaults to `true`. + +Toggles whether or not inlined Babel helpers (`classCallCheck`, `extends`, etc.) are replaced with calls to `moduleName`. + +For more information, see [Helper aliasing](#helper-aliasing). + +### `polyfill` + +`boolean`, defaults to `true`. + +Toggles whether or not new built-ins (`Promise`, `Set`, `Map`, etc.) are transformed to use a non-global polluting polyfill. + +For more information, see [`core-js` aliasing](#core-js-aliasing). + +### `regenerator` + +`boolean`, defaults to `true`. + +Toggles whether or not generator functions are transformed to use a regenerator runtime that does not pollute the global scope. + +For more information, see [Regenerator aliasing](#regenerator-aliasing). + +### `moduleName` + +`string`, defaults to `"babel-runtime"`. + +Sets the name/path of the module used when importing helpers. + +Example: + +```json +{ + "moduleName": "flavortown/runtime" +} +``` + +```js +import extends from 'flavortown/runtime/helpers/extends'; +``` + ## Technical details The `runtime` transformer plugin does three things: * Automatically requires `babel-runtime/regenerator` when you use generators/async functions. * Automatically requires `babel-runtime/core-js` and maps ES6 static methods and built-ins. -* Removes the inline babel helpers and uses the module `babel-runtime/helpers` instead. +* Removes the inline Babel helpers and uses the module `babel-runtime/helpers` instead. -What does this actually mean though? Basically, you can use built-ins such as `Promise`, `Set`, `Symbol` etc as well use all the Babel features that require a polyfill seamlessly, without global pollution, making it extremely suitable for libraries. +What does this actually mean though? Basically, you can use built-ins such as `Promise`, `Set`, `Symbol`, etc., as well use all the Babel features that require a polyfill seamlessly, without global pollution, making it extremely suitable for libraries. Make sure you include `babel-runtime` as a dependency. @@ -194,7 +238,7 @@ without worrying about where they come from. ### Helper aliasing -Usually babel will place helpers at the top of your file to do common tasks to avoid +Usually Babel will place helpers at the top of your file to do common tasks to avoid duplicating the code around in the current file. Sometimes these helpers can get a little bulky and add unnecessary duplication across files. The `runtime` transformer replaces all the helper calls to a module. From a1a795321aa936738a385470d64849e2469718c4 Mon Sep 17 00:00:00 2001 From: Jan Kassens Date: Sun, 9 Apr 2017 16:11:06 -0700 Subject: [PATCH 27/60] 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. --- packages/babel-traverse/src/scope/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/babel-traverse/src/scope/index.js b/packages/babel-traverse/src/scope/index.js index a0b26bc573..c062296a7f 100644 --- a/packages/babel-traverse/src/scope/index.js +++ b/packages/babel-traverse/src/scope/index.js @@ -869,7 +869,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()\`. `); } From 412180e20304347f8c402f7e3c0613951ac5144c Mon Sep 17 00:00:00 2001 From: ssuman Date: Sun, 9 Apr 2017 19:49:37 -0400 Subject: [PATCH 28/60] Increase the code coverage for traverse evaluation (#5363) * When applied this commit will increase the code coverage for evaluation.js * Fixing linting issues --- packages/babel-traverse/test/evaluation.js | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/packages/babel-traverse/test/evaluation.js b/packages/babel-traverse/test/evaluation.js index 148173fa7d..4b0c01c082 100644 --- a/packages/babel-traverse/test/evaluation.js +++ b/packages/babel-traverse/test/evaluation.js @@ -61,6 +61,27 @@ 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"; assert.strictEqual( @@ -88,6 +109,12 @@ 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 () { From 60adcd68a041df03a1be27359bc35aa9ae88d37f Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Wed, 26 Apr 2017 22:16:38 +0100 Subject: [PATCH 29/60] 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 --- packages/babel-generator/src/generators/flow.js | 5 +++++ .../test/fixtures/flow/object-literal-types/actual.js | 7 +++++++ .../test/fixtures/flow/object-literal-types/expected.js | 7 +++++++ .../fixtures/strip-types/strip-type-annotations/actual.js | 1 + .../strip-types/strip-type-annotations/expected.js | 1 + packages/babel-types/src/definitions/flow.js | 8 ++++++++ 6 files changed, 29 insertions(+) create mode 100644 packages/babel-generator/test/fixtures/flow/object-literal-types/actual.js create mode 100644 packages/babel-generator/test/fixtures/flow/object-literal-types/expected.js diff --git a/packages/babel-generator/src/generators/flow.js b/packages/babel-generator/src/generators/flow.js index 9f5c6f3623..ecb676ba7d 100644 --- a/packages/babel-generator/src/generators/flow.js +++ b/packages/babel-generator/src/generators/flow.js @@ -333,6 +333,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("."); diff --git a/packages/babel-generator/test/fixtures/flow/object-literal-types/actual.js b/packages/babel-generator/test/fixtures/flow/object-literal-types/actual.js new file mode 100644 index 0000000000..80d29c99ee --- /dev/null +++ b/packages/babel-generator/test/fixtures/flow/object-literal-types/actual.js @@ -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, }}; \ No newline at end of file diff --git a/packages/babel-generator/test/fixtures/flow/object-literal-types/expected.js b/packages/babel-generator/test/fixtures/flow/object-literal-types/expected.js new file mode 100644 index 0000000000..94a1bf0f7b --- /dev/null +++ b/packages/babel-generator/test/fixtures/flow/object-literal-types/expected.js @@ -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 } }; diff --git a/packages/babel-plugin-transform-flow-strip-types/test/fixtures/strip-types/strip-type-annotations/actual.js b/packages/babel-plugin-transform-flow-strip-types/test/fixtures/strip-types/strip-type-annotations/actual.js index f602db2cbc..3d96731ccf 100644 --- a/packages/babel-plugin-transform-flow-strip-types/test/fixtures/strip-types/strip-type-annotations/actual.js +++ b/packages/babel-plugin-transform-flow-strip-types/test/fixtures/strip-types/strip-type-annotations/actual.js @@ -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): void }; var a: { id(x: T): T; }; diff --git a/packages/babel-plugin-transform-flow-strip-types/test/fixtures/strip-types/strip-type-annotations/expected.js b/packages/babel-plugin-transform-flow-strip-types/test/fixtures/strip-types/strip-type-annotations/expected.js index a6c982a6a3..adec467fc7 100644 --- a/packages/babel-plugin-transform-flow-strip-types/test/fixtures/strip-types/strip-type-annotations/expected.js +++ b/packages/babel-plugin-transform-flow-strip-types/test/fixtures/strip-types/strip-type-annotations/expected.js @@ -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 {}; diff --git a/packages/babel-types/src/definitions/flow.js b/packages/babel-types/src/definitions/flow.js index 208382420c..0c74bdb00d 100644 --- a/packages/babel-types/src/definitions/flow.js +++ b/packages/babel-types/src/definitions/flow.js @@ -308,6 +308,14 @@ defineType("ObjectTypeProperty", { } }); +defineType("ObjectTypeSpreadProperty", { + visitor: ["argument"], + aliases: ["Flow", "UserWhitespacable"], + fields: { + // todo + }, +}); + defineType("QualifiedTypeIdentifier", { visitor: ["id", "qualification"], aliases: ["Flow"], From 3570ba7c281a736ef5ca82d6d0c5158afedc77d4 Mon Sep 17 00:00:00 2001 From: Samuel Reed Date: Fri, 3 Mar 2017 16:56:42 -0600 Subject: [PATCH 30/60] Fix PathHoister error attaching after export declarations. Fixes #5369. See also https://github.com/babel/babel/blob/4ee385e96cac4b2c0e851932f1b48550b7523dfc/packages/babel-plugin-transform-class-properties/src/index.js#L167 --- .../regression-node-type-export-default/actual.js | 7 +++++++ .../regression-node-type-export-default/expected.js | 9 +++++++++ .../regression-node-type-export-default/options.json | 6 ++++++ .../regression-node-type-export/actual.js | 7 +++++++ .../regression-node-type-export/expected.js | 9 +++++++++ .../regression-node-type-export/options.json | 6 ++++++ packages/babel-traverse/src/path/lib/hoister.js | 6 ++++++ 7 files changed, 50 insertions(+) create mode 100644 packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export-default/actual.js create mode 100644 packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export-default/expected.js create mode 100644 packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export-default/options.json create mode 100644 packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export/actual.js create mode 100644 packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export/expected.js create mode 100644 packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export/options.json diff --git a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export-default/actual.js b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export-default/actual.js new file mode 100644 index 0000000000..2f431e188e --- /dev/null +++ b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export-default/actual.js @@ -0,0 +1,7 @@ +class A { + render() { + return + } +} + +export default class B {} diff --git a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export-default/expected.js b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export-default/expected.js new file mode 100644 index 0000000000..03f5171114 --- /dev/null +++ b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export-default/expected.js @@ -0,0 +1,9 @@ +class A { + render() { + return _ref; + } +} + +export default class B {} + +var _ref = React.createElement(B, null); diff --git a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export-default/options.json b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export-default/options.json new file mode 100644 index 0000000000..60d815dd9a --- /dev/null +++ b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export-default/options.json @@ -0,0 +1,6 @@ +{ + "plugins": [ + "transform-react-jsx", + "transform-react-constant-elements" + ] +} diff --git a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export/actual.js b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export/actual.js new file mode 100644 index 0000000000..cbd3496529 --- /dev/null +++ b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export/actual.js @@ -0,0 +1,7 @@ +class A { + render() { + return + } +} + +export class B {} diff --git a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export/expected.js b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export/expected.js new file mode 100644 index 0000000000..f292e104aa --- /dev/null +++ b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export/expected.js @@ -0,0 +1,9 @@ +class A { + render() { + return _ref; + } +} + +export class B {} + +var _ref = React.createElement(B, null); diff --git a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export/options.json b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export/options.json new file mode 100644 index 0000000000..60d815dd9a --- /dev/null +++ b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export/options.json @@ -0,0 +1,6 @@ +{ + "plugins": [ + "transform-react-jsx", + "transform-react-constant-elements" + ] +} diff --git a/packages/babel-traverse/src/path/lib/hoister.js b/packages/babel-traverse/src/path/lib/hoister.js index 69154bbc2d..93b5cba40f 100644 --- a/packages/babel-traverse/src/path/lib/hoister.js +++ b/packages/babel-traverse/src/path/lib/hoister.js @@ -117,6 +117,12 @@ export default class PathHoister { } } + // We can't insert before/after a child of an export declaration, so move up + // to the declaration itself. + if (path.parentPath.isExportDeclaration()) { + path = path.parentPath; + } + return path; } From 5f866f2d92e3d28084868c9766df008ead5cd440 Mon Sep 17 00:00:00 2001 From: Justin Ridgewell Date: Fri, 19 May 2017 17:03:33 -0400 Subject: [PATCH 31/60] Hoist toSequenceExpression's convert helper (#5693) * Hoist toSequenceExpression's convert helper * Adds tests * lint * dev-depend on babel-generator --- packages/babel-types/package.json | 1 + packages/babel-types/src/converters.js | 136 ++++++++++++------------ packages/babel-types/test/converters.js | 112 +++++++++++++++++++ 3 files changed, 182 insertions(+), 67 deletions(-) diff --git a/packages/babel-types/package.json b/packages/babel-types/package.json index 5a3001f1e7..76a3735e07 100644 --- a/packages/babel-types/package.json +++ b/packages/babel-types/package.json @@ -14,6 +14,7 @@ "to-fast-properties": "^1.0.1" }, "devDependencies": { + "babel-generator": "^6.22.0", "babylon": "^6.8.2" } } diff --git a/packages/babel-types/src/converters.js b/packages/babel-types/src/converters.js index d18ea38af7..4047742512 100644 --- a/packages/babel-types/src/converters.js +++ b/packages/babel-types/src/converters.js @@ -10,6 +10,71 @@ export function toComputedKey(node: Object, key: Object = node.key || node.prope return key; } + +function gatherSequenceExpressions(nodes: Array, scope: Scope, declars: Array): ?Object { + const exprs = []; + let ensureLastUndefined = true; + + for (const node of nodes) { + ensureLastUndefined = false; + + if (t.isExpression(node)) { + exprs.push(node); + } else if (t.isExpressionStatement(node)) { + exprs.push(node.expression); + } else if (t.isVariableDeclaration(node)) { + if (node.kind !== "var") return; // bailed + + for (const declar of (node.declarations: Array)) { + const bindings = t.getBindingIdentifiers(declar); + for (const key in bindings) { + declars.push({ + kind: node.kind, + id: bindings[key] + }); + } + + if (declar.init) { + exprs.push(t.assignmentExpression("=", declar.id, declar.init)); + } + } + + ensureLastUndefined = true; + } else if (t.isIfStatement(node)) { + const consequent = node.consequent ? + gatherSequenceExpressions([node.consequent], scope, declars) : + scope.buildUndefinedNode(); + const alternate = node.alternate ? + gatherSequenceExpressions([node.alternate], scope, declars) : + scope.buildUndefinedNode(); + if (!consequent || !alternate) return; // bailed + + exprs.push(t.conditionalExpression(node.test, consequent, alternate)); + } else if (t.isBlockStatement(node)) { + const body = gatherSequenceExpressions(node.body, scope, declars); + if (!body) return; // bailed + + exprs.push(body); + } else if (t.isEmptyStatement(node)) { + // empty statement so ensure the last item is undefined if we're last + ensureLastUndefined = true; + } else { + // bailed, we can't turn this statement into an expression + return; + } + } + + if (ensureLastUndefined) { + exprs.push(scope.buildUndefinedNode()); + } + + if (exprs.length === 1) { + return exprs[0]; + } else { + return t.sequenceExpression(exprs); + } +} + /** * Turn an array of statement `nodes` into a `SequenceExpression`. * @@ -23,77 +88,14 @@ export function toSequenceExpression(nodes: Array, scope: Scope): ?Objec if (!nodes || !nodes.length) return; const declars = []; - let bailed = false; + const result = gatherSequenceExpressions(nodes, scope, declars); + if (!result) return; - const result = convert(nodes); - if (bailed) return; - - for (let i = 0; i < declars.length; i++) { - scope.push(declars[i]); + for (const declar of (declars: Array)) { + scope.push(declar); } return result; - - function convert(nodes) { - let ensureLastUndefined = false; - const exprs = []; - - for (const node of (nodes: Array)) { - if (t.isExpression(node)) { - exprs.push(node); - } else if (t.isExpressionStatement(node)) { - exprs.push(node.expression); - } else if (t.isVariableDeclaration(node)) { - if (node.kind !== "var") return bailed = true; // bailed - - for (const declar of (node.declarations: Array)) { - const bindings = t.getBindingIdentifiers(declar); - for (const key in bindings) { - declars.push({ - kind: node.kind, - id: bindings[key] - }); - } - - if (declar.init) { - exprs.push(t.assignmentExpression("=", declar.id, declar.init)); - } - } - - ensureLastUndefined = true; - continue; - } else if (t.isIfStatement(node)) { - const consequent = node.consequent ? convert([node.consequent]) : scope.buildUndefinedNode(); - const alternate = node.alternate ? convert([node.alternate]) : scope.buildUndefinedNode(); - if (!consequent || !alternate) return bailed = true; - - exprs.push(t.conditionalExpression(node.test, consequent, alternate)); - } else if (t.isBlockStatement(node)) { - exprs.push(convert(node.body)); - } else if (t.isEmptyStatement(node)) { - // empty statement so ensure the last item is undefined if we're last - ensureLastUndefined = true; - continue; - } else { - // bailed, we can't turn this statement into an expression - return bailed = true; - } - - ensureLastUndefined = false; - } - - if (ensureLastUndefined || exprs.length === 0) { - exprs.push(scope.buildUndefinedNode()); - } - - // - - if (exprs.length === 1) { - return exprs[0]; - } else { - return t.sequenceExpression(exprs); - } - } } export function toKeyAlias(node: Object, key: Object = node.key): string { diff --git a/packages/babel-types/test/converters.js b/packages/babel-types/test/converters.js index b89e6dbe3f..58131e425e 100644 --- a/packages/babel-types/test/converters.js +++ b/packages/babel-types/test/converters.js @@ -1,5 +1,16 @@ import * as t from "../lib"; import { assert } from "chai"; +import { parse } from "babylon"; +import generate from "babel-generator"; + +function parseCode(string) { + return parse(string, { + allowReturnOutsideFunction: true + }).program.body[0]; +} +function generateCode(node) { + return generate(node).code; +} describe("converters", function () { describe("valueToNode", function () { @@ -145,4 +156,105 @@ describe("converters", function () { t.assertProgram(node); }); }); + describe("toSequenceExpression", function () { + let scope; + const undefinedNode = t.identifier("undefined"); + beforeEach(function () { + scope = []; + scope.buildUndefinedNode = function () { + return undefinedNode; + }; + }); + it("gathers nodes into sequence", function () { + const node = t.identifier("a"); + const sequence = t.toSequenceExpression([undefinedNode, node], scope); + t.assertSequenceExpression(sequence); + assert.equal(sequence.expressions[0], undefinedNode); + assert.equal(sequence.expressions[1], node); + t.assertIdentifier(node); + }); + it("avoids sequence for single node", function () { + const node = t.identifier("a"); + let sequence = t.toSequenceExpression([node], scope); + assert.equal(sequence, node); + + const block = t.blockStatement([t.expressionStatement(node)]); + sequence = t.toSequenceExpression([block], scope); + assert.equal(sequence, node); + }); + it("gathers expression", function () { + const node = t.identifier("a"); + const sequence = t.toSequenceExpression([undefinedNode, node], scope); + assert.equal(sequence.expressions[1], node); + }); + it("gathers expression statement", function () { + const node = t.expressionStatement(t.identifier("a")); + const sequence = t.toSequenceExpression([undefinedNode, node], scope); + assert.equal(sequence.expressions[1], node.expression); + }); + it("gathers var declarations", function () { + const node = parseCode("var a, b = 1;"); + const sequence = t.toSequenceExpression([undefinedNode, node], scope); + t.assertIdentifier(scope[0].id, { name: "a" }); + t.assertIdentifier(scope[1].id, { name: "b" }); + assert.equal(generateCode(sequence.expressions[1]), "b = 1"); + assert.equal(generateCode(sequence.expressions[2]), "undefined"); + }); + it("skips undefined if expression after var declaration", function () { + const node = parseCode("{ var a, b = 1; true }"); + const sequence = t.toSequenceExpression([undefinedNode, node], scope); + assert.equal(generateCode(sequence.expressions[1]), "b = 1, true"); + }); + it("bails on let and const declarations", function () { + let node = parseCode("let a, b = 1;"); + let sequence = t.toSequenceExpression([undefinedNode, node], scope); + assert.isUndefined(sequence); + + node = parseCode("const b = 1;"); + sequence = t.toSequenceExpression([undefinedNode, node], scope); + assert.isUndefined(sequence); + }); + it("gathers if statements", function () { + let node = parseCode("if (true) { true }"); + let sequence = t.toSequenceExpression([undefinedNode, node], scope); + assert.equal(generateCode(sequence.expressions[1]), "true ? true : undefined"); + + node = parseCode("if (true) { true } else { b }"); + sequence = t.toSequenceExpression([undefinedNode, node], scope); + assert.equal(generateCode(sequence.expressions[1]), "true ? true : b"); + }); + it("bails in if statements if recurse bails", function () { + let node = parseCode("if (true) { return }"); + let sequence = t.toSequenceExpression([undefinedNode, node], scope); + assert.isUndefined(sequence); + + node = parseCode("if (true) { true } else { return }"); + sequence = t.toSequenceExpression([undefinedNode, node], scope); + assert.isUndefined(sequence); + }); + it("gathers block statements", function () { + let node = parseCode("{ a }"); + let sequence = t.toSequenceExpression([undefinedNode, node], scope); + assert.equal(generateCode(sequence.expressions[1]), "a"); + + node = parseCode("{ a; b; }"); + sequence = t.toSequenceExpression([undefinedNode, node], scope); + assert.equal(generateCode(sequence.expressions[1]), "a, b"); + }); + it("bails in block statements if recurse bails", function () { + const node = parseCode("{ return }"); + const sequence = t.toSequenceExpression([undefinedNode, node], scope); + assert.isUndefined(sequence); + }); + it("gathers empty statements", function () { + const node = parseCode(";"); + const sequence = t.toSequenceExpression([undefinedNode, node], scope); + assert.equal(generateCode(sequence.expressions[1]), "undefined"); + }); + it("skips empty statement if expression afterwards", function () { + const node = parseCode("{ ; true }"); + const sequence = t.toSequenceExpression([undefinedNode, node], scope); + assert.equal(generateCode(sequence.expressions[1]), "true"); + }); + }); }); From 9a929335897a92bb4ead686526e300d304ab5b54 Mon Sep 17 00:00:00 2001 From: Brian Ng Date: Sat, 20 May 2017 08:08:23 -0500 Subject: [PATCH 32/60] Fix incorrect property ordering with obj rest spread on nested (#5750) --- .../src/index.js | 9 ++++++++- .../test/fixtures/object-rest/nested-2/actual.js | 15 +++++++++++++++ .../fixtures/object-rest/nested-2/expected.js | 16 ++++++++++++++++ .../test/fixtures/object-rest/nested/actual.js | 10 ++++++++++ .../test/fixtures/object-rest/nested/expected.js | 11 +++++++++++ 5 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 packages/babel-plugin-transform-object-rest-spread/test/fixtures/object-rest/nested-2/actual.js create mode 100644 packages/babel-plugin-transform-object-rest-spread/test/fixtures/object-rest/nested-2/expected.js create mode 100644 packages/babel-plugin-transform-object-rest-spread/test/fixtures/object-rest/nested/actual.js create mode 100644 packages/babel-plugin-transform-object-rest-spread/test/fixtures/object-rest/nested/expected.js diff --git a/packages/babel-plugin-transform-object-rest-spread/src/index.js b/packages/babel-plugin-transform-object-rest-spread/src/index.js index 91f7a0c40a..f4dc344532 100644 --- a/packages/babel-plugin-transform-object-rest-spread/src/index.js +++ b/packages/babel-plugin-transform-object-rest-spread/src/index.js @@ -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, diff --git a/packages/babel-plugin-transform-object-rest-spread/test/fixtures/object-rest/nested-2/actual.js b/packages/babel-plugin-transform-object-rest-spread/test/fixtures/object-rest/nested-2/actual.js new file mode 100644 index 0000000000..b2f92ebae1 --- /dev/null +++ b/packages/babel-plugin-transform-object-rest-spread/test/fixtures/object-rest/nested-2/actual.js @@ -0,0 +1,15 @@ +const test = { + foo: { + bar: { + baz: { + a: { + x: 1, + y: 2, + z: 3, + }, + }, + }, + }, +}; + +const { foo: { bar: { baz: { a: { x, ...other } } } } } = test; diff --git a/packages/babel-plugin-transform-object-rest-spread/test/fixtures/object-rest/nested-2/expected.js b/packages/babel-plugin-transform-object-rest-spread/test/fixtures/object-rest/nested-2/expected.js new file mode 100644 index 0000000000..b9ede74663 --- /dev/null +++ b/packages/babel-plugin-transform-object-rest-spread/test/fixtures/object-rest/nested-2/expected.js @@ -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"]); diff --git a/packages/babel-plugin-transform-object-rest-spread/test/fixtures/object-rest/nested/actual.js b/packages/babel-plugin-transform-object-rest-spread/test/fixtures/object-rest/nested/actual.js new file mode 100644 index 0000000000..a4dfbfaca7 --- /dev/null +++ b/packages/babel-plugin-transform-object-rest-spread/test/fixtures/object-rest/nested/actual.js @@ -0,0 +1,10 @@ +const defunct = { + outer: { + inner: { + three: 'three', + four: 'four' + } + } +} + +const { outer: { inner: { three, ...other } } } = defunct diff --git a/packages/babel-plugin-transform-object-rest-spread/test/fixtures/object-rest/nested/expected.js b/packages/babel-plugin-transform-object-rest-spread/test/fixtures/object-rest/nested/expected.js new file mode 100644 index 0000000000..80b6ebf467 --- /dev/null +++ b/packages/babel-plugin-transform-object-rest-spread/test/fixtures/object-rest/nested/expected.js @@ -0,0 +1,11 @@ +const defunct = { + outer: { + inner: { + three: 'three', + four: 'four' + } + } +}; + +const { outer: { inner: { three } } } = defunct, + other = babelHelpers.objectWithoutProperties(defunct.outer.inner, ['three']); From 58c686378de53e068c2243e523dc8438b710ee1e Mon Sep 17 00:00:00 2001 From: "u9lyfish@gmail.com" Date: Sat, 20 May 2017 23:44:51 +0800 Subject: [PATCH 33/60] Fix broken tables in README.md --- README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index b8fe9840ef..fa93df7905 100644 --- a/README.md +++ b/README.md @@ -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 -[](https://github.com/babel-bot) | +| [](https://github.com/babel-bot) | |---| | Babel Bot | | [@babel-bot](https://github.com/babel-bot) | From 51f3ab45c4cafb7020daf79c2b0d08d8e98cd8a2 Mon Sep 17 00:00:00 2001 From: Henry Zhu Date: Thu, 25 May 2017 12:54:06 -0400 Subject: [PATCH 34/60] [skip ci] --- packages/babel-plugin-transform-class-properties/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/babel-plugin-transform-class-properties/README.md b/packages/babel-plugin-transform-class-properties/README.md index 49f48223e4..9377f4bad2 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 propeties ## Example From b2967598525f0ba394ccbc7027ccb83c17197f7d Mon Sep 17 00:00:00 2001 From: Brian Vaughn Date: Mon, 1 May 2017 14:16:17 -0700 Subject: [PATCH 35/60] 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 --- .../README.md | 10 +++++++--- .../src/index.js | 8 ++++++-- .../display-name/assignment-expression/actual.js | 3 ++- .../display-name/assignment-expression/expected.js | 5 ++++- .../test/fixtures/display-name/nested/actual.js | 3 ++- .../test/fixtures/display-name/nested/expected.js | 5 ++++- .../fixtures/display-name/object-property/actual.js | 5 ++++- .../fixtures/display-name/object-property/expected.js | 7 ++++++- .../display-name/variable-declarator/actual.js | 3 ++- .../display-name/variable-declarator/expected.js | 5 ++++- 10 files changed, 41 insertions(+), 13 deletions(-) diff --git a/packages/babel-plugin-transform-react-display-name/README.md b/packages/babel-plugin-transform-react-display-name/README.md index da5fddf0bc..81a1312ca1 100644 --- a/packages/babel-plugin-transform-react-display-name/README.md +++ b/packages/babel-plugin-transform-react-display-name/README.md @@ -1,13 +1,14 @@ # babel-plugin-transform-react-display-name -> Add displayName to React.createClass calls +> Add displayName to `createReactClass` (and `React.createClass`) calls ## Example **In** ```js -var foo = React.createClass({}); +var foo = React.createClass({}); // React <= 15 +var bar = createReactClass({}); // React 16+ ``` **Out** @@ -15,7 +16,10 @@ var foo = React.createClass({}); ```js var foo = React.createClass({ displayName: "foo" -}); +}); // React <= 15 +var bar = createReactClass({ + displayName: "bar" +}); // React 16+ ``` ## Installation diff --git a/packages/babel-plugin-transform-react-display-name/src/index.js b/packages/babel-plugin-transform-react-display-name/src/index.js index ce73d4db74..253de56f88 100644 --- a/packages/babel-plugin-transform-react-display-name/src/index.js +++ b/packages/babel-plugin-transform-react-display-name/src/index.js @@ -20,12 +20,16 @@ export default function ({ types: t }) { } const isCreateClassCallExpression = t.buildMatchMemberExpression("React.createClass"); + const isCreateClassAddon = (callee) => callee.name === "createReactClass"; function isCreateClass(node) { if (!node || !t.isCallExpression(node)) return false; - // not React.createClass call member object - if (!isCreateClassCallExpression(node.callee)) return false; + // not createReactClass nor React.createClass call member object + if ( + !isCreateClassCallExpression(node.callee) && + !isCreateClassAddon(node.callee) + ) return false; // no call arguments const args = node.arguments; diff --git a/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/assignment-expression/actual.js b/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/assignment-expression/actual.js index 59a5805ac5..9460a910e2 100644 --- a/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/assignment-expression/actual.js +++ b/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/assignment-expression/actual.js @@ -1 +1,2 @@ -foo = React.createClass({}); +foo = createReactClass({}); +bar = React.createClass({}); \ No newline at end of file diff --git a/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/assignment-expression/expected.js b/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/assignment-expression/expected.js index 0acce9a865..03fd039c23 100644 --- a/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/assignment-expression/expected.js +++ b/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/assignment-expression/expected.js @@ -1,3 +1,6 @@ -foo = React.createClass({ +foo = createReactClass({ displayName: "foo" +}); +bar = React.createClass({ + displayName: "bar" }); \ No newline at end of file diff --git a/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/nested/actual.js b/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/nested/actual.js index d0948f5bfd..b281773d1e 100644 --- a/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/nested/actual.js +++ b/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/nested/actual.js @@ -1 +1,2 @@ -var foo = bar(React.createClass({})); +var foo = qux(createReactClass({})); +var bar = qux(React.createClass({})); \ No newline at end of file diff --git a/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/nested/expected.js b/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/nested/expected.js index 9c1a454330..2d3a1b6270 100644 --- a/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/nested/expected.js +++ b/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/nested/expected.js @@ -1,3 +1,6 @@ -var foo = bar(React.createClass({ +var foo = qux(createReactClass({ displayName: "foo" +})); +var bar = qux(React.createClass({ + displayName: "bar" })); \ No newline at end of file diff --git a/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/object-property/actual.js b/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/object-property/actual.js index 42c53a9cbc..5412a002ec 100644 --- a/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/object-property/actual.js +++ b/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/object-property/actual.js @@ -1,3 +1,6 @@ ({ - foo: React.createClass({}) + foo: createReactClass({}) }); +({ + bar: React.createClass({}) +}); \ No newline at end of file diff --git a/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/object-property/expected.js b/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/object-property/expected.js index f09344b241..1868127e66 100644 --- a/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/object-property/expected.js +++ b/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/object-property/expected.js @@ -1,5 +1,10 @@ ({ - foo: React.createClass({ + foo: createReactClass({ displayName: "foo" }) +}); +({ + bar: React.createClass({ + displayName: "bar" + }) }); \ No newline at end of file diff --git a/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/variable-declarator/actual.js b/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/variable-declarator/actual.js index a1ce86e321..9aa6adca4d 100644 --- a/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/variable-declarator/actual.js +++ b/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/variable-declarator/actual.js @@ -1 +1,2 @@ -var foo = React.createClass({}); +var foo = createReactClass({}); +var bar = React.createClass({}); \ No newline at end of file diff --git a/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/variable-declarator/expected.js b/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/variable-declarator/expected.js index 763399a62b..b54b881485 100644 --- a/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/variable-declarator/expected.js +++ b/packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/variable-declarator/expected.js @@ -1,3 +1,6 @@ -var foo = React.createClass({ +var foo = createReactClass({ displayName: "foo" +}); +var bar = React.createClass({ + displayName: "bar" }); \ No newline at end of file From dcbb6c5ce5f41fe193a048847582033be4864245 Mon Sep 17 00:00:00 2001 From: Peeyush Kushwaha Date: Mon, 29 May 2017 20:50:13 +0530 Subject: [PATCH 36/60] 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] --- CONTRIBUTING.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f979d6d797..4ea0020169 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -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_ Resume script execution button. 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) From 0230dc50670771416406f9375eb57bf5adad17cc Mon Sep 17 00:00:00 2001 From: noinkling Date: Sun, 28 May 2017 18:08:04 +1200 Subject: [PATCH 37/60] Allow --inspect-brk option to be used with babel-node --- packages/babel-cli/src/babel-node.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/babel-cli/src/babel-node.js b/packages/babel-cli/src/babel-node.js index ee25b5f48a..ccb28fa06b 100755 --- a/packages/babel-cli/src/babel-node.js +++ b/packages/babel-cli/src/babel-node.js @@ -46,6 +46,7 @@ getV8Flags(function (err, v8Flags) { case "--debug": case "--debug-brk": case "--inspect": + case "--inspect-brk": args.unshift(arg); break; From 0c8fdc381d122229277b0c42a0f4fb34ff5ce6f6 Mon Sep 17 00:00:00 2001 From: Bo Lingen Date: Thu, 8 Jun 2017 15:58:37 -0500 Subject: [PATCH 38/60] 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 --- packages/babel-types/src/definitions/core.js | 2 +- .../babel-types/src/definitions/es2015.js | 2 +- packages/babel-types/test/validators.js | 24 +++++++++++++++++++ 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/packages/babel-types/src/definitions/core.js b/packages/babel-types/src/definitions/core.js index e7b7a272e0..9b45860834 100644 --- a/packages/babel-types/src/definitions/core.js +++ b/packages/babel-types/src/definitions/core.js @@ -526,7 +526,7 @@ defineType("ObjectProperty", { } }, value: { - validate: assertNodeType("Expression") + validate: assertNodeType("Expression", "Pattern", "RestElement") }, shorthand: { validate: assertValueType("boolean"), diff --git a/packages/babel-types/src/definitions/es2015.js b/packages/babel-types/src/definitions/es2015.js index f0231478d3..5a610b4e81 100644 --- a/packages/babel-types/src/definitions/es2015.js +++ b/packages/babel-types/src/definitions/es2015.js @@ -29,7 +29,7 @@ defineType("ArrayPattern", { aliases: ["Pattern", "LVal"], fields: { elements: { - validate: chain(assertValueType("array"), assertEach(assertNodeType("Expression"))) + validate: chain(assertValueType("array"), assertEach(assertNodeType("Identifier", "Pattern", "RestElement"))) }, decorators: { validate: chain(assertValueType("array"), assertEach(assertNodeType("Decorator"))) diff --git a/packages/babel-types/test/validators.js b/packages/babel-types/test/validators.js index ccc83f665b..8ad737b00b 100644 --- a/packages/babel-types/test/validators.js +++ b/packages/babel-types/test/validators.js @@ -31,4 +31,28 @@ suite("validators", function () { assert(t.isValidIdentifier("await") === false); }); }); + + suite("patterns", function () { + it("allows nested pattern structures", function () { + const pattern = t.objectPattern([ + t.objectProperty( + t.identifier("a"), + t.objectPattern([ + t.objectProperty( + t.identifier("b"), + t.stringLiteral("foo") + ), + t.objectProperty( + t.identifier("c"), + t.arrayPattern([ + t.identifier("value"), + ]) + ), + ]) + ), + ]); + + assert(t.isNodesEquivalent(pattern, pattern) === true); + }); + }); }); From bc013e6d34f5ee70b30a7300cce2f28831b711ba Mon Sep 17 00:00:00 2001 From: Henry Zhu Date: Thu, 8 Jun 2017 17:10:51 -0400 Subject: [PATCH 39/60] just make sure babylon is up to date [skip ci] --- packages/babel-core/package.json | 2 +- packages/babel-generator/package.json | 2 +- packages/babel-template/package.json | 2 +- packages/babel-traverse/package.json | 2 +- packages/babel-types/package.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/babel-core/package.json b/packages/babel-core/package.json index 9c18b89cf7..442a61f187 100644 --- a/packages/babel-core/package.json +++ b/packages/babel-core/package.json @@ -35,7 +35,7 @@ "babel-register": "^6.24.1", "babel-traverse": "^6.24.1", "babel-types": "^6.24.1", - "babylon": "^6.11.0", + "babylon": "^6.17.2", "convert-source-map": "^1.1.0", "debug": "^2.1.1", "json5": "^0.5.0", diff --git a/packages/babel-generator/package.json b/packages/babel-generator/package.json index 989f200e7b..881cc42517 100644 --- a/packages/babel-generator/package.json +++ b/packages/babel-generator/package.json @@ -22,6 +22,6 @@ }, "devDependencies": { "babel-helper-fixtures": "^6.22.0", - "babylon": "^6.11.0" + "babylon": "^6.17.2" } } diff --git a/packages/babel-template/package.json b/packages/babel-template/package.json index e07a8025b5..f6aa698343 100644 --- a/packages/babel-template/package.json +++ b/packages/babel-template/package.json @@ -8,7 +8,7 @@ "repository": "https://github.com/babel/babel/tree/master/packages/babel-template", "main": "lib/index.js", "dependencies": { - "babylon": "^6.11.0", + "babylon": "^6.17.2", "babel-traverse": "^6.24.1", "babel-types": "^6.24.1", "babel-runtime": "^6.22.0", diff --git a/packages/babel-traverse/package.json b/packages/babel-traverse/package.json index cf762e7ebb..984222afc1 100644 --- a/packages/babel-traverse/package.json +++ b/packages/babel-traverse/package.json @@ -12,7 +12,7 @@ "babel-messages": "^6.23.0", "babel-runtime": "^6.22.0", "babel-types": "^6.24.1", - "babylon": "^6.15.0", + "babylon": "^6.17.2", "debug": "^2.2.0", "globals": "^9.0.0", "invariant": "^2.2.0", diff --git a/packages/babel-types/package.json b/packages/babel-types/package.json index 35f4b85548..3650d9f754 100644 --- a/packages/babel-types/package.json +++ b/packages/babel-types/package.json @@ -14,6 +14,6 @@ "to-fast-properties": "^1.0.1" }, "devDependencies": { - "babylon": "^6.8.2" + "babylon": "^6.17.2" } } From 82f37841f54a69efe70acd5b1b8b142a102908c8 Mon Sep 17 00:00:00 2001 From: Henry Zhu Date: Thu, 8 Jun 2017 17:29:04 -0400 Subject: [PATCH 40/60] v6.25.0 --- lerna.json | 2 +- packages/babel-core/package.json | 10 +++++----- packages/babel-generator/package.json | 4 ++-- .../package.json | 2 +- packages/babel-template/package.json | 6 +++--- packages/babel-traverse/package.json | 6 +++--- packages/babel-types/package.json | 2 +- 7 files changed, 16 insertions(+), 16 deletions(-) diff --git a/lerna.json b/lerna.json index b5dc6b6174..f1b0562215 100644 --- a/lerna.json +++ b/lerna.json @@ -1,6 +1,6 @@ { "lerna": "2.0.0-beta.38", - "version": "6.24.1", + "version": "6.25.0", "changelog": { "repo": "babel/babel", "labels": { diff --git a/packages/babel-core/package.json b/packages/babel-core/package.json index 442a61f187..ba942c69ce 100644 --- a/packages/babel-core/package.json +++ b/packages/babel-core/package.json @@ -1,6 +1,6 @@ { "name": "babel-core", - "version": "6.24.1", + "version": "6.25.0", "description": "Babel compiler core.", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", @@ -27,14 +27,14 @@ }, "dependencies": { "babel-code-frame": "^6.22.0", - "babel-generator": "^6.24.1", + "babel-generator": "^6.25.0", "babel-helpers": "^6.24.1", "babel-messages": "^6.23.0", - "babel-template": "^6.24.1", + "babel-template": "^6.25.0", "babel-runtime": "^6.22.0", "babel-register": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1", + "babel-traverse": "^6.25.0", + "babel-types": "^6.25.0", "babylon": "^6.17.2", "convert-source-map": "^1.1.0", "debug": "^2.1.1", diff --git a/packages/babel-generator/package.json b/packages/babel-generator/package.json index 881cc42517..f679461367 100644 --- a/packages/babel-generator/package.json +++ b/packages/babel-generator/package.json @@ -1,6 +1,6 @@ { "name": "babel-generator", - "version": "6.24.1", + "version": "6.25.0", "description": "Turns an AST into code.", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", @@ -13,7 +13,7 @@ "dependencies": { "babel-messages": "^6.23.0", "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1", + "babel-types": "^6.25.0", "detect-indent": "^4.0.0", "jsesc": "^1.3.0", "lodash": "^4.2.0", diff --git a/packages/babel-plugin-transform-react-display-name/package.json b/packages/babel-plugin-transform-react-display-name/package.json index ecabbc98c3..ebf436529c 100644 --- a/packages/babel-plugin-transform-react-display-name/package.json +++ b/packages/babel-plugin-transform-react-display-name/package.json @@ -1,6 +1,6 @@ { "name": "babel-plugin-transform-react-display-name", - "version": "6.23.0", + "version": "6.25.0", "description": "Add displayName to React.createClass calls", "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-react-display-name", "license": "MIT", diff --git a/packages/babel-template/package.json b/packages/babel-template/package.json index f6aa698343..f6ad3575ee 100644 --- a/packages/babel-template/package.json +++ b/packages/babel-template/package.json @@ -1,6 +1,6 @@ { "name": "babel-template", - "version": "6.24.1", + "version": "6.25.0", "description": "Generate an AST from a string template.", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", @@ -9,8 +9,8 @@ "main": "lib/index.js", "dependencies": { "babylon": "^6.17.2", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1", + "babel-traverse": "^6.25.0", + "babel-types": "^6.25.0", "babel-runtime": "^6.22.0", "lodash": "^4.2.0" } diff --git a/packages/babel-traverse/package.json b/packages/babel-traverse/package.json index 984222afc1..d683fb0798 100644 --- a/packages/babel-traverse/package.json +++ b/packages/babel-traverse/package.json @@ -1,6 +1,6 @@ { "name": "babel-traverse", - "version": "6.24.1", + "version": "6.25.0", "description": "The Babel Traverse module maintains the overall tree state, and is responsible for replacing, removing, and adding nodes", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", @@ -11,7 +11,7 @@ "babel-code-frame": "^6.22.0", "babel-messages": "^6.23.0", "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1", + "babel-types": "^6.25.0", "babylon": "^6.17.2", "debug": "^2.2.0", "globals": "^9.0.0", @@ -19,6 +19,6 @@ "lodash": "^4.2.0" }, "devDependencies": { - "babel-generator": "^6.24.1" + "babel-generator": "^6.25.0" } } diff --git a/packages/babel-types/package.json b/packages/babel-types/package.json index 3650d9f754..614b6e3d16 100644 --- a/packages/babel-types/package.json +++ b/packages/babel-types/package.json @@ -1,6 +1,6 @@ { "name": "babel-types", - "version": "6.24.1", + "version": "6.25.0", "description": "Babel Types is a Lodash-esque utility library for AST nodes", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", From ccd314cba77406cc7e80e49bd9d267acd7ebcad4 Mon Sep 17 00:00:00 2001 From: Henry Zhu Date: Thu, 8 Jun 2017 17:30:39 -0400 Subject: [PATCH 41/60] 6.25.0 changelog [skip ci] (#5844) --- CHANGELOG.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f90ac42c12..9591d0f9ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,32 @@ _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.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: From dd82d7a65344be8dd80239926b67b0173155ad27 Mon Sep 17 00:00:00 2001 From: Alex Rattray Date: Fri, 9 Jun 2017 07:35:53 -0700 Subject: [PATCH 42/60] Document `babel-helper-plugin-test-runner` usage (#5843) [skip ci] * Document `babel-helper-plugin-test-runner` usage * [skip ci] --- packages/babel-helper-plugin-test-runner/README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) 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`. From 1b29ab12899fa70d63c3c426a05c5b0bcb9260b7 Mon Sep 17 00:00:00 2001 From: Hasan Bayat Date: Fri, 9 Jun 2017 08:24:20 -0700 Subject: [PATCH 43/60] Adding documentation and information (#5717) [skip ci] --- packages/babel-traverse/README.md | 32 +++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) 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) From fea3a72838c93539d5d3a881238db651f07af894 Mon Sep 17 00:00:00 2001 From: Konstantin Pschera Date: Tue, 13 Jun 2017 16:19:36 +0200 Subject: [PATCH 44/60] Fix babel-plugin-transform-regenerator README (#5852) --- packages/babel-plugin-transform-regenerator/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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 }] ] } From 3b28bd2cb1c2de8809d9142bd828b6203d7a6140 Mon Sep 17 00:00:00 2001 From: Danny Andrews Date: Wed, 14 Jun 2017 09:49:41 -0500 Subject: [PATCH 45/60] [skip ci] Fix typos in README.md (#5857) --- .../babel-plugin-transform-runtime/README.md | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/packages/babel-plugin-transform-runtime/README.md b/packages/babel-plugin-transform-runtime/README.md index 2ab8ae8920..d7baa1211d 100644 --- a/packages/babel-plugin-transform-runtime/README.md +++ b/packages/babel-plugin-transform-runtime/README.md @@ -152,19 +152,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"; @@ -178,11 +180,13 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de var _marked = [foo].map(_regenerator2.default.mark); function foo() { - return regeneratorRuntime.wrap(function foo$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - case "end": - return _context.stop(); + return _regenerator2.default.wrap(function foo$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + case "end": + return _context.stop(); + } } }, _marked[0], this); } From 3cf4cee40ace9c126fa156cdfb178e3f8f13936c Mon Sep 17 00:00:00 2001 From: Josh Johnston Date: Wed, 28 Jun 2017 07:31:47 +1000 Subject: [PATCH 46/60] Fix 5768 (#5811) * Fix destructured exports - adds a failing test based on description in #5768 - handles ObjectPattern and ArrayPattern * use export assignment template --- .../src/index.js | 52 +++++++++++++++---- .../interop/export-destructured/actual.js | 14 +++++ .../interop/export-destructured/expected.js | 27 ++++++++++ 3 files changed, 82 insertions(+), 11 deletions(-) create mode 100644 packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/export-destructured/actual.js create mode 100644 packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/export-destructured/expected.js diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js b/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js index 5011bc10ed..3bc4d54db7 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js @@ -75,23 +75,53 @@ 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) { + 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) { diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/export-destructured/actual.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/export-destructured/actual.js new file mode 100644 index 0000000000..09c986a2d1 --- /dev/null +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/export-destructured/actual.js @@ -0,0 +1,14 @@ +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] +} diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/export-destructured/expected.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/export-destructured/expected.js new file mode 100644 index 0000000000..d7015886fc --- /dev/null +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/export-destructured/expected.js @@ -0,0 +1,27 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.f1 = f1; +exports.f2 = f2; +exports.f3 = f3; +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; +} From 48c770e4bb2480684d425af2a48fa9319277717a Mon Sep 17 00:00:00 2001 From: Henry Zhu Date: Tue, 27 Jun 2017 17:48:56 -0400 Subject: [PATCH 47/60] Force color output in test runs to ensure consistent behavior in Travis --- Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Makefile b/Makefile index e1abb3962b..d080f80377 100644 --- a/Makefile +++ b/Makefile @@ -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 From 9ad660bbe103a3484b780a1f2f2e124037b3ee0a Mon Sep 17 00:00:00 2001 From: Jim Nielsen Date: Wed, 28 Jun 2017 12:51:23 -0600 Subject: [PATCH 48/60] Swap github/twitter links (#5895) [skip ci] --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fa93df7905..ebbc612151 100644 --- a/README.md +++ b/README.md @@ -216,8 +216,8 @@ These are mostly for internal use in various plugins: `babel-helper-x`. [![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 From 72183ff2e9d69fd822e7ccc3ded6216f4d9fd6b4 Mon Sep 17 00:00:00 2001 From: Jeffrey Wear Date: Tue, 4 Jul 2017 16:21:39 -0700 Subject: [PATCH 49/60] 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] --- packages/babel-plugin-transform-function-bind/README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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) ``` From 81e87b083821107f15a362ceba7b8beb2f6559be Mon Sep 17 00:00:00 2001 From: Brian Ng Date: Tue, 11 Jul 2017 20:32:48 -0500 Subject: [PATCH 50/60] Remove codecov node package and use bash uploader (#5938) * Remove codecov node package and use bash uploader * test --- .gitignore | 1 + Makefile | 5 +- package.json | 3 +- yarn.lock | 4606 ++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 4611 insertions(+), 4 deletions(-) create mode 100644 yarn.lock diff --git a/.gitignore b/.gitignore index 12a252a120..ad2c6d0bc7 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/Makefile b/Makefile index d080f80377..d9bb4edfc4 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ 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 @@ -55,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 diff --git a/package.json b/package.json index 2747f458d2..a08fca760d 100644 --- a/package.json +++ b/package.json @@ -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", diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000000..d6ae6e8bdb --- /dev/null +++ b/yarn.lock @@ -0,0 +1,4606 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +JSONStream@^1.0.3: + version "1.3.1" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.1.tgz#707f761e01dae9e16f1bcf93703b78c70966579a" + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + +abbrev@1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" + +acorn-jsx@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" + dependencies: + acorn "^3.0.4" + +acorn@^1.0.3: + version "1.2.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-1.2.2.tgz#c8ce27de0acc76d896d2b1fad3df588d9e82f014" + +acorn@^3.0.4: + version "3.3.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" + +acorn@^4.0.3: + version "4.0.13" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" + +acorn@^5.0.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.1.1.tgz#53fe161111f912ab999ee887a90a0bc52822fd75" + +ajv-keywords@^1.0.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" + +ajv@^4.7.0, ajv@^4.9.1: + version "4.11.8" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" + dependencies: + co "^4.6.0" + json-stable-stringify "^1.0.1" + +align-text@^0.1.1, align-text@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" + dependencies: + kind-of "^3.0.2" + longest "^1.0.1" + repeat-string "^1.5.2" + +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + +ansi-escapes@^1.1.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + +anymatch@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" + dependencies: + arrify "^1.0.0" + micromatch "^2.1.5" + +append-transform@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991" + dependencies: + default-require-extensions "^1.0.0" + +aproba@^1.0.3: + version "1.1.2" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.2.tgz#45c6629094de4e96f693ef7eab74ae079c240fc1" + +archy@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" + +are-we-there-yet@~1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + +argparse@^1.0.7: + version "1.0.9" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" + dependencies: + sprintf-js "~1.0.2" + +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + dependencies: + arr-flatten "^1.0.1" + +arr-flatten@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + +array-differ@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" + +array-each@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" + +array-filter@~0.0.0: + version "0.0.1" + resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec" + +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + +array-map@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662" + +array-reduce@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" + +array-slice@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.0.0.tgz#e73034f00dcc1f40876008fd20feae77bd4b7c2f" + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.1, array-uniq@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + +array-unique@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + +arrify@^1.0.0, arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + +asn1.js@^4.0.0: + version "4.9.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.1.tgz#48ba240b45a9280e94748990ba597d216617fd40" + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +asn1@~0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + +assert-plus@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" + +assert@^1.4.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" + dependencies: + util "0.10.3" + +assertion-error@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.0.2.tgz#13ca515d86206da0bac66e834dd397d87581094c" + +astw@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/astw/-/astw-2.2.0.tgz#7bd41784d32493987aeb239b6b4e1c57a873b917" + dependencies: + acorn "^4.0.3" + +async-each@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + +async@^1.4.0, async@^1.5.0: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + +aws-sign2@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" + +aws4@^1.2.1: + version "1.6.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" + +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" + dependencies: + chalk "^1.1.0" + esutils "^2.0.2" + js-tokens "^3.0.0" + +babel-core@^6.0.2, babel-core@^6.13.2, babel-core@^6.24.1: + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.25.0.tgz#7dd42b0463c742e9d5296deb3ec67a9322dad729" + dependencies: + babel-code-frame "^6.22.0" + babel-generator "^6.25.0" + babel-helpers "^6.24.1" + babel-messages "^6.23.0" + babel-register "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.25.0" + babel-traverse "^6.25.0" + babel-types "^6.25.0" + babylon "^6.17.2" + 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" + slash "^1.0.0" + source-map "^0.5.0" + +babel-eslint@^7.0.0: + version "7.2.3" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.2.3.tgz#b2fe2d80126470f5c19442dc757253a897710827" + dependencies: + babel-code-frame "^6.22.0" + babel-traverse "^6.23.1" + babel-types "^6.23.0" + babylon "^6.17.0" + +babel-generator@^6.18.0, babel-generator@^6.25.0: + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.25.0.tgz#33a1af70d5f2890aeb465a4a7793c1df6a9ea9fc" + dependencies: + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-types "^6.25.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.2.0" + source-map "^0.5.0" + trim-right "^1.0.1" + +babel-helper-bindify-decorators@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz#14c19e5f142d7b47f19a52431e52b1ccbc40a330" + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" + dependencies: + babel-helper-explode-assignable-expression "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-call-delegate@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-define-map@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.24.1.tgz#7a9747f258d8947d32d515f6aa1c7bd02204a080" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + lodash "^4.2.0" + +babel-helper-explode-assignable-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-explode-class@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz#7dc2a3910dee007056e1e31d640ced3d54eaa9eb" + dependencies: + babel-helper-bindify-decorators "^6.24.1" + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-function-name@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" + dependencies: + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-get-function-arity@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-hoist-variables@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-optimise-call-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +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" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + lodash "^4.2.0" + +babel-helper-remap-async-to-generator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-replace-supers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" + dependencies: + babel-helper-optimise-call-expression "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helpers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-messages@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-check-es2015-constants@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-istanbul@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-2.0.3.tgz#266b304b9109607d60748474394676982f660df4" + dependencies: + find-up "^1.1.2" + istanbul-lib-instrument "^1.1.4" + object-assign "^4.1.0" + test-exclude "^2.1.1" + +babel-plugin-syntax-async-functions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" + +babel-plugin-syntax-async-generators@^6.5.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a" + +babel-plugin-syntax-class-constructor-call@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz#9cb9d39fe43c8600bec8146456ddcbd4e1a76416" + +babel-plugin-syntax-class-properties@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" + +babel-plugin-syntax-decorators@^6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b" + +babel-plugin-syntax-do-expressions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz#5747756139aa26d390d09410b03744ba07e4796d" + +babel-plugin-syntax-dynamic-import@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" + +babel-plugin-syntax-exponentiation-operator@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" + +babel-plugin-syntax-export-extensions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz#70a1484f0f9089a4e84ad44bac353c95b9b12721" + +babel-plugin-syntax-flow@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d" + +babel-plugin-syntax-function-bind@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz#48c495f177bdf31a981e732f55adc0bdd2601f46" + +babel-plugin-syntax-object-rest-spread@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" + +babel-plugin-syntax-trailing-function-commas@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" + +babel-plugin-transform-async-generator-functions@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz#f058900145fd3e9907a6ddf28da59f215258a5db" + dependencies: + babel-helper-remap-async-to-generator "^6.24.1" + babel-plugin-syntax-async-generators "^6.5.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-async-to-generator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" + dependencies: + babel-helper-remap-async-to-generator "^6.24.1" + babel-plugin-syntax-async-functions "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-class-constructor-call@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz#80dc285505ac067dcb8d6c65e2f6f11ab7765ef9" + dependencies: + babel-plugin-syntax-class-constructor-call "^6.18.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-class-properties@^6.24.1, babel-plugin-transform-class-properties@^6.6.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac" + dependencies: + babel-helper-function-name "^6.24.1" + babel-plugin-syntax-class-properties "^6.8.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-decorators@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz#788013d8f8c6b5222bdf7b344390dfd77569e24d" + dependencies: + babel-helper-explode-class "^6.24.1" + babel-plugin-syntax-decorators "^6.13.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-do-expressions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.22.0.tgz#28ccaf92812d949c2cd1281f690c8fdc468ae9bb" + dependencies: + babel-plugin-syntax-do-expressions "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-arrow-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoping@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.24.1.tgz#76c295dc3a4741b1665adfd3167215dcff32a576" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + lodash "^4.2.0" + +babel-plugin-transform-es2015-classes@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" + dependencies: + babel-helper-define-map "^6.24.1" + babel-helper-function-name "^6.24.1" + babel-helper-optimise-call-expression "^6.24.1" + babel-helper-replace-supers "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-computed-properties@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-destructuring@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-duplicate-keys@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-for-of@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-function-name@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-modules-amd@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" + dependencies: + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-commonjs@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz#d3e310b40ef664a36622200097c6d440298f2bfe" + dependencies: + babel-plugin-transform-strict-mode "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-modules-systemjs@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-umd@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" + dependencies: + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-object-super@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" + dependencies: + babel-helper-replace-supers "^6.24.1" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-parameters@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" + dependencies: + babel-helper-call-delegate "^6.24.1" + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-shorthand-properties@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-spread@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-sticky-regex@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-template-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-typeof-symbol@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-unicode-regex@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + regexpu-core "^2.0.0" + +babel-plugin-transform-exponentiation-operator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" + dependencies: + babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" + babel-plugin-syntax-exponentiation-operator "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-export-extensions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz#53738b47e75e8218589eea946cbbd39109bbe653" + dependencies: + babel-plugin-syntax-export-extensions "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-flow-strip-types@^6.3.13: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz#84cb672935d43714fdc32bce84568d87441cf7cf" + dependencies: + babel-plugin-syntax-flow "^6.18.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-function-bind@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.22.0.tgz#c6fb8e96ac296a310b8cf8ea401462407ddf6a97" + dependencies: + babel-plugin-syntax-function-bind "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-object-rest-spread@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.23.0.tgz#875d6bc9be761c58a2ae3feee5dc4895d8c7f921" + dependencies: + babel-plugin-syntax-object-rest-spread "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-regenerator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz#b8da305ad43c3c99b4848e4fe4037b770d23c418" + dependencies: + regenerator-transform "0.9.11" + +babel-plugin-transform-runtime@^6.3.13: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz#88490d446502ea9b8e7efb0fe09ec4d99479b1ee" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-strict-mode@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-preset-es2015@^6.13.2: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" + dependencies: + babel-plugin-check-es2015-constants "^6.22.0" + babel-plugin-transform-es2015-arrow-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoping "^6.24.1" + babel-plugin-transform-es2015-classes "^6.24.1" + babel-plugin-transform-es2015-computed-properties "^6.24.1" + babel-plugin-transform-es2015-destructuring "^6.22.0" + babel-plugin-transform-es2015-duplicate-keys "^6.24.1" + babel-plugin-transform-es2015-for-of "^6.22.0" + babel-plugin-transform-es2015-function-name "^6.24.1" + babel-plugin-transform-es2015-literals "^6.22.0" + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-plugin-transform-es2015-modules-systemjs "^6.24.1" + babel-plugin-transform-es2015-modules-umd "^6.24.1" + babel-plugin-transform-es2015-object-super "^6.24.1" + babel-plugin-transform-es2015-parameters "^6.24.1" + babel-plugin-transform-es2015-shorthand-properties "^6.24.1" + babel-plugin-transform-es2015-spread "^6.22.0" + babel-plugin-transform-es2015-sticky-regex "^6.24.1" + babel-plugin-transform-es2015-template-literals "^6.22.0" + babel-plugin-transform-es2015-typeof-symbol "^6.22.0" + babel-plugin-transform-es2015-unicode-regex "^6.24.1" + babel-plugin-transform-regenerator "^6.24.1" + +babel-preset-stage-0@^6.0.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-stage-0/-/babel-preset-stage-0-6.24.1.tgz#5642d15042f91384d7e5af8bc88b1db95b039e6a" + dependencies: + babel-plugin-transform-do-expressions "^6.22.0" + babel-plugin-transform-function-bind "^6.22.0" + babel-preset-stage-1 "^6.24.1" + +babel-preset-stage-1@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz#7692cd7dcd6849907e6ae4a0a85589cfb9e2bfb0" + dependencies: + babel-plugin-transform-class-constructor-call "^6.24.1" + babel-plugin-transform-export-extensions "^6.22.0" + babel-preset-stage-2 "^6.24.1" + +babel-preset-stage-2@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz#d9e2960fb3d71187f0e64eec62bc07767219bdc1" + dependencies: + babel-plugin-syntax-dynamic-import "^6.18.0" + babel-plugin-transform-class-properties "^6.24.1" + babel-plugin-transform-decorators "^6.24.1" + babel-preset-stage-3 "^6.24.1" + +babel-preset-stage-3@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz#836ada0a9e7a7fa37cb138fb9326f87934a48395" + dependencies: + babel-plugin-syntax-trailing-function-commas "^6.22.0" + babel-plugin-transform-async-generator-functions "^6.24.1" + babel-plugin-transform-async-to-generator "^6.24.1" + babel-plugin-transform-exponentiation-operator "^6.24.1" + babel-plugin-transform-object-rest-spread "^6.22.0" + +babel-register@^6.14.0, babel-register@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.24.1.tgz#7e10e13a2f71065bdfad5a1787ba45bca6ded75f" + dependencies: + babel-core "^6.24.1" + babel-runtime "^6.22.0" + core-js "^2.4.0" + home-or-tmp "^2.0.0" + lodash "^4.2.0" + mkdirp "^0.5.1" + source-map-support "^0.4.2" + +babel-runtime@^6.0.0, babel-runtime@^6.18.0, babel-runtime@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.10.0" + +babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.25.0: + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.25.0.tgz#665241166b7c2aa4c619d71e192969552b10c071" + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.25.0" + babel-types "^6.25.0" + babylon "^6.17.2" + lodash "^4.2.0" + +babel-traverse@^6.18.0, babel-traverse@^6.23.1, babel-traverse@^6.24.1, babel-traverse@^6.25.0: + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.25.0.tgz#2257497e2fcd19b89edc13c4c91381f9512496f1" + dependencies: + babel-code-frame "^6.22.0" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-types "^6.25.0" + babylon "^6.17.2" + debug "^2.2.0" + globals "^9.0.0" + invariant "^2.2.0" + lodash "^4.2.0" + +babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.23.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" + dependencies: + babel-runtime "^6.22.0" + esutils "^2.0.2" + lodash "^4.2.0" + to-fast-properties "^1.0.1" + +babylon@^6.17.0, babylon@^6.17.2, babylon@^6.17.4: + version "6.17.4" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.4.tgz#3e8b7402b88d22c3423e137a1577883b15ff869a" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + +base64-js@^1.0.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886" + +bcrypt-pbkdf@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" + dependencies: + tweetnacl "^0.14.3" + +beeper@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809" + +binary-extensions@^1.0.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" + +block-stream@*: + version "0.0.9" + resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + dependencies: + inherits "~2.0.0" + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: + version "4.11.7" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.7.tgz#ddb048e50d9482790094c13eb3fcfc833ce7ab46" + +boom@2.x.x: + version "2.10.1" + resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" + dependencies: + hoek "2.x.x" + +brace-expansion@^1.0.0, brace-expansion@^1.1.7: + version "1.1.8" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^1.8.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +brorand@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + +browser-pack@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/browser-pack/-/browser-pack-5.0.1.tgz#4197719b20c6e0aaa09451c5111e53efb6fbc18d" + dependencies: + JSONStream "^1.0.3" + combine-source-map "~0.6.1" + defined "^1.0.0" + through2 "^1.0.0" + umd "^3.0.0" + +browser-pack@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/browser-pack/-/browser-pack-6.0.2.tgz#f86cd6cef4f5300c8e63e07a4d512f65fbff4531" + dependencies: + JSONStream "^1.0.3" + combine-source-map "~0.7.1" + defined "^1.0.0" + through2 "^2.0.0" + umd "^3.0.0" + +browser-resolve@^1.11.0, browser-resolve@^1.7.0: + version "1.11.2" + resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce" + dependencies: + resolve "1.1.7" + +browser-stdout@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" + +browser-unpack@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browser-unpack/-/browser-unpack-1.2.0.tgz#357aee31fc467831684d063e4355e070a782970d" + dependencies: + acorn "^4.0.3" + browser-pack "^5.0.1" + concat-stream "^1.5.0" + minimist "^1.1.1" + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.0.6.tgz#5e7725dbdef1fd5930d4ebab48567ce451c48a0a" + dependencies: + buffer-xor "^1.0.2" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.0" + inherits "^2.0.1" + +browserify-cipher@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a" + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd" + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + +browserify-rsa@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + dependencies: + bn.js "^4.1.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" + dependencies: + bn.js "^4.1.1" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.2" + elliptic "^6.0.0" + inherits "^2.0.1" + parse-asn1 "^5.0.0" + +browserify-zlib@~0.1.2: + version "0.1.4" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" + dependencies: + pako "~0.2.0" + +browserify@^13.1.1: + version "13.3.0" + resolved "https://registry.yarnpkg.com/browserify/-/browserify-13.3.0.tgz#b5a9c9020243f0c70e4675bec8223bc627e415ce" + dependencies: + JSONStream "^1.0.3" + assert "^1.4.0" + browser-pack "^6.0.1" + browser-resolve "^1.11.0" + browserify-zlib "~0.1.2" + buffer "^4.1.0" + cached-path-relative "^1.0.0" + concat-stream "~1.5.1" + console-browserify "^1.1.0" + constants-browserify "~1.0.0" + crypto-browserify "^3.0.0" + defined "^1.0.0" + deps-sort "^2.0.0" + domain-browser "~1.1.0" + duplexer2 "~0.1.2" + events "~1.1.0" + glob "^7.1.0" + has "^1.0.0" + htmlescape "^1.1.0" + https-browserify "~0.0.0" + inherits "~2.0.1" + insert-module-globals "^7.0.0" + labeled-stream-splicer "^2.0.0" + module-deps "^4.0.8" + os-browserify "~0.1.1" + parents "^1.0.1" + path-browserify "~0.0.0" + process "~0.11.0" + punycode "^1.3.2" + querystring-es3 "~0.2.0" + read-only-stream "^2.0.0" + readable-stream "^2.0.2" + resolve "^1.1.4" + shasum "^1.0.0" + shell-quote "^1.6.1" + stream-browserify "^2.0.0" + stream-http "^2.0.0" + string_decoder "~0.10.0" + subarg "^1.0.0" + syntax-error "^1.1.1" + through2 "^2.0.0" + timers-browserify "^1.0.1" + tty-browserify "~0.0.0" + url "~0.11.0" + util "~0.10.1" + vm-browserify "~0.0.1" + xtend "^4.0.0" + +buffer-xor@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + +buffer@^4.1.0: + version "4.9.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +builtin-modules@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + +bundle-collapser@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/bundle-collapser/-/bundle-collapser-1.2.1.tgz#e119afc92638e440b9085f47ae081fa756cba33d" + dependencies: + browser-pack "^5.0.1" + browser-unpack "^1.1.0" + concat-stream "^1.5.0" + falafel "^1.2.0" + minimist "^1.1.1" + through2 "^2.0.0" + +cached-path-relative@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cached-path-relative/-/cached-path-relative-1.0.1.tgz#d09c4b52800aa4c078e2dd81a869aac90d2e54e7" + +caching-transform@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-1.0.1.tgz#6dbdb2f20f8d8fbce79f3e94e9d1742dcdf5c0a1" + dependencies: + md5-hex "^1.2.0" + mkdirp "^0.5.1" + write-file-atomic "^1.1.4" + +caller-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" + dependencies: + callsites "^0.2.0" + +callsites@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" + +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + +camelcase@^1.0.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" + +camelcase@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + +camelcase@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + +center-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" + dependencies: + align-text "^0.1.3" + lazy-cache "^1.0.3" + +chai@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/chai/-/chai-3.5.0.tgz#4d02637b067fe958bdbfdd3a40ec56fef7373247" + dependencies: + assertion-error "^1.0.1" + deep-eql "^0.1.3" + type-detect "^1.0.0" + +chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chokidar@^1.6.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" + dependencies: + anymatch "^1.3.0" + async-each "^1.0.0" + glob-parent "^2.0.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^2.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + optionalDependencies: + fsevents "^1.0.0" + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +circular-json@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" + +cli-cursor@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" + dependencies: + restore-cursor "^1.0.1" + +cli-width@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a" + +cliui@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" + dependencies: + center-align "^0.1.1" + right-align "^0.1.1" + wordwrap "0.0.2" + +cliui@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + +clone-stats@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" + +clone@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f" + +clone@^1.0.0, clone@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + +combine-source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/combine-source-map/-/combine-source-map-0.6.1.tgz#9b4a09c316033d768e0f11e029fa2730e079ad96" + dependencies: + convert-source-map "~1.1.0" + inline-source-map "~0.5.0" + lodash.memoize "~3.0.3" + source-map "~0.4.2" + +combine-source-map@~0.7.1: + version "0.7.2" + resolved "https://registry.yarnpkg.com/combine-source-map/-/combine-source-map-0.7.2.tgz#0870312856b307a87cc4ac486f3a9a62aeccc09e" + dependencies: + convert-source-map "~1.1.0" + inline-source-map "~0.6.0" + lodash.memoize "~3.0.3" + source-map "~0.5.3" + +combined-stream@^1.0.5, combined-stream@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" + dependencies: + delayed-stream "~1.0.0" + +commander@2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" + dependencies: + graceful-readlink ">= 1.0.0" + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +concat-stream@^1.4.6, concat-stream@^1.5.0, concat-stream@^1.5.2: + version "1.6.0" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" + dependencies: + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +concat-stream@~1.5.0, concat-stream@~1.5.1: + version "1.5.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266" + dependencies: + inherits "~2.0.1" + readable-stream "~2.0.0" + typedarray "~0.0.5" + +console-browserify@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" + dependencies: + date-now "^0.1.4" + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + +constants-browserify@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + +convert-source-map@^1.1.0, convert-source-map@^1.3.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" + +convert-source-map@~1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.1.3.tgz#4829c877e9fe49b3161f3bf3673888e204699860" + +core-js@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + +create-ecdh@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d" + dependencies: + bn.js "^4.1.0" + elliptic "^6.0.0" + +create-hash@^1.1.0, create-hash@^1.1.1, create-hash@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.3.tgz#606042ac8b9262750f483caddab0f5819172d8fd" + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + ripemd160 "^2.0.0" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: + version "1.1.6" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.6.tgz#acb9e221a4e17bdb076e90657c42b93e3726cf06" + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +cross-spawn@^4: + version "4.0.2" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" + dependencies: + lru-cache "^4.0.1" + which "^1.2.9" + +cryptiles@2.x.x: + version "2.0.5" + resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" + dependencies: + boom "2.x.x" + +crypto-browserify@^3.0.0: + version "3.11.1" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.11.1.tgz#948945efc6757a400d6e5e5af47194d10064279f" + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + dependencies: + array-find-index "^1.0.1" + +d@1: + version "1.0.0" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" + dependencies: + es5-ext "^0.10.9" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + dependencies: + assert-plus "^1.0.0" + +date-now@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" + +dateformat@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.0.0.tgz#2743e3abb5c3fc2462e527dca445e04e9f4dee17" + +debug-log@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f" + +debug@2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.0.tgz#bc596bcabe7617f11d9fa15361eded5608b8499b" + dependencies: + ms "0.7.2" + +debug@^2.1.1, debug@^2.2.0, debug@^2.6.3: + version "2.6.8" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" + dependencies: + ms "2.0.0" + +decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + +deep-eql@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-0.1.3.tgz#ef558acab8de25206cd713906d74e56930eb69f2" + dependencies: + type-detect "0.1.1" + +deep-extend@~0.4.0: + version "0.4.2" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + +default-require-extensions@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8" + dependencies: + strip-bom "^2.0.0" + +defaults@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" + dependencies: + clone "^1.0.2" + +defined@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" + +del@^2.0.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" + dependencies: + globby "^5.0.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + rimraf "^2.2.8" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + +deprecated@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/deprecated/-/deprecated-0.0.1.tgz#f9c9af5464afa1e7a971458a8bdef2aa94d5bb19" + +deps-sort@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/deps-sort/-/deps-sort-2.0.0.tgz#091724902e84658260eb910748cccd1af6e21fb5" + dependencies: + JSONStream "^1.0.3" + shasum "^1.0.0" + subarg "^1.0.0" + through2 "^2.0.0" + +derequire@^2.0.2: + version "2.0.6" + resolved "https://registry.yarnpkg.com/derequire/-/derequire-2.0.6.tgz#31a414bb7ca176239fa78b116636ef77d517e768" + dependencies: + acorn "^4.0.3" + concat-stream "^1.4.6" + escope "^3.6.0" + through2 "^2.0.0" + yargs "^6.5.0" + +des.js@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +detect-file@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-0.1.0.tgz#4935dedfd9488648e006b0129566e9386711ea63" + dependencies: + fs-exists-sync "^0.1.0" + +detect-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + dependencies: + repeating "^2.0.0" + +detective@^4.0.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/detective/-/detective-4.5.0.tgz#6e5a8c6b26e6c7a254b1c6b6d7490d98ec91edd1" + dependencies: + acorn "^4.0.3" + defined "^1.0.0" + +diff@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9" + +diffie-hellman@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e" + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +doctrine@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63" + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +domain-browser@~1.1.0: + version "1.1.7" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" + +duplexer2@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" + dependencies: + readable-stream "~1.1.9" + +duplexer2@^0.1.2, duplexer2@~0.1.0, duplexer2@~0.1.2: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" + dependencies: + readable-stream "^2.0.2" + +ecc-jsbn@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" + dependencies: + jsbn "~0.1.0" + +elliptic@^6.0.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" + dependencies: + bn.js "^4.4.0" + brorand "^1.0.1" + hash.js "^1.0.0" + hmac-drbg "^1.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.0" + +end-of-stream@~0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-0.1.5.tgz#8e177206c3c80837d85632e8b9359dfe8b2f6eaf" + dependencies: + once "~1.3.0" + +error-ex@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" + dependencies: + is-arrayish "^0.2.1" + +es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14: + version "0.10.24" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.24.tgz#a55877c9924bc0c8d9bd3c2cbe17495ac1709b14" + dependencies: + es6-iterator "2" + es6-symbol "~3.1" + +es6-iterator@2, es6-iterator@^2.0.1, es6-iterator@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512" + dependencies: + d "1" + es5-ext "^0.10.14" + es6-symbol "^3.1" + +es6-map@^0.1.3: + version "0.1.5" + resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" + dependencies: + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-set "~0.1.5" + es6-symbol "~3.1.1" + event-emitter "~0.3.5" + +es6-set@~0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" + dependencies: + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-symbol "3.1.1" + event-emitter "~0.3.5" + +es6-symbol@3.1.1, es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" + dependencies: + d "1" + es5-ext "~0.10.14" + +es6-weak-map@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" + dependencies: + d "1" + es5-ext "^0.10.14" + es6-iterator "^2.0.1" + es6-symbol "^3.1.1" + +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + +escope@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" + dependencies: + es6-map "^0.1.3" + es6-weak-map "^2.0.1" + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-config-babel@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-babel/-/eslint-config-babel-6.0.0.tgz#66feedf6ce6e04abe585cec1a65b5bcc96bed50a" + +eslint-plugin-flowtype@^2.20.0: + version "2.35.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.35.0.tgz#d17494f0ae8b727c632d8b9d4b4a848e7e0c04af" + dependencies: + lodash "^4.15.0" + +eslint@^3.9.0: + version "3.19.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc" + dependencies: + babel-code-frame "^6.16.0" + chalk "^1.1.3" + concat-stream "^1.5.2" + debug "^2.1.1" + doctrine "^2.0.0" + escope "^3.6.0" + espree "^3.4.0" + esquery "^1.0.0" + estraverse "^4.2.0" + esutils "^2.0.2" + file-entry-cache "^2.0.0" + glob "^7.0.3" + globals "^9.14.0" + ignore "^3.2.0" + imurmurhash "^0.1.4" + inquirer "^0.12.0" + is-my-json-valid "^2.10.0" + is-resolvable "^1.0.0" + js-yaml "^3.5.1" + json-stable-stringify "^1.0.0" + levn "^0.3.0" + lodash "^4.0.0" + mkdirp "^0.5.0" + natural-compare "^1.4.0" + optionator "^0.8.2" + path-is-inside "^1.0.1" + pluralize "^1.2.1" + progress "^1.1.8" + require-uncached "^1.0.2" + shelljs "^0.7.5" + strip-bom "^3.0.0" + strip-json-comments "~2.0.1" + table "^3.7.8" + text-table "~0.2.0" + user-home "^2.0.0" + +espree@^3.4.0: + version "3.4.3" + resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.3.tgz#2910b5ccd49ce893c2ffffaab4fd8b3a31b82374" + dependencies: + acorn "^5.0.1" + acorn-jsx "^3.0.0" + +esprima@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" + +esquery@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa" + dependencies: + estraverse "^4.0.0" + +esrecurse@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.0.tgz#fa9568d98d3823f9a41d91e902dcab9ea6e5b163" + dependencies: + estraverse "^4.1.0" + object-assign "^4.0.1" + +estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + +esutils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + +event-emitter@~0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + dependencies: + d "1" + es5-ext "~0.10.14" + +events@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + +evp_bytestokey@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz#497b66ad9fef65cd7c08a6180824ba1476b66e53" + dependencies: + create-hash "^1.1.1" + +exit-hook@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + dependencies: + is-posix-bracket "^0.1.0" + +expand-range@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + dependencies: + fill-range "^2.1.0" + +expand-tilde@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-1.2.2.tgz#0b81eba897e5a3d31d1c3d102f8f01441e559449" + dependencies: + os-homedir "^1.0.1" + +expand-tilde@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" + dependencies: + homedir-polyfill "^1.0.1" + +extend@^3.0.0, extend@~3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" + +extglob@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + dependencies: + is-extglob "^1.0.0" + +extsprintf@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" + +falafel@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/falafel/-/falafel-1.2.0.tgz#c18d24ef5091174a497f318cd24b026a25cddab4" + dependencies: + acorn "^1.0.3" + foreach "^2.0.5" + isarray "0.0.1" + object-keys "^1.0.6" + +fancy-log@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.0.tgz#45be17d02bb9917d60ccffd4995c999e6c8c9948" + dependencies: + chalk "^1.1.1" + time-stamp "^1.0.0" + +fast-levenshtein@~2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + +figures@^1.3.5: + version "1.7.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" + dependencies: + escape-string-regexp "^1.0.5" + object-assign "^4.1.0" + +file-entry-cache@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" + dependencies: + flat-cache "^1.2.1" + object-assign "^4.0.1" + +filename-regex@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" + +fill-range@^2.1.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^1.1.3" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +find-cache-dir@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" + dependencies: + commondir "^1.0.1" + mkdirp "^0.5.1" + pkg-dir "^1.0.0" + +find-index@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4" + +find-up@^1.0.0, find-up@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +findup-sync@^0.4.2: + version "0.4.3" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.4.3.tgz#40043929e7bc60adf0b7f4827c4c6e75a0deca12" + dependencies: + detect-file "^0.1.0" + is-glob "^2.0.1" + micromatch "^2.3.7" + resolve-dir "^0.1.0" + +fined@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fined/-/fined-1.1.0.tgz#b37dc844b76a2f5e7081e884f7c0ae344f153476" + dependencies: + expand-tilde "^2.0.2" + is-plain-object "^2.0.3" + object.defaults "^1.1.0" + object.pick "^1.2.0" + parse-filepath "^1.0.1" + +first-chunk-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e" + +first-chunk-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz#1bdecdb8e083c0664b91945581577a43a9f31d70" + dependencies: + readable-stream "^2.0.2" + +flagged-respawn@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-0.3.2.tgz#ff191eddcd7088a675b2610fffc976be9b8074b5" + +flat-cache@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96" + dependencies: + circular-json "^0.3.1" + del "^2.0.2" + graceful-fs "^4.1.2" + write "^0.2.1" + +flow-bin@^0.34.0: + version "0.34.0" + resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.34.0.tgz#093ed36981e8fafc39d16f0b0878d0968aa80fad" + +for-in@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + +for-own@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + dependencies: + for-in "^1.0.1" + +for-own@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" + dependencies: + for-in "^1.0.1" + +foreach@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + +foreground-child@^1.3.3, foreground-child@^1.5.3: + version "1.5.6" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-1.5.6.tgz#4fd71ad2dfde96789b980a5c0a295937cb2f5ce9" + dependencies: + cross-spawn "^4" + signal-exit "^3.0.0" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + +form-data@~2.1.1: + version "2.1.4" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.12" + +fs-exists-sync@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +fsevents@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.2.tgz#3282b713fb3ad80ede0e9fcf4611b5aa6fc033f4" + dependencies: + nan "^2.3.0" + node-pre-gyp "^0.6.36" + +fstream-ignore@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" + dependencies: + fstream "^1.0.0" + inherits "2" + minimatch "^3.0.0" + +fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: + version "1.0.11" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + +function-bind@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +gaze@^0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/gaze/-/gaze-0.5.2.tgz#40b709537d24d1d45767db5a908689dfe69ac44f" + dependencies: + globule "~0.1.0" + +generate-function@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" + +generate-object-property@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" + dependencies: + is-property "^1.0.0" + +get-caller-file@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" + +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + dependencies: + assert-plus "^1.0.0" + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + dependencies: + is-glob "^2.0.0" + +glob-parent@^3.0.1: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-stream@^3.1.5: + version "3.1.18" + resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-3.1.18.tgz#9170a5f12b790306fdfe598f313f8f7954fd143b" + dependencies: + glob "^4.3.1" + glob2base "^0.0.12" + minimatch "^2.0.1" + ordered-read-streams "^0.1.0" + through2 "^0.6.1" + unique-stream "^1.0.0" + +glob-watcher@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-0.0.6.tgz#b95b4a8df74b39c83298b0c05c978b4d9a3b710b" + dependencies: + gaze "^0.5.1" + +glob2base@^0.0.12: + version "0.0.12" + resolved "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz#9d419b3e28f12e83a362164a277055922c9c0d56" + dependencies: + find-index "^0.1.1" + +glob@7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.2" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^4.3.1: + version "4.5.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz#c6cb73d3226c1efef04de3c56d012f03377ee15f" + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "^2.0.1" + once "^1.3.0" + +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@~3.1.21: + version "3.1.21" + resolved "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz#d29e0a055dea5138f4d07ed40e8982e83c2066cd" + dependencies: + graceful-fs "~1.2.0" + inherits "1" + minimatch "~0.2.11" + +global-modules@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-0.2.3.tgz#ea5a3bed42c6d6ce995a4f8a1269b5dae223828d" + dependencies: + global-prefix "^0.1.4" + is-windows "^0.2.0" + +global-prefix@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-0.1.5.tgz#8d3bc6b8da3ca8112a160d8d496ff0462bfef78f" + dependencies: + homedir-polyfill "^1.0.0" + ini "^1.3.4" + is-windows "^0.2.0" + which "^1.2.12" + +globals@^9.0.0, globals@^9.14.0: + version "9.18.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" + +globby@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" + dependencies: + array-union "^1.0.1" + arrify "^1.0.0" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globule@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz#d9c8edde1da79d125a151b79533b978676346ae5" + dependencies: + glob "~3.1.21" + lodash "~1.0.1" + minimatch "~0.2.11" + +glogg@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.0.tgz#7fe0f199f57ac906cf512feead8f90ee4a284fc5" + dependencies: + sparkles "^1.0.0" + +graceful-fs@^3.0.0: + version "3.0.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818" + dependencies: + natives "^1.1.0" + +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4: + version "4.1.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + +graceful-fs@~1.2.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364" + +"graceful-readlink@>= 1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + +growl@1.9.2: + version "1.9.2" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" + +gulp-babel@^6.0.0: + version "6.1.2" + resolved "https://registry.yarnpkg.com/gulp-babel/-/gulp-babel-6.1.2.tgz#7c0176e4ba3f244c60588a0c4b320a45d1adefce" + dependencies: + babel-core "^6.0.2" + gulp-util "^3.0.0" + object-assign "^4.0.1" + replace-ext "0.0.1" + through2 "^2.0.0" + vinyl-sourcemaps-apply "^0.2.0" + +gulp-newer@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/gulp-newer/-/gulp-newer-1.3.0.tgz#d50ecacbb822eda492b57324a6c85a07fd9a55c1" + dependencies: + glob "^7.0.3" + gulp-util "^3.0.7" + kew "^0.7.0" + +gulp-plumber@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/gulp-plumber/-/gulp-plumber-1.1.0.tgz#f12176c2d0422f60306c242fff6a01a394faba09" + dependencies: + gulp-util "^3" + through2 "^2" + +gulp-util@^3, gulp-util@^3.0.0, gulp-util@^3.0.7: + version "3.0.8" + resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f" + dependencies: + array-differ "^1.0.0" + array-uniq "^1.0.2" + beeper "^1.0.0" + chalk "^1.0.0" + dateformat "^2.0.0" + fancy-log "^1.1.0" + gulplog "^1.0.0" + has-gulplog "^0.1.0" + lodash._reescape "^3.0.0" + lodash._reevaluate "^3.0.0" + lodash._reinterpolate "^3.0.0" + lodash.template "^3.0.0" + minimist "^1.1.0" + multipipe "^0.1.2" + object-assign "^3.0.0" + replace-ext "0.0.1" + through2 "^2.0.0" + vinyl "^0.5.0" + +gulp-watch@^4.3.5: + version "4.3.11" + resolved "https://registry.yarnpkg.com/gulp-watch/-/gulp-watch-4.3.11.tgz#162fc563de9fc770e91f9a7ce3955513a9a118c0" + dependencies: + anymatch "^1.3.0" + chokidar "^1.6.1" + glob-parent "^3.0.1" + gulp-util "^3.0.7" + object-assign "^4.1.0" + path-is-absolute "^1.0.1" + readable-stream "^2.2.2" + slash "^1.0.0" + vinyl "^1.2.0" + vinyl-file "^2.0.0" + +gulp@^3.9.0: + version "3.9.1" + resolved "https://registry.yarnpkg.com/gulp/-/gulp-3.9.1.tgz#571ce45928dd40af6514fc4011866016c13845b4" + dependencies: + archy "^1.0.0" + chalk "^1.0.0" + deprecated "^0.0.1" + gulp-util "^3.0.0" + interpret "^1.0.0" + liftoff "^2.1.0" + minimist "^1.1.0" + orchestrator "^0.3.0" + pretty-hrtime "^1.0.0" + semver "^4.1.0" + tildify "^1.0.0" + v8flags "^2.0.2" + vinyl-fs "^0.3.0" + +gulplog@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" + dependencies: + glogg "^1.0.0" + +handlebars@^4.0.3: + version "4.0.10" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.10.tgz#3d30c718b09a3d96f23ea4cc1f403c4d3ba9ff4f" + dependencies: + async "^1.4.0" + optimist "^0.6.1" + source-map "^0.4.4" + optionalDependencies: + uglify-js "^2.6" + +har-schema@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" + +har-validator@~4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" + dependencies: + ajv "^4.9.1" + har-schema "^1.0.5" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + dependencies: + ansi-regex "^2.0.0" + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + +has-gulplog@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" + dependencies: + sparkles "^1.0.0" + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + +has@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" + dependencies: + function-bind "^1.0.2" + +hash-base@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-2.0.2.tgz#66ea1d856db4e8a5470cadf6fce23ae5244ef2e1" + dependencies: + inherits "^2.0.1" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846" + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.0" + +hawk@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" + dependencies: + boom "2.x.x" + cryptiles "2.x.x" + hoek "2.x.x" + sntp "1.x.x" + +hmac-drbg@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hoek@2.x.x: + version "2.16.3" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" + +home-or-tmp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.1" + +homedir-polyfill@^1.0.0, homedir-polyfill@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" + dependencies: + parse-passwd "^1.0.0" + +hosted-git-info@^2.1.4: + version "2.5.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" + +htmlescape@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/htmlescape/-/htmlescape-1.1.1.tgz#3a03edc2214bca3b66424a3e7959349509cb0351" + +http-signature@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" + dependencies: + assert-plus "^0.2.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-browserify@~0.0.0: + version "0.0.1" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82" + +ieee754@^1.1.4: + version "1.1.8" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" + +ignore@^3.2.0: + version "3.3.3" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.3.tgz#432352e57accd87ab3110e82d3fea0e47812156d" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + dependencies: + repeating "^2.0.0" + +indexof@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b" + +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + +ini@^1.3.4, ini@~1.3.0: + version "1.3.4" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" + +inline-source-map@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/inline-source-map/-/inline-source-map-0.5.0.tgz#4a4c5dd8e4fb5e9b3cda60c822dfadcaee66e0af" + dependencies: + source-map "~0.4.0" + +inline-source-map@~0.6.0: + version "0.6.2" + resolved "https://registry.yarnpkg.com/inline-source-map/-/inline-source-map-0.6.2.tgz#f9393471c18a79d1724f863fa38b586370ade2a5" + dependencies: + source-map "~0.5.3" + +inquirer@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" + dependencies: + ansi-escapes "^1.1.0" + ansi-regex "^2.0.0" + chalk "^1.0.0" + cli-cursor "^1.0.1" + cli-width "^2.0.0" + figures "^1.3.5" + lodash "^4.3.0" + readline2 "^1.0.1" + run-async "^0.1.0" + rx-lite "^3.1.2" + string-width "^1.0.1" + strip-ansi "^3.0.0" + through "^2.3.6" + +insert-module-globals@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/insert-module-globals/-/insert-module-globals-7.0.1.tgz#c03bf4e01cb086d5b5e5ace8ad0afe7889d638c3" + dependencies: + JSONStream "^1.0.3" + combine-source-map "~0.7.1" + concat-stream "~1.5.1" + is-buffer "^1.1.0" + lexical-scope "^1.2.0" + process "~0.11.0" + through2 "^2.0.0" + xtend "^4.0.0" + +interpret@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.3.tgz#cbc35c62eeee73f19ab7b10a801511401afc0f90" + +invariant@^2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" + dependencies: + loose-envify "^1.0.0" + +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + +is-absolute@^0.2.3: + version "0.2.6" + resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-0.2.6.tgz#20de69f3db942ef2d87b9c2da36f172235b1b5eb" + dependencies: + is-relative "^0.2.1" + is-windows "^0.2.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + dependencies: + binary-extensions "^1.0.0" + +is-buffer@^1.1.0, is-buffer@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" + +is-builtin-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + dependencies: + builtin-modules "^1.0.0" + +is-dotfile@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + dependencies: + is-primitive "^2.0.0" + +is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + +is-extglob@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + +is-finite@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + dependencies: + is-extglob "^1.0.0" + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + dependencies: + is-extglob "^2.1.0" + +is-my-json-valid@^2.10.0: + version "2.16.0" + resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693" + dependencies: + generate-function "^2.0.0" + generate-object-property "^1.1.0" + jsonpointer "^4.0.0" + xtend "^4.0.0" + +is-number@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + dependencies: + kind-of "^3.0.2" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + dependencies: + kind-of "^3.0.2" + +is-path-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + +is-path-in-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" + dependencies: + is-path-inside "^1.0.0" + +is-path-inside@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" + dependencies: + path-is-inside "^1.0.1" + +is-plain-object@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.3.tgz#c15bf3e4b66b62d72efaf2925848663ecbc619b6" + dependencies: + isobject "^3.0.0" + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + +is-primitive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + +is-property@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" + +is-relative@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-0.2.1.tgz#d27f4c7d516d175fb610db84bbeef23c3bc97aa5" + dependencies: + is-unc-path "^0.1.1" + +is-resolvable@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62" + dependencies: + tryit "^1.0.1" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + +is-unc-path@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-0.1.2.tgz#6ab053a72573c10250ff416a3814c35178af39b9" + dependencies: + unc-path-regex "^0.1.0" + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + +is-windows@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" + +isarray@0.0.1, isarray@~0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + +isobject@^2.0.0, isobject@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + dependencies: + isarray "1.0.0" + +isobject@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + +istanbul-lib-coverage@^1.1.0, istanbul-lib-coverage@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz#73bfb998885299415c93d38a3e9adf784a77a9da" + +istanbul-lib-hook@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.0.7.tgz#dd6607f03076578fe7d6f2a630cf143b49bacddc" + dependencies: + append-transform "^0.4.0" + +istanbul-lib-instrument@^1.1.4, istanbul-lib-instrument@^1.7.1: + version "1.7.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.3.tgz#925b239163eabdd68cc4048f52c2fa4f899ecfa7" + dependencies: + babel-generator "^6.18.0" + babel-template "^6.16.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + babylon "^6.17.4" + istanbul-lib-coverage "^1.1.1" + semver "^5.3.0" + +istanbul-lib-report@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz#f0e55f56655ffa34222080b7a0cd4760e1405fc9" + dependencies: + istanbul-lib-coverage "^1.1.1" + mkdirp "^0.5.1" + path-parse "^1.0.5" + supports-color "^3.1.2" + +istanbul-lib-source-maps@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz#a6fe1acba8ce08eebc638e572e294d267008aa0c" + dependencies: + debug "^2.6.3" + istanbul-lib-coverage "^1.1.1" + mkdirp "^0.5.1" + rimraf "^2.6.1" + source-map "^0.5.3" + +istanbul-reports@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.1.1.tgz#042be5c89e175bc3f86523caab29c014e77fee4e" + dependencies: + handlebars "^4.0.3" + +js-tokens@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + +js-yaml@^3.5.1: + version "3.9.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.9.0.tgz#4ffbbf25c2ac963b8299dc74da7e3740de1c18ce" + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + +jsesc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + +json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + dependencies: + jsonify "~0.0.0" + +json-stable-stringify@~0.0.0: + version "0.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz#611c23e814db375527df851193db59dd2af27f45" + dependencies: + jsonify "~0.0.0" + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + +json3@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" + +json5@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + +jsonparse@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + +jsonpointer@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" + +jsprim@^1.2.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918" + dependencies: + assert-plus "1.0.0" + extsprintf "1.0.2" + json-schema "0.2.3" + verror "1.3.6" + +kew@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/kew/-/kew-0.7.0.tgz#79d93d2d33363d6fdd2970b335d9141ad591d79b" + +kind-of@^3.0.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + dependencies: + is-buffer "^1.1.5" + +labeled-stream-splicer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/labeled-stream-splicer/-/labeled-stream-splicer-2.0.0.tgz#a52e1d138024c00b86b1c0c91f677918b8ae0a59" + dependencies: + inherits "^2.0.1" + isarray "~0.0.1" + stream-splicer "^2.0.0" + +lazy-cache@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + dependencies: + invert-kv "^1.0.0" + +lerna-changelog@^0.2.0: + version "0.2.3" + resolved "https://registry.yarnpkg.com/lerna-changelog/-/lerna-changelog-0.2.3.tgz#f27b33f924f629338e892db895045bccb3873bce" + dependencies: + chalk "^1.1.3" + mkdirp "^0.5.1" + +lerna@2.0.0-beta.23: + version "2.0.0-beta.23" + resolved "https://registry.yarnpkg.com/lerna/-/lerna-2.0.0-beta.23.tgz#af418121d5ddfae250a49d77fadade6bc790909e" + dependencies: + async "^1.5.0" + chalk "^1.1.1" + inquirer "^0.12.0" + lodash.find "^4.3.0" + lodash.unionwith "^4.2.0" + meow "^3.7.0" + minimatch "^3.0.0" + mkdirp "^0.5.1" + object-assign "^4.0.1" + object-assign-sorted "^1.0.0" + pad "^1.0.0" + path-exists "^2.1.0" + progress "^1.1.8" + rimraf "^2.4.4" + semver "^5.1.0" + signal-exit "^2.1.2" + sync-exec "^0.6.2" + +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lexical-scope@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/lexical-scope/-/lexical-scope-1.2.0.tgz#fcea5edc704a4b3a8796cdca419c3a0afaf22df4" + dependencies: + astw "^2.0.0" + +liftoff@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-2.3.0.tgz#a98f2ff67183d8ba7cfaca10548bd7ff0550b385" + dependencies: + extend "^3.0.0" + findup-sync "^0.4.2" + fined "^1.0.1" + flagged-respawn "^0.3.2" + lodash.isplainobject "^4.0.4" + lodash.isstring "^4.0.1" + lodash.mapvalues "^4.4.0" + rechoir "^0.6.2" + resolve "^1.1.7" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +lodash._baseassign@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" + dependencies: + lodash._basecopy "^3.0.0" + lodash.keys "^3.0.0" + +lodash._basecopy@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" + +lodash._basecreate@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz#1bc661614daa7fc311b7d03bf16806a0213cf821" + +lodash._basetostring@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5" + +lodash._basevalues@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7" + +lodash._getnative@^3.0.0: + version "3.9.1" + resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" + +lodash._isiterateecall@^3.0.0: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" + +lodash._reescape@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a" + +lodash._reevaluate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed" + +lodash._reinterpolate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + +lodash._root@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" + +lodash.create@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lodash.create/-/lodash.create-3.1.1.tgz#d7f2849f0dbda7e04682bb8cd72ab022461debe7" + dependencies: + lodash._baseassign "^3.0.0" + lodash._basecreate "^3.0.0" + lodash._isiterateecall "^3.0.0" + +lodash.escape@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698" + dependencies: + lodash._root "^3.0.0" + +lodash.find@^4.3.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.find/-/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1" + +lodash.isarguments@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" + +lodash.isarray@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" + +lodash.isplainobject@^4.0.4: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + +lodash.keys@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" + dependencies: + lodash._getnative "^3.0.0" + lodash.isarguments "^3.0.0" + lodash.isarray "^3.0.0" + +lodash.mapvalues@^4.4.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz#1bafa5005de9dd6f4f26668c30ca37230cc9689c" + +lodash.memoize@~3.0.3: + version "3.0.4" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-3.0.4.tgz#2dcbd2c287cbc0a55cc42328bd0c736150d53e3f" + +lodash.restparam@^3.0.0: + version "3.6.1" + resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" + +lodash.template@^3.0.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f" + dependencies: + lodash._basecopy "^3.0.0" + lodash._basetostring "^3.0.0" + lodash._basevalues "^3.0.0" + lodash._isiterateecall "^3.0.0" + lodash._reinterpolate "^3.0.0" + lodash.escape "^3.0.0" + lodash.keys "^3.0.0" + lodash.restparam "^3.0.0" + lodash.templatesettings "^3.0.0" + +lodash.templatesettings@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5" + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.escape "^3.0.0" + +lodash.unionwith@^4.2.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.unionwith/-/lodash.unionwith-4.6.0.tgz#74d140b5ca8146e6c643c3724f5152538d9ac1f0" + +lodash@^4.0.0, lodash@^4.15.0, lodash@^4.2.0, lodash@^4.3.0: + version "4.17.4" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" + +lodash@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551" + +longest@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" + +loose-envify@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" + dependencies: + js-tokens "^3.0.0" + +loud-rejection@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + +lru-cache@2: + version "2.7.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" + +lru-cache@^4.0.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +map-cache@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + +map-obj@^1.0.0, map-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + +md5-hex@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/md5-hex/-/md5-hex-1.3.0.tgz#d2c4afe983c4370662179b8cad145219135046c4" + dependencies: + md5-o-matic "^0.1.1" + +md5-o-matic@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/md5-o-matic/-/md5-o-matic-0.1.1.tgz#822bccd65e117c514fab176b25945d54100a03c3" + +meow@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + dependencies: + camelcase-keys "^2.0.0" + decamelize "^1.1.2" + loud-rejection "^1.0.0" + map-obj "^1.0.1" + minimist "^1.1.3" + normalize-package-data "^2.3.4" + object-assign "^4.0.1" + read-pkg-up "^1.0.1" + redent "^1.0.0" + trim-newlines "^1.0.0" + +merge-source-map@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.0.4.tgz#a5de46538dae84d4114cc5ea02b4772a6346701f" + dependencies: + source-map "^0.5.6" + +micromatch@^2.1.5, micromatch@^2.3.11, micromatch@^2.3.7: + version "2.3.11" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +miller-rabin@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.0.tgz#4a62fb1d42933c05583982f4c716f6fb9e6c6d3d" + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@~1.27.0: + version "1.27.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1" + +mime-types@^2.1.12, mime-types@~2.1.7: + version "2.1.15" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed" + dependencies: + mime-db "~1.27.0" + +minimalistic-assert@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3" + +minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + +minimatch@^2.0.1: + version "2.0.10" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7" + dependencies: + brace-expansion "^1.0.0" + +minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + dependencies: + brace-expansion "^1.1.7" + +minimatch@~0.2.11: + version "0.2.14" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a" + dependencies: + lru-cache "2" + sigmund "~1.0.0" + +minimist@0.0.8, minimist@~0.0.1: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +mocha@^3.0.0: + version "3.4.2" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.4.2.tgz#d0ef4d332126dbf18d0d640c9b382dd48be97594" + dependencies: + browser-stdout "1.3.0" + commander "2.9.0" + debug "2.6.0" + diff "3.2.0" + escape-string-regexp "1.0.5" + glob "7.1.1" + growl "1.9.2" + json3 "3.3.2" + lodash.create "3.1.1" + mkdirp "0.5.1" + supports-color "3.1.2" + +module-deps@^4.0.8: + version "4.1.1" + resolved "https://registry.yarnpkg.com/module-deps/-/module-deps-4.1.1.tgz#23215833f1da13fd606ccb8087b44852dcb821fd" + dependencies: + JSONStream "^1.0.3" + browser-resolve "^1.7.0" + cached-path-relative "^1.0.0" + concat-stream "~1.5.0" + defined "^1.0.0" + detective "^4.0.0" + duplexer2 "^0.1.2" + inherits "^2.0.1" + parents "^1.0.0" + readable-stream "^2.0.2" + resolve "^1.1.3" + stream-combiner2 "^1.1.1" + subarg "^1.0.0" + through2 "^2.0.0" + xtend "^4.0.0" + +ms@0.7.2: + version "0.7.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + +multipipe@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b" + dependencies: + duplexer2 "0.0.2" + +mute-stream@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" + +nan@^2.3.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45" + +natives@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.0.tgz#e9ff841418a6b2ec7a495e939984f78f163e6e31" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + +node-pre-gyp@^0.6.36: + version "0.6.36" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.36.tgz#db604112cb74e0d477554e9b505b17abddfab786" + dependencies: + mkdirp "^0.5.1" + nopt "^4.0.1" + npmlog "^4.0.2" + rc "^1.1.7" + request "^2.81.0" + rimraf "^2.6.1" + semver "^5.3.0" + tar "^2.2.1" + tar-pack "^3.4.0" + +nopt@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" + dependencies: + abbrev "1" + osenv "^0.1.4" + +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: + version "2.4.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" + dependencies: + hosted-git-info "^2.1.4" + is-builtin-module "^1.0.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + dependencies: + remove-trailing-separator "^1.0.1" + +npmlog@^4.0.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + +nyc@^10.0.0: + version "10.3.2" + resolved "https://registry.yarnpkg.com/nyc/-/nyc-10.3.2.tgz#f27f4d91f2a9db36c24f574ff5c6efff0233de46" + dependencies: + archy "^1.0.0" + arrify "^1.0.1" + caching-transform "^1.0.0" + convert-source-map "^1.3.0" + debug-log "^1.0.1" + default-require-extensions "^1.0.0" + find-cache-dir "^0.1.1" + find-up "^1.1.2" + foreground-child "^1.5.3" + glob "^7.0.6" + istanbul-lib-coverage "^1.1.0" + istanbul-lib-hook "^1.0.6" + istanbul-lib-instrument "^1.7.1" + istanbul-lib-report "^1.1.0" + istanbul-lib-source-maps "^1.2.0" + istanbul-reports "^1.1.0" + md5-hex "^1.2.0" + merge-source-map "^1.0.2" + micromatch "^2.3.11" + mkdirp "^0.5.0" + resolve-from "^2.0.0" + rimraf "^2.5.4" + signal-exit "^3.0.1" + spawn-wrap "1.2.4" + test-exclude "^4.1.0" + yargs "^7.1.0" + yargs-parser "^5.0.0" + +oauth-sign@~0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" + +object-assign-sorted@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/object-assign-sorted/-/object-assign-sorted-1.0.0.tgz#e739f698164014ec1f050f38decabad1e9b228bf" + dependencies: + object-assign "^4.0.1" + sorted-object "^2.0.0" + +object-assign@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" + +object-assign@^4.0.1, object-assign@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + +object-keys@^1.0.6: + version "1.0.11" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" + +object.defaults@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf" + dependencies: + array-each "^1.0.1" + array-slice "^1.0.0" + for-own "^1.0.0" + isobject "^3.0.0" + +object.omit@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + dependencies: + for-own "^0.1.4" + is-extendable "^0.1.1" + +object.pick@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.2.0.tgz#b5392bee9782da6d9fb7d6afaf539779f1234c2b" + dependencies: + isobject "^2.1.0" + +once@^1.3.0, once@^1.3.3: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +once@~1.3.0: + version "1.3.3" + resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" + dependencies: + wrappy "1" + +onetime@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" + +optimist@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + dependencies: + minimist "~0.0.1" + wordwrap "~0.0.2" + +optionator@^0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.4" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + wordwrap "~1.0.0" + +orchestrator@^0.3.0: + version "0.3.8" + resolved "https://registry.yarnpkg.com/orchestrator/-/orchestrator-0.3.8.tgz#14e7e9e2764f7315fbac184e506c7aa6df94ad7e" + dependencies: + end-of-stream "~0.1.5" + sequencify "~0.0.7" + stream-consume "~0.1.0" + +ordered-read-streams@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz#fd565a9af8eb4473ba69b6ed8a34352cb552f126" + +os-browserify@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.1.2.tgz#49ca0293e0b19590a5f5de10c7f265a617d8fe54" + +os-homedir@^1.0.0, os-homedir@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +os-locale@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + dependencies: + lcid "^1.0.0" + +os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + +osenv@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +output-file-sync@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76" + dependencies: + graceful-fs "^4.1.4" + mkdirp "^0.5.1" + object-assign "^4.1.0" + +pad@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pad/-/pad-1.1.0.tgz#7a7d185200ebac32f9f12ee756c3a1d087b3190b" + +pako@~0.2.0: + version "0.2.9" + resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" + +parents@^1.0.0, parents@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parents/-/parents-1.0.1.tgz#fedd4d2bf193a77745fe71e371d73c3307d9c751" + dependencies: + path-platform "~0.11.15" + +parse-asn1@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.0.tgz#37c4f9b7ed3ab65c74817b5f2480937fbf97c712" + dependencies: + asn1.js "^4.0.0" + browserify-aes "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + +parse-filepath@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.1.tgz#159d6155d43904d16c10ef698911da1e91969b73" + dependencies: + is-absolute "^0.2.3" + map-cache "^0.2.0" + path-root "^0.1.1" + +parse-glob@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + dependencies: + error-ex "^1.2.0" + +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + +path-browserify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + +path-exists@^2.0.0, path-exists@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + dependencies: + pinkie-promise "^2.0.0" + +path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +path-is-inside@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + +path-parse@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" + +path-platform@~0.11.15: + version "0.11.15" + resolved "https://registry.yarnpkg.com/path-platform/-/path-platform-0.11.15.tgz#e864217f74c36850f0852b78dc7bf7d4a5721bf2" + +path-root-regex@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" + +path-root@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" + dependencies: + path-root-regex "^0.1.0" + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +pbkdf2@^3.0.3: + version "3.0.12" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.12.tgz#be36785c5067ea48d806ff923288c5f750b6b8a2" + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +performance-now@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" + +pify@^2.0.0, pify@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + +pkg-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" + dependencies: + find-up "^1.0.0" + +pluralize@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + +preserve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + +pretty-hrtime@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" + +private@^0.1.6: + version "0.1.7" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" + +process-nextick-args@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + +process@~0.11.0: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + +progress@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + +public-encrypt@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6" + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + +punycode@^1.3.2, punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + +qs@~6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" + +querystring-es3@~0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + +randomatic@^1.1.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +randombytes@^2.0.0, randombytes@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.5.tgz#dc009a246b8d09a177b4b7a0ae77bc570f4b1b79" + dependencies: + safe-buffer "^5.1.0" + +rc@^1.1.7: + version "1.2.1" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95" + dependencies: + deep-extend "~0.4.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +read-only-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-only-stream/-/read-only-stream-2.0.0.tgz#2724fd6a8113d73764ac288d4386270c1dbf17f0" + dependencies: + readable-stream "^2.0.2" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +"readable-stream@>=1.0.33-1 <1.1.0-0": + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +"readable-stream@>=1.1.13-1 <1.2.0-0", readable-stream@~1.1.9: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.6: + version "2.3.3" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + safe-buffer "~5.1.1" + string_decoder "~1.0.3" + util-deprecate "~1.0.1" + +readable-stream@~2.0.0: + version "2.0.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + +readdirp@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" + dependencies: + graceful-fs "^4.1.2" + minimatch "^3.0.2" + readable-stream "^2.0.2" + set-immediate-shim "^1.0.1" + +readline2@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + mute-stream "0.0.5" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + dependencies: + resolve "^1.1.6" + +redent@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + dependencies: + indent-string "^2.1.0" + strip-indent "^1.0.1" + +regenerate@^1.2.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" + +regenerator-runtime@^0.10.0: + version "0.10.5" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" + +regenerator-transform@0.9.11: + version "0.9.11" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.11.tgz#3a7d067520cb7b7176769eb5ff868691befe1283" + dependencies: + babel-runtime "^6.18.0" + babel-types "^6.19.0" + private "^0.1.6" + +regex-cache@^0.4.2: + version "0.4.3" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" + dependencies: + is-equal-shallow "^0.1.3" + is-primitive "^2.0.0" + +regexpu-core@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +regjsgen@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + +regjsparser@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + dependencies: + jsesc "~0.5.0" + +remove-trailing-separator@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.2.tgz#69b062d978727ad14dc6b56ba4ab772fd8d70511" + +repeat-element@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" + +repeat-string@^1.5.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + dependencies: + is-finite "^1.0.0" + +replace-ext@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" + +request@^2.81.0: + version "2.81.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + caseless "~0.12.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.1.1" + har-validator "~4.2.1" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + oauth-sign "~0.8.1" + performance-now "^0.2.0" + qs "~6.4.0" + safe-buffer "^5.0.1" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "^0.6.0" + uuid "^3.0.0" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + +require-uncached@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" + dependencies: + caller-path "^0.1.0" + resolve-from "^1.0.0" + +resolve-dir@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-0.1.1.tgz#b219259a5602fac5c5c496ad894a6e8cc430261e" + dependencies: + expand-tilde "^1.2.2" + global-modules "^0.2.3" + +resolve-from@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" + +resolve-from@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57" + +resolve@1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + +resolve@^1.1.3, resolve@^1.1.4, resolve@^1.1.6, resolve@^1.1.7: + version "1.3.3" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5" + dependencies: + path-parse "^1.0.5" + +restore-cursor@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" + dependencies: + exit-hook "^1.0.0" + onetime "^1.0.0" + +right-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" + dependencies: + align-text "^0.1.1" + +rimraf@2, rimraf@^2.2.8, rimraf@^2.3.3, rimraf@^2.4.3, rimraf@^2.4.4, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" + dependencies: + glob "^7.0.5" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7" + dependencies: + hash-base "^2.0.0" + inherits "^2.0.1" + +run-async@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" + dependencies: + once "^1.3.0" + +rx-lite@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" + +"semver@2 || 3 || 4 || 5", semver@^5.0.0, semver@^5.1.0, semver@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + +semver@^4.1.0: + version "4.3.6" + resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" + +sequencify@~0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/sequencify/-/sequencify-0.0.7.tgz#90cff19d02e07027fd767f5ead3e7b95d1e7380c" + +set-blocking@^2.0.0, set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + +set-immediate-shim@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + +sha.js@^2.4.0, sha.js@^2.4.8, sha.js@~2.4.4: + version "2.4.8" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.8.tgz#37068c2c476b6baf402d14a49c67f597921f634f" + dependencies: + inherits "^2.0.1" + +shasum@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/shasum/-/shasum-1.0.2.tgz#e7012310d8f417f4deb5712150e5678b87ae565f" + dependencies: + json-stable-stringify "~0.0.0" + sha.js "~2.4.4" + +shell-quote@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767" + dependencies: + array-filter "~0.0.0" + array-map "~0.0.0" + array-reduce "~0.0.0" + jsonify "~0.0.0" + +shelljs@^0.7.5: + version "0.7.8" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3" + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +sigmund@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + +signal-exit@^2.0.0, signal-exit@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-2.1.2.tgz#375879b1f92ebc3b334480d038dc546a6d558564" + +signal-exit@^3.0.0, signal-exit@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + +slice-ansi@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" + +slide@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" + +sntp@1.x.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" + dependencies: + hoek "2.x.x" + +sorted-object@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/sorted-object/-/sorted-object-2.0.1.tgz#7d631f4bd3a798a24af1dffcfbfe83337a5df5fc" + +source-map-support@^0.4.2: + version "0.4.15" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.15.tgz#03202df65c06d2bd8c7ec2362a193056fef8d3b1" + dependencies: + source-map "^0.5.6" + +source-map@^0.4.4, source-map@~0.4.0, source-map@~0.4.2: + version "0.4.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + dependencies: + amdefine ">=0.0.4" + +source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3: + version "0.5.6" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + +sparkles@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.0.tgz#1acbbfb592436d10bbe8f785b7cc6f82815012c3" + +spawn-wrap@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-1.2.4.tgz#920eb211a769c093eebfbd5b0e7a5d2e68ab2e40" + dependencies: + foreground-child "^1.3.3" + mkdirp "^0.5.0" + os-homedir "^1.0.1" + rimraf "^2.3.3" + signal-exit "^2.0.0" + which "^1.2.4" + +spdx-correct@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" + dependencies: + spdx-license-ids "^1.0.2" + +spdx-expression-parse@~1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" + +spdx-license-ids@^1.0.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + +sshpk@^1.7.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3" + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + dashdash "^1.12.0" + getpass "^0.1.1" + optionalDependencies: + bcrypt-pbkdf "^1.0.0" + ecc-jsbn "~0.1.1" + jsbn "~0.1.0" + tweetnacl "~0.14.0" + +stream-browserify@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-combiner2@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz#fb4d8a1420ea362764e21ad4780397bebcb41cbe" + dependencies: + duplexer2 "~0.1.0" + readable-stream "^2.0.2" + +stream-consume@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/stream-consume/-/stream-consume-0.1.0.tgz#a41ead1a6d6081ceb79f65b061901b6d8f3d1d0f" + +stream-http@^2.0.0: + version "2.7.2" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.2.tgz#40a050ec8dc3b53b33d9909415c02c0bf1abfbad" + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.2.6" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + +stream-splicer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/stream-splicer/-/stream-splicer-2.0.0.tgz#1b63be438a133e4b671cc1935197600175910d83" + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.2" + +string-width@^1.0.1, string-width@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string-width@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.0.tgz#030664561fc146c9423ec7d978fe2457437fe6d0" + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string_decoder@~0.10.0, string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + +string_decoder@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" + dependencies: + safe-buffer "~5.1.0" + +stringstream@~0.0.4: + version "0.0.5" + resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + dependencies: + ansi-regex "^3.0.0" + +strip-bom-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz#f87db5ef2613f6968aa545abfe1ec728b6a829ca" + dependencies: + first-chunk-stream "^2.0.0" + strip-bom "^2.0.0" + +strip-bom@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-1.0.0.tgz#85b8862f3844b5a6d5ec8467a93598173a36f794" + dependencies: + first-chunk-stream "^1.0.0" + is-utf8 "^0.2.0" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + dependencies: + is-utf8 "^0.2.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + +strip-indent@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + dependencies: + get-stdin "^4.0.1" + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + +subarg@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz#f62cf17581e996b48fc965699f54c06ae268b8d2" + dependencies: + minimist "^1.1.0" + +supports-color@3.1.2, supports-color@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" + dependencies: + has-flag "^1.0.0" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + +sync-exec@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/sync-exec/-/sync-exec-0.6.2.tgz#717d22cc53f0ce1def5594362f3a89a2ebb91105" + +syntax-error@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/syntax-error/-/syntax-error-1.3.0.tgz#1ed9266c4d40be75dc55bf9bb1cb77062bb96ca1" + dependencies: + acorn "^4.0.3" + +table@^3.7.8: + version "3.8.3" + resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" + dependencies: + ajv "^4.7.0" + ajv-keywords "^1.0.0" + chalk "^1.1.1" + lodash "^4.0.0" + slice-ansi "0.0.4" + string-width "^2.0.0" + +tar-pack@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.0.tgz#23be2d7f671a8339376cbdb0b8fe3fdebf317984" + dependencies: + debug "^2.2.0" + fstream "^1.0.10" + fstream-ignore "^1.0.5" + once "^1.3.3" + readable-stream "^2.1.4" + rimraf "^2.5.1" + tar "^2.2.1" + uid-number "^0.0.6" + +tar@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" + dependencies: + block-stream "*" + fstream "^1.0.2" + inherits "2" + +test-exclude@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-2.1.3.tgz#a8d8968e1da83266f9864f2852c55e220f06434a" + dependencies: + arrify "^1.0.1" + micromatch "^2.3.11" + object-assign "^4.1.0" + read-pkg-up "^1.0.1" + require-main-filename "^1.0.1" + +test-exclude@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.1.1.tgz#4d84964b0966b0087ecc334a2ce002d3d9341e26" + dependencies: + arrify "^1.0.1" + micromatch "^2.3.11" + object-assign "^4.1.0" + read-pkg-up "^1.0.1" + require-main-filename "^1.0.1" + +text-table@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + +through2@^0.6.1: + version "0.6.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" + dependencies: + readable-stream ">=1.0.33-1 <1.1.0-0" + xtend ">=4.0.0 <4.1.0-0" + +through2@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/through2/-/through2-1.1.1.tgz#0847cbc4449f3405574dbdccd9bb841b83ac3545" + dependencies: + readable-stream ">=1.1.13-1 <1.2.0-0" + xtend ">=4.0.0 <4.1.0-0" + +through2@^2, through2@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" + dependencies: + readable-stream "^2.1.5" + xtend "~4.0.1" + +"through@>=2.2.7 <3", through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + +tildify@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/tildify/-/tildify-1.2.0.tgz#dcec03f55dca9b7aa3e5b04f21817eb56e63588a" + dependencies: + os-homedir "^1.0.0" + +time-stamp@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" + +timers-browserify@^1.0.1: + version "1.4.2" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz#c9c58b575be8407375cb5e2462dacee74359f41d" + dependencies: + process "~0.11.0" + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + +to-fast-properties@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" + +tough-cookie@~2.3.0: + version "2.3.2" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" + dependencies: + punycode "^1.4.1" + +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + +trim-right@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + +tryit@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" + +tty-browserify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + dependencies: + prelude-ls "~1.1.2" + +type-detect@0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-0.1.1.tgz#0ba5ec2a885640e470ea4e8505971900dac58822" + +type-detect@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-1.0.0.tgz#762217cc06db258ec48908a1298e8b95121e8ea2" + +typedarray@^0.0.6, typedarray@~0.0.5: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + +uglify-js@^2.4.16, uglify-js@^2.6: + version "2.8.29" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" + dependencies: + source-map "~0.5.1" + yargs "~3.10.0" + optionalDependencies: + uglify-to-browserify "~1.0.0" + +uglify-to-browserify@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" + +uid-number@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" + +umd@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/umd/-/umd-3.0.1.tgz#8ae556e11011f63c2596708a8837259f01b3d60e" + +unc-path-regex@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" + +unique-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-1.0.0.tgz#d59a4a75427447d9aa6c91e70263f8d26a4b104b" + +url@~0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +user-home@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" + +user-home@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" + dependencies: + os-homedir "^1.0.0" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +util@0.10.3, util@~0.10.1: + version "0.10.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + dependencies: + inherits "2.0.1" + +uuid@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" + +v8flags@^2.0.2: + version "2.1.1" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" + dependencies: + user-home "^1.1.1" + +validate-npm-package-license@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" + dependencies: + spdx-correct "~1.0.0" + spdx-expression-parse "~1.0.0" + +verror@1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" + dependencies: + extsprintf "1.0.2" + +vinyl-file@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/vinyl-file/-/vinyl-file-2.0.0.tgz#a7ebf5ffbefda1b7d18d140fcb07b223efb6751a" + dependencies: + graceful-fs "^4.1.2" + pify "^2.3.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + strip-bom-stream "^2.0.0" + vinyl "^1.1.0" + +vinyl-fs@^0.3.0: + version "0.3.14" + resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-0.3.14.tgz#9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6" + dependencies: + defaults "^1.0.0" + glob-stream "^3.1.5" + glob-watcher "^0.0.6" + graceful-fs "^3.0.0" + mkdirp "^0.5.0" + strip-bom "^1.0.0" + through2 "^0.6.1" + vinyl "^0.4.0" + +vinyl-sourcemaps-apply@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz#ab6549d61d172c2b1b87be5c508d239c8ef87705" + dependencies: + source-map "^0.5.1" + +vinyl@^0.4.0: + version "0.4.6" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847" + dependencies: + clone "^0.2.0" + clone-stats "^0.0.1" + +vinyl@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde" + dependencies: + clone "^1.0.0" + clone-stats "^0.0.1" + replace-ext "0.0.1" + +vinyl@^1.1.0, vinyl@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884" + dependencies: + clone "^1.0.0" + clone-stats "^0.0.1" + replace-ext "0.0.1" + +vm-browserify@~0.0.1: + version "0.0.4" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" + dependencies: + indexof "0.0.1" + +which-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" + +which@^1.2.12, which@^1.2.4, which@^1.2.9: + version "1.2.14" + resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" + dependencies: + string-width "^1.0.2" + +window-size@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" + +wordwrap@0.0.2, wordwrap@~0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" + +wordwrap@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +write-file-atomic@^1.1.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.4.tgz#f807a4f0b1d9e913ae7a48112e6cc3af1991b45f" + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + slide "^1.1.5" + +write@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" + dependencies: + mkdirp "^0.5.1" + +"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +y18n@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + +yargs-parser@^4.2.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" + dependencies: + camelcase "^3.0.0" + +yargs-parser@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" + dependencies: + camelcase "^3.0.0" + +yargs@^6.5.0: + version "6.6.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" + dependencies: + camelcase "^3.0.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + y18n "^3.2.1" + yargs-parser "^4.2.0" + +yargs@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" + dependencies: + camelcase "^3.0.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + y18n "^3.2.1" + yargs-parser "^5.0.0" + +yargs@~3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" + dependencies: + camelcase "^1.0.2" + cliui "^2.1.0" + decamelize "^1.0.0" + window-size "0.1.0" From fe13ba8fc2ae0bb756cae6d980793ab0e4cf13f0 Mon Sep 17 00:00:00 2001 From: Marcus Cavanaugh Date: Thu, 20 Jul 2017 08:19:10 -0700 Subject: [PATCH 51/60] Remove unused functions from renamer.js. (#5965) --- .../babel-traverse/src/scope/lib/renamer.js | 38 ------------------- 1 file changed, 38 deletions(-) diff --git a/packages/babel-traverse/src/scope/lib/renamer.js b/packages/babel-traverse/src/scope/lib/renamer.js index 1f05cb221a..c2527d4aed 100644 --- a/packages/babel-traverse/src/scope/lib/renamer.js +++ b/packages/babel-traverse/src/scope/lib/renamer.js @@ -70,39 +70,6 @@ export default class Renamer { } } - maybeConvertFromClassFunctionDeclaration(path) { - return; // TODO - - // retain the `name` of a class/function declaration - - if (!path.isFunctionDeclaration() && !path.isClassDeclaration()) return; - if (this.binding.kind !== "hoisted") return; - - path.node.id = t.identifier(this.oldName); - path.node._blockHoist = 3; - - path.replaceWith(t.variableDeclaration("let", [ - t.variableDeclarator(t.identifier(this.newName), t.toExpression(path.node)) - ])); - } - - maybeConvertFromClassFunctionExpression(path) { - return; // TODO - - // retain the `name` of a class/function expression - - if (!path.isFunctionExpression() && !path.isClassExpression()) return; - if (this.binding.kind !== "local") return; - - path.node.id = t.identifier(this.oldName); - - this.binding.scope.parent.push({ - id: t.identifier(this.newName) - }); - - path.replaceWith(t.assignmentExpression("=", t.identifier(this.newName), path.node)); - } - rename(block?) { const { binding, oldName, newName } = this; const { scope, path } = binding; @@ -124,10 +91,5 @@ export default class Renamer { // https://github.com/babel/babel/issues/2435 // todo: hoist and convert function to a let } - - if (parentDeclar) { - this.maybeConvertFromClassFunctionDeclaration(parentDeclar); - this.maybeConvertFromClassFunctionExpression(parentDeclar); - } } } From 4d510520376d22528aef96022e6d0ab3ddc19e14 Mon Sep 17 00:00:00 2001 From: Shuaibird Hwang Date: Tue, 25 Jul 2017 09:46:38 +0800 Subject: [PATCH 52/60] 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`. --- packages/babel-plugin-transform-class-properties/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/babel-plugin-transform-class-properties/README.md b/packages/babel-plugin-transform-class-properties/README.md index 9377f4bad2..083a505b54 100644 --- a/packages/babel-plugin-transform-class-properties/README.md +++ b/packages/babel-plugin-transform-class-properties/README.md @@ -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" From c28465e03e18052ba70643bbb2efcc5327d9b5a2 Mon Sep 17 00:00:00 2001 From: jbrown215 Date: Tue, 15 Aug 2017 16:44:15 -0400 Subject: [PATCH 53/60] 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 --- lib/types.js | 184 ++++++++++++------ packages/babel-core/package.json | 2 +- packages/babel-generator/package.json | 2 +- .../babel-generator/src/generators/flow.js | 92 ++++++++- .../flow/declare-statements/actual.js | 4 + .../flow/declare-statements/expected.js | 4 + .../fixtures/flow/opaque-type-alias/actual.js | 14 ++ .../flow/opaque-type-alias/expected.js | 8 + .../flow-comments/opaque-type-alias/actual.js | 15 ++ .../opaque-type-alias/expected.js | 13 ++ .../strip-opaque-type-alias/actual.js | 16 ++ packages/babel-traverse/package.json | 2 +- packages/babel-types/README.md | 48 ++++- packages/babel-types/package.json | 2 +- packages/babel-types/src/definitions/flow.js | 24 +++ packages/babel-types/src/retrievers.js | 1 + 16 files changed, 353 insertions(+), 78 deletions(-) create mode 100644 packages/babel-generator/test/fixtures/flow/opaque-type-alias/actual.js create mode 100644 packages/babel-generator/test/fixtures/flow/opaque-type-alias/expected.js create mode 100644 packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/opaque-type-alias/actual.js create mode 100644 packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/opaque-type-alias/expected.js create mode 100644 packages/babel-plugin-transform-flow-strip-types/test/fixtures/strip-types/strip-opaque-type-alias/actual.js diff --git a/lib/types.js b/lib/types.js index e42a516b4a..208bef4a13 100644 --- a/lib/types.js +++ b/lib/types.js @@ -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 { @@ -244,20 +245,20 @@ declare class BabelNodeObjectMethod extends BabelNode { kind?: any; computed?: boolean; key: any; - decorators: any; + decorators?: any; body: BabelNodeBlockStatement; generator?: boolean; async?: boolean; params: any; - returnType: any; - typeParameters: any; + returnType?: any; + typeParameters?: any; } declare class BabelNodeObjectProperty extends BabelNode { type: "ObjectProperty"; computed?: boolean; key: any; - value: BabelNodeExpression; + value: BabelNodeExpression | BabelNodePattern | BabelNodeRestElement; shorthand?: boolean; decorators?: any; } @@ -265,6 +266,7 @@ declare class BabelNodeObjectProperty extends BabelNode { declare class BabelNodeRestElement extends BabelNode { type: "RestElement"; argument: BabelNodeLVal; + decorators?: any; typeAnnotation: any; } @@ -301,7 +303,7 @@ declare class BabelNodeThrowStatement extends BabelNode { declare class BabelNodeTryStatement extends BabelNode { type: "TryStatement"; - body: BabelNodeBlockStatement; + body?: ?BabelNodeBlockStatement; handler?: any; finalizer?: ?BabelNodeBlockStatement; block: any; @@ -349,11 +351,13 @@ declare class BabelNodeAssignmentPattern extends BabelNode { type: "AssignmentPattern"; left: BabelNodeIdentifier; right: BabelNodeExpression; + decorators?: any; } declare class BabelNodeArrayPattern extends BabelNode { type: "ArrayPattern"; elements: any; + decorators?: any; typeAnnotation: any; } @@ -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 { @@ -376,9 +381,9 @@ declare class BabelNodeClassDeclaration extends BabelNode { body: BabelNodeClassBody; superClass?: ?BabelNodeExpression; decorators: any; - mixins: any; - typeParameters: any; - superTypeParameters: any; + mixins?: any; + typeParameters?: any; + superTypeParameters?: any; } declare class BabelNodeClassExpression extends BabelNode { @@ -387,9 +392,9 @@ declare class BabelNodeClassExpression extends BabelNode { body: BabelNodeClassBody; superClass?: ?BabelNodeExpression; decorators: any; - mixins: any; - typeParameters: any; - superTypeParameters: any; + mixins?: any; + typeParameters?: any; + superTypeParameters?: 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 { @@ -460,14 +465,15 @@ declare class BabelNodeClassMethod extends BabelNode { body: BabelNodeBlockStatement; generator?: boolean; async?: boolean; - decorators: any; - returnType: any; - typeParameters: any; + decorators?: any; + returnType?: any; + typeParameters?: any; } declare class BabelNodeObjectPattern extends BabelNode { type: "ObjectPattern"; properties: any; + decorators?: any; typeAnnotation: any; } @@ -533,6 +539,7 @@ declare class BabelNodeClassImplements extends BabelNode { declare class BabelNodeClassProperty extends BabelNode { type: "ClassProperty"; + computed?: boolean; key: any; value: any; typeAnnotation: any; @@ -576,6 +583,13 @@ 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; @@ -627,6 +641,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 +687,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 +706,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 +746,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 +794,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; @@ -806,12 +847,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 +894,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 | 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 | 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 +925,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 | 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 | 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; @@ -897,9 +949,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; @@ -912,40 +964,40 @@ declare module "babel-types" { declare function newExpression(callee: BabelNodeExpression, _arguments: any): BabelNodeNewExpression; declare function program(directives?: any, body: 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, 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 | BabelNodePattern | BabelNodeRestElement, shorthand?: boolean, decorators?: any): BabelNodeObjectProperty; + declare function restElement(argument: BabelNodeLVal, decorators?: any, typeAnnotation: 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 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 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, decorators?: any, typeAnnotation: 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, 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 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, 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, decorators?: any, typeAnnotation: any): BabelNodeObjectPattern; declare function spreadElement(argument: BabelNodeExpression): BabelNodeSpreadElement; declare function taggedTemplateExpression(tag: BabelNodeExpression, quasi: BabelNodeTemplateLiteral): BabelNodeTaggedTemplateExpression; declare function templateElement(value: any, tail?: boolean): BabelNodeTemplateElement; @@ -957,13 +1009,14 @@ declare module "babel-types" { 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(computed?: boolean, key: any, value: any, typeAnnotation: any, decorators: any): 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 existentialTypeParam(): BabelNodeExistentialTypeParam; declare function functionTypeAnnotation(typeParameters: any, params: any, rest: any, returnType: any): BabelNodeFunctionTypeAnnotation; @@ -973,6 +1026,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 +1036,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,6 +1055,7 @@ 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; @@ -1007,7 +1065,9 @@ declare module "babel-types" { 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 import(): BabelNodeImport; declare function decorator(expression: BabelNodeExpression): BabelNodeDecorator; declare function doExpression(body: BabelNodeBlockStatement): BabelNodeDoExpression; declare function exportDefaultSpecifier(exported: BabelNodeIdentifier): BabelNodeExportDefaultSpecifier; @@ -1100,6 +1160,7 @@ 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 isExistentialTypeParam(node: Object, opts?: Object): boolean; declare function isFunctionTypeAnnotation(node: Object, opts?: Object): boolean; @@ -1109,6 +1170,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 +1180,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 +1199,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 +1209,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 +1255,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; } diff --git a/packages/babel-core/package.json b/packages/babel-core/package.json index ba942c69ce..fafb82eefc 100644 --- a/packages/babel-core/package.json +++ b/packages/babel-core/package.json @@ -35,7 +35,7 @@ "babel-register": "^6.24.1", "babel-traverse": "^6.25.0", "babel-types": "^6.25.0", - "babylon": "^6.17.2", + "babylon": "^6.18.0", "convert-source-map": "^1.1.0", "debug": "^2.1.1", "json5": "^0.5.0", diff --git a/packages/babel-generator/package.json b/packages/babel-generator/package.json index f679461367..654e5817fe 100644 --- a/packages/babel-generator/package.json +++ b/packages/babel-generator/package.json @@ -22,6 +22,6 @@ }, "devDependencies": { "babel-helper-fixtures": "^6.22.0", - "babylon": "^6.17.2" + "babylon": "^6.18.0" } } diff --git a/packages/babel-generator/src/generators/flow.js b/packages/babel-generator/src/generators/flow.js index ecb676ba7d..ec0abb32fd 100644 --- a/packages/babel-generator/src/generators/flow.js +++ b/packages/babel-generator/src/generators/flow.js @@ -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(":"); diff --git a/packages/babel-generator/test/fixtures/flow/declare-statements/actual.js b/packages/babel-generator/test/fixtures/flow/declare-statements/actual.js index 543efd048a..e9dfb90dc7 100644 --- a/packages/babel-generator/test/fixtures/flow/declare-statements/actual.js +++ b/packages/babel-generator/test/fixtures/flow/declare-statements/actual.js @@ -18,3 +18,7 @@ declare type B = { declare interface I { foo: string } declare interface I { foo: T } declare module.exports: { foo: string } +declare opaque type Foo: Bar; +declare opaque type ID; +declare opaque type num: number; +declare opaque type NumArray; diff --git a/packages/babel-generator/test/fixtures/flow/declare-statements/expected.js b/packages/babel-generator/test/fixtures/flow/declare-statements/expected.js index 8f667c0137..9ea5f57fcc 100644 --- a/packages/babel-generator/test/fixtures/flow/declare-statements/expected.js +++ b/packages/babel-generator/test/fixtures/flow/declare-statements/expected.js @@ -18,3 +18,7 @@ declare type B = { declare interface I { foo: string } declare interface I { foo: T } declare module.exports: { foo: string } +declare opaque type Foo: Bar; +declare opaque type ID; +declare opaque type num: number; +declare opaque type NumArray; diff --git a/packages/babel-generator/test/fixtures/flow/opaque-type-alias/actual.js b/packages/babel-generator/test/fixtures/flow/opaque-type-alias/actual.js new file mode 100644 index 0000000000..1988fcaeed --- /dev/null +++ b/packages/babel-generator/test/fixtures/flow/opaque-type-alias/actual.js @@ -0,0 +1,14 @@ +opaque type ID = string; +opaque type Foo = Bar; +opaque type Maybe = _Maybe; +export opaque type Foo = number; + +opaque type union = + | {type: "A"} + | {type: "B"} +; + +opaque type overloads = + & ((x: string) => number) + & ((x: number) => string) +; diff --git a/packages/babel-generator/test/fixtures/flow/opaque-type-alias/expected.js b/packages/babel-generator/test/fixtures/flow/opaque-type-alias/expected.js new file mode 100644 index 0000000000..301e7dfec6 --- /dev/null +++ b/packages/babel-generator/test/fixtures/flow/opaque-type-alias/expected.js @@ -0,0 +1,8 @@ +opaque type ID = string; +opaque type Foo = Bar; +opaque type Maybe = _Maybe; +export opaque type Foo = number; + +opaque type union = { type: "A" } | { type: "B" }; + +opaque type overloads = (x: string) => number & (x: number) => string; diff --git a/packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/opaque-type-alias/actual.js b/packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/opaque-type-alias/actual.js new file mode 100644 index 0000000000..50a01cdb53 --- /dev/null +++ b/packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/opaque-type-alias/actual.js @@ -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) +; diff --git a/packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/opaque-type-alias/expected.js b/packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/opaque-type-alias/expected.js new file mode 100644 index 0000000000..00fea63b9d --- /dev/null +++ b/packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/opaque-type-alias/expected.js @@ -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) +;*/ diff --git a/packages/babel-plugin-transform-flow-strip-types/test/fixtures/strip-types/strip-opaque-type-alias/actual.js b/packages/babel-plugin-transform-flow-strip-types/test/fixtures/strip-types/strip-opaque-type-alias/actual.js new file mode 100644 index 0000000000..53dfc2c874 --- /dev/null +++ b/packages/babel-plugin-transform-flow-strip-types/test/fixtures/strip-types/strip-opaque-type-alias/actual.js @@ -0,0 +1,16 @@ +opaque type ID = string; +opaque type Foo = Bar +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; diff --git a/packages/babel-traverse/package.json b/packages/babel-traverse/package.json index d683fb0798..71cb6e71fd 100644 --- a/packages/babel-traverse/package.json +++ b/packages/babel-traverse/package.json @@ -12,7 +12,7 @@ "babel-messages": "^6.23.0", "babel-runtime": "^6.22.0", "babel-types": "^6.25.0", - "babylon": "^6.17.2", + "babylon": "^6.18.0", "debug": "^2.2.0", "globals": "^9.0.0", "invariant": "^2.2.0", diff --git a/packages/babel-types/README.md b/packages/babel-types/README.md index 6833883629..48146044d5 100644 --- a/packages/babel-types/README.md +++ b/packages/babel-types/README.md @@ -46,7 +46,7 @@ See also `t.isArrayPattern(node, opts)` and `t.assertArrayPattern(node, opts)`. Aliases: `Pattern`, `LVal` - - `elements`: `Array` (required) + - `elements`: `Array` (required) - `typeAnnotation` (required) - `decorators`: `Array` (default: `null`) @@ -463,6 +463,21 @@ Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration` --- +### declareOpaqueType +```javascript +t.declareOpaqueType(id, typeParameters, supertype) +``` + +See also `t.isDeclareOpaqueType(node, opts)` and `t.assertDeclareOpaqueType(node, opts)`. + +Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration` + + - `id` (required) + - `typeParameters` (required) + - `supertype` (required) + +--- + ### declareTypeAlias ```javascript t.declareTypeAlias(id, typeParameters, right) @@ -1368,7 +1383,7 @@ See also `t.isObjectProperty(node, opts)` and `t.assertObjectProperty(node, opts Aliases: `UserWhitespacable`, `Property`, `ObjectMember` - `key`if computed then `Expression` else `Identifier | Literal` (required) - - `value`: `Expression` (required) + - `value`: `Expression | Pattern | RestElement` (required) - `computed`: `boolean` (default: `false`) - `shorthand`: `boolean` (default: `false`) - `decorators`: `Array` (default: `null`) @@ -1432,6 +1447,35 @@ Aliases: `Flow`, `UserWhitespacable` --- +### objectTypeSpreadProperty +```javascript +t.objectTypeSpreadProperty(argument) +``` + +See also `t.isObjectTypeSpreadProperty(node, opts)` and `t.assertObjectTypeSpreadProperty(node, opts)`. + +Aliases: `Flow`, `UserWhitespacable` + + - `argument` (required) + +--- + +### opaqueType +```javascript +t.opaqueType(id, typeParameters, impltype, supertype) +``` + +See also `t.isOpaqueType(node, opts)` and `t.assertOpaqueType(node, opts)`. + +Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration` + + - `id` (required) + - `typeParameters` (required) + - `impltype` (required) + - `supertype` (required) + +--- + ### parenthesizedExpression ```javascript t.parenthesizedExpression(expression) diff --git a/packages/babel-types/package.json b/packages/babel-types/package.json index 125642c8ad..c546b33673 100644 --- a/packages/babel-types/package.json +++ b/packages/babel-types/package.json @@ -15,6 +15,6 @@ }, "devDependencies": { "babel-generator": "^6.22.0", - "babylon": "^6.17.2" + "babylon": "^6.18.0" } } diff --git a/packages/babel-types/src/definitions/flow.js b/packages/babel-types/src/definitions/flow.js index 0c74bdb00d..23dca259ce 100644 --- a/packages/babel-types/src/definitions/flow.js +++ b/packages/babel-types/src/definitions/flow.js @@ -103,6 +103,14 @@ defineType("DeclareTypeAlias", { } }); +defineType("DeclareOpaqueType", { + visitor: ["id", "typeParameters", "supertype"], + aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], + fields: { + // todo + } +}); + defineType("DeclareVariable", { visitor: ["id"], aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], @@ -111,6 +119,14 @@ defineType("DeclareVariable", { } }); +defineType("DeclareExportDeclaration", { + visitor: ["declaration", "specifiers", "source"], + aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], + fields: { + // todo + }, +}); + defineType("ExistentialTypeParam", { aliases: ["Flow"] }); @@ -236,6 +252,14 @@ defineType("TypeAlias", { } }); +defineType("OpaqueType", { + visitor: ["id", "typeParameters", "impltype", "supertype"], + aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], + fields: { + // todo + } +}); + defineType("TypeAnnotation", { visitor: ["typeAnnotation"], aliases: ["Flow"], diff --git a/packages/babel-types/src/retrievers.js b/packages/babel-types/src/retrievers.js index 2395ba3046..c8f8314efd 100644 --- a/packages/babel-types/src/retrievers.js +++ b/packages/babel-types/src/retrievers.js @@ -70,6 +70,7 @@ getBindingIdentifiers.keys = { DeclareVariable: ["id"], InterfaceDeclaration: ["id"], TypeAlias: ["id"], + OpaqueType: ["id"], CatchClause: ["param"], LabeledStatement: ["label"], From 98824e7cb781ecbea493075111054d6da27a38d5 Mon Sep 17 00:00:00 2001 From: Henry Zhu Date: Tue, 15 Aug 2017 17:01:25 -0400 Subject: [PATCH 54/60] backport the fix #6052 [skip ci] --- .../src/index.js | 1 + .../test/fixtures/interop/export-destructured/actual.js | 4 ++++ .../test/fixtures/interop/export-destructured/expected.js | 7 +++++++ 3 files changed, 12 insertions(+) diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js b/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js index 3bc4d54db7..697ab5e8d3 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js @@ -109,6 +109,7 @@ export default function () { } else if (left.isArrayPattern()) { for (const element of left.node.elements) { + if (!element) continue; const name = element.name; const exports = this.exports[name]; diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/export-destructured/actual.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/export-destructured/actual.js index 09c986a2d1..44169dbd66 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/export-destructured/actual.js +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/export-destructured/actual.js @@ -12,3 +12,7 @@ export function f2 () { export function f3 () { [x, y, z] = [3, 4, 5] } + +export function f4 () { + [x, , y] = [3, 4, 5] +} diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/export-destructured/expected.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/export-destructured/expected.js index d7015886fc..1dcd7bcb56 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/export-destructured/expected.js +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/export-destructured/expected.js @@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { exports.f1 = f1; exports.f2 = f2; exports.f3 = f3; +exports.f4 = f4; let x = exports.x = 0; let y = exports.y = 0; @@ -25,3 +26,9 @@ function f3() { exports.y = y; exports.x = x; } + +function f4() { + [x,, y] = [3, 4, 5]; + exports.y = y; + exports.x = x; +} From d375d80001cdef9d290afc1db175497efaa332b5 Mon Sep 17 00:00:00 2001 From: Henry Zhu Date: Tue, 15 Aug 2017 17:06:16 -0400 Subject: [PATCH 55/60] 6.26.0 changelog [skip ci] --- CHANGELOG.md | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9591d0f9ec..4804019326 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,65 @@ _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-15) + +> 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: 17 +- 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)) +- 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)) +- Shuaibird Hwang ([shuaibird](https://github.com/shuaibird)) +- Suman ([ssuman](https://github.com/ssuman)) +- Sven SAULEAU ([xtuc](https://github.com/xtuc)) +- [jbrown215](https://github.com/jbrown215) +- u9lyfish@gmail.com ([u9lyfish](https://github.com/u9lyfish)) + ## 6.25.0 (2017-06-08) Just backporting a few things. From f4716dc816fc9fd81e56aa4537e2f0ff6aa8290e Mon Sep 17 00:00:00 2001 From: jbrown215 Date: Tue, 15 Aug 2017 17:42:01 -0400 Subject: [PATCH 56/60] Backport #6031 (#6112) * Backport #6031 * Backport #6031 * Rebase on master, rerun scripts * Update flowconfig --- .flowconfig | 1 + lib/types.js | 102 ++++++++++++++++++--------------- packages/babel-types/README.md | 15 +++++ scripts/generate-interfaces.js | 75 ++++++++++++++---------- 4 files changed, 116 insertions(+), 77 deletions(-) diff --git a/.flowconfig b/.flowconfig index 1f7415a495..50a3b68e84 100644 --- a/.flowconfig +++ b/.flowconfig @@ -1,6 +1,7 @@ [ignore] .*/packages/.*/lib .*/packages/.*/test +.*/node_modules/conventional-changelog-core/ [include] packages/*/src diff --git a/lib/types.js b/lib/types.js index 208bef4a13..a5e6e79dfa 100644 --- a/lib/types.js +++ b/lib/types.js @@ -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 { @@ -231,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 { @@ -243,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; + 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 | BabelNodePattern | BabelNodeRestElement; + computed?: boolean; shorthand?: boolean; decorators?: any; } @@ -266,8 +266,8 @@ declare class BabelNodeObjectProperty extends BabelNode { declare class BabelNodeRestElement extends BabelNode { type: "RestElement"; argument: BabelNodeLVal; - decorators?: any; typeAnnotation: any; + decorators?: any; } declare class BabelNodeReturnStatement extends BabelNode { @@ -303,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 { @@ -357,8 +357,8 @@ declare class BabelNodeAssignmentPattern extends BabelNode { declare class BabelNodeArrayPattern extends BabelNode { type: "ArrayPattern"; elements: any; - decorators?: any; typeAnnotation: any; + decorators?: any; } declare class BabelNodeArrowFunctionExpression extends BabelNode { @@ -378,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; + 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; + typeParameters?: any; } declare class BabelNodeExportAllDeclaration extends BabelNode { @@ -459,13 +459,13 @@ 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; + generator?: boolean; returnType?: any; typeParameters?: any; } @@ -473,8 +473,8 @@ declare class BabelNodeClassMethod extends BabelNode { declare class BabelNodeObjectPattern extends BabelNode { type: "ObjectPattern"; properties: any; - decorators?: any; typeAnnotation: any; + decorators?: any; } declare class BabelNodeSpreadElement extends BabelNode { @@ -506,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 { @@ -539,11 +539,11 @@ declare class BabelNodeClassImplements extends BabelNode { declare class BabelNodeClassProperty extends BabelNode { type: "ClassProperty"; - computed?: boolean; key: any; value: any; typeAnnotation: any; decorators: any; + computed?: boolean; } declare class BabelNodeDeclareClass extends BabelNode { @@ -595,6 +595,13 @@ declare class BabelNodeDeclareVariable extends BabelNode { id: any; } +declare class BabelNodeDeclareExportDeclaration extends BabelNode { + type: "DeclareExportDeclaration"; + declaration: any; + specifiers: any; + source: any; +} + declare class BabelNodeExistentialTypeParam extends BabelNode { type: "ExistentialTypeParam"; } @@ -819,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 { @@ -899,7 +906,7 @@ type BabelNodeBinary = BabelNodeBinaryExpression | BabelNodeLogicalExpression; 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 | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareOpaqueType | BabelNodeDeclareVariable | BabelNodeInterfaceDeclaration | BabelNodeTypeAlias | BabelNodeOpaqueType | BabelNodeForAwaitStatement; +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; @@ -911,7 +918,7 @@ type BabelNodeForXStatement = BabelNodeForInStatement | BabelNodeForOfStatement 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 | BabelNodeDeclareOpaqueType | BabelNodeDeclareVariable | BabelNodeInterfaceDeclaration | BabelNodeTypeAlias | BabelNodeOpaqueType; +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 | BabelNodeJSXSpreadChild | BabelNodeJSXOpeningElement | BabelNodeJSXText; @@ -925,9 +932,9 @@ 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 | BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareOpaqueType | BabelNodeDeclareVariable | 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 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 | BabelNodeInterfaceDeclaration | BabelNodeTypeAlias | BabelNodeOpaqueType; +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" { @@ -936,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; @@ -962,30 +969,30 @@ 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 | BabelNodePattern | BabelNodeRestElement, shorthand?: boolean, decorators?: any): BabelNodeObjectProperty; - declare function restElement(argument: BabelNodeLVal, decorators?: any, 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, decorators?: any): BabelNodeAssignmentPattern; - declare function arrayPattern(elements: any, decorators?: any, typeAnnotation: any): BabelNodeArrayPattern; + 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; @@ -996,20 +1003,20 @@ declare module "babel-types" { declare function importNamespaceSpecifier(local: BabelNodeIdentifier): BabelNodeImportNamespaceSpecifier; 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, decorators?: 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(computed?: boolean, 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; @@ -1018,6 +1025,7 @@ declare module "babel-types" { 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; @@ -1059,7 +1067,7 @@ declare module "babel-types" { 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; @@ -1067,7 +1075,6 @@ declare module "babel-types" { 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 import(): BabelNodeImport; declare function decorator(expression: BabelNodeExpression): BabelNodeDecorator; declare function doExpression(body: BabelNodeBlockStatement): BabelNodeDoExpression; declare function exportDefaultSpecifier(exported: BabelNodeIdentifier): BabelNodeExportDefaultSpecifier; @@ -1162,6 +1169,7 @@ declare module "babel-types" { 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; diff --git a/packages/babel-types/README.md b/packages/babel-types/README.md index 48146044d5..b0e3f1a1b1 100644 --- a/packages/babel-types/README.md +++ b/packages/babel-types/README.md @@ -407,6 +407,21 @@ Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration` --- +### declareExportDeclaration +```javascript +t.declareExportDeclaration(declaration, specifiers, source) +``` + +See also `t.isDeclareExportDeclaration(node, opts)` and `t.assertDeclareExportDeclaration(node, opts)`. + +Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration` + + - `declaration` (required) + - `specifiers` (required) + - `source` (required) + +--- + ### declareFunction ```javascript t.declareFunction(id) diff --git a/scripts/generate-interfaces.js b/scripts/generate-interfaces.js index e51f8f39b6..b091d6d9d3 100644 --- a/scripts/generate-interfaces.js +++ b/scripts/generate-interfaces.js @@ -52,52 +52,67 @@ for (var type in t.NODE_FIELDS) { var struct = ['type: "' + type + '";']; var args = []; - for (var fieldName in fields) { - var field = fields[fieldName]; + Object.keys(t.NODE_FIELDS[type]) + .sort((fieldA, fieldB) => { + const indexA = t.BUILDER_KEYS[type].indexOf(fieldA); + const indexB = t.BUILDER_KEYS[type].indexOf(fieldB); + if (indexA === indexB) return fieldA < fieldB ? -1 : 1; + if (indexA === -1) return 1; + if (indexB === -1) return -1; + return indexA - indexB; + }) + .forEach(fieldName => { + const field = fields[fieldName]; - var suffix = ""; - if (field.optional || field.default != null) suffix += "?"; + let suffix = ""; + if (field.optional || field.default != null) suffix += "?"; - var typeAnnotation = "any"; + let typeAnnotation = "any"; - var validate = field.validate; - if (validate) { - if (validate.oneOf) { - typeAnnotation = validate.oneOf.map(function (val) { - return JSON.stringify(val); - }).join(" | "); - } + const validate = field.validate; + if (validate) { + if (validate.oneOf) { + typeAnnotation = validate.oneOf + .map(function(val) { + return JSON.stringify(val); + }) + .join(" | "); + } - if (validate.type) { - typeAnnotation = validate.type; + if (validate.type) { + typeAnnotation = validate.type; - if (typeAnnotation === "array") { - typeAnnotation = "Array"; + if (typeAnnotation === "array") { + typeAnnotation = "Array"; + } + } + + if (validate.oneOfNodeTypes) { + const types = validate.oneOfNodeTypes.map( + type => `${NODE_PREFIX}${type}` + ); + typeAnnotation = types.join(" | "); + if (suffix === "?") typeAnnotation = "?" + typeAnnotation; } } - if (validate.oneOfNodeTypes) { - var types = validate.oneOfNodeTypes.map(type => `${NODE_PREFIX}${type}`); - typeAnnotation = types.join(" | "); - if (suffix === "?") typeAnnotation = "?" + typeAnnotation; + if (typeAnnotation) { + suffix += ": " + typeAnnotation; } - } - if (typeAnnotation) { - suffix += ": " + typeAnnotation; - } + args.push(t.toBindingIdentifierName(fieldName) + suffix); - args.push(t.toBindingIdentifierName(fieldName) + suffix); - if (!t.isValidIdentifier(fieldName)) continue; - struct.push(fieldName + suffix + ";"); - } + if (t.isValidIdentifier(fieldName)) { + struct.push(fieldName + suffix + ";"); + } + }); code += `declare class ${NODE_PREFIX}${type} extends ${NODE_PREFIX} { ${struct.join("\n ").trim()} }\n\n`; - // Flow chokes on super() :/ - if (type !== 'Super') { + // Flow chokes on super() and import() :/ + if (type !== "Super" && type !== "Import") { lines.push(`declare function ${type[0].toLowerCase() + type.slice(1)}(${args.join(", ")}): ${NODE_PREFIX}${type};`); } } From 7b30f77954d08ae1df774b019b1616b1f1f42735 Mon Sep 17 00:00:00 2001 From: Henry Zhu Date: Wed, 16 Aug 2017 10:14:19 -0400 Subject: [PATCH 57/60] Merge pull request #6111 from modosc/update-regenerator Update regenerator --- .../transformation/misc/regression-2892/expected.js | 6 +++--- .../test/fixtures/regression/T6755/expected.js | 2 +- packages/babel-plugin-transform-regenerator/package.json | 2 +- .../test/fixtures/computed-properties/example/expected.js | 4 ++-- .../test/fixtures/regression/6733/expected.js | 4 ++-- .../test/fixtures/regression/T7041/expected.js | 4 ++-- .../fixtures/variable-renaming/retain-lines/expected.js | 2 +- .../test/fixtures/runtime/custom-runtime/expected.js | 4 ++-- .../test/fixtures/runtime/full/expected.js | 4 ++-- .../test/fixtures/runtime/regenerator-runtime/expected.js | 2 +- packages/babel-runtime/package.json | 2 +- 11 files changed, 18 insertions(+), 18 deletions(-) diff --git a/packages/babel-core/test/fixtures/transformation/misc/regression-2892/expected.js b/packages/babel-core/test/fixtures/transformation/misc/regression-2892/expected.js index 9047cffccf..2595efa58d 100644 --- a/packages/babel-core/test/fixtures/transformation/misc/regression-2892/expected.js +++ b/packages/babel-core/test/fixtures/transformation/misc/regression-2892/expected.js @@ -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) { diff --git a/packages/babel-plugin-transform-es2015-classes/test/fixtures/regression/T6755/expected.js b/packages/babel-plugin-transform-es2015-classes/test/fixtures/regression/T6755/expected.js index 3a32ac177a..cea49eeb84 100644 --- a/packages/babel-plugin-transform-es2015-classes/test/fixtures/regression/T6755/expected.js +++ b/packages/babel-plugin-transform-es2015-classes/test/fixtures/regression/T6755/expected.js @@ -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) { diff --git a/packages/babel-plugin-transform-regenerator/package.json b/packages/babel-plugin-transform-regenerator/package.json index 3b5887adfa..efcfce875d 100644 --- a/packages/babel-plugin-transform-regenerator/package.json +++ b/packages/babel-plugin-transform-regenerator/package.json @@ -7,7 +7,7 @@ "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-regenerator", "main": "lib/index.js", "dependencies": { - "regenerator-transform": "0.9.11" + "regenerator-transform": "0.10.0" }, "license": "MIT", "devDependencies": { 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 index ed5887aa72..6f8d6488de 100644 --- 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 @@ -1,5 +1,5 @@ var o = { - foo: regeneratorRuntime.mark(function _callee() { + foo: /*#__PURE__*/regeneratorRuntime.mark(function _callee() { return regeneratorRuntime.wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: @@ -11,4 +11,4 @@ var o = { } }, _callee, this); }) -}; \ No newline at end of file +}; diff --git a/packages/babel-plugin-transform-regenerator/test/fixtures/regression/6733/expected.js b/packages/babel-plugin-transform-regenerator/test/fixtures/regression/6733/expected.js index 087e07f510..8169244759 100644 --- a/packages/babel-plugin-transform-regenerator/test/fixtures/regression/6733/expected.js +++ b/packages/babel-plugin-transform-regenerator/test/fixtures/regression/6733/expected.js @@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = _callee; -var _marked = [_callee].map(regeneratorRuntime.mark); +var _marked = /*#__PURE__*/regeneratorRuntime.mark(_callee); function _callee() { var x; @@ -25,5 +25,5 @@ function _callee() { return _context.stop(); } } - }, _marked[0], this); + }, _marked, this); } diff --git a/packages/babel-plugin-transform-regenerator/test/fixtures/regression/T7041/expected.js b/packages/babel-plugin-transform-regenerator/test/fixtures/regression/T7041/expected.js index e7ca8a685c..49b199c607 100644 --- a/packages/babel-plugin-transform-regenerator/test/fixtures/regression/T7041/expected.js +++ b/packages/babel-plugin-transform-regenerator/test/fixtures/regression/T7041/expected.js @@ -10,7 +10,7 @@ var _keys2 = _interopRequireDefault(_keys); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -var _marked = [fn].map(_regenerator2.default.mark); +var _marked = /*#__PURE__*/_regenerator2.default.mark(fn); (0, _keys2.default)({}); @@ -23,5 +23,5 @@ function fn() { return _context.stop(); } } - }, _marked[0], this); + }, _marked, this); } diff --git a/packages/babel-plugin-transform-regenerator/test/fixtures/variable-renaming/retain-lines/expected.js b/packages/babel-plugin-transform-regenerator/test/fixtures/variable-renaming/retain-lines/expected.js index 76c55e3f30..9f5fc2e4a3 100644 --- a/packages/babel-plugin-transform-regenerator/test/fixtures/variable-renaming/retain-lines/expected.js +++ b/packages/babel-plugin-transform-regenerator/test/fixtures/variable-renaming/retain-lines/expected.js @@ -1,4 +1,4 @@ -var func = regeneratorRuntime.mark(function _callee() {var actual;return regeneratorRuntime.wrap(function _callee$(_context) {while (1) switch (_context.prev = _context.next) {case 0:_context.next = 2;return ( +var func = /*#__PURE__*/regeneratorRuntime.mark(function _callee() {var actual;return regeneratorRuntime.wrap(function _callee$(_context) {while (1) switch (_context.prev = _context.next) {case 0:_context.next = 2;return ( obj. method(). method2());case 2: diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/custom-runtime/expected.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/custom-runtime/expected.js index a0f3136c07..9320cd7795 100644 --- a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/custom-runtime/expected.js +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/custom-runtime/expected.js @@ -1,7 +1,7 @@ import _regeneratorRuntime from "foo/regenerator"; import _Symbol from "foo/core-js/symbol"; -var _marked = [giveWord].map(_regeneratorRuntime.mark); +var _marked = /*#__PURE__*/_regeneratorRuntime.mark(giveWord); import foo, * as bar from "someModule"; @@ -17,7 +17,7 @@ export function giveWord() { case "end": return _context.stop(); } - }, _marked[0], this); + }, _marked, this); } foo; diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/full/expected.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/full/expected.js index cc3ab01b1c..786fd72fdd 100644 --- a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/full/expected.js +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/full/expected.js @@ -1,7 +1,7 @@ import _regeneratorRuntime from "babel-runtime/regenerator"; import _Symbol from "babel-runtime/core-js/symbol"; -var _marked = [giveWord].map(_regeneratorRuntime.mark); +var _marked = /*#__PURE__*/_regeneratorRuntime.mark(giveWord); import foo, * as bar from "someModule"; @@ -17,7 +17,7 @@ export function giveWord() { case "end": return _context.stop(); } - }, _marked[0], this); + }, _marked, this); } foo; diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/regenerator-runtime/expected.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/regenerator-runtime/expected.js index 3ba21d10de..d3c713b9cb 100644 --- a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/regenerator-runtime/expected.js +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/regenerator-runtime/expected.js @@ -1,5 +1,5 @@ import _regeneratorRuntime from "babel-runtime/regenerator"; -void _regeneratorRuntime.mark(function _callee() { +void /*#__PURE__*/_regeneratorRuntime.mark(function _callee() { return _regeneratorRuntime.wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: diff --git a/packages/babel-runtime/package.json b/packages/babel-runtime/package.json index aa64eadd57..590378e292 100644 --- a/packages/babel-runtime/package.json +++ b/packages/babel-runtime/package.json @@ -7,7 +7,7 @@ "author": "Sebastian McKenzie ", "dependencies": { "core-js": "^2.4.0", - "regenerator-runtime": "^0.10.0" + "regenerator-runtime": "^0.11.0" }, "devDependencies": { "babel-helpers": "^6.22.0", From 5749276d7e77c721149fbd5fe398eda0e80f906b Mon Sep 17 00:00:00 2001 From: Henry Zhu Date: Wed, 16 Aug 2017 10:21:19 -0400 Subject: [PATCH 58/60] update deps --- packages/babel-cli/package.json | 18 ++++++++--------- packages/babel-code-frame/package.json | 4 ++-- packages/babel-core/package.json | 20 +++++++++---------- packages/babel-generator/package.json | 4 ++-- .../package.json | 2 +- packages/babel-helper-define-map/package.json | 4 ++-- packages/babel-helper-fixtures/package.json | 4 ++-- packages/babel-helper-regex/package.json | 4 ++-- .../package.json | 14 ++++++------- .../package.json | 6 +++--- .../package.json | 2 +- .../package.json | 2 +- packages/babel-polyfill/package.json | 4 ++-- packages/babel-register/package.json | 6 +++--- packages/babel-template/package.json | 6 +++--- packages/babel-traverse/package.json | 8 ++++---- packages/babel-types/package.json | 4 ++-- 17 files changed, 56 insertions(+), 56 deletions(-) diff --git a/packages/babel-cli/package.json b/packages/babel-cli/package.json index 004f8aaf37..6c64b93ec1 100644 --- a/packages/babel-cli/package.json +++ b/packages/babel-cli/package.json @@ -17,19 +17,19 @@ ], "dependencies": { "babel-core": "^6.24.1", - "babel-register": "^6.24.1", "babel-polyfill": "^6.23.0", + "babel-register": "^6.24.1", "babel-runtime": "^6.22.0", - "commander": "^2.8.1", - "convert-source-map": "^1.1.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" diff --git a/packages/babel-code-frame/package.json b/packages/babel-code-frame/package.json index 692187128a..d544cebf27 100644 --- a/packages/babel-code-frame/package.json +++ b/packages/babel-code-frame/package.json @@ -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" } } diff --git a/packages/babel-core/package.json b/packages/babel-core/package.json index fafb82eefc..8376f5b160 100644 --- a/packages/babel-core/package.json +++ b/packages/babel-core/package.json @@ -30,21 +30,21 @@ "babel-generator": "^6.25.0", "babel-helpers": "^6.24.1", "babel-messages": "^6.23.0", - "babel-template": "^6.25.0", - "babel-runtime": "^6.22.0", "babel-register": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.25.0", "babel-traverse": "^6.25.0", "babel-types": "^6.25.0", "babylon": "^6.18.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", + "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", diff --git a/packages/babel-generator/package.json b/packages/babel-generator/package.json index 654e5817fe..e811f7a3fc 100644 --- a/packages/babel-generator/package.json +++ b/packages/babel-generator/package.json @@ -16,8 +16,8 @@ "babel-types": "^6.25.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": { diff --git a/packages/babel-helper-builder-react-jsx/package.json b/packages/babel-helper-builder-react-jsx/package.json index 00796cf0af..3517a5ec7d 100644 --- a/packages/babel-helper-builder-react-jsx/package.json +++ b/packages/babel-helper-builder-react-jsx/package.json @@ -8,6 +8,6 @@ "dependencies": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1", - "esutils": "^2.0.0" + "esutils": "^2.0.2" } } diff --git a/packages/babel-helper-define-map/package.json b/packages/babel-helper-define-map/package.json index 7d3a0809b5..9d85f69e28 100644 --- a/packages/babel-helper-define-map/package.json +++ b/packages/babel-helper-define-map/package.json @@ -6,9 +6,9 @@ "license": "MIT", "main": "lib/index.js", "dependencies": { + "babel-helper-function-name": "^6.24.1", "babel-runtime": "^6.22.0", - "lodash": "^4.2.0", "babel-types": "^6.24.1", - "babel-helper-function-name": "^6.24.1" + "lodash": "^4.17.4" } } diff --git a/packages/babel-helper-fixtures/package.json b/packages/babel-helper-fixtures/package.json index f02d590a3e..8d9fe36c33 100644 --- a/packages/babel-helper-fixtures/package.json +++ b/packages/babel-helper-fixtures/package.json @@ -8,7 +8,7 @@ "main": "lib/index.js", "dependencies": { "babel-runtime": "^6.22.0", - "lodash": "^4.2.0", - "try-resolve": "^1.0.0" + "lodash": "^4.17.4", + "try-resolve": "^1.0.1" } } diff --git a/packages/babel-helper-regex/package.json b/packages/babel-helper-regex/package.json index 894abcea05..fe98aa94f4 100644 --- a/packages/babel-helper-regex/package.json +++ b/packages/babel-helper-regex/package.json @@ -7,7 +7,7 @@ "main": "lib/index.js", "dependencies": { "babel-runtime": "^6.22.0", - "lodash": "^4.2.0", - "babel-types": "^6.24.1" + "babel-types": "^6.24.1", + "lodash": "^4.17.4" } } diff --git a/packages/babel-helper-transform-fixture-test-runner/package.json b/packages/babel-helper-transform-fixture-test-runner/package.json index 24865aff9b..779fe0a744 100644 --- a/packages/babel-helper-transform-fixture-test-runner/package.json +++ b/packages/babel-helper-transform-fixture-test-runner/package.json @@ -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.1", - "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-core": "^6.24.1", + "babel-helper-fixtures": "^6.22.0", + "babel-polyfill": "^6.23.0", + "babel-runtime": "^6.22.0", + "chai": "^3.5.0", + "lodash": "^4.17.4", + "source-map": "^0.5.6" } } diff --git a/packages/babel-plugin-transform-es2015-block-scoping/package.json b/packages/babel-plugin-transform-es2015-block-scoping/package.json index 0b8883d683..dcb56d4e52 100644 --- a/packages/babel-plugin-transform-es2015-block-scoping/package.json +++ b/packages/babel-plugin-transform-es2015-block-scoping/package.json @@ -6,11 +6,11 @@ "license": "MIT", "main": "lib/index.js", "dependencies": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", "babel-traverse": "^6.24.1", "babel-types": "^6.24.1", - "babel-template": "^6.24.1", - "lodash": "^4.2.0", - "babel-runtime": "^6.22.0" + "lodash": "^4.17.4" }, "keywords": [ "babel-plugin" diff --git a/packages/babel-plugin-transform-proto-to-assign/package.json b/packages/babel-plugin-transform-proto-to-assign/package.json index 565d5620f4..1987c5f4ad 100644 --- a/packages/babel-plugin-transform-proto-to-assign/package.json +++ b/packages/babel-plugin-transform-proto-to-assign/package.json @@ -10,7 +10,7 @@ ], "dependencies": { "babel-runtime": "^6.22.0", - "lodash": "^4.2.0" + "lodash": "^4.17.4" }, "devDependencies": { "babel-helper-plugin-test-runner": "^6.22.0" diff --git a/packages/babel-plugin-transform-regenerator/package.json b/packages/babel-plugin-transform-regenerator/package.json index efcfce875d..6fe6b05ebc 100644 --- a/packages/babel-plugin-transform-regenerator/package.json +++ b/packages/babel-plugin-transform-regenerator/package.json @@ -7,7 +7,7 @@ "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-regenerator", "main": "lib/index.js", "dependencies": { - "regenerator-transform": "0.10.0" + "regenerator-transform": "^0.10.0" }, "license": "MIT", "devDependencies": { diff --git a/packages/babel-polyfill/package.json b/packages/babel-polyfill/package.json index 377f0b1601..bbbf7cdb67 100644 --- a/packages/babel-polyfill/package.json +++ b/packages/babel-polyfill/package.json @@ -8,8 +8,8 @@ "repository": "https://github.com/babel/babel/tree/master/packages/babel-polyfill", "main": "lib/index.js", "dependencies": { - "core-js": "^2.4.0", "babel-runtime": "^6.22.0", - "regenerator-runtime": "^0.10.0" + "core-js": "^2.5.0", + "regenerator-runtime": "^0.10.5" } } diff --git a/packages/babel-register/package.json b/packages/babel-register/package.json index 13db56e091..05a91154a9 100644 --- a/packages/babel-register/package.json +++ b/packages/babel-register/package.json @@ -10,11 +10,11 @@ "dependencies": { "babel-core": "^6.24.1", "babel-runtime": "^6.22.0", - "core-js": "^2.4.0", + "core-js": "^2.5.0", "home-or-tmp": "^2.0.0", - "lodash": "^4.2.0", + "lodash": "^4.17.4", "mkdirp": "^0.5.1", - "source-map-support": "^0.4.2" + "source-map-support": "^0.4.15" }, "devDependencies": { "decache": "^4.1.0" diff --git a/packages/babel-template/package.json b/packages/babel-template/package.json index f6ad3575ee..f462921f03 100644 --- a/packages/babel-template/package.json +++ b/packages/babel-template/package.json @@ -8,10 +8,10 @@ "repository": "https://github.com/babel/babel/tree/master/packages/babel-template", "main": "lib/index.js", "dependencies": { - "babylon": "^6.17.2", + "babel-runtime": "^6.22.0", "babel-traverse": "^6.25.0", "babel-types": "^6.25.0", - "babel-runtime": "^6.22.0", - "lodash": "^4.2.0" + "babylon": "^6.18.0", + "lodash": "^4.17.4" } } diff --git a/packages/babel-traverse/package.json b/packages/babel-traverse/package.json index 71cb6e71fd..cfb128b7ac 100644 --- a/packages/babel-traverse/package.json +++ b/packages/babel-traverse/package.json @@ -13,10 +13,10 @@ "babel-runtime": "^6.22.0", "babel-types": "^6.25.0", "babylon": "^6.18.0", - "debug": "^2.2.0", - "globals": "^9.0.0", - "invariant": "^2.2.0", - "lodash": "^4.2.0" + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" }, "devDependencies": { "babel-generator": "^6.25.0" diff --git a/packages/babel-types/package.json b/packages/babel-types/package.json index c546b33673..5ceba4f6c5 100644 --- a/packages/babel-types/package.json +++ b/packages/babel-types/package.json @@ -10,8 +10,8 @@ "dependencies": { "babel-runtime": "^6.22.0", "esutils": "^2.0.2", - "lodash": "^4.2.0", - "to-fast-properties": "^1.0.1" + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" }, "devDependencies": { "babel-generator": "^6.22.0", From aa330999d01e7f11714749bb08e57d451a1a6ce9 Mon Sep 17 00:00:00 2001 From: Henry Zhu Date: Wed, 16 Aug 2017 11:39:05 -0400 Subject: [PATCH 59/60] update changelog --- CHANGELOG.md | 58 +++++++++++++++++++++++++++------------------------- 1 file changed, 30 insertions(+), 28 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4804019326..b597f22f24 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,7 @@ _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-15) +## 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. @@ -53,12 +53,13 @@ See [CHANGELOG - 6to5](CHANGELOG-6to5.md) for the pre-4.0.0 version changelog. * Other * [#5938](https://github.com/babel/babel/pull/5938) Remove codecov node package and use bash uploader. ([@existentialism](https://github.com/existentialism)) -#### Committers: 17 +#### 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)) @@ -66,10 +67,11 @@ See [CHANGELOG - 6to5](CHANGELOG-6to5.md) for the pre-4.0.0 version changelog. - 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)) -- [jbrown215](https://github.com/jbrown215) +- jonathan schatz ([modosc](https://github.com/modosc)) - u9lyfish@gmail.com ([u9lyfish](https://github.com/u9lyfish)) ## 6.25.0 (2017-06-08) @@ -348,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"]); ``` @@ -364,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)) @@ -378,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)) @@ -393,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` @@ -545,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)) @@ -554,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(); } ``` @@ -565,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; } ``` @@ -611,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)) @@ -733,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)) @@ -745,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)) @@ -754,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)) @@ -1066,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. @@ -1751,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' @@ -1760,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)) @@ -1815,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]; @@ -1881,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)) @@ -1964,7 +1966,7 @@ npm install babel-preset-latest --save-dev { "presets": [ ["latest", { "es2015": { - "modules": false + "modules": false } }] ] } @@ -2202,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. @@ -2250,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 From cee4cde53e4f452d89229986b9368ecdb41e00da Mon Sep 17 00:00:00 2001 From: Henry Zhu Date: Wed, 16 Aug 2017 11:54:08 -0400 Subject: [PATCH 60/60] v6.26.0 --- lerna.json | 2 +- packages/babel-cli/package.json | 12 +++++----- packages/babel-code-frame/package.json | 2 +- packages/babel-core/package.json | 22 +++++++++---------- packages/babel-generator/package.json | 8 +++---- .../package.json | 6 ++--- packages/babel-helper-define-map/package.json | 6 ++--- packages/babel-helper-fixtures/package.json | 4 ++-- packages/babel-helper-regex/package.json | 6 ++--- .../package.json | 12 +++++----- .../package.json | 10 ++++----- .../package.json | 10 ++++----- .../package.json | 4 ++-- .../package.json | 4 ++-- .../package.json | 2 +- packages/babel-polyfill/package.json | 4 ++-- packages/babel-register/package.json | 6 ++--- packages/babel-runtime/package.json | 2 +- packages/babel-template/package.json | 8 +++---- packages/babel-traverse/package.json | 10 ++++----- packages/babel-types/package.json | 6 ++--- 21 files changed, 73 insertions(+), 73 deletions(-) diff --git a/lerna.json b/lerna.json index f1b0562215..905e07659e 100644 --- a/lerna.json +++ b/lerna.json @@ -1,6 +1,6 @@ { "lerna": "2.0.0-beta.38", - "version": "6.25.0", + "version": "6.26.0", "changelog": { "repo": "babel/babel", "labels": { diff --git a/packages/babel-cli/package.json b/packages/babel-cli/package.json index 6c64b93ec1..cc7728b33b 100644 --- a/packages/babel-cli/package.json +++ b/packages/babel-cli/package.json @@ -1,6 +1,6 @@ { "name": "babel-cli", - "version": "6.24.1", + "version": "6.26.0", "description": "Babel command line.", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", @@ -16,10 +16,10 @@ "compiler" ], "dependencies": { - "babel-core": "^6.24.1", - "babel-polyfill": "^6.23.0", - "babel-register": "^6.24.1", - "babel-runtime": "^6.22.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", @@ -35,7 +35,7 @@ "chokidar": "^1.6.1" }, "devDependencies": { - "babel-helper-fixtures": "^6.22.0" + "babel-helper-fixtures": "^6.26.0" }, "bin": { "babel-doctor": "./bin/babel-doctor.js", diff --git a/packages/babel-code-frame/package.json b/packages/babel-code-frame/package.json index d544cebf27..7cf9346c3b 100644 --- a/packages/babel-code-frame/package.json +++ b/packages/babel-code-frame/package.json @@ -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 ", "homepage": "https://babeljs.io/", diff --git a/packages/babel-core/package.json b/packages/babel-core/package.json index 8376f5b160..496cdfc50c 100644 --- a/packages/babel-core/package.json +++ b/packages/babel-core/package.json @@ -1,6 +1,6 @@ { "name": "babel-core", - "version": "6.25.0", + "version": "6.26.0", "description": "Babel compiler core.", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", @@ -26,15 +26,15 @@ "test": "make test" }, "dependencies": { - "babel-code-frame": "^6.22.0", - "babel-generator": "^6.25.0", + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", "babel-helpers": "^6.24.1", "babel-messages": "^6.23.0", - "babel-register": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.25.0", - "babel-traverse": "^6.25.0", - "babel-types": "^6.25.0", + "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", @@ -47,8 +47,8 @@ "source-map": "^0.5.6" }, "devDependencies": { - "babel-helper-fixtures": "^6.22.0", - "babel-helper-transform-fixture-test-runner": "^6.24.1", - "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" } } diff --git a/packages/babel-generator/package.json b/packages/babel-generator/package.json index e811f7a3fc..757a693cab 100644 --- a/packages/babel-generator/package.json +++ b/packages/babel-generator/package.json @@ -1,6 +1,6 @@ { "name": "babel-generator", - "version": "6.25.0", + "version": "6.26.0", "description": "Turns an AST into code.", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", @@ -12,8 +12,8 @@ ], "dependencies": { "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-types": "^6.25.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", "detect-indent": "^4.0.0", "jsesc": "^1.3.0", "lodash": "^4.17.4", @@ -21,7 +21,7 @@ "trim-right": "^1.0.1" }, "devDependencies": { - "babel-helper-fixtures": "^6.22.0", + "babel-helper-fixtures": "^6.26.0", "babylon": "^6.18.0" } } diff --git a/packages/babel-helper-builder-react-jsx/package.json b/packages/babel-helper-builder-react-jsx/package.json index 3517a5ec7d..7cca29221f 100644 --- a/packages/babel-helper-builder-react-jsx/package.json +++ b/packages/babel-helper-builder-react-jsx/package.json @@ -1,13 +1,13 @@ { "name": "babel-helper-builder-react-jsx", - "version": "6.24.1", + "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.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", "esutils": "^2.0.2" } } diff --git a/packages/babel-helper-define-map/package.json b/packages/babel-helper-define-map/package.json index 9d85f69e28..f049297659 100644 --- a/packages/babel-helper-define-map/package.json +++ b/packages/babel-helper-define-map/package.json @@ -1,14 +1,14 @@ { "name": "babel-helper-define-map", - "version": "6.24.1", + "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-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", "lodash": "^4.17.4" } } diff --git a/packages/babel-helper-fixtures/package.json b/packages/babel-helper-fixtures/package.json index 8d9fe36c33..ac8eeb39d2 100644 --- a/packages/babel-helper-fixtures/package.json +++ b/packages/babel-helper-fixtures/package.json @@ -1,13 +1,13 @@ { "name": "babel-helper-fixtures", - "version": "6.22.0", + "version": "6.26.0", "description": "Helper function to support fixtures", "author": "Sebastian McKenzie ", "license": "MIT", "repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-fixtures", "main": "lib/index.js", "dependencies": { - "babel-runtime": "^6.22.0", + "babel-runtime": "^6.26.0", "lodash": "^4.17.4", "try-resolve": "^1.0.1" } diff --git a/packages/babel-helper-regex/package.json b/packages/babel-helper-regex/package.json index fe98aa94f4..140fe5ef8b 100644 --- a/packages/babel-helper-regex/package.json +++ b/packages/babel-helper-regex/package.json @@ -1,13 +1,13 @@ { "name": "babel-helper-regex", - "version": "6.24.1", + "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", - "babel-types": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", "lodash": "^4.17.4" } } diff --git a/packages/babel-helper-transform-fixture-test-runner/package.json b/packages/babel-helper-transform-fixture-test-runner/package.json index 779fe0a744..855a7f7828 100644 --- a/packages/babel-helper-transform-fixture-test-runner/package.json +++ b/packages/babel-helper-transform-fixture-test-runner/package.json @@ -1,6 +1,6 @@ { "name": "babel-helper-transform-fixture-test-runner", - "version": "6.24.1", + "version": "6.26.0", "description": "Transform test runner for babel-helper-fixtures module", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", @@ -8,11 +8,11 @@ "repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-transform-fixture-test-runner", "main": "lib/index.js", "dependencies": { - "babel-code-frame": "^6.22.0", - "babel-core": "^6.24.1", - "babel-helper-fixtures": "^6.22.0", - "babel-polyfill": "^6.23.0", - "babel-runtime": "^6.22.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" diff --git a/packages/babel-plugin-transform-es2015-block-scoping/package.json b/packages/babel-plugin-transform-es2015-block-scoping/package.json index dcb56d4e52..5425c7f1d2 100644 --- a/packages/babel-plugin-transform-es2015-block-scoping/package.json +++ b/packages/babel-plugin-transform-es2015-block-scoping/package.json @@ -1,15 +1,15 @@ { "name": "babel-plugin-transform-es2015-block-scoping", - "version": "6.24.1", + "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-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1", + "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": [ diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/package.json b/packages/babel-plugin-transform-es2015-modules-commonjs/package.json index cb57c6c0eb..ddd7fb71e7 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/package.json +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/package.json @@ -1,15 +1,15 @@ { "name": "babel-plugin-transform-es2015-modules-commonjs", - "version": "6.24.1", + "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.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-plugin-transform-strict-mode": "^6.24.1" + "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" diff --git a/packages/babel-plugin-transform-object-rest-spread/package.json b/packages/babel-plugin-transform-object-rest-spread/package.json index adb9254d9a..fcae4b402f 100644 --- a/packages/babel-plugin-transform-object-rest-spread/package.json +++ b/packages/babel-plugin-transform-object-rest-spread/package.json @@ -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" diff --git a/packages/babel-plugin-transform-proto-to-assign/package.json b/packages/babel-plugin-transform-proto-to-assign/package.json index 1987c5f4ad..648e6976ed 100644 --- a/packages/babel-plugin-transform-proto-to-assign/package.json +++ b/packages/babel-plugin-transform-proto-to-assign/package.json @@ -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,7 +9,7 @@ "babel-plugin" ], "dependencies": { - "babel-runtime": "^6.22.0", + "babel-runtime": "^6.26.0", "lodash": "^4.17.4" }, "devDependencies": { diff --git a/packages/babel-plugin-transform-regenerator/package.json b/packages/babel-plugin-transform-regenerator/package.json index 6fe6b05ebc..f69aa3d853 100644 --- a/packages/babel-plugin-transform-regenerator/package.json +++ b/packages/babel-plugin-transform-regenerator/package.json @@ -2,7 +2,7 @@ "name": "babel-plugin-transform-regenerator", "author": "Ben Newman ", "description": "Explode async and generator functions into a state machine.", - "version": "6.24.1", + "version": "6.26.0", "homepage": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-regenerator", "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-regenerator", "main": "lib/index.js", diff --git a/packages/babel-polyfill/package.json b/packages/babel-polyfill/package.json index bbbf7cdb67..3e23f2e540 100644 --- a/packages/babel-polyfill/package.json +++ b/packages/babel-polyfill/package.json @@ -1,6 +1,6 @@ { "name": "babel-polyfill", - "version": "6.23.0", + "version": "6.26.0", "description": "Provides polyfills necessary for a full ES2015+ environment", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", @@ -8,7 +8,7 @@ "repository": "https://github.com/babel/babel/tree/master/packages/babel-polyfill", "main": "lib/index.js", "dependencies": { - "babel-runtime": "^6.22.0", + "babel-runtime": "^6.26.0", "core-js": "^2.5.0", "regenerator-runtime": "^0.10.5" } diff --git a/packages/babel-register/package.json b/packages/babel-register/package.json index 05a91154a9..5ec1c7131f 100644 --- a/packages/babel-register/package.json +++ b/packages/babel-register/package.json @@ -1,6 +1,6 @@ { "name": "babel-register", - "version": "6.24.1", + "version": "6.26.0", "description": "babel require hook", "license": "MIT", "repository": "https://github.com/babel/babel/tree/master/packages/babel-register", @@ -8,8 +8,8 @@ "main": "lib/node.js", "browser": "lib/browser.js", "dependencies": { - "babel-core": "^6.24.1", - "babel-runtime": "^6.22.0", + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", "core-js": "^2.5.0", "home-or-tmp": "^2.0.0", "lodash": "^4.17.4", diff --git a/packages/babel-runtime/package.json b/packages/babel-runtime/package.json index 590378e292..c17eb9a34f 100644 --- a/packages/babel-runtime/package.json +++ b/packages/babel-runtime/package.json @@ -1,6 +1,6 @@ { "name": "babel-runtime", - "version": "6.23.0", + "version": "6.26.0", "description": "babel selfContained runtime", "license": "MIT", "repository": "https://github.com/babel/babel/tree/master/packages/babel-runtime", diff --git a/packages/babel-template/package.json b/packages/babel-template/package.json index f462921f03..81eab1ca3a 100644 --- a/packages/babel-template/package.json +++ b/packages/babel-template/package.json @@ -1,6 +1,6 @@ { "name": "babel-template", - "version": "6.25.0", + "version": "6.26.0", "description": "Generate an AST from a string template.", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", @@ -8,9 +8,9 @@ "repository": "https://github.com/babel/babel/tree/master/packages/babel-template", "main": "lib/index.js", "dependencies": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.25.0", - "babel-types": "^6.25.0", + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", "babylon": "^6.18.0", "lodash": "^4.17.4" } diff --git a/packages/babel-traverse/package.json b/packages/babel-traverse/package.json index cfb128b7ac..2f71a4ad81 100644 --- a/packages/babel-traverse/package.json +++ b/packages/babel-traverse/package.json @@ -1,6 +1,6 @@ { "name": "babel-traverse", - "version": "6.25.0", + "version": "6.26.0", "description": "The Babel Traverse module maintains the overall tree state, and is responsible for replacing, removing, and adding nodes", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", @@ -8,10 +8,10 @@ "repository": "https://github.com/babel/babel/tree/master/packages/babel-traverse", "main": "lib/index.js", "dependencies": { - "babel-code-frame": "^6.22.0", + "babel-code-frame": "^6.26.0", "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-types": "^6.25.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", "babylon": "^6.18.0", "debug": "^2.6.8", "globals": "^9.18.0", @@ -19,6 +19,6 @@ "lodash": "^4.17.4" }, "devDependencies": { - "babel-generator": "^6.25.0" + "babel-generator": "^6.26.0" } } diff --git a/packages/babel-types/package.json b/packages/babel-types/package.json index 5ceba4f6c5..e93188af2e 100644 --- a/packages/babel-types/package.json +++ b/packages/babel-types/package.json @@ -1,6 +1,6 @@ { "name": "babel-types", - "version": "6.25.0", + "version": "6.26.0", "description": "Babel Types is a Lodash-esque utility library for AST nodes", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", @@ -8,13 +8,13 @@ "repository": "https://github.com/babel/babel/tree/master/packages/babel-types", "main": "lib/index.js", "dependencies": { - "babel-runtime": "^6.22.0", + "babel-runtime": "^6.26.0", "esutils": "^2.0.2", "lodash": "^4.17.4", "to-fast-properties": "^1.0.3" }, "devDependencies": { - "babel-generator": "^6.22.0", + "babel-generator": "^6.26.0", "babylon": "^6.18.0" } }