diff --git a/packages/babel-preset-env-standalone/package.json b/packages/babel-preset-env-standalone/package.json index ddeb959d0b..2572892741 100644 --- a/packages/babel-preset-env-standalone/package.json +++ b/packages/babel-preset-env-standalone/package.json @@ -10,6 +10,7 @@ ], "devDependencies": { "@babel/plugin-proposal-json-strings": "^7.0.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.2.5", "@babel/plugin-transform-new-target": "^7.0.0", "@babel/preset-env": "^7.2.3", "@babel/standalone": "^7.2.5" diff --git a/packages/babel-preset-env-standalone/src/available-plugins.js b/packages/babel-preset-env-standalone/src/available-plugins.js index b149f981bb..2d41a1a0c5 100644 --- a/packages/babel-preset-env-standalone/src/available-plugins.js +++ b/packages/babel-preset-env-standalone/src/available-plugins.js @@ -1,6 +1,7 @@ import { availablePlugins, registerPlugin } from "@babel/standalone"; const notIncludedPlugins = { + "transform-named-capturing-groups-regex": require("@babel/plugin-transform-named-capturing-groups-regex"), "transform-new-target": require("@babel/plugin-transform-new-target"), "proposal-json-strings": require("@babel/plugin-proposal-json-strings"), }; diff --git a/packages/babel-preset-env/data/plugin-features.js b/packages/babel-preset-env/data/plugin-features.js index 4fcdf4a6b6..e17f1a53e2 100644 --- a/packages/babel-preset-env/data/plugin-features.js +++ b/packages/babel-preset-env/data/plugin-features.js @@ -98,6 +98,7 @@ const es = { "proposal-json-strings": "JSON superset", "proposal-optional-catch-binding": "optional catch binding", + "transform-named-capturing-groups-regex": "RegExp named capture groups", }; const proposals = require("./shipped-proposals").features; diff --git a/packages/babel-preset-env/data/plugins.json b/packages/babel-preset-env/data/plugins.json index a4c706b3f5..d6f112ca46 100644 --- a/packages/babel-preset-env/data/plugins.json +++ b/packages/babel-preset-env/data/plugins.json @@ -270,5 +270,13 @@ "ios": "11.3", "opera": "53", "electron": "3" + }, + "transform-named-capturing-groups-regex": { + "chrome": "64", + "safari": "11.1", + "node": "10.13", + "ios": "11.3", + "opera": "51", + "electron": "3" } } diff --git a/packages/babel-preset-env/package.json b/packages/babel-preset-env/package.json index 3cf0f539c1..e9b4fbca89 100644 --- a/packages/babel-preset-env/package.json +++ b/packages/babel-preset-env/package.json @@ -42,6 +42,7 @@ "@babel/plugin-transform-modules-commonjs": "^7.2.0", "@babel/plugin-transform-modules-systemjs": "^7.2.0", "@babel/plugin-transform-modules-umd": "^7.2.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.2.5", "@babel/plugin-transform-new-target": "^7.0.0", "@babel/plugin-transform-object-super": "^7.2.0", "@babel/plugin-transform-parameters": "^7.2.0", diff --git a/packages/babel-preset-env/src/available-plugins.js b/packages/babel-preset-env/src/available-plugins.js index 09d820f5c3..18b3609785 100644 --- a/packages/babel-preset-env/src/available-plugins.js +++ b/packages/babel-preset-env/src/available-plugins.js @@ -21,6 +21,7 @@ export default { "transform-modules-commonjs": require("@babel/plugin-transform-modules-commonjs"), "transform-modules-systemjs": require("@babel/plugin-transform-modules-systemjs"), "transform-modules-umd": require("@babel/plugin-transform-modules-umd"), + "transform-named-capturing-groups-regex": require("@babel/plugin-transform-named-capturing-groups-regex"), "transform-object-super": require("@babel/plugin-transform-object-super"), "transform-parameters": require("@babel/plugin-transform-parameters"), "transform-shorthand-properties": require("@babel/plugin-transform-shorthand-properties"), 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 a9ce8a7dea..6b77cd4dc7 100644 --- a/packages/babel-preset-env/test/debug-fixtures/android/stdout.txt +++ b/packages/babel-preset-env/test/debug-fixtures/android/stdout.txt @@ -36,6 +36,7 @@ Using plugins: proposal-unicode-property-regex { "android":"4" } proposal-json-strings { "android":"4" } proposal-optional-catch-binding { "android":"4" } + transform-named-capturing-groups-regex { "android":"4" } Using polyfills with `entry` option: diff --git a/packages/babel-preset-env/test/debug-fixtures/builtins-no-import/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/builtins-no-import/stdout.txt index 6f6c512833..f6174700ec 100644 --- a/packages/babel-preset-env/test/debug-fixtures/builtins-no-import/stdout.txt +++ b/packages/babel-preset-env/test/debug-fixtures/builtins-no-import/stdout.txt @@ -19,8 +19,9 @@ Using plugins: proposal-unicode-property-regex { "node":"6" } proposal-json-strings { "node":"6" } proposal-optional-catch-binding { "node":"6" } + transform-named-capturing-groups-regex { "node":"6" } Using polyfills with `entry` option: [/src/in.js] `import '@babel/polyfill'` was not found. -Successfully compiled 1 file with Babel. +Successfully compiled 1 file with Babel. \ No newline at end of file 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 a56973565b..fd71d14d21 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 @@ -39,6 +39,7 @@ Using plugins: proposal-unicode-property-regex { "chrome":"55" } proposal-json-strings { "chrome":"55" } proposal-optional-catch-binding { "chrome":"55" } + transform-named-capturing-groups-regex { "chrome":"55" } Using polyfills with `entry` option: 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 d3b723ee32..9d838fa14b 100644 --- a/packages/babel-preset-env/test/debug-fixtures/builtins/stdout.txt +++ b/packages/babel-preset-env/test/debug-fixtures/builtins/stdout.txt @@ -38,6 +38,7 @@ Using plugins: proposal-unicode-property-regex { "chrome":"54", "ie":"10", "node":"6" } proposal-json-strings { "chrome":"54", "ie":"10", "node":"6" } proposal-optional-catch-binding { "chrome":"54", "ie":"10", "node":"6" } + transform-named-capturing-groups-regex { "chrome":"54", "ie":"10", "node":"6" } Using polyfills with `entry` option: 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 85f4e17715..c7df64149b 100644 --- a/packages/babel-preset-env/test/debug-fixtures/electron/stdout.txt +++ b/packages/babel-preset-env/test/debug-fixtures/electron/stdout.txt @@ -31,6 +31,7 @@ Using plugins: proposal-unicode-property-regex { "electron":"0.36" } proposal-json-strings { "electron":"0.36" } proposal-optional-catch-binding { "electron":"0.36" } + transform-named-capturing-groups-regex { "electron":"0.36" } Using polyfills with `entry` option: 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 ed62042f16..39b7781761 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 @@ -36,6 +36,7 @@ Using plugins: proposal-unicode-property-regex { "chrome":"55" } proposal-json-strings { "chrome":"55" } proposal-optional-catch-binding { "chrome":"55" } + transform-named-capturing-groups-regex { "chrome":"55" } Using polyfills with `entry` option: diff --git a/packages/babel-preset-env/test/debug-fixtures/plugins-only/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/plugins-only/stdout.txt index 460d1d4440..b9408aae44 100644 --- a/packages/babel-preset-env/test/debug-fixtures/plugins-only/stdout.txt +++ b/packages/babel-preset-env/test/debug-fixtures/plugins-only/stdout.txt @@ -26,6 +26,7 @@ Using plugins: proposal-unicode-property-regex { "firefox":"52", "node":"7.4" } proposal-json-strings { "firefox":"52", "node":"7.4" } proposal-optional-catch-binding { "firefox":"52", "node":"7.4" } + transform-named-capturing-groups-regex { "firefox":"52", "node":"7.4" } Using polyfills: No polyfills were added, since the `useBuiltIns` option was not set. -Successfully compiled 1 file with Babel. +Successfully compiled 1 file with Babel. \ No newline at end of file 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 951d93305d..a481f8e2a2 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 @@ -14,6 +14,7 @@ Using plugins: proposal-unicode-property-regex { "chrome":"60" } proposal-json-strings { "chrome":"60" } proposal-optional-catch-binding { "chrome":"60" } + transform-named-capturing-groups-regex { "chrome":"60" } Using polyfills with `entry` option: @@ -29,4 +30,4 @@ Using polyfills with `entry` option: web.timers { "chrome":"60" } web.immediate { "chrome":"60" } web.dom.iterable { "chrome":"60" } -Successfully compiled 1 file with Babel. +Successfully compiled 1 file with Babel. \ No newline at end of file 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 7afc25b3b6..683b83212a 100644 --- a/packages/babel-preset-env/test/debug-fixtures/shippedProposals/stdout.txt +++ b/packages/babel-preset-env/test/debug-fixtures/shippedProposals/stdout.txt @@ -34,6 +34,7 @@ Using plugins: proposal-unicode-property-regex {} proposal-json-strings {} proposal-optional-catch-binding {} + transform-named-capturing-groups-regex {} Using polyfills with `entry` option: @@ -183,4 +184,4 @@ Using polyfills with `entry` option: web.timers {} web.immediate {} web.dom.iterable {} -Successfully compiled 1 file with Babel. +Successfully compiled 1 file with Babel. \ No newline at end of file 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 8733b4c234..e27e601607 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 @@ -41,6 +41,7 @@ Using plugins: proposal-unicode-property-regex { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" } proposal-json-strings { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" } proposal-optional-catch-binding { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" } + transform-named-capturing-groups-regex { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" } Using polyfills with `entry` option: diff --git a/packages/babel-preset-env/test/debug-fixtures/usage-none/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/usage-none/stdout.txt index b53b349d9c..1c3253551d 100644 --- a/packages/babel-preset-env/test/debug-fixtures/usage-none/stdout.txt +++ b/packages/babel-preset-env/test/debug-fixtures/usage-none/stdout.txt @@ -37,10 +37,11 @@ Using plugins: proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" } proposal-json-strings { "chrome":"52", "firefox":"50", "ie":"11" } proposal-optional-catch-binding { "chrome":"52", "firefox":"50", "ie":"11" } + transform-named-capturing-groups-regex { "chrome":"52", "firefox":"50", "ie":"11" } Using polyfills with `usage` option: [/src/in.js] Based on your code and targets, none were added. [/src/in2.js] Based on your code and targets, none were added. -Successfully compiled 2 files with Babel. +Successfully compiled 2 files with Babel. \ No newline at end of file diff --git a/packages/babel-preset-env/test/debug-fixtures/usage-with-import/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/usage-with-import/stdout.txt index c898cba790..8f0c3d14fb 100644 --- a/packages/babel-preset-env/test/debug-fixtures/usage-with-import/stdout.txt +++ b/packages/babel-preset-env/test/debug-fixtures/usage-with-import/stdout.txt @@ -14,8 +14,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"55" } proposal-json-strings { "chrome":"55" } proposal-optional-catch-binding { "chrome":"55" } + transform-named-capturing-groups-regex { "chrome":"55" } Using polyfills with `usage` option: [/src/in.js] Based on your code and targets, none were added. -Successfully compiled 1 file with Babel. +Successfully compiled 1 file with Babel. \ No newline at end of file diff --git a/packages/babel-preset-env/test/debug-fixtures/usage/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/usage/stdout.txt index b3ecb28095..b903694b99 100644 --- a/packages/babel-preset-env/test/debug-fixtures/usage/stdout.txt +++ b/packages/babel-preset-env/test/debug-fixtures/usage/stdout.txt @@ -37,6 +37,7 @@ Using plugins: proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" } proposal-json-strings { "chrome":"52", "firefox":"50", "ie":"11" } proposal-optional-catch-binding { "chrome":"52", "firefox":"50", "ie":"11" } + transform-named-capturing-groups-regex { "chrome":"52", "firefox":"50", "ie":"11" } Using polyfills with `usage` option: 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 35cba07b44..96248dd28a 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 @@ -47,6 +47,7 @@ Using plugins: proposal-unicode-property-regex { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" } proposal-json-strings { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" } proposal-optional-catch-binding { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" } + transform-named-capturing-groups-regex { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" } Using polyfills with `entry` option: 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 fa70be96c6..f21c9ee8da 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 @@ -38,6 +38,7 @@ Using plugins: proposal-unicode-property-regex { "chrome":"54", "ie":"10", "node":"6.10" } proposal-json-strings { "chrome":"54", "ie":"10", "node":"6.10" } proposal-optional-catch-binding { "chrome":"54", "ie":"10", "node":"6.10" } + transform-named-capturing-groups-regex { "chrome":"54", "ie":"10", "node":"6.10" } Using polyfills with `entry` option: