Merge pull request #7065 from babel/dotall-preset-env

Add dot-all regex support to preset-env and standalone
This commit is contained in:
Henry Zhu 2017-12-19 20:45:18 -05:00 committed by GitHub
commit cabdf3769d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
23 changed files with 73 additions and 26 deletions

View File

@ -130,6 +130,10 @@ const es2017 = {
},
};
const es2018 = {
"transform-dotall-regex": "s (dotAll) flag for regular expressions",
};
const proposals = require("./shipped-proposals").features;
module.exports = Object.assign({}, es2015, es2016, es2017, proposals);
module.exports = Object.assign({}, es2015, es2016, es2017, es2018, proposals);

View File

@ -228,6 +228,11 @@
"opera": "42",
"electron": "1.6"
},
"transform-dotall-regex": {
"chrome": "62",
"safari": "tp",
"opera": "49"
},
"proposal-async-generator-functions": {
"chrome": "63",
"firefox": "57",
@ -246,6 +251,8 @@
"safari": "tp"
},
"proposal-unicode-property-regex": {
"safari": "tp"
"chrome": "64",
"safari": "tp",
"opera": "51"
}
}

View File

@ -26,6 +26,7 @@
"@babel/plugin-transform-classes": "7.0.0-beta.35",
"@babel/plugin-transform-computed-properties": "7.0.0-beta.35",
"@babel/plugin-transform-destructuring": "7.0.0-beta.35",
"@babel/plugin-transform-dotall-regex": "7.0.0-beta.35",
"@babel/plugin-transform-duplicate-keys": "7.0.0-beta.35",
"@babel/plugin-transform-exponentiation-operator": "7.0.0-beta.35",
"@babel/plugin-transform-for-of": "7.0.0-beta.35",
@ -57,7 +58,7 @@
"@babel/core": "7.0.0-beta.35",
"@babel/helper-fixtures": "7.0.0-beta.35",
"@babel/helper-plugin-test-runner": "7.0.0-beta.35",
"compat-table": "kangax/compat-table#baed064b31147eda2fb268ea708013d6208b8615",
"compat-table": "kangax/compat-table#3e30cd67a5d3d853caf8424d00ca66d100674d4f",
"electron-to-chromium": "^1.3.27"
}
}

View File

