From 6ffd13af85bd5b53eb4d72b093d5daa028726e57 Mon Sep 17 00:00:00 2001 From: Henry Zhu Date: Mon, 5 Dec 2016 12:36:47 -0500 Subject: [PATCH] fixes --- experimental/babel-preset-env/README.md | 4 +- .../babel-preset-env/data/builtInFeatures.js | 42 ++++++++----------- .../babel-preset-env/data/pluginFeatures.js | 1 - experimental/babel-preset-env/package.json | 3 +- .../babel-preset-env/scripts/build-data.js | 6 +-- .../src/transformPolyfillRequirePlugin.js | 3 -- 6 files changed, 25 insertions(+), 34 deletions(-) diff --git a/experimental/babel-preset-env/README.md b/experimental/babel-preset-env/README.md index a7799a840c..6a2f4ee669 100644 --- a/experimental/babel-preset-env/README.md +++ b/experimental/babel-preset-env/README.md @@ -132,7 +132,7 @@ npm install babel-polyfill --save This option will apply a new plugin that replaces the statement `import "babel-polyfill"` or `require("babel-polyfill")` with individual requires for `babel-polyfill` based on environment. -> NOTE: This means you should only use `require("babel-polyfill");` once in your whole app. I would recommend just creating a single file that only does the require. +> NOTE: Only use `require("babel-polyfill");` once in your whole app. One option is to create single entry file that only contains the require statement. In @@ -140,7 +140,7 @@ In import "babel-polyfill"; ``` -Out (Different based on environment) +Out (different based on environment) ```js import "core-js/modules/es6.typed.data-view"; diff --git a/experimental/babel-preset-env/data/builtInFeatures.js b/experimental/babel-preset-env/data/builtInFeatures.js index 1899f9e8d5..be3614d92b 100644 --- a/experimental/babel-preset-env/data/builtInFeatures.js +++ b/experimental/babel-preset-env/data/builtInFeatures.js @@ -1,6 +1,5 @@ // https://github.com/zloirock/core-js -/* eslint-disable quotes */ module.exports = { // es2015 // core-js/fn/map @@ -18,17 +17,12 @@ module.exports = { "es6.typed.float64-array": "typed arrays / Float64Array", "es6.map": "Map", - "es6.set": "Set", - "es6.weak-map": "WeakMap", - "es6.weak-set": "WeakSet", + // proxy not implemented - // no proxy - - "es6.reflect": "Reflect", - "es6.reflect.apply": "Reflect / ", + "es6.reflect.apply": "Reflect / Reflect.apply", "es6.reflect.construct": "Reflect / Reflect.construct", "es6.reflect.define-property": "Reflect / Reflect.defineProperty", "es6.reflect.delete-property": "Reflect / Reflect.deleteProperty", @@ -43,20 +37,19 @@ module.exports = { "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", - "es6.symbol.match": "well-known symbols / Symbol.match", - "es6.symbol.replace": "well-known symbols / Symbol.replace", - "es6.symbol.search": "well-known symbols / Symbol.search", - "es6.symbol.species": "well-known symbols / Symbol.species", - "es6.symbol.split": "well-known symbols / Symbol.split", - "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.symbol": "well-known symbols / Symbol.hasInstance", + "es6.symbol": "well-known symbols / Symbol.isConcatSpreadable", + "es6.symbol": "well-known symbols / Symbol.iterator", + "es6.symbol": "well-known symbols / Symbol.match", + "es6.symbol": "well-known symbols / Symbol.replace", + "es6.symbol": "well-known symbols / Symbol.search", + "es6.symbol": "well-known symbols / Symbol.species", + "es6.symbol": "well-known symbols / Symbol.split", + "es6.symbol": "well-known symbols / Symbol.toPrimitive", + "es6.symbol": "well-known symbols / Symbol.toStringTag", + "es6.symbol": "well-known symbols / Symbol.unscopables", "es6.object.assign": "Object static methods / Object.assign", "es6.object.is": "Object static methods / Object.is", @@ -69,7 +62,7 @@ module.exports = { "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", + // "String.prototype methods / String.prototype.normalize" not implemented "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", @@ -88,9 +81,10 @@ module.exports = { "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.array.iterator": "Array.prototype methods / Array.prototype.keys", + // can use Symbol.iterator, not implemented in many environments + // "es6.array.iterator": "Array.prototype methods / Array.prototype.values", + "es6.array.iterator": "Array.prototype methods / Array.prototype.entries", "es6.number.is-finite": "Number properties / Number.isFinite", "es6.number.is-integer": "Number properties / Number.isInteger", diff --git a/experimental/babel-preset-env/data/pluginFeatures.js b/experimental/babel-preset-env/data/pluginFeatures.js index b5037d9888..c084be5a72 100644 --- a/experimental/babel-preset-env/data/pluginFeatures.js +++ b/experimental/babel-preset-env/data/pluginFeatures.js @@ -1,4 +1,3 @@ -/* eslint-disable quotes */ module.exports = { // es2015 "transform-es2015-arrow-functions": { diff --git a/experimental/babel-preset-env/package.json b/experimental/babel-preset-env/package.json index 7a97cfb44e..bafa0df101 100644 --- a/experimental/babel-preset-env/package.json +++ b/experimental/babel-preset-env/package.json @@ -82,7 +82,8 @@ "sourceType": "module" }, "rules": { - "max-len": 0 + "max-len": 0, + "quotes": ["error", "double", { "avoidEscape": true }] }, "env": { "mocha": true diff --git a/experimental/babel-preset-env/scripts/build-data.js b/experimental/babel-preset-env/scripts/build-data.js index 42ec569995..73ea71323b 100644 --- a/experimental/babel-preset-env/scripts/build-data.js +++ b/experimental/babel-preset-env/scripts/build-data.js @@ -137,9 +137,9 @@ function generateData(features) { // add opera if (plugin.chrome) { - plugin.opera = plugin.chrome - 13; - - if (plugin.chrome === 5) { + if (plugin.chrome >= 28) { + plugin.opera = plugin.chrome - 13; + } else if (plugin.chrome === 5) { plugin.opera = 12; } } diff --git a/experimental/babel-preset-env/src/transformPolyfillRequirePlugin.js b/experimental/babel-preset-env/src/transformPolyfillRequirePlugin.js index 674bdf8112..5fa0a21dba 100644 --- a/experimental/babel-preset-env/src/transformPolyfillRequirePlugin.js +++ b/experimental/babel-preset-env/src/transformPolyfillRequirePlugin.js @@ -1,6 +1,3 @@ -// Should throw if no babel-polyfill import is found in all files -// or if more than one is found - const polyfillSource = "babel-polyfill"; export default function ({ types: t }) {