diff --git a/experimental/babel-preset-env/.travis.yml b/experimental/babel-preset-env/.travis.yml index 1e9572aa38..fb065227a2 100644 --- a/experimental/babel-preset-env/.travis.yml +++ b/experimental/babel-preset-env/.travis.yml @@ -20,7 +20,7 @@ before_install: - nvm use $TRAVIS_NODE_VERSION - npm set loglevel error - npm set progress false - - 'if [ $PKG_CMD = "yarn" ]; then npm i -g yarn@0.22.0 ; fi' + - 'if [ $PKG_CMD = "yarn" ]; then curl -o- -L https://yarnpkg.com/install.sh | bash && PATH=$HOME/.yarn/bin:$PATH ; fi' install: - $PKG_CMD install script: diff --git a/experimental/babel-preset-env/CHANGELOG.md b/experimental/babel-preset-env/CHANGELOG.md index cbef555505..e8b65fa505 100644 --- a/experimental/babel-preset-env/CHANGELOG.md +++ b/experimental/babel-preset-env/CHANGELOG.md @@ -1,5 +1,31 @@ # Changelog +## v1.2.2 (2017-03-14) + +### :bug: Bug Fix + +- Refactor browser data parsing to handle families ([#208](https://github.com/babel/babel-preset-env/pull/208)) (@existentialism) + +When parsing plugin data, we weren't properly handling browser families. This caused +`transform-es2015-block-scoping` and other plugins to be incorrectly added for Edge >= 12. +(s/o to @mgol for the the report and review!) + +- Add typed array methods to built-ins features. ([#198](https://github.com/babel/babel-preset-env/pull/198)) (@yavorsky) + +Fixes an issue where some TypedArray features were not being polyfilled properly. (s/o to @alippai for the report!) + +### :memo: Documentation + +- Fixed minor typo in readme ([#199](https://github.com/babel/babel-preset-env/pull/199)) (@bl4ckdu5t) +- Add built-ins, better links, compat-table url, etc ([#195](https://github.com/babel/babel-preset-env/pull/195)) (@yavorsky) +- Change CONTRIBUTING.md to use absolute paths ([#194](https://github.com/babel/babel-preset-env/pull/194)) (@aaronang) + +### :house: Internal + +- Bump plugins ([#201](https://github.com/babel/babel-preset-env/pull/201)) (@yavorsky) +- Enable code coverage ([#200](https://github.com/babel/babel-preset-env/pull/200)) (@alxpy) +- Increase mocha timeout to 10s ([#202](https://github.com/babel/babel-preset-env/pull/202)) (@yavorsky) + ## v1.2.1 (2017-03-06) ### :bug: Bug Fix diff --git a/experimental/babel-preset-env/data/built-in-features.js b/experimental/babel-preset-env/data/built-in-features.js index 0ca96d8ddb..66e05b52b6 100644 --- a/experimental/babel-preset-env/data/built-in-features.js +++ b/experimental/babel-preset-env/data/built-in-features.js @@ -1,22 +1,69 @@ // https://github.com/zloirock/core-js +const typedArrayMethods = [ + "typed arrays / %TypedArray%.from", + "typed arrays / %TypedArray%.of", + "typed arrays / %TypedArray%.prototype.subarray", + "typed arrays / %TypedArray%.prototype.join", + "typed arrays / %TypedArray%.prototype.indexOf", + "typed arrays / %TypedArray%.prototype.lastIndexOf", + "typed arrays / %TypedArray%.prototype.slice", + "typed arrays / %TypedArray%.prototype.every", + "typed arrays / %TypedArray%.prototype.filter", + "typed arrays / %TypedArray%.prototype.forEach", + "typed arrays / %TypedArray%.prototype.map", + "typed arrays / %TypedArray%.prototype.reduce", + "typed arrays / %TypedArray%.prototype.reduceRight", + "typed arrays / %TypedArray%.prototype.reverse", + "typed arrays / %TypedArray%.prototype.some", + "typed arrays / %TypedArray%.prototype.sort", + "typed arrays / %TypedArray%.prototype.copyWithin", + "typed arrays / %TypedArray%.prototype.find", + "typed arrays / %TypedArray%.prototype.findIndex", + "typed arrays / %TypedArray%.prototype.fill", + "typed arrays / %TypedArray%.prototype.keys", + "typed arrays / %TypedArray%.prototype.values", + "typed arrays / %TypedArray%.prototype.entries", + "typed arrays / %TypedArray%.prototype[Symbol.iterator]", + "typed arrays / %TypedArray%[Symbol.species]" +]; + const es2015 = { // "es6.typed/array-buffer": "typed arrays / ", "es6.typed.data-view": "typed arrays / DataView", - "es6.typed.int8-array": "typed arrays / Int8Array", - "es6.typed.uint8-array": "typed arrays / Uint8Array", - "es6.typed.uint8-clamped-array": "typed arrays / Uint8ClampedArray", - "es6.typed.int16-array": "typed arrays / Int16Array", - "es6.typed.uint16-array": "typed arrays / Uint16Array", - "es6.typed.int32-array": "typed arrays / Int32Array", - "es6.typed.uint32-array": "typed arrays / Uint32Array", - "es6.typed.float32-array": "typed arrays / Float32Array", - "es6.typed.float64-array": "typed arrays / Float64Array", + "es6.typed.int8-array": { + features: ["typed arrays / Int8Array"].concat(typedArrayMethods) + }, + "es6.typed.uint8-array": { + features: ["typed arrays / Uint8Array"].concat(typedArrayMethods) + }, + "es6.typed.uint8-clamped-array": { + features: ["typed arrays / Uint8ClampedArray"].concat(typedArrayMethods) + }, + "es6.typed.int16-array": { + features: ["typed arrays / Int16Array"].concat(typedArrayMethods) + }, + "es6.typed.uint16-array": { + features: ["typed arrays / Uint16Array"].concat(typedArrayMethods) + }, + "es6.typed.int32-array": { + features: ["typed arrays / Int32Array"].concat(typedArrayMethods) + }, + "es6.typed.uint32-array": { + features: ["typed arrays / Uint32Array"].concat(typedArrayMethods) + }, + "es6.typed.float32-array": { + features: ["typed arrays / Float32Array"].concat(typedArrayMethods) + }, + "es6.typed.float64-array": { + features: ["typed arrays / Float64Array"].concat(typedArrayMethods) + }, "es6.map": "Map", "es6.set": "Set", "es6.weak-map": "WeakMap", "es6.weak-set": "WeakSet", + // Proxy not implementable "es6.reflect.apply": "Reflect / Reflect.apply", diff --git a/experimental/babel-preset-env/data/built-ins.json b/experimental/babel-preset-env/data/built-ins.json index 4901b8f1f6..37c96bcffd 100644 --- a/experimental/babel-preset-env/data/built-ins.json +++ b/experimental/babel-preset-env/data/built-ins.json @@ -2,6 +2,7 @@ "es6.typed.data-view": { "chrome": 5, "opera": 12, + "edge": 12, "firefox": 15, "safari": 5, "node": 0.12, @@ -10,97 +11,89 @@ "ios": 6 }, "es6.typed.int8-array": { - "chrome": 5, - "opera": 12, - "firefox": 4, - "safari": 5, - "node": 0.12, - "ie": 10, - "android": 4, - "ios": 6 + "chrome": 51, + "edge": 13, + "firefox": 48, + "safari": 10, + "node": 6.5, + "ios": 10, + "opera": 38 }, "es6.typed.uint8-array": { - "chrome": 5, - "opera": 12, - "firefox": 4, - "safari": 5, - "node": 0.12, - "ie": 10, - "android": 4, - "ios": 6 + "chrome": 51, + "edge": 13, + "firefox": 48, + "safari": 10, + "node": 6.5, + "ios": 10, + "opera": 38 }, "es6.typed.uint8-clamped-array": { - "chrome": 5, - "opera": 12, - "edge": 12, - "firefox": 4, - "safari": 6, - "node": 0.12, - "android": 4.4, - "ios": 7 + "chrome": 51, + "edge": 13, + "firefox": 48, + "safari": 10, + "node": 6.5, + "ios": 10, + "opera": 38 }, "es6.typed.int16-array": { - "chrome": 5, - "opera": 12, - "firefox": 4, - "safari": 5, - "node": 0.12, - "ie": 10, - "android": 4, - "ios": 6 + "chrome": 51, + "edge": 13, + "firefox": 48, + "safari": 10, + "node": 6.5, + "ios": 10, + "opera": 38 }, "es6.typed.uint16-array": { - "chrome": 5, - "opera": 12, - "firefox": 4, - "safari": 5, - "node": 0.12, - "ie": 10, - "android": 4, - "ios": 6 + "chrome": 51, + "edge": 13, + "firefox": 48, + "safari": 10, + "node": 6.5, + "ios": 10, + "opera": 38 }, "es6.typed.int32-array": { - "chrome": 5, - "opera": 12, - "firefox": 4, - "safari": 5, - "node": 0.12, - "ie": 10, - "android": 4, - "ios": 6 + "chrome": 51, + "edge": 13, + "firefox": 48, + "safari": 10, + "node": 6.5, + "ios": 10, + "opera": 38 }, "es6.typed.uint32-array": { - "chrome": 5, - "opera": 12, - "firefox": 4, - "safari": 5, - "node": 0.12, - "ie": 10, - "android": 4, - "ios": 6 + "chrome": 51, + "edge": 13, + "firefox": 48, + "safari": 10, + "node": 6.5, + "ios": 10, + "opera": 38 }, "es6.typed.float32-array": { - "chrome": 5, - "opera": 12, - "firefox": 4, - "safari": 5, - "node": 0.12, - "ie": 10, - "android": 4, - "ios": 6 + "chrome": 51, + "edge": 13, + "firefox": 48, + "safari": 10, + "node": 6.5, + "ios": 10, + "opera": 38 }, "es6.typed.float64-array": { - "chrome": 5, - "opera": 12, - "firefox": 4, - "safari": 5, - "node": 0.12, - "ie": 10, - "android": 4.1, - "ios": 6 + "chrome": 51, + "edge": 13, + "firefox": 48, + "safari": 10, + "node": 6.5, + "ios": 10, + "opera": 38 }, "es6.map": { "chrome": 51, + "edge": 15, "firefox": 53, "safari": 10, "node": 6.5, @@ -109,6 +102,7 @@ }, "es6.set": { "chrome": 51, + "edge": 15, "firefox": 53, "safari": 10, "node": 6.5, @@ -117,6 +111,7 @@ }, "es6.weak-map": { "chrome": 51, + "edge": 15, "firefox": 53, "safari": 9, "node": 6.5, @@ -286,6 +281,7 @@ }, "es6.object.set-prototype-of": { "chrome": 34, + "edge": 12, "firefox": 31, "safari": 9, "node": 0.12, diff --git a/experimental/babel-preset-env/data/plugins.json b/experimental/babel-preset-env/data/plugins.json index a0bf4ad594..b4e3c29e2b 100644 --- a/experimental/babel-preset-env/data/plugins.json +++ b/experimental/babel-preset-env/data/plugins.json @@ -10,6 +10,7 @@ }, "transform-es2015-block-scoped-functions": { "chrome": 41, + "edge": 12, "firefox": 46, "safari": 10, "node": 4, @@ -19,6 +20,7 @@ }, "transform-es2015-block-scoping": { "chrome": 49, + "edge": 14, "firefox": 51, "safari": 10, "node": 6, @@ -45,6 +47,7 @@ }, "check-es2015-constants": { "chrome": 49, + "edge": 14, "firefox": 51, "safari": 10, "node": 6, diff --git a/experimental/babel-preset-env/package.json b/experimental/babel-preset-env/package.json index 1421af760c..b51c4f1ac7 100644 --- a/experimental/babel-preset-env/package.json +++ b/experimental/babel-preset-env/package.json @@ -95,13 +95,17 @@ ], "env": { "test": { - "plugins": ["istanbul"] + "plugins": [ + "istanbul" + ] } } }, "nyc": { "all": true, - "include": ["src/*.js"], + "include": [ + "src/*.js" + ], "instrument": false, "sourceMap": false }, diff --git a/experimental/babel-preset-env/scripts/build-data.js b/experimental/babel-preset-env/scripts/build-data.js index 03c0cb9352..bd1ac06a84 100644 --- a/experimental/babel-preset-env/scripts/build-data.js +++ b/experimental/babel-preset-env/scripts/build-data.js @@ -7,16 +7,92 @@ const flatten = require("lodash/flatten"); const flattenDeep = require("lodash/flattenDeep"); const isEqual = require("lodash/isEqual"); const mapValues = require("lodash/mapValues"); +const pickBy = require("lodash/pickBy"); const pluginFeatures = require("../data/plugin-features"); const builtInFeatures = require("../data/built-in-features"); const renameTests = (tests, getName) => tests.map(test => Object.assign({}, test, { name: getName(test.name) })); -const es6Data = require("compat-table/data-es6"); -const es6PlusData = require("compat-table/data-es2016plus"); +// The following is adapted from compat-table: +// https://github.com/kangax/compat-table/blob/gh-pages/build.js +// +// It parses and interpolates data so environments that "equal" other +// environments (node4 and chrome45), as well as familial relationships (edge +// and ie11) can be handled properly. + const envs = require("compat-table/environments"); +const byTestSuite = suite => + browser => { + return Array.isArray(browser.test_suites) + ? browser.test_suites.indexOf(suite) > -1 + : true; + }; + +const es6 = require("compat-table/data-es6"); +es6.browsers = pickBy(envs, byTestSuite("es6")); + +const es2016plus = require("compat-table/data-es2016plus"); +es2016plus.browsers = pickBy(envs, byTestSuite("es2016plus")); + +const interpolateAllResults = (rawBrowsers, tests) => { + const interpolateResults = res => { + let browser; + let prevBrowser; + let result; + let prevResult; + let prevBid; + + for (const bid in rawBrowsers) { + // For browsers that are essentially equal to other browsers, + // copy over the results. + browser = rawBrowsers[bid]; + if (browser.equals && res[bid] === undefined) { + result = res[browser.equals]; + res[bid] = browser.ignore_flagged && result === "flagged" + ? false + : result; + // For each browser, check if the previous browser has the same + // browser full name (e.g. Firefox) or family name (e.g. Chakra) as this one. + } else if ( + prevBrowser && + (prevBrowser.full.replace(/,.+$/, "") === + browser.full.replace(/,.+$/, "") || + (browser.family !== undefined && + prevBrowser.family === browser.family)) + ) { + // For each test, check if the previous browser has a result + // that this browser lacks. + result = res[bid]; + prevResult = res[prevBid]; + if (prevResult !== undefined && result === undefined) { + res[bid] = prevResult; + } + } + prevBrowser = browser; + prevBid = bid; + } + }; + + // Now print the results. + tests.forEach(function(t) { + // Calculate the result totals for tests which consist solely of subtests. + if ("subtests" in t) { + t.subtests.forEach(function(e) { + interpolateResults(e.res); + }); + } else { + interpolateResults(t.res); + } + }); +}; + +interpolateAllResults(es6.browsers, es6.tests); +interpolateAllResults(es2016plus.browsers, es2016plus.tests); + +// End of compat-table code adaptation + const environments = [ "chrome", "opera", @@ -52,38 +128,8 @@ const envMap = { ios51: "ios5.1", }; -const invertedEqualsEnv = Object.keys(envs).filter(b => envs[b].equals).reduce(( - a, - b -) => { - const checkEnv = envMap[envs[b].equals] || envs[b].equals; - environments.some(env => { - // go through all environment names to find the the current one - // and try to get the version as integer - const version = parseFloat(checkEnv.replace(env, "")); - if (!isNaN(version)) { - Object.keys(envs).forEach(equals => { - equals = envMap[equals] || equals; - // Go through all envs from compat-table and get int version - const equalsVersion = parseFloat(equals.replace(env, "")); - // If the current version is smaller than the version that was mentioned - // in `equals` we can add an entry, as older versions should include features - // that newer ones have - if (!isNaN(equalsVersion) && equalsVersion <= version) { - if (!a[equals]) a[equals] = []; - if (a[equals].indexOf(b) >= 0) return; - a[equals].push(b); - } - }); - return true; - } - }); - - return a; -}, {}); - const compatibilityTests = flattenDeep( - [es6Data, es6PlusData].map(data => + [es6, es2016plus].map(data => data.tests.map(test => { return test.subtests ? [test, renameTests(test.subtests, name => test.name + " / " + name)] @@ -126,16 +172,6 @@ const getLowestImplementedVersion = ({ features }, env) => { return "-1"; } - // `equals` in compat-table - Object.keys(test).forEach(t => { - const invertedEnvs = invertedEqualsEnv[envMap[t] || t]; - if (invertedEnvs) { - invertedEnvs.forEach(inv => { - test[inv] = test[t]; - }); - } - }); - return ( Object.keys(test) .filter(t => t.startsWith(env)) @@ -177,6 +213,7 @@ const generateData = (environments, features) => { } const plugin = {}; + environments.forEach(env => { const version = getLowestImplementedVersion(options, env); if (version !== null) { diff --git a/experimental/babel-preset-env/test/debug-fixtures/builtins/stdout.txt b/experimental/babel-preset-env/test/debug-fixtures/builtins/stdout.txt index 6c780623f7..6c5c4d0b50 100644 --- a/experimental/babel-preset-env/test/debug-fixtures/builtins/stdout.txt +++ b/experimental/babel-preset-env/test/debug-fixtures/builtins/stdout.txt @@ -35,7 +35,15 @@ Using plugins: syntax-trailing-function-commas {"chrome":54,"ie":10,"node":6} Using polyfills: - es6.typed.uint8-clamped-array {"ie":10} + es6.typed.int8-array {"ie":10,"node":6} + es6.typed.uint8-array {"ie":10,"node":6} + es6.typed.uint8-clamped-array {"ie":10,"node":6} + es6.typed.int16-array {"ie":10,"node":6} + es6.typed.uint16-array {"ie":10,"node":6} + es6.typed.int32-array {"ie":10,"node":6} + es6.typed.uint32-array {"ie":10,"node":6} + es6.typed.float32-array {"ie":10,"node":6} + es6.typed.float64-array {"ie":10,"node":6} es6.map {"ie":10,"node":6} es6.set {"ie":10,"node":6} es6.weak-map {"ie":10,"node":6} diff --git a/experimental/babel-preset-env/test/debug-fixtures/specific-targets/stdout.txt b/experimental/babel-preset-env/test/debug-fixtures/specific-targets/stdout.txt index 5ef97d57cb..27609b545d 100644 --- a/experimental/babel-preset-env/test/debug-fixtures/specific-targets/stdout.txt +++ b/experimental/babel-preset-env/test/debug-fixtures/specific-targets/stdout.txt @@ -14,7 +14,7 @@ Modules transform: commonjs Using plugins: transform-es2015-arrow-functions {"ie":10,"ios":9,"safari":7} - transform-es2015-block-scoped-functions {"edge":13,"ie":10,"ios":9,"safari":7} + transform-es2015-block-scoped-functions {"ie":10,"ios":9,"safari":7} transform-es2015-block-scoping {"edge":13,"firefox":49,"ie":10,"ios":9,"safari":7} transform-es2015-classes {"ie":10,"ios":9,"safari":7} transform-es2015-computed-properties {"ie":10,"safari":7} @@ -38,16 +38,15 @@ Using plugins: syntax-trailing-function-commas {"chrome":54,"edge":13,"firefox":49,"ie":10,"ios":9,"safari":7} Using polyfills: - es6.typed.data-view {"edge":13} - es6.typed.int8-array {"edge":13} - es6.typed.uint8-array {"edge":13} - es6.typed.uint8-clamped-array {"ie":10} - es6.typed.int16-array {"edge":13} - es6.typed.uint16-array {"edge":13} - es6.typed.int32-array {"edge":13} - es6.typed.uint32-array {"edge":13} - es6.typed.float32-array {"edge":13} - es6.typed.float64-array {"edge":13} + es6.typed.int8-array {"ie":10,"ios":9,"safari":7} + es6.typed.uint8-array {"ie":10,"ios":9,"safari":7} + es6.typed.uint8-clamped-array {"ie":10,"ios":9,"safari":7} + es6.typed.int16-array {"ie":10,"ios":9,"safari":7} + es6.typed.uint16-array {"ie":10,"ios":9,"safari":7} + es6.typed.int32-array {"ie":10,"ios":9,"safari":7} + es6.typed.uint32-array {"ie":10,"ios":9,"safari":7} + es6.typed.float32-array {"ie":10,"ios":9,"safari":7} + es6.typed.float64-array {"ie":10,"ios":9,"safari":7} es6.map {"edge":13,"firefox":49,"ie":10,"ios":9,"safari":7} es6.set {"edge":13,"firefox":49,"ie":10,"ios":9,"safari":7} es6.weak-map {"edge":13,"firefox":49,"ie":10,"safari":7} @@ -69,7 +68,7 @@ Using polyfills: es6.symbol {"edge":13,"firefox":49,"ie":10,"ios":9,"safari":7} es6.object.assign {"ie":10,"safari":7} es6.object.is {"ie":10,"safari":7} - es6.object.set-prototype-of {"edge":13,"ie":10,"safari":7} + es6.object.set-prototype-of {"ie":10,"safari":7} es6.function.name {"edge":13,"firefox":49,"ie":10,"ios":9,"safari":7} es6.string.raw {"ie":10,"safari":7} es6.string.from-code-point {"ie":10,"safari":7} @@ -123,4 +122,4 @@ Using polyfills: web.timers {"chrome":54,"edge":13,"firefox":49,"ie":10,"ios":9,"safari":7} web.immediate {"chrome":54,"edge":13,"firefox":49,"ie":10,"ios":9,"safari":7} web.dom.iterable {"chrome":54,"edge":13,"firefox":49,"ie":10,"ios":9,"safari":7} -src/in.js -> lib/in.js +src/in.js -> lib/in.js \ No newline at end of file diff --git a/experimental/babel-preset-env/test/fixtures/preset-options/ie-11-built-ins/actual.js b/experimental/babel-preset-env/test/fixtures/preset-options/ie-11-built-ins/actual.js new file mode 100644 index 0000000000..d3984c50aa --- /dev/null +++ b/experimental/babel-preset-env/test/fixtures/preset-options/ie-11-built-ins/actual.js @@ -0,0 +1 @@ +import "babel-polyfill"; diff --git a/experimental/babel-preset-env/test/fixtures/preset-options/ie-11-built-ins/expected.js b/experimental/babel-preset-env/test/fixtures/preset-options/ie-11-built-ins/expected.js new file mode 100644 index 0000000000..c010222600 --- /dev/null +++ b/experimental/babel-preset-env/test/fixtures/preset-options/ie-11-built-ins/expected.js @@ -0,0 +1,84 @@ +import "core-js/modules/es6.typed.int8-array"; +import "core-js/modules/es6.typed.uint8-array"; +import "core-js/modules/es6.typed.uint8-clamped-array"; +import "core-js/modules/es6.typed.int16-array"; +import "core-js/modules/es6.typed.uint16-array"; +import "core-js/modules/es6.typed.int32-array"; +import "core-js/modules/es6.typed.uint32-array"; +import "core-js/modules/es6.typed.float32-array"; +import "core-js/modules/es6.typed.float64-array"; +import "core-js/modules/es6.map"; +import "core-js/modules/es6.set"; +import "core-js/modules/es6.weak-map"; +import "core-js/modules/es6.weak-set"; +import "core-js/modules/es6.reflect.apply"; +import "core-js/modules/es6.reflect.construct"; +import "core-js/modules/es6.reflect.define-property"; +import "core-js/modules/es6.reflect.delete-property"; +import "core-js/modules/es6.reflect.get"; +import "core-js/modules/es6.reflect.get-own-property-descriptor"; +import "core-js/modules/es6.reflect.get-prototype-of"; +import "core-js/modules/es6.reflect.has"; +import "core-js/modules/es6.reflect.is-extensible"; +import "core-js/modules/es6.reflect.own-keys"; +import "core-js/modules/es6.reflect.prevent-extensions"; +import "core-js/modules/es6.reflect.set"; +import "core-js/modules/es6.reflect.set-prototype-of"; +import "core-js/modules/es6.promise"; +import "core-js/modules/es6.symbol"; +import "core-js/modules/es6.object.assign"; +import "core-js/modules/es6.object.is"; +import "core-js/modules/es6.function.name"; +import "core-js/modules/es6.string.raw"; +import "core-js/modules/es6.string.from-code-point"; +import "core-js/modules/es6.string.code-point-at"; +import "core-js/modules/es6.string.repeat"; +import "core-js/modules/es6.string.starts-with"; +import "core-js/modules/es6.string.ends-with"; +import "core-js/modules/es6.string.includes"; +import "core-js/modules/es6.regexp.flags"; +import "core-js/modules/es6.regexp.match"; +import "core-js/modules/es6.regexp.replace"; +import "core-js/modules/es6.regexp.split"; +import "core-js/modules/es6.regexp.search"; +import "core-js/modules/es6.array.from"; +import "core-js/modules/es6.array.of"; +import "core-js/modules/es6.array.copy-within"; +import "core-js/modules/es6.array.find"; +import "core-js/modules/es6.array.find-index"; +import "core-js/modules/es6.array.fill"; +import "core-js/modules/es6.array.iterator"; +import "core-js/modules/es6.number.is-finite"; +import "core-js/modules/es6.number.is-integer"; +import "core-js/modules/es6.number.is-safe-integer"; +import "core-js/modules/es6.number.is-nan"; +import "core-js/modules/es6.number.epsilon"; +import "core-js/modules/es6.number.min-safe-integer"; +import "core-js/modules/es6.number.max-safe-integer"; +import "core-js/modules/es6.math.acosh"; +import "core-js/modules/es6.math.asinh"; +import "core-js/modules/es6.math.atanh"; +import "core-js/modules/es6.math.cbrt"; +import "core-js/modules/es6.math.clz32"; +import "core-js/modules/es6.math.cosh"; +import "core-js/modules/es6.math.expm1"; +import "core-js/modules/es6.math.fround"; +import "core-js/modules/es6.math.hypot"; +import "core-js/modules/es6.math.imul"; +import "core-js/modules/es6.math.log1p"; +import "core-js/modules/es6.math.log10"; +import "core-js/modules/es6.math.log2"; +import "core-js/modules/es6.math.sign"; +import "core-js/modules/es6.math.sinh"; +import "core-js/modules/es6.math.tanh"; +import "core-js/modules/es6.math.trunc"; +import "core-js/modules/es7.array.includes"; +import "core-js/modules/es7.object.values"; +import "core-js/modules/es7.object.entries"; +import "core-js/modules/es7.object.get-own-property-descriptors"; +import "core-js/modules/es7.string.pad-start"; +import "core-js/modules/es7.string.pad-end"; +import "core-js/modules/web.timers"; +import "core-js/modules/web.immediate"; +import "core-js/modules/web.dom.iterable"; +import "regenerator-runtime/runtime"; diff --git a/experimental/babel-preset-env/test/fixtures/preset-options/ie-11-built-ins/options.json b/experimental/babel-preset-env/test/fixtures/preset-options/ie-11-built-ins/options.json new file mode 100644 index 0000000000..593a23c579 --- /dev/null +++ b/experimental/babel-preset-env/test/fixtures/preset-options/ie-11-built-ins/options.json @@ -0,0 +1,12 @@ +{ + "presets": [ + ["../../../../lib", { + "targets": { + "ie": 11 + }, + "modules": false, + "useBuiltIns": true, + "modules": false + }] + ] +} diff --git a/experimental/babel-preset-env/test/fixtures/preset-options/ios-6/expected.js b/experimental/babel-preset-env/test/fixtures/preset-options/ios-6/expected.js index 3312288a1e..1e0710e125 100644 --- a/experimental/babel-preset-env/test/fixtures/preset-options/ios-6/expected.js +++ b/experimental/babel-preset-env/test/fixtures/preset-options/ios-6/expected.js @@ -1,4 +1,12 @@ +import "core-js/modules/es6.typed.int8-array"; +import "core-js/modules/es6.typed.uint8-array"; import "core-js/modules/es6.typed.uint8-clamped-array"; +import "core-js/modules/es6.typed.int16-array"; +import "core-js/modules/es6.typed.uint16-array"; +import "core-js/modules/es6.typed.int32-array"; +import "core-js/modules/es6.typed.uint32-array"; +import "core-js/modules/es6.typed.float32-array"; +import "core-js/modules/es6.typed.float64-array"; import "core-js/modules/es6.map"; import "core-js/modules/es6.set"; import "core-js/modules/es6.weak-map"; diff --git a/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-48/expected.js b/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-48/expected.js index d05a5f07c3..a999f88828 100644 --- a/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-48/expected.js +++ b/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-48/expected.js @@ -1,3 +1,12 @@ +import "core-js/modules/es6.typed.int8-array"; +import "core-js/modules/es6.typed.uint8-array"; +import "core-js/modules/es6.typed.uint8-clamped-array"; +import "core-js/modules/es6.typed.int16-array"; +import "core-js/modules/es6.typed.uint16-array"; +import "core-js/modules/es6.typed.int32-array"; +import "core-js/modules/es6.typed.uint32-array"; +import "core-js/modules/es6.typed.float32-array"; +import "core-js/modules/es6.typed.float64-array"; import "core-js/modules/es6.map"; import "core-js/modules/es6.set"; import "core-js/modules/es6.weak-map"; diff --git a/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-49/expected.js b/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-49/expected.js index 9f8a019a16..f68f74685e 100644 --- a/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-49/expected.js +++ b/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-49/expected.js @@ -1,3 +1,12 @@ +import "core-js/modules/es6.typed.int8-array"; +import "core-js/modules/es6.typed.uint8-array"; +import "core-js/modules/es6.typed.uint8-clamped-array"; +import "core-js/modules/es6.typed.int16-array"; +import "core-js/modules/es6.typed.uint16-array"; +import "core-js/modules/es6.typed.int32-array"; +import "core-js/modules/es6.typed.uint32-array"; +import "core-js/modules/es6.typed.float32-array"; +import "core-js/modules/es6.typed.float64-array"; import "core-js/modules/es6.map"; import "core-js/modules/es6.set"; import "core-js/modules/es6.weak-map"; diff --git a/experimental/babel-preset-env/yarn.lock b/experimental/babel-preset-env/yarn.lock index 47dde4cc84..53624b9c27 100644 --- a/experimental/babel-preset-env/yarn.lock +++ b/experimental/babel-preset-env/yarn.lock @@ -38,7 +38,7 @@ 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: +ajv@^4.7.0: version "4.11.5" resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.5.tgz#b6ee74657b993a01dce44b7944d56f485828d5bd" dependencies: @@ -162,14 +162,14 @@ 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-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - assertion-error@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.0.2.tgz#13ca515d86206da0bac66e834dd397d87581094c" @@ -182,9 +182,9 @@ ast-types@0.9.4: version "0.9.4" resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.4.tgz#410d1f81890aeb8e0a38621558ba5869ae53c91b" -ast-types@0.9.5: - version "0.9.5" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.5.tgz#1a660a09945dbceb1f9c9cbb715002617424e04a" +ast-types@0.9.6: + version "0.9.6" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.6.tgz#102c9e9e9005d3e7e3829bf0c4fa24ee862ee9b9" astquery@latest: version "0.0.11" @@ -267,15 +267,15 @@ babel-core@7.0.0-alpha.1: slash "^1.0.0" source-map "^0.5.0" -babel-core@^6.23.0, babel-core@latest: - version "6.23.1" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.23.1.tgz#c143cb621bb2f621710c220c5d579d15b8a442df" +babel-core@^6.24.0, babel-core@latest: + version "6.24.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.24.0.tgz#8f36a0a77f5c155aed6f920b844d23ba56742a02" dependencies: babel-code-frame "^6.22.0" - babel-generator "^6.23.0" + babel-generator "^6.24.0" babel-helpers "^6.23.0" babel-messages "^6.23.0" - babel-register "^6.23.0" + babel-register "^6.24.0" babel-runtime "^6.22.0" babel-template "^6.23.0" babel-traverse "^6.23.1" @@ -313,9 +313,9 @@ babel-generator@7.0.0-alpha.1: source-map "^0.5.0" trim-right "^1.0.1" -babel-generator@^6.18.0, babel-generator@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.23.0.tgz#6b8edab956ef3116f79d8c84c5a3c05f32a74bc5" +babel-generator@^6.18.0, babel-generator@^6.24.0: + version "6.24.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.24.0.tgz#eba270a8cc4ce6e09a61be43465d7c62c1f87c56" dependencies: babel-messages "^6.23.0" babel-runtime "^6.22.0" @@ -852,11 +852,11 @@ babel-plugin-transform-es2015-modules-amd@7.0.0-alpha.1: babel-plugin-transform-es2015-modules-commonjs "7.0.0-alpha.1" babel-template "7.0.0-alpha.1" -babel-plugin-transform-es2015-modules-amd@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.22.0.tgz#bf69cd34889a41c33d90dfb740e0091ccff52f21" +babel-plugin-transform-es2015-modules-amd@^6.24.0: + version "6.24.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.0.tgz#a1911fb9b7ec7e05a43a63c5995007557bcf6a2e" dependencies: - babel-plugin-transform-es2015-modules-commonjs "^6.22.0" + babel-plugin-transform-es2015-modules-commonjs "^6.24.0" babel-runtime "^6.22.0" babel-template "^6.22.0" @@ -868,9 +868,9 @@ babel-plugin-transform-es2015-modules-commonjs@7.0.0-alpha.1: babel-template "7.0.0-alpha.1" babel-types "7.0.0-alpha.1" -babel-plugin-transform-es2015-modules-commonjs@^6.22.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.23.0.tgz#cba7aa6379fb7ec99250e6d46de2973aaffa7b92" +babel-plugin-transform-es2015-modules-commonjs@^6.24.0: + version "6.24.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.0.tgz#e921aefb72c2cc26cb03d107626156413222134f" dependencies: babel-plugin-transform-strict-mode "^6.22.0" babel-runtime "^6.22.0" @@ -899,11 +899,11 @@ babel-plugin-transform-es2015-modules-umd@7.0.0-alpha.1: babel-plugin-transform-es2015-modules-amd "7.0.0-alpha.1" babel-template "7.0.0-alpha.1" -babel-plugin-transform-es2015-modules-umd@^6.22.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.23.0.tgz#8d284ae2e19ed8fe21d2b1b26d6e7e0fcd94f0f1" +babel-plugin-transform-es2015-modules-umd@^6.24.0: + version "6.24.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.0.tgz#fd5fa63521cae8d273927c3958afd7c067733450" dependencies: - babel-plugin-transform-es2015-modules-amd "^6.22.0" + babel-plugin-transform-es2015-modules-amd "^6.24.0" babel-runtime "^6.22.0" babel-template "^6.23.0" @@ -1132,8 +1132,8 @@ babel-preset-env@2.0.0-alpha.1: invariant "^2.2.2" babel-preset-es2015@latest: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.22.0.tgz#af5a98ecb35eb8af764ad8a5a05eb36dc4386835" + version "6.24.0" + resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.0.tgz#c162d68b1932696e036cd3110dc1ccd303d2673a" dependencies: babel-plugin-check-es2015-constants "^6.22.0" babel-plugin-transform-es2015-arrow-functions "^6.22.0" @@ -1146,10 +1146,10 @@ babel-preset-es2015@latest: babel-plugin-transform-es2015-for-of "^6.22.0" babel-plugin-transform-es2015-function-name "^6.22.0" babel-plugin-transform-es2015-literals "^6.22.0" - babel-plugin-transform-es2015-modules-amd "^6.22.0" - babel-plugin-transform-es2015-modules-commonjs "^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.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" @@ -1219,11 +1219,11 @@ babel-register@7.0.0-alpha.1: mkdirp "^0.5.1" source-map-support "^0.4.2" -babel-register@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.23.0.tgz#c9aa3d4cca94b51da34826c4a0f9e08145d74ff3" +babel-register@^6.24.0: + version "6.24.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.24.0.tgz#5e89f8463ba9970356d02eb07dabe3308b080cfd" dependencies: - babel-core "^6.23.0" + babel-core "^6.24.0" babel-runtime "^6.22.0" core-js "^2.4.0" home-or-tmp "^2.0.0" @@ -1414,17 +1414,13 @@ camelcase@^3.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" caniuse-db@^1.0.30000631: - version "1.0.30000634" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000634.tgz#439f4b95e715b1fd105196d40c681edd7122e622" + version "1.0.30000635" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000635.tgz#ea159dfa062e00f25f97af3791baef93f17904a1" caseless@~0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" -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" @@ -1564,8 +1560,8 @@ color-convert@^1.0.0: color-name "^1.1.1" color-name@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.1.tgz#4b1415304cf50028ea81643643bd82ea05803689" + version "1.1.2" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.2.tgz#5c8ab72b64bd2215d617ae9559ebb148475cf98d" colors@>=0.6.2: version "1.1.2" @@ -1720,7 +1716,13 @@ cssom@0.3.x, "cssom@>= 0.3.0 < 0.4.0": dependencies: cssom "0.3.x" -d@^0.1.1, d@~0.1.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" + +d@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/d/-/d-0.1.1.tgz#da184c535d18d8ee7ba2aa229b914009fae11309" dependencies: @@ -1751,8 +1753,8 @@ debug@2.2.0, debug@~2.2.0: ms "0.7.1" debug@^2.1.1, debug@^2.2.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.2.tgz#dfa96a861ee9b8c2f29349b3bcc41aa599a71e0f" + version "2.6.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.3.tgz#0f7eb8c30965ec08c72accfa0130c8b79984141d" dependencies: ms "0.7.2" @@ -1870,8 +1872,8 @@ ecc-jsbn@~0.1.1: jsbn "~0.1.0" electron-to-chromium@^1.1.0, electron-to-chromium@^1.2.5, electron-to-chromium@^1.2.6: - version "1.2.6" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.2.6.tgz#f38ad51d1919b06bc07275c62629db803ddca05a" + version "1.2.7" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.2.7.tgz#4f748061407e478c76256d04496972b71f647407" elegant-spinner@^1.0.1: version "1.0.1" @@ -1908,9 +1910,9 @@ es-to-primitive@^1.1.1: is-date-object "^1.0.1" is-symbol "^1.0.1" -es5-ext@^0.10.7, es5-ext@^0.10.8, es5-ext@~0.10.11, es5-ext@~0.10.2, es5-ext@~0.10.7: - version "0.10.12" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.12.tgz#aa84641d4db76b62abba5e45fd805ecbab140047" +es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.11, es5-ext@~0.10.14, es5-ext@~0.10.2: + version "0.10.14" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.14.tgz#625bc9ab9cac0f6fb9dc271525823d1800b3d360" dependencies: es6-iterator "2" es6-symbol "~3.1" @@ -1923,13 +1925,13 @@ es5-shim@~4.0.0: version "4.0.6" resolved "https://registry.yarnpkg.com/es5-shim/-/es5-shim-4.0.6.tgz#443bf1f0503cdeabceb01ec80a84af1b8f1ca9f7" -es6-iterator@2: - version "2.0.0" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.0.tgz#bd968567d61635e33c0b80727613c9cb4b096bac" +es6-iterator@2, 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 "^0.1.1" - es5-ext "^0.10.7" - es6-symbol "3" + d "1" + es5-ext "^0.10.14" + es6-symbol "^3.1" es6-map@^0.1.3: version "0.1.4" @@ -1956,12 +1958,12 @@ es6-shim@latest: version "0.35.3" resolved "https://registry.yarnpkg.com/es6-shim/-/es6-shim-0.35.3.tgz#9bfb7363feffff87a6cdb6cd93e405ec3c4b6f26" -es6-symbol@3, es6-symbol@~3.1, es6-symbol@~3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.0.tgz#94481c655e7a7cad82eba832d97d5433496d7ffa" +es6-symbol@3, es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" dependencies: - d "~0.1.1" - es5-ext "~0.10.11" + d "1" + es5-ext "~0.10.14" es6-transpiler@latest: version "0.7.18" @@ -1980,13 +1982,13 @@ es6-transpiler@latest: stringset "~0.2.0" es6-weak-map@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.1.tgz#0d2bbd8827eb5fb4ba8f97fbfea50d43db21ea81" + version "2.0.2" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" dependencies: - d "^0.1.1" - es5-ext "^0.10.8" - es6-iterator "2" - es6-symbol "3" + d "1" + es5-ext "^0.10.14" + es6-iterator "^2.0.1" + es6-symbol "^3.1.1" es7-shim@latest: version "6.0.0" @@ -2122,15 +2124,15 @@ esutils@2.0.2, esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" event-emitter@~0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.4.tgz#8d63ddfb4cfe1fae3b32ca265c4c720222080bb5" + version "0.3.5" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" dependencies: - d "~0.1.1" - es5-ext "~0.10.7" + d "1" + es5-ext "~0.10.14" execa@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.6.0.tgz#934fc9f04a9febb4d4b449d976e92cfd95ef4f6e" + version "0.6.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.6.1.tgz#79eda42ade78c387718b0aad48e0f573b5525cde" dependencies: cross-spawn "^5.0.1" get-stream "^3.0.0" @@ -2276,8 +2278,8 @@ form-data@~2.1.1: mime-types "^2.1.12" fs-extra@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-2.0.0.tgz#337352bded4a0b714f3eb84de8cea765e9d37600" + version "2.1.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-2.1.1.tgz#f8a34cc890522fc233896f34944ff2e35948959f" dependencies: graceful-fs "^4.1.2" jsonfile "^2.1.0" @@ -2441,10 +2443,6 @@ handlebars@^4.0.3: 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@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" @@ -2454,13 +2452,6 @@ har-validator@~2.0.6: is-my-json-valid "^2.12.4" pinkie-promise "^2.0.0" -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" @@ -2541,8 +2532,8 @@ iconv-lite@^0.4.5: resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb" ignore@^3.2.0: - version "3.2.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.4.tgz#4055e03596729a8fabe45a43c100ad5ed815c4e8" + version "3.2.5" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.5.tgz#6437903354653e32ebbf562c45e68e4922a95df6" imurmurhash@^0.1.4: version "0.1.4" @@ -2943,9 +2934,10 @@ jsonpointer@^4.0.0: resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" jsprim@^1.2.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.3.1.tgz#2a7256f70412a29ee3670aaca625994c4dcff252" + 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" @@ -2988,8 +2980,8 @@ levn@^0.3.0, levn@~0.3.0: type-check "~0.3.2" lint-staged@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-3.3.1.tgz#b725d98a2be1f82cb228069fab682f503c95234d" + version "3.4.0" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-3.4.0.tgz#52fa85dfc92bb1c6fe8ad0d0d98ca13924e03e4b" dependencies: app-root-path "^2.0.0" cosmiconfig "^1.1.0" @@ -2998,7 +2990,6 @@ lint-staged@^3.3.1: minimatch "^3.0.0" npm-which "^3.0.1" staged-git-files "0.0.4" - which "^1.2.11" listr-silent-renderer@^1.1.1: version "1.1.1" @@ -3531,10 +3522,6 @@ path-type@^1.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" -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: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -3616,10 +3603,6 @@ qs@~6.3.0: version "6.3.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.2.tgz#e75bd5f6e268122a2a0e0bda630b2550c166502c" -qs@~6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" - randomatic@^1.1.3: version "1.1.6" resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" @@ -3661,8 +3644,8 @@ readable-stream@1.1: string_decoder "~0.10.x" "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.2, readable-stream@^2.2.2: - version "2.2.3" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.3.tgz#9cf49463985df016c8ae8813097a9293a9b33729" + version "2.2.5" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.5.tgz#a0b187304e05bab01a4ce2b4cc9c607d5aa1d606" dependencies: buffer-shims "^1.0.0" core-util-is "~1.0.0" @@ -3711,10 +3694,10 @@ readline2@^1.0.1: mute-stream "0.0.5" recast@^0.11.17: - version "0.11.22" - resolved "https://registry.yarnpkg.com/recast/-/recast-0.11.22.tgz#dedeb18fb001a2bbc6ac34475fda53dfe3d47dfa" + version "0.11.23" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.11.23.tgz#451fd3004ab1e4df9b4e4b66376b2a21912462d3" dependencies: - ast-types "0.9.5" + ast-types "0.9.6" esprima "~3.1.0" private "~0.1.5" source-map "~0.5.0" @@ -3807,7 +3790,7 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" -request@2.79.0: +request@2.79.0, request@^2.55.0, request@^2.79.0: version "2.79.0" resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" dependencies: @@ -3832,33 +3815,6 @@ request@2.79.0: tunnel-agent "~0.4.1" uuid "^3.0.0" -request@^2.55.0, request@^2.79.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" @@ -3937,10 +3893,6 @@ rxjs@^5.0.0-beta.11: dependencies: symbol-observable "^1.0.1" -safe-buffer@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" - sax@^1.1.4: version "1.2.2" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.2.tgz#fd8631a23bc7826bef5d871bdb87378c95647828" @@ -4018,10 +3970,10 @@ sntp@1.x.x: hoek "2.x.x" source-map-support@^0.4.2: - version "0.4.11" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.11.tgz#647f939978b38535909530885303daf23279f322" + version "0.4.12" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.12.tgz#f47d02bf01efaf0c160d3a37d038401b92b1867e" dependencies: - source-map "^0.5.3" + source-map "^0.5.6" source-map-support@~0.2.8: version "0.2.10" @@ -4041,7 +3993,7 @@ source-map@^0.4.2, source-map@^0.4.4: dependencies: amdefine ">=0.0.4" -source-map@^0.5.0, source-map@^0.5.3, source-map@~0.5.0, source-map@~0.5.1: +source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.0, source-map@~0.5.1: version "0.5.6" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" @@ -4308,12 +4260,6 @@ tryit@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" -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" - tunnel-agent@~0.4.1: version "0.4.3" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" @@ -4440,7 +4386,7 @@ 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.10, which@^1.2.11, which@^1.2.4, which@^1.2.9: +which@^1.2.10, which@^1.2.4, which@^1.2.9: version "1.2.12" resolved "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz#de67b5e450269f194909ef23ece4ebe416fa1192" dependencies: @@ -4456,10 +4402,14 @@ 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: +wordwrap@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" +wordwrap@~0.0.2: + version "0.0.3" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + wordwrap@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" @@ -4502,8 +4452,8 @@ y18n@^3.2.1: resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" yallist@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.0.1.tgz#6c11279640abd6ed0a86dd32ed56b03caa9df4f1" + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" yargs-parser@^4.0.2, yargs-parser@^4.2.0: version "4.2.1"