@ -11,6 +11,7 @@ export default {
"transform-classes": require("@babel/plugin-transform-classes"),
"transform-computed-properties": require("@babel/plugin-transform-computed-properties"),
"transform-destructuring": require("@babel/plugin-transform-destructuring"),
"transform-dotall-regex": require("@babel/plugin-transform-dotall-regex"),
"transform-duplicate-keys": require("@babel/plugin-transform-duplicate-keys"),
"transform-for-of": require("@babel/plugin-transform-for-of"),
"transform-function-name": require("@babel/plugin-transform-function-name"),

View File

@ -1,6 +1,6 @@
/*eslint quotes: ["error", "double", { "avoidEscape": true }]*/
import semver from "semver";
import { prettifyVersion, semverify } from "./utils";
import { isUnreleasedVersion, prettifyVersion, semverify } from "./utils";
const wordEnds = size => {
return size > 1 ? "s" : "";
@ -12,13 +12,30 @@ export const logMessage = (message, context) => {
console.log(logStr);
};
export const logPlugin = (plugin, targets, list, context) => {
const envList = list[plugin] || {};
const filteredList = Object.keys(targets).reduce((a, b) => {
if (!envList[b] || semver.lt(targets[b], semverify(envList[b]))) {
a[b] = prettifyVersion(targets[b]);
// Outputs a message that shows which target(s) caused an item to be included:
// transform-foo { "edge":"13", "firefox":"49", "ie":"10" }
export const logPlugin = (item, targetVersions, list, context) => {
const minVersions = list[item] || {};
const filteredList = Object.keys(targetVersions).reduce((result, env) => {
const minVersion = minVersions[env];
const targetVersion = targetVersions[env];
if (!minVersion) {
result[env] = prettifyVersion(targetVersion);
} else {
const minIsUnreleased = isUnreleasedVersion(minVersion, env);
const targetIsUnreleased = isUnreleasedVersion(targetVersion, env);
if (
!targetIsUnreleased &&
(minIsUnreleased || semver.lt(targetVersion, semverify(minVersion)))
) {
result[env] = prettifyVersion(targetVersion);
}
}
return a;
return result;
}, {});
const formattedTargets = JSON.stringify(filteredList)
@ -26,7 +43,7 @@ export const logPlugin = (plugin, targets, list, context) => {
.replace(/^\{"/, '{ "')
.replace(/"\}$/, '" }');
logMessage(`${plugin} ${formattedTargets}`, context);
logMessage(`${item} ${formattedTargets}`, context);
};
export const logEntryPolyfills = (

View File

@ -58,7 +58,7 @@ export const prettifyTargets = (targets: Targets): Object => {
export const isUnreleasedVersion = (version: string, env: string): boolean => {
const unreleasedLabel = unreleasedLabels[env];
return (
unreleasedLabel && unreleasedLabel === version.toString().toLowerCase()
!!unreleasedLabel && unreleasedLabel === version.toString().toLowerCase()
);
};

View File

@ -31,6 +31,7 @@ Using plugins:
transform-regenerator { "android":"4" }
transform-exponentiation-operator { "android":"4" }
transform-async-to-generator { "android":"4" }
transform-dotall-regex { "android":"4" }
Using polyfills with `entry` option:
@ -132,4 +133,4 @@ Using polyfills with `entry` option:
web.timers { "android":"4" }
web.immediate { "android":"4" }
web.dom.iterable { "android":"4" }
src/in.js -> lib/in.js
src/in.js -> lib/in.js

View File

@ -13,8 +13,9 @@ Using plugins:
transform-function-name { "node":"6" }
transform-exponentiation-operator { "node":"6" }
transform-async-to-generator { "node":"6" }
transform-dotall-regex { "node":"6" }
Using polyfills with `entry` option:
[src/in.js] `import '@babel/polyfill'` was not found.
src/in.js -> lib/in.js
src/in.js -> lib/in.js

View File

@ -34,6 +34,7 @@ Using plugins:
transform-regenerator {}
transform-exponentiation-operator {}
transform-async-to-generator {}
transform-dotall-regex { "chrome":"55" }
Using polyfills with `entry` option:
@ -43,4 +44,4 @@ Using polyfills with `entry` option:
web.timers { "chrome":"55" }
web.immediate { "chrome":"55" }
web.dom.iterable { "chrome":"55" }
src/in.js -> lib/in.js
src/in.js -> lib/in.js

View File

@ -33,6 +33,7 @@ Using plugins:
transform-regenerator { "ie":"10" }
transform-exponentiation-operator { "ie":"10", "node":"6" }
transform-async-to-generator { "chrome":"54", "ie":"10", "node":"6" }
transform-dotall-regex { "chrome":"54", "ie":"10", "node":"6" }
Using polyfills with `entry` option:
@ -134,4 +135,4 @@ Using polyfills with `entry` option:
web.timers { "chrome":"54", "ie":"10", "node":"6" }
web.immediate { "chrome":"54", "ie":"10", "node":"6" }
web.dom.iterable { "chrome":"54", "ie":"10", "node":"6" }
src/in.js -> lib/in.js
src/in.js -> lib/in.js

View File

@ -26,6 +26,7 @@ Using plugins:
transform-regenerator { "electron":"0.36" }
transform-exponentiation-operator { "electron":"0.36" }
transform-async-to-generator { "electron":"0.36" }
transform-dotall-regex { "electron":"0.36" }
Using polyfills with `entry` option:
@ -75,4 +76,4 @@ Using polyfills with `entry` option:
web.timers { "electron":"0.36" }
web.immediate { "electron":"0.36" }
web.dom.iterable { "electron":"0.36" }
src/in.js -> lib/in.js
src/in.js -> lib/in.js

View File

@ -31,6 +31,7 @@ Using plugins:
transform-regenerator {}
transform-exponentiation-operator {}
transform-async-to-generator {}
transform-dotall-regex { "chrome":"55" }
Using polyfills with `entry` option:
@ -40,4 +41,4 @@ Using polyfills with `entry` option:
web.timers { "chrome":"55" }
web.immediate { "chrome":"55" }
web.dom.iterable { "chrome":"55" }
src/in.js -> lib/in.js
src/in.js -> lib/in.js

View File

@ -20,6 +20,7 @@ Using plugins:
transform-for-of { "firefox":"52" }
transform-function-name { "firefox":"52" }
transform-literals { "firefox":"52" }
transform-dotall-regex { "firefox":"52", "node":"7.4" }
Using polyfills: No polyfills were added, since the `useBuiltIns` option was not set.
src/in.js -> lib/in.js
src/in.js -> lib/in.js

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: commonjs
Using plugins:
transform-dotall-regex { "chrome":"60" }
proposal-async-generator-functions { "chrome":"60" }
syntax-object-rest-spread { "chrome":"60" }
proposal-optional-catch-binding { "chrome":"60" }
@ -20,4 +21,4 @@ Using polyfills with `entry` option:
web.timers { "chrome":"60" }
web.immediate { "chrome":"60" }
web.dom.iterable { "chrome":"60" }
src/in.js -> lib/in.js
src/in.js -> lib/in.js

View File

@ -29,6 +29,7 @@ Using plugins:
transform-regenerator {}
transform-exponentiation-operator {}
transform-async-to-generator {}
transform-dotall-regex {}
proposal-async-generator-functions {}
proposal-object-rest-spread {}
proposal-optional-catch-binding {}
@ -136,4 +137,4 @@ Using polyfills with `entry` option:
web.timers {}
web.immediate {}
web.dom.iterable {}
src/in.js -> lib/in.js
src/in.js -> lib/in.js

View File

@ -36,6 +36,7 @@ Using plugins:
transform-regenerator { "firefox":"49", "ie":"10", "ios":"9", "safari":"7" }
transform-exponentiation-operator { "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" }
transform-async-to-generator { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" }
transform-dotall-regex { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" }
Using polyfills with `entry` option:
@ -137,4 +138,4 @@ Using polyfills with `entry` option:
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

View File

@ -32,6 +32,7 @@ Using plugins:
transform-regenerator { "firefox":"50", "ie":"11" }
transform-exponentiation-operator { "firefox":"50", "ie":"11" }
transform-async-to-generator { "chrome":"52", "firefox":"50", "ie":"11" }
transform-dotall-regex { "chrome":"52", "firefox":"50", "ie":"11" }
Using polyfills with `usage` option:
@ -39,4 +40,4 @@ Using polyfills with `usage` option:
src/in.js -> lib/in.js
[src/in2.js] Based on your code and targets, none were added.
src/in2.js -> lib/in2.js
src/in2.js -> lib/in2.js

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: commonjs
Using plugins:
transform-dotall-regex { "chrome":"55" }
Using polyfills with `usage` option:

View File

@ -32,6 +32,7 @@ Using plugins:
transform-regenerator { "firefox":"50", "ie":"11" }
transform-exponentiation-operator { "firefox":"50", "ie":"11" }
transform-async-to-generator { "chrome":"52", "firefox":"50", "ie":"11" }
transform-dotall-regex { "chrome":"52", "firefox":"50", "ie":"11" }
Using polyfills with `usage` option:
@ -43,4 +44,4 @@ src/in.js -> lib/in.js
[src/in2.js] Added following polyfills:
regenerator-runtime { "chrome":"52", "firefox":"50", "ie":"11" }
web.dom.iterable { "chrome":"52", "firefox":"50", "ie":"11" }
src/in2.js -> lib/in2.js
src/in2.js -> lib/in2.js

View File

@ -42,6 +42,7 @@ Using plugins:
transform-regenerator { "electron":"0.36", "ie":"10" }
transform-exponentiation-operator { "electron":"0.36", "ie":"10", "node":"6.1" }
transform-async-to-generator { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" }
transform-dotall-regex { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" }
Using polyfills with `entry` option:
@ -144,4 +145,4 @@ Using polyfills with `entry` option:
web.timers { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" }
web.immediate { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" }
web.dom.iterable { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" }
src/in.js -> lib/in.js
src/in.js -> lib/in.js

View File

@ -33,6 +33,7 @@ Using plugins:
transform-regenerator { "ie":"10" }
transform-exponentiation-operator { "ie":"10", "node":"6.10" }
transform-async-to-generator { "chrome":"54", "ie":"10", "node":"6.10" }
transform-dotall-regex { "chrome":"54", "ie":"10", "node":"6.10" }
Using polyfills with `entry` option:
@ -134,4 +135,4 @@ Using polyfills with `entry` option:
web.timers { "chrome":"54", "ie":"10", "node":"6.10" }
web.immediate { "chrome":"54", "ie":"10", "node":"6.10" }
web.dom.iterable { "chrome":"54", "ie":"10", "node":"6.10" }
src/in.js -> lib/in.js
src/in.js -> lib/in.js

View File

@ -45,6 +45,7 @@
"@babel/plugin-transform-classes": "7.0.0-beta.35",
"@babel/plugin-transform-computed-properties": "7.0.0-beta.35",
"@babel/plugin-transform-destructuring": "7.0.0-beta.35",
"@babel/plugin-transform-dotall-regex": "7.0.0-beta.35",
"@babel/plugin-transform-duplicate-keys": "7.0.0-beta.35",
"@babel/plugin-transform-eval": "7.0.0-beta.35",
"@babel/plugin-transform-exponentiation-operator": "7.0.0-beta.35",

View File

@ -170,6 +170,7 @@ registerPlugins({
"transform-classes": require("@babel/plugin-transform-classes"),
"transform-computed-properties": require("@babel/plugin-transform-computed-properties"),
"transform-destructuring": require("@babel/plugin-transform-destructuring"),
"transform-dotall-regex": require("@babel/plugin-transform-dotall-regex"),
"transform-duplicate-keys": require("@babel/plugin-transform-duplicate-keys"),
"transform-for-of": require("@babel/plugin-transform-for-of"),
"transform-function-name": require("@babel/plugin-transform-function-name"),