From 3a7a1b922109b8c983a4480828646a147e3fa0cd Mon Sep 17 00:00:00 2001 From: Henry Zhu Date: Fri, 2 Dec 2016 16:46:55 -0500 Subject: [PATCH] add more features --- .../babel-preset-env/data/builtInFeatures.js | 46 +++++ .../babel-preset-env/data/builtIns.json | 195 ++++++++++++++++++ experimental/babel-preset-env/src/index.js | 2 - 3 files changed, 241 insertions(+), 2 deletions(-) diff --git a/experimental/babel-preset-env/data/builtInFeatures.js b/experimental/babel-preset-env/data/builtInFeatures.js index 8f1cfd000b..1899f9e8d5 100644 --- a/experimental/babel-preset-env/data/builtInFeatures.js +++ b/experimental/babel-preset-env/data/builtInFeatures.js @@ -16,10 +16,17 @@ module.exports = { "es6.typed.uint32-array": "typed arrays / Uint32Array", "es6.typed.float32-array": "typed arrays / Float32Array", "es6.typed.float64-array": "typed arrays / Float64Array", + "es6.map": "Map", + "es6.set": "Set", + "es6.weak-map": "WeakMap", + "es6.weak-set": "WeakSet", + + // no proxy + "es6.reflect": "Reflect", "es6.reflect.apply": "Reflect / ", "es6.reflect.construct": "Reflect / Reflect.construct", @@ -34,8 +41,11 @@ module.exports = { "es6.reflect.prevent-extensions": "Reflect / Reflect.preventExtensions", "es6.reflect.set": "Reflect / Reflect.set", "es6.reflect.set-prototype-of": "Reflect / Reflect.setPrototypeOf", + "es6.promise": "Promise", + "es6.symbol": "Symbol", + "es6.symbol.has-instance": "well-known symbols / Symbol.hasInstance", "es6.symbol.is-concat-spreadable": "well-known symbols / Symbol.isConcatSpreadable", "es6.symbol.iterator": "well-known symbols / Symbol.iterator", @@ -47,13 +57,49 @@ module.exports = { "es6.symbol.to-primitive": "well-known symbols / Symbol.toPrimitive", "es6.symbol.to-string-tag": "well-known symbols / Symbol.toStringTag", "es6.symbol.unscopables": "well-known symbols / Symbol.unscopables", + "es6.object.assign": "Object static methods / Object.assign", "es6.object.is": "Object static methods / Object.is", "es6.object.get-own-property-symbols": "Object static methods / Object.getOwnPropertySymbols", "es6.object.set-prototype-of": "Object static methods / Object.setPrototypeOf", + "es6.function.name": 'function "name" property', + "es6.string.raw": "String static methods / String.raw", "es6.string.from-code-point": "String static methods / String.fromCodePoint", + + "es6.string.code-point-at": "String.prototype methods / String.prototype.codePointAt", + // "es6.string.normalize": "String.prototype methods / String.prototype.normalize", + "es6.string.repeat": "String.prototype methods / String.prototype.repeat", + "es6.string.starts-with": "String.prototype methods / String.prototype.startsWith", + "es6.string.ends-with": "String.prototype methods / String.prototype.endsWith", + "es6.string.includes": "String.prototype methods / String.prototype.includes", + + "es6.regexp.flags": "RegExp.prototype properties / RegExp.prototype.flags", + "es6.regexp.match": "RegExp.prototype properties / RegExp.prototype[Symbol.match]", + "es6.regexp.replace": "RegExp.prototype properties / RegExp.prototype[Symbol.replace]", + "es6.regexp.split": "RegExp.prototype properties / RegExp.prototype[Symbol.split]", + "es6.regexp.search": "RegExp.prototype properties / RegExp.prototype[Symbol.search]", + + "es6.array.from": "Array static methods / Array.from", + "es6.array.of": "Array static methods / Array.of", + + "es6.array.copy-within": "Array.prototype methods / Array.prototype.copyWithin", + "es6.array.find": "Array.prototype methods / Array.prototype.find", + "es6.array.find-index": "Array.prototype methods / Array.prototype.findIndex", + "es6.array.fill": "Array.prototype methods / Array.prototype.fill", + // "es6.array.keys": "Array.prototype methods / Array.prototype.keys", + // "es6.array.values": "Array.prototype methods / Array.prototype.values", + // "es6.array.entries": "Array.prototype methods / Array.prototype.entries", + + "es6.number.is-finite": "Number properties / Number.isFinite", + "es6.number.is-integer": "Number properties / Number.isInteger", + "es6.number.is-safe-integer": "Number properties / Number.isSafeInteger", + "es6.number.is-nan": "Number properties / Number.isNaN", + "es6.number.epsilon": "Number properties / Number.EPSILON", + "es6.number.min-safe-integer": "Number properties / Number.MIN_SAFE_INTEGER", + "es6.number.max-safe-integer": "Number properties / Number.MAX_SAFE_INTEGER", + "es6.math.acosh": "Math methods / Math.acosh", "es6.math.asinh": "Math methods / Math.asinh", "es6.math.atanh": "Math methods / Math.atanh", diff --git a/experimental/babel-preset-env/data/builtIns.json b/experimental/babel-preset-env/data/builtIns.json index 5cb586cfa9..cfefc72437 100644 --- a/experimental/babel-preset-env/data/builtIns.json +++ b/experimental/babel-preset-env/data/builtIns.json @@ -364,6 +364,201 @@ "node": 4, "ios": 9 }, + "es6.string.code-point-at": { + "chrome": 41, + "opera": 28, + "edge": 12, + "firefox": 29, + "safari": 9, + "node": 4, + "ios": 9 + }, + "es6.string.repeat": { + "chrome": 41, + "opera": 28, + "edge": 12, + "firefox": 24, + "safari": 9, + "node": 4, + "ios": 9 + }, + "es6.string.starts-with": { + "chrome": 41, + "opera": 28, + "edge": 12, + "firefox": 17, + "safari": 9, + "node": 4, + "ios": 9 + }, + "es6.string.ends-with": { + "chrome": 41, + "opera": 28, + "edge": 12, + "firefox": 17, + "safari": 9, + "node": 4, + "ios": 9 + }, + "es6.string.includes": { + "chrome": 41, + "opera": 28, + "edge": 12, + "firefox": 40, + "safari": 9, + "node": 4, + "ios": 9 + }, + "es6.regexp.flags": { + "chrome": 49, + "opera": 36, + "firefox": 37, + "safari": 9, + "ios": 9 + }, + "es6.regexp.match": { + "chrome": 50, + "opera": 37, + "firefox": 49, + "safari": 10, + "node": 6, + "ios": 10 + }, + "es6.regexp.replace": { + "chrome": 50, + "opera": 37, + "firefox": 49, + "safari": 10, + "node": 6, + "ios": 10 + }, + "es6.regexp.split": { + "chrome": 50, + "opera": 37, + "firefox": 49, + "safari": 10, + "node": 6, + "ios": 10 + }, + "es6.regexp.search": { + "chrome": 50, + "opera": 37, + "firefox": 49, + "safari": 10, + "node": 6, + "ios": 10 + }, + "es6.array.from": {}, + "es6.array.of": { + "chrome": 45, + "opera": 32, + "edge": 12, + "firefox": 25, + "safari": 9, + "node": 4, + "ios": 9 + }, + "es6.array.copy-within": { + "chrome": 45, + "opera": 32, + "edge": 12, + "firefox": 32, + "safari": 9, + "node": 4, + "ios": 9 + }, + "es6.array.find": { + "chrome": 45, + "opera": 32, + "edge": 12, + "firefox": 25, + "safari": 7, + "node": 4, + "ios": 10 + }, + "es6.array.find-index": { + "chrome": 45, + "opera": 32, + "edge": 12, + "firefox": 25, + "safari": 7, + "node": 4, + "ios": 10 + }, + "es6.array.fill": { + "chrome": 45, + "opera": 32, + "edge": 12, + "firefox": 31, + "safari": 7, + "node": 4, + "ios": 10 + }, + "es6.number.is-finite": { + "chrome": 19, + "opera": 6, + "edge": 12, + "firefox": 16, + "safari": 9, + "node": 0.12, + "android": 4.1, + "ios": 9 + }, + "es6.number.is-integer": { + "chrome": 34, + "opera": 21, + "edge": 12, + "firefox": 16, + "safari": 9, + "node": 0.12, + "ios": 9 + }, + "es6.number.is-safe-integer": { + "chrome": 34, + "opera": 21, + "edge": 12, + "firefox": 32, + "safari": 9, + "node": 0.12, + "ios": 9 + }, + "es6.number.is-nan": { + "chrome": 19, + "opera": 6, + "edge": 12, + "firefox": 15, + "safari": 9, + "node": 0.12, + "android": 4.1, + "ios": 9 + }, + "es6.number.epsilon": { + "chrome": 34, + "opera": 21, + "edge": 12, + "firefox": 25, + "safari": 9, + "node": 0.12, + "ios": 9 + }, + "es6.number.min-safe-integer": { + "chrome": 34, + "opera": 21, + "edge": 12, + "firefox": 31, + "safari": 9, + "node": 0.12, + "ios": 9 + }, + "es6.number.max-safe-integer": { + "chrome": 34, + "opera": 21, + "edge": 12, + "firefox": 31, + "safari": 9, + "node": 0.12, + "ios": 9 + }, "es6.math.acosh": { "chrome": 38, "opera": 25, diff --git a/experimental/babel-preset-env/src/index.js b/experimental/babel-preset-env/src/index.js index 8aa87c0162..6fabddd712 100644 --- a/experimental/babel-preset-env/src/index.js +++ b/experimental/babel-preset-env/src/index.js @@ -151,8 +151,6 @@ export default function buildPreset(context, opts = {}) { if (useBuiltIns) { polyfills = Object.keys(builtInsList) .filter((builtInName) => isPluginRequired(targets, builtInsList[builtInName])); - console.log(polyfills); - console.log(polyfills.length, Object.keys(builtInsList).length); } if (debug && !hasBeenLogged) {