diff --git a/experimental/babel-preset-env/data/builtIns.json b/experimental/babel-preset-env/data/builtIns.json index 977e365bd1..cf93685f23 100644 --- a/experimental/babel-preset-env/data/builtIns.json +++ b/experimental/babel-preset-env/data/builtIns.json @@ -1,5 +1,14 @@ { - "es6.typed.data-view": {}, + "es6.typed.data-view": { + "chrome": 5, + "opera": 12, + "firefox": 15, + "safari": 5, + "node": 0.12, + "ie": 10, + "android": 4, + "ios": 6 + }, "es6.typed.int8-array": { "chrome": 5, "opera": 12, @@ -115,16 +124,7 @@ "safari": 9, "ios": 9 }, - "es6.reflect": { - "chrome": 49, - "opera": 36, - "edge": 13, - "firefox": 45, - "safari": 10, - "ios": 10 - }, - "es6.reflect.apply": {}, - "es6.reflect.construct": { + "es6.reflect.apply": { "chrome": 49, "opera": 36, "edge": 12, @@ -132,6 +132,14 @@ "safari": 10, "ios": 10 }, + "es6.reflect.construct": { + "chrome": 49, + "opera": 36, + "edge": 13, + "firefox": 45, + "safari": 10, + "ios": 10 + }, "es6.reflect.define-property": { "chrome": 49, "opera": 36, @@ -188,7 +196,14 @@ "safari": 10, "ios": 10 }, - "es6.reflect.own-keys": {}, + "es6.reflect.own-keys": { + "chrome": 49, + "opera": 36, + "edge": 12, + "firefox": 42, + "safari": 10, + "ios": 10 + }, "es6.reflect.prevent-extensions": { "chrome": 49, "opera": 36, @@ -223,77 +238,6 @@ "ios": 10 }, "es6.symbol": { - "chrome": 49, - "opera": 36, - "edge": 13, - "firefox": 36, - "safari": 10, - "ios": 10 - }, - "es6.symbol.has-instance": { - "chrome": 51, - "opera": 38, - "firefox": 50, - "safari": 10, - "node": 6.5, - "ios": 10 - }, - "es6.symbol.is-concat-spreadable": { - "chrome": 48, - "opera": 35, - "firefox": 48, - "safari": 10, - "ios": 10 - }, - "es6.symbol.iterator": {}, - "es6.symbol.match": { - "chrome": 50, - "opera": 37, - "firefox": 49, - "safari": 10, - "node": 6, - "ios": 10 - }, - "es6.symbol.replace": { - "chrome": 50, - "opera": 37, - "firefox": 49, - "safari": 10, - "node": 6, - "ios": 10 - }, - "es6.symbol.search": { - "chrome": 50, - "opera": 37, - "firefox": 49, - "safari": 10, - "node": 6, - "ios": 10 - }, - "es6.symbol.species": {}, - "es6.symbol.split": { - "chrome": 50, - "opera": 37, - "firefox": 49, - "safari": 10, - "node": 6, - "ios": 10 - }, - "es6.symbol.to-primitive": { - "chrome": 47, - "opera": 34, - "firefox": 44, - "safari": 10, - "ios": 10 - }, - "es6.symbol.to-string-tag": { - "chrome": 49, - "opera": 36, - "firefox": 51, - "safari": 10, - "ios": 10 - }, - "es6.symbol.unscopables": { "chrome": 38, "opera": 25, "edge": 12, @@ -313,7 +257,6 @@ }, "es6.object.is": { "chrome": 19, - "opera": 6, "edge": 12, "firefox": 22, "safari": 9, @@ -386,7 +329,7 @@ "chrome": 41, "opera": 28, "edge": 12, - "firefox": 17, + "firefox": 29, "safari": 9, "node": 4, "ios": 9 @@ -395,7 +338,7 @@ "chrome": 41, "opera": 28, "edge": 12, - "firefox": 17, + "firefox": 29, "safari": 9, "node": 4, "ios": 9 @@ -448,7 +391,13 @@ "node": 6, "ios": 10 }, - "es6.array.from": {}, + "es6.array.from": { + "chrome": 51, + "opera": 38, + "safari": 10, + "node": 6.5, + "ios": 10 + }, "es6.array.of": { "chrome": 45, "opera": 32, @@ -494,9 +443,17 @@ "node": 4, "ios": 10 }, + "es6.array.iterator": { + "chrome": 38, + "opera": 25, + "edge": 12, + "firefox": 28, + "safari": 7, + "node": 0.12, + "ios": 10 + }, "es6.number.is-finite": { "chrome": 19, - "opera": 6, "edge": 12, "firefox": 16, "safari": 9, @@ -524,7 +481,6 @@ }, "es6.number.is-nan": { "chrome": 19, - "opera": 6, "edge": 12, "firefox": 15, "safari": 9, @@ -713,6 +669,34 @@ "node": 0.12, "ios": 10 }, + "es7.array.includes.js": { + "chrome": 47, + "opera": 34, + "edge": 14, + "firefox": 43, + "safari": 10, + "ios": 10 + }, + "es7.object.values": { + "chrome": 54, + "opera": 41, + "edge": 14, + "firefox": 47, + "node": 7 + }, + "es7.object.entries": { + "chrome": 54, + "opera": 41, + "edge": 14, + "firefox": 47, + "node": 7 + }, + "es7.object.get-own-property-descriptors": { + "chrome": 54, + "opera": 41, + "firefox": 50, + "node": 7 + }, "es7.string.pad-start": { "firefox": 48, "safari": 10, diff --git a/experimental/babel-preset-env/scripts/build-data.js b/experimental/babel-preset-env/scripts/build-data.js index 73ea71323b..fbf8badc2f 100644 --- a/experimental/babel-preset-env/scripts/build-data.js +++ b/experimental/babel-preset-env/scripts/build-data.js @@ -66,7 +66,12 @@ const envMap = { const getLowestImplementedVersion = ({ features }, env) => { let tests = flatten(compatibilityTests - .filter((test) => features.indexOf(test.name) >= 0) + .filter((test) => { + return features.indexOf(test.name) >= 0 || + // for features === ["DataView"] + // it covers "DataView (Int8)" and "DataView (UInt8)" + features.length === 1 && test.name.indexOf(features[0]) === 0; + }) .map((test) => { return test.subtests ? test.subtests.map((subtest) => ({ diff --git a/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-import/expected.js b/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-import/expected.js index 9204db70e8..5fe99c52a3 100644 --- a/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-import/expected.js +++ b/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-import/expected.js @@ -1,9 +1,3 @@ -import "core-js/modules/es6.typed.data-view"; -import "core-js/modules/es6.reflect.apply"; -import "core-js/modules/es6.reflect.own-keys"; -import "core-js/modules/es6.symbol.iterator"; -import "core-js/modules/es6.symbol.species"; -import "core-js/modules/es6.array.from"; import "core-js/modules/es7.string.pad-start"; import "core-js/modules/es7.string.pad-end"; diff --git a/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-multiple-imports/expected.js b/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-multiple-imports/expected.js index 9204db70e8..5fe99c52a3 100644 --- a/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-multiple-imports/expected.js +++ b/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-multiple-imports/expected.js @@ -1,9 +1,3 @@ -import "core-js/modules/es6.typed.data-view"; -import "core-js/modules/es6.reflect.apply"; -import "core-js/modules/es6.reflect.own-keys"; -import "core-js/modules/es6.symbol.iterator"; -import "core-js/modules/es6.symbol.species"; -import "core-js/modules/es6.array.from"; import "core-js/modules/es7.string.pad-start"; import "core-js/modules/es7.string.pad-end"; diff --git a/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-require/expected.js b/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-require/expected.js index a55b23b8b6..8b669141c2 100644 --- a/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-require/expected.js +++ b/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-require/expected.js @@ -1,15 +1,3 @@ -require("core-js/modules/es6.typed.data-view"); - -require("core-js/modules/es6.reflect.apply"); - -require("core-js/modules/es6.reflect.own-keys"); - -require("core-js/modules/es6.symbol.iterator"); - -require("core-js/modules/es6.symbol.species"); - -require("core-js/modules/es6.array.from"); - require("core-js/modules/es7.string.pad-start"); require("core-js/modules/es7.string.pad-end");