From 3deb246c7d9a7d4d0143ca7276966a0b43e69d53 Mon Sep 17 00:00:00 2001 From: Brian Ng Date: Tue, 30 Jan 2018 13:53:38 -0600 Subject: [PATCH] Add some es5 features to babel-preset-env (#6526) --- packages/babel-polyfill/package.json | 2 +- .../data/built-in-features.js | 22 +- packages/babel-preset-env/data/built-ins.json | 200 ++++++++++++++++++ .../babel-preset-env/scripts/build-data.js | 2 +- .../src/built-in-definitions.js | 30 ++- .../test/debug-fixtures/android/stdout.txt | 1 + .../debug-fixtures/builtins-uglify/stdout.txt | 1 + .../test/debug-fixtures/builtins/stdout.txt | 1 + .../test/debug-fixtures/electron/stdout.txt | 17 ++ .../force-all-transforms/stdout.txt | 1 + .../shippedProposals-chrome60/stdout.txt | 1 + .../shippedProposals/stdout.txt | 17 ++ .../specific-targets/stdout.txt | 2 + .../versions-decimals/stdout.txt | 17 ++ .../versions-strings/stdout.txt | 1 + .../builtins-used-instance-methods/output.js | 1 + .../preset-options/electron/output.js | 2 + .../exclude-built-ins/options.json | 2 +- .../preset-options/exclude-include/output.js | 1 + .../exclude-regenerator/output.js | 17 ++ .../force-all-transforms/output.js | 1 + .../include-built-ins/output.js | 1 + .../output.js | 2 + .../preset-options/use-builtins-all/output.js | 17 ++ .../use-builtins-chrome-48/output.js | 1 + .../use-builtins-chrome-49/output.js | 1 + .../use-builtins-chromeandroid/output.js | 1 + .../use-builtins-import/output.js | 1 + .../use-builtins-node-web/output.js | 1 + .../use-builtins-node/output.js | 1 + .../use-builtins-require/output.js | 2 + packages/babel-register/package.json | 2 +- packages/babel-runtime/package.json | 2 +- 33 files changed, 362 insertions(+), 9 deletions(-) diff --git a/packages/babel-polyfill/package.json b/packages/babel-polyfill/package.json index f3ea1c7fe4..e431e1a700 100644 --- a/packages/babel-polyfill/package.json +++ b/packages/babel-polyfill/package.json @@ -8,7 +8,7 @@ "repository": "https://github.com/babel/babel/tree/master/packages/babel-polyfill", "main": "lib/index.js", "dependencies": { - "core-js": "^2.4.0", + "core-js": "^2.5.3", "regenerator-runtime": "^0.11.1" } } diff --git a/packages/babel-preset-env/data/built-in-features.js b/packages/babel-preset-env/data/built-in-features.js index a5d4786aff..6ec1a2d049 100644 --- a/packages/babel-preset-env/data/built-in-features.js +++ b/packages/babel-preset-env/data/built-in-features.js @@ -1,3 +1,23 @@ +const es5 = { + "es6.array.every": "Array methods / Array.prototype.every", + "es6.array.filter": "Array methods / Array.prototype.filter", + "es6.array.for-each": "Array methods / Array.prototype.forEach", + "es6.array.index-of": "Array methods / Array.prototype.indexOf", + "es6.array.is-array": "Array methods / Array.isArray", + "es6.array.last-index-of": "Array methods / Array.prototype.lastIndexOf", + "es6.array.map": "Array methods / Array.prototype.map", + "es6.array.reduce": "Array methods / Array.prototype.reduce", + "es6.array.reduce-right": "Array methods / Array.prototype.reduceRight", + "es6.array.some": "Array methods / Array.prototype.some", + "es6.array.sort": "Array methods / Array.prototype.sort", + "es6.date.now": "Date methods / Date.now", + "es6.date.to-iso-string": "Date methods / Date.prototype.toISOString", + "es6.date.to-json" : "Date methods / Date.prototype.toJSON", + "es6.function.bind": "Function.prototype.bind", + "es6.string.iterator": "String properties and methods / Property access on strings", + "es6.string.trim": "String properties and methods / String.prototype.trim", +}; + const typedArrayMethods = [ "typed arrays / %TypedArray%.from", "typed arrays / %TypedArray%.of", @@ -203,4 +223,4 @@ const es2017 = { const proposals = require("./shipped-proposals").builtIns; -module.exports = Object.assign({}, es2015, es2016, es2017, proposals); +module.exports = Object.assign({}, es5, es2015, es2016, es2017, proposals); diff --git a/packages/babel-preset-env/data/built-ins.json b/packages/babel-preset-env/data/built-ins.json index c6751caf01..96b619f845 100644 --- a/packages/babel-preset-env/data/built-ins.json +++ b/packages/babel-preset-env/data/built-ins.json @@ -1,4 +1,204 @@ { + "es6.array.every": { + "chrome": "5", + "opera": "10.1", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.1", + "ie": "9", + "android": "4", + "ios": "6", + "electron": "1.1" + }, + "es6.array.filter": { + "chrome": "5", + "opera": "10.1", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.1", + "ie": "9", + "android": "4", + "ios": "6", + "electron": "1.1" + }, + "es6.array.for-each": { + "chrome": "5", + "opera": "10.1", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.1", + "ie": "9", + "android": "4", + "ios": "6", + "electron": "1.1" + }, + "es6.array.index-of": { + "chrome": "5", + "opera": "10.1", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.1", + "ie": "9", + "android": "4", + "ios": "6", + "electron": "1.1" + }, + "es6.array.is-array": { + "chrome": "5", + "opera": "10.5", + "edge": "12", + "firefox": "4", + "safari": "4", + "node": "0.1", + "ie": "9", + "android": "4", + "ios": "6", + "electron": "1.1" + }, + "es6.array.last-index-of": { + "chrome": "5", + "opera": "10.1", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.1", + "ie": "9", + "android": "4", + "ios": "6", + "electron": "1.1" + }, + "es6.array.map": { + "chrome": "5", + "opera": "10.1", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.1", + "ie": "9", + "android": "4", + "ios": "6", + "electron": "1.1" + }, + "es6.array.reduce": { + "chrome": "5", + "opera": "10.5", + "edge": "12", + "firefox": "3", + "safari": "4", + "node": "0.1", + "ie": "9", + "android": "4", + "ios": "6", + "electron": "1.1" + }, + "es6.array.reduce-right": { + "chrome": "5", + "opera": "10.5", + "edge": "12", + "firefox": "3", + "safari": "4", + "node": "0.1", + "ie": "9", + "android": "4", + "ios": "6", + "electron": "1.1" + }, + "es6.array.some": { + "chrome": "5", + "opera": "10.1", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.1", + "ie": "9", + "android": "4", + "ios": "6", + "electron": "1.1" + }, + "es6.array.sort": { + "chrome": "63", + "opera": "50", + "edge": "12", + "firefox": "5", + "safari": "10.1", + "ie": "9", + "ios": "10.3" + }, + "es6.date.now": { + "chrome": "5", + "opera": "10.5", + "edge": "12", + "firefox": "2", + "safari": "4", + "node": "0.1", + "ie": "9", + "android": "4", + "ios": "6", + "electron": "1.1" + }, + "es6.date.to-iso-string": { + "chrome": "5", + "opera": "10.5", + "edge": "12", + "firefox": "3.5", + "safari": "4", + "node": "0.1", + "ie": "9", + "android": "4", + "ios": "6", + "electron": "1.1" + }, + "es6.date.to-json": { + "chrome": "5", + "opera": "12.1", + "edge": "12", + "firefox": "4", + "safari": "10", + "node": "0.1", + "ie": "9", + "android": "4", + "ios": "10", + "electron": "1.1" + }, + "es6.function.bind": { + "chrome": "7", + "opera": "12", + "edge": "12", + "firefox": "4", + "safari": "5.1", + "node": "0.1", + "ie": "9", + "android": "4", + "ios": "7" + }, + "es6.string.iterator": { + "chrome": "5", + "opera": "10.1", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.1", + "ie": "8", + "android": "4", + "ios": "6", + "electron": "1.1" + }, + "es6.string.trim": { + "chrome": "5", + "opera": "10.5", + "edge": "12", + "firefox": "3.5", + "safari": "4", + "node": "0.1", + "ie": "9", + "android": "4", + "ios": "6", + "electron": "1.1" + }, "es6.typed.array-buffer": { "chrome": "51", "edge": "13", diff --git a/packages/babel-preset-env/scripts/build-data.js b/packages/babel-preset-env/scripts/build-data.js index 4fe5b2f191..d4368ed44e 100644 --- a/packages/babel-preset-env/scripts/build-data.js +++ b/packages/babel-preset-env/scripts/build-data.js @@ -54,7 +54,7 @@ const byTestSuite = suite => browser => { : true; }; -const compatSources = ["es6", "es2016plus", "esnext"].reduce( +const compatSources = ["es5", "es6", "es2016plus", "esnext"].reduce( (result, source) => { const data = require(`compat-table/data-${source}`); data.browsers = pickBy(envs, byTestSuite(source)); diff --git a/packages/babel-preset-env/src/built-in-definitions.js b/packages/babel-preset-env/src/built-in-definitions.js index af2c3c1417..f4bf559ab3 100644 --- a/packages/babel-preset-env/src/built-in-definitions.js +++ b/packages/babel-preset-env/src/built-in-definitions.js @@ -20,32 +20,56 @@ export const definitions = { }, instanceMethods: { + bind: ["es6.function.bind"], name: ["es6.function.name"], - fromCodePoint: ["es6.string.from-code-point"], + codePointAt: ["es6.string.code-point-at"], + endsWith: ["es6.string.ends-with"], + fromCodePoint: ["es6.string.from-code-point"], + includes: ["es6.string.includes", "es7.array.includes"], repeat: ["es6.string.repeat"], startsWith: ["es6.string.starts-with"], - endsWith: ["es6.string.ends-with"], - includes: ["es6.string.includes", "es7.array.includes"], + trim: ["es6.string.trim"], + flags: ["es6.regexp.flags"], match: ["es6.regexp.match"], replace: ["es6.regexp.replace"], split: ["es6.regexp.split"], search: ["es6.regexp.search"], + copyWithin: ["es6.array.copy-within"], + every: ["es6.array.is-array"], find: ["es6.array.find"], findIndex: ["es6.array.find-index"], fill: ["es6.array.fill"], + filter: ["es6.array.filter"], + forEach: ["es6.array.for-each"], + indexOf: ["es6.array.index-of"], + lastIndexOf: ["es6.array.last-index-of"], + map: ["es6.array.map"], + reduce: ["es6.array.reduce"], + reduceRight: ["es6.array.reduce-right"], + some: ["es6.array.some"], + sort: ["es6.array.sort"], + padStart: ["es7.string.pad-start"], padEnd: ["es7.string.pad-end"], + + toISOString: ["es6.date.to-iso-string"], + toJSON: ["es6.date.to-json"], }, staticMethods: { Array: { from: "es6.array.from", + isArray: "es6.array.is-array", of: "es6.array.of", }, + Date: { + now: "es6.date.now", + }, + Object: { assign: "es6.object.assign", is: "es6.object.is", diff --git a/packages/babel-preset-env/test/debug-fixtures/android/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/android/stdout.txt index 1b59cbe7ec..00a05762c3 100644 --- a/packages/babel-preset-env/test/debug-fixtures/android/stdout.txt +++ b/packages/babel-preset-env/test/debug-fixtures/android/stdout.txt @@ -35,6 +35,7 @@ Using plugins: Using polyfills with `entry` option: [src/in.js] Replaced `@babel/polyfill` with the following polyfills: + es6.array.sort { "android":"4" } es6.typed.array-buffer { "android":"4" } es6.typed.int8-array { "android":"4" } es6.typed.uint8-array { "android":"4" } diff --git a/packages/babel-preset-env/test/debug-fixtures/builtins-uglify/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/builtins-uglify/stdout.txt index 9b1eb07837..5fee15ef63 100644 --- a/packages/babel-preset-env/test/debug-fixtures/builtins-uglify/stdout.txt +++ b/packages/babel-preset-env/test/debug-fixtures/builtins-uglify/stdout.txt @@ -38,6 +38,7 @@ Using plugins: Using polyfills with `entry` option: [src/in.js] Replaced `@babel/polyfill` with the following polyfills: + es6.array.sort { "chrome":"55" } es7.string.pad-start { "chrome":"55" } es7.string.pad-end { "chrome":"55" } web.timers { "chrome":"55" } diff --git a/packages/babel-preset-env/test/debug-fixtures/builtins/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/builtins/stdout.txt index 204284455e..cefe457b70 100644 --- a/packages/babel-preset-env/test/debug-fixtures/builtins/stdout.txt +++ b/packages/babel-preset-env/test/debug-fixtures/builtins/stdout.txt @@ -37,6 +37,7 @@ Using plugins: Using polyfills with `entry` option: [src/in.js] Replaced `@babel/polyfill` with the following polyfills: + es6.array.sort { "chrome":"54", "node":"6" } es6.typed.array-buffer { "ie":"10", "node":"6" } es6.typed.int8-array { "ie":"10", "node":"6" } es6.typed.uint8-array { "ie":"10", "node":"6" } diff --git a/packages/babel-preset-env/test/debug-fixtures/electron/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/electron/stdout.txt index d2b234cc7c..27f9040061 100644 --- a/packages/babel-preset-env/test/debug-fixtures/electron/stdout.txt +++ b/packages/babel-preset-env/test/debug-fixtures/electron/stdout.txt @@ -30,6 +30,23 @@ Using plugins: Using polyfills with `entry` option: [src/in.js] Replaced `@babel/polyfill` with the following polyfills: + es6.array.every { "electron":"0.36" } + es6.array.filter { "electron":"0.36" } + es6.array.for-each { "electron":"0.36" } + es6.array.index-of { "electron":"0.36" } + es6.array.is-array { "electron":"0.36" } + es6.array.last-index-of { "electron":"0.36" } + es6.array.map { "electron":"0.36" } + es6.array.reduce { "electron":"0.36" } + es6.array.reduce-right { "electron":"0.36" } + es6.array.some { "electron":"0.36" } + es6.array.sort { "electron":"0.36" } + es6.date.now { "electron":"0.36" } + es6.date.to-iso-string { "electron":"0.36" } + es6.date.to-json { "electron":"0.36" } + es6.function.bind { "electron":"0.36" } + es6.string.iterator { "electron":"0.36" } + es6.string.trim { "electron":"0.36" } es6.typed.array-buffer { "electron":"0.36" } es6.typed.data-view { "electron":"0.36" } es6.typed.int8-array { "electron":"0.36" } diff --git a/packages/babel-preset-env/test/debug-fixtures/force-all-transforms/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/force-all-transforms/stdout.txt index 4349ca6689..a6ca17fbd9 100644 --- a/packages/babel-preset-env/test/debug-fixtures/force-all-transforms/stdout.txt +++ b/packages/babel-preset-env/test/debug-fixtures/force-all-transforms/stdout.txt @@ -35,6 +35,7 @@ Using plugins: Using polyfills with `entry` option: [src/in.js] Replaced `@babel/polyfill` with the following polyfills: + es6.array.sort { "chrome":"55" } es7.string.pad-start { "chrome":"55" } es7.string.pad-end { "chrome":"55" } web.timers { "chrome":"55" } diff --git a/packages/babel-preset-env/test/debug-fixtures/shippedProposals-chrome60/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/shippedProposals-chrome60/stdout.txt index 8cd92ada6a..9e2f76c707 100644 --- a/packages/babel-preset-env/test/debug-fixtures/shippedProposals-chrome60/stdout.txt +++ b/packages/babel-preset-env/test/debug-fixtures/shippedProposals-chrome60/stdout.txt @@ -17,6 +17,7 @@ Using plugins: Using polyfills with `entry` option: [src/in.js] Replaced `@babel/polyfill` with the following polyfills: + es6.array.sort { "chrome":"60" } es7.promise.finally { "chrome":"60" } web.timers { "chrome":"60" } web.immediate { "chrome":"60" } diff --git a/packages/babel-preset-env/test/debug-fixtures/shippedProposals/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/shippedProposals/stdout.txt index 082e184dab..150d19dd14 100644 --- a/packages/babel-preset-env/test/debug-fixtures/shippedProposals/stdout.txt +++ b/packages/babel-preset-env/test/debug-fixtures/shippedProposals/stdout.txt @@ -37,6 +37,23 @@ Using plugins: Using polyfills with `entry` option: [src/in.js] Replaced `@babel/polyfill` with the following polyfills: + es6.array.every {} + es6.array.filter {} + es6.array.for-each {} + es6.array.index-of {} + es6.array.is-array {} + es6.array.last-index-of {} + es6.array.map {} + es6.array.reduce {} + es6.array.reduce-right {} + es6.array.some {} + es6.array.sort {} + es6.date.now {} + es6.date.to-iso-string {} + es6.date.to-json {} + es6.function.bind {} + es6.string.iterator {} + es6.string.trim {} es6.typed.array-buffer {} es6.typed.data-view {} es6.typed.int8-array {} diff --git a/packages/babel-preset-env/test/debug-fixtures/specific-targets/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/specific-targets/stdout.txt index 20bcbe15a5..29a17fe714 100644 --- a/packages/babel-preset-env/test/debug-fixtures/specific-targets/stdout.txt +++ b/packages/babel-preset-env/test/debug-fixtures/specific-targets/stdout.txt @@ -40,6 +40,8 @@ Using plugins: Using polyfills with `entry` option: [src/in.js] Replaced `@babel/polyfill` with the following polyfills: + es6.array.sort { "chrome":"54", "ios":"9", "safari":"7" } + es6.date.to-json { "ios":"9", "safari":"7" } es6.typed.array-buffer { "ie":"10", "ios":"9", "safari":"7" } es6.typed.int8-array { "ie":"10", "ios":"9", "safari":"7" } es6.typed.uint8-array { "ie":"10", "ios":"9", "safari":"7" } diff --git a/packages/babel-preset-env/test/debug-fixtures/versions-decimals/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/versions-decimals/stdout.txt index f2d68a2847..81048c38d3 100644 --- a/packages/babel-preset-env/test/debug-fixtures/versions-decimals/stdout.txt +++ b/packages/babel-preset-env/test/debug-fixtures/versions-decimals/stdout.txt @@ -46,6 +46,23 @@ Using plugins: Using polyfills with `entry` option: [src/in.js] Replaced `@babel/polyfill` with the following polyfills: + es6.array.every { "electron":"0.36" } + es6.array.filter { "electron":"0.36" } + es6.array.for-each { "electron":"0.36" } + es6.array.index-of { "electron":"0.36" } + es6.array.is-array { "electron":"0.36" } + es6.array.last-index-of { "electron":"0.36" } + es6.array.map { "electron":"0.36" } + es6.array.reduce { "electron":"0.36" } + es6.array.reduce-right { "electron":"0.36" } + es6.array.some { "electron":"0.36" } + es6.array.sort { "chrome":"54", "electron":"0.36", "node":"6.1" } + es6.date.now { "electron":"0.36" } + es6.date.to-iso-string { "electron":"0.36" } + es6.date.to-json { "electron":"0.36" } + es6.function.bind { "electron":"0.36" } + es6.string.iterator { "electron":"0.36" } + es6.string.trim { "electron":"0.36" } es6.typed.array-buffer { "electron":"0.36", "ie":"10", "node":"6.1" } es6.typed.data-view { "electron":"0.36" } es6.typed.int8-array { "electron":"0.36", "ie":"10", "node":"6.1" } diff --git a/packages/babel-preset-env/test/debug-fixtures/versions-strings/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/versions-strings/stdout.txt index e8d00ec4ee..053aba06c2 100644 --- a/packages/babel-preset-env/test/debug-fixtures/versions-strings/stdout.txt +++ b/packages/babel-preset-env/test/debug-fixtures/versions-strings/stdout.txt @@ -37,6 +37,7 @@ Using plugins: Using polyfills with `entry` option: [src/in.js] Replaced `@babel/polyfill` with the following polyfills: + es6.array.sort { "chrome":"54", "node":"6.10" } es6.typed.array-buffer { "ie":"10" } es6.typed.int8-array { "ie":"10" } es6.typed.uint8-array { "ie":"10" } diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-used-instance-methods/output.js b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-used-instance-methods/output.js index e0aa04a45f..4e2284d929 100644 --- a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-used-instance-methods/output.js +++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-used-instance-methods/output.js @@ -8,6 +8,7 @@ import "core-js/modules/es6.string.starts-with"; import "core-js/modules/es7.string.pad-end"; import "core-js/modules/es7.string.pad-start"; import "core-js/modules/es6.array.fill"; +import "core-js/modules/es6.function.bind"; import "core-js/modules/es6.array.find-index"; import "core-js/modules/es6.array.find"; import "core-js/modules/es7.array.includes"; diff --git a/packages/babel-preset-env/test/fixtures/preset-options/electron/output.js b/packages/babel-preset-env/test/fixtures/preset-options/electron/output.js index 7b8faaee48..5561f0e4e5 100644 --- a/packages/babel-preset-env/test/fixtures/preset-options/electron/output.js +++ b/packages/babel-preset-env/test/fixtures/preset-options/electron/output.js @@ -1,3 +1,5 @@ +import "core-js/modules/es6.array.sort"; +import "core-js/modules/es6.function.bind"; import "core-js/modules/es7.object.values"; import "core-js/modules/es7.object.entries"; import "core-js/modules/es7.object.get-own-property-descriptors"; diff --git a/packages/babel-preset-env/test/fixtures/preset-options/exclude-built-ins/options.json b/packages/babel-preset-env/test/fixtures/preset-options/exclude-built-ins/options.json index b05901e3e9..87ca44b84d 100644 --- a/packages/babel-preset-env/test/fixtures/preset-options/exclude-built-ins/options.json +++ b/packages/babel-preset-env/test/fixtures/preset-options/exclude-built-ins/options.json @@ -2,7 +2,7 @@ "presets": [ ["../../../../lib", { "targets": { - "chrome": 55 + "chrome": 63 }, "modules": false, "useBuiltIns": "entry", diff --git a/packages/babel-preset-env/test/fixtures/preset-options/exclude-include/output.js b/packages/babel-preset-env/test/fixtures/preset-options/exclude-include/output.js index de8cb58d60..917cc1c30b 100644 --- a/packages/babel-preset-env/test/fixtures/preset-options/exclude-include/output.js +++ b/packages/babel-preset-env/test/fixtures/preset-options/exclude-include/output.js @@ -1,3 +1,4 @@ +import "core-js/modules/es6.array.sort"; import "core-js/modules/es6.map"; import "core-js/modules/es7.string.pad-end"; import "core-js/modules/web.timers"; diff --git a/packages/babel-preset-env/test/fixtures/preset-options/exclude-regenerator/output.js b/packages/babel-preset-env/test/fixtures/preset-options/exclude-regenerator/output.js index da9e30c169..cbe5324c7c 100644 --- a/packages/babel-preset-env/test/fixtures/preset-options/exclude-regenerator/output.js +++ b/packages/babel-preset-env/test/fixtures/preset-options/exclude-regenerator/output.js @@ -1,3 +1,20 @@ +import "core-js/modules/es6.array.every"; +import "core-js/modules/es6.array.filter"; +import "core-js/modules/es6.array.for-each"; +import "core-js/modules/es6.array.index-of"; +import "core-js/modules/es6.array.is-array"; +import "core-js/modules/es6.array.last-index-of"; +import "core-js/modules/es6.array.map"; +import "core-js/modules/es6.array.reduce"; +import "core-js/modules/es6.array.reduce-right"; +import "core-js/modules/es6.array.some"; +import "core-js/modules/es6.array.sort"; +import "core-js/modules/es6.date.now"; +import "core-js/modules/es6.date.to-iso-string"; +import "core-js/modules/es6.date.to-json"; +import "core-js/modules/es6.function.bind"; +import "core-js/modules/es6.string.iterator"; +import "core-js/modules/es6.string.trim"; import "core-js/modules/es6.typed.array-buffer"; import "core-js/modules/es6.typed.data-view"; import "core-js/modules/es6.typed.int8-array"; diff --git a/packages/babel-preset-env/test/fixtures/preset-options/force-all-transforms/output.js b/packages/babel-preset-env/test/fixtures/preset-options/force-all-transforms/output.js index eda037cb88..4e841102e4 100644 --- a/packages/babel-preset-env/test/fixtures/preset-options/force-all-transforms/output.js +++ b/packages/babel-preset-env/test/fixtures/preset-options/force-all-transforms/output.js @@ -1,3 +1,4 @@ +import "core-js/modules/es6.array.sort"; import "core-js/modules/es7.string.pad-start"; import "core-js/modules/es7.string.pad-end"; import "core-js/modules/web.timers"; diff --git a/packages/babel-preset-env/test/fixtures/preset-options/include-built-ins/output.js b/packages/babel-preset-env/test/fixtures/preset-options/include-built-ins/output.js index 53402f8d46..ca02c9e8c5 100644 --- a/packages/babel-preset-env/test/fixtures/preset-options/include-built-ins/output.js +++ b/packages/babel-preset-env/test/fixtures/preset-options/include-built-ins/output.js @@ -1,3 +1,4 @@ +import "core-js/modules/es6.array.sort"; import "core-js/modules/es6.map"; import "core-js/modules/es6.set"; import "core-js/modules/es7.string.pad-start"; diff --git a/packages/babel-preset-env/test/fixtures/preset-options/shippedProposals-use-builtins-usage/output.js b/packages/babel-preset-env/test/fixtures/preset-options/shippedProposals-use-builtins-usage/output.js index ccfa041dc1..8ad03ca549 100644 --- a/packages/babel-preset-env/test/fixtures/preset-options/shippedProposals-use-builtins-usage/output.js +++ b/packages/babel-preset-env/test/fixtures/preset-options/shippedProposals-use-builtins-usage/output.js @@ -6,6 +6,8 @@ require("core-js/modules/es6.symbol"); require("core-js/modules/es6.promise"); +require("core-js/modules/es6.array.index-of"); + require("core-js/modules/es6.object.assign"); function _awaitAsyncGenerator(value) { return new _AwaitValue(value); } diff --git a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-all/output.js b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-all/output.js index 54d7e40c99..6cbb5d11e3 100644 --- a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-all/output.js +++ b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-all/output.js @@ -1,3 +1,20 @@ +import "core-js/modules/es6.array.every"; +import "core-js/modules/es6.array.filter"; +import "core-js/modules/es6.array.for-each"; +import "core-js/modules/es6.array.index-of"; +import "core-js/modules/es6.array.is-array"; +import "core-js/modules/es6.array.last-index-of"; +import "core-js/modules/es6.array.map"; +import "core-js/modules/es6.array.reduce"; +import "core-js/modules/es6.array.reduce-right"; +import "core-js/modules/es6.array.some"; +import "core-js/modules/es6.array.sort"; +import "core-js/modules/es6.date.now"; +import "core-js/modules/es6.date.to-iso-string"; +import "core-js/modules/es6.date.to-json"; +import "core-js/modules/es6.function.bind"; +import "core-js/modules/es6.string.iterator"; +import "core-js/modules/es6.string.trim"; import "core-js/modules/es6.typed.array-buffer"; import "core-js/modules/es6.typed.data-view"; import "core-js/modules/es6.typed.int8-array"; diff --git a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-48/output.js b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-48/output.js index ceeb8ff8a0..7f3ba68eab 100644 --- a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-48/output.js +++ b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-48/output.js @@ -1,3 +1,4 @@ +import "core-js/modules/es6.array.sort"; import "core-js/modules/es6.typed.array-buffer"; import "core-js/modules/es6.typed.int8-array"; import "core-js/modules/es6.typed.uint8-array"; diff --git a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-49/output.js b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-49/output.js index 0af1f6a75c..fd38adc1d8 100644 --- a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-49/output.js +++ b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-49/output.js @@ -1,3 +1,4 @@ +import "core-js/modules/es6.array.sort"; import "core-js/modules/es6.typed.array-buffer"; import "core-js/modules/es6.typed.int8-array"; import "core-js/modules/es6.typed.uint8-array"; diff --git a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-chromeandroid/output.js b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-chromeandroid/output.js index 1fda3d0a13..624b86592a 100644 --- a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-chromeandroid/output.js +++ b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-chromeandroid/output.js @@ -1,3 +1,4 @@ +import "core-js/modules/es6.array.sort"; import "core-js/modules/web.timers"; import "core-js/modules/web.immediate"; import "core-js/modules/web.dom.iterable"; diff --git a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-import/output.js b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-import/output.js index 78b3abc81f..87b6432a81 100644 --- a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-import/output.js +++ b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-import/output.js @@ -1,3 +1,4 @@ +import "core-js/modules/es6.array.sort"; import "core-js/modules/es7.string.pad-start"; import "core-js/modules/es7.string.pad-end"; import "core-js/modules/web.timers"; diff --git a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-node-web/output.js b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-node-web/output.js index 6de429ff08..6faf6f5f11 100644 --- a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-node-web/output.js +++ b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-node-web/output.js @@ -1,3 +1,4 @@ +import "core-js/modules/es6.array.sort"; import "core-js/modules/es7.string.pad-start"; import "core-js/modules/es7.string.pad-end"; import "core-js/modules/web.timers"; diff --git a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-node/output.js b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-node/output.js index 2b8ff22b1e..329ed46a46 100644 --- a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-node/output.js +++ b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-node/output.js @@ -1,3 +1,4 @@ +import "core-js/modules/es6.array.sort"; import "core-js/modules/es7.string.pad-start"; import "core-js/modules/es7.string.pad-end"; import "regenerator-runtime/runtime"; diff --git a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-require/output.js b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-require/output.js index 319d740228..8d88c8f311 100644 --- a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-require/output.js +++ b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-require/output.js @@ -1,3 +1,5 @@ +require("core-js/modules/es6.array.sort"); + require("core-js/modules/es7.string.pad-start"); require("core-js/modules/es7.string.pad-end"); diff --git a/packages/babel-register/package.json b/packages/babel-register/package.json index 5b2c8c8bd9..848a9c1e0b 100644 --- a/packages/babel-register/package.json +++ b/packages/babel-register/package.json @@ -10,7 +10,7 @@ "./lib/node.js": "./lib/browser.js" }, "dependencies": { - "core-js": "^2.4.0", + "core-js": "^2.5.3", "find-cache-dir": "^1.0.0", "home-or-tmp": "^3.0.0", "lodash": "^4.2.0", diff --git a/packages/babel-runtime/package.json b/packages/babel-runtime/package.json index 6a831c2eef..bf4d79e5c9 100644 --- a/packages/babel-runtime/package.json +++ b/packages/babel-runtime/package.json @@ -6,7 +6,7 @@ "repository": "https://github.com/babel/babel/tree/master/packages/babel-runtime", "author": "Sebastian McKenzie ", "dependencies": { - "core-js": "^2.4.0", + "core-js": "^2.5.3", "regenerator-runtime": "^0.11.1" }, "devDependencies": {