diff --git a/packages/babel-preset-env/data/built-in-modules.json b/packages/babel-preset-env/data/built-in-modules.json index c2d05dbd71..9bd7f2aa00 100644 --- a/packages/babel-preset-env/data/built-in-modules.json +++ b/packages/babel-preset-env/data/built-in-modules.json @@ -4,6 +4,8 @@ "firefox": "60", "chrome": "61", "safari": "10.1", - "ios_saf": "10.3" + "opera": "48", + "ios_saf": "10.3", + "and_ff": "60" } } diff --git a/packages/babel-preset-env/data/plugin-features.js b/packages/babel-preset-env/data/plugin-features.js index eb417db7e1..aa88a21c5c 100644 --- a/packages/babel-preset-env/data/plugin-features.js +++ b/packages/babel-preset-env/data/plugin-features.js @@ -1,4 +1,4 @@ -const es2015 = { +const es = { "transform-template-literals": { features: ["template literals"], }, @@ -38,6 +38,13 @@ const es2015 = { 'RegExp "y" and "u" flags / "y" flag', ], }, + + // We want to apply this prior to unicode regex so that "." and "u" + // are properly handled. + // + // Ref: https://github.com/babel/babel/pull/7065#issuecomment-395959112 + "transform-dotall-regex": "s (dotAll) flag for regular expressions", + "transform-unicode-regex": { features: [ 'RegExp "y" and "u" flags / "u" flag, case folding', @@ -45,6 +52,7 @@ const es2015 = { 'RegExp "y" and "u" flags / "u" flag', ], }, + "transform-spread": { features: ["spread (...) operator"], }, @@ -70,27 +78,20 @@ const es2015 = { "transform-regenerator": { features: ["generators"], }, -}; -const es2016 = { "transform-exponentiation-operator": { features: ["exponentiation (**) operator"], }, -}; -const es2017 = { "transform-async-to-generator": { features: ["async functions"], }, -}; -const es2018 = { "proposal-async-generator-functions": "Asynchronous Iterators", "proposal-object-rest-spread": "object rest/spread properties", "proposal-unicode-property-regex": "RegExp Unicode Property Escapes", - "transform-dotall-regex": "s (dotAll) flag for regular expressions", }; const proposals = require("./shipped-proposals").features; -module.exports = Object.assign({}, es2015, es2016, es2017, es2018, proposals); +module.exports = Object.assign({}, es, proposals); diff --git a/packages/babel-preset-env/data/plugins.json b/packages/babel-preset-env/data/plugins.json index 204b3a794d..876b3d5727 100644 --- a/packages/babel-preset-env/data/plugins.json +++ b/packages/babel-preset-env/data/plugins.json @@ -119,6 +119,13 @@ "opera": "36", "electron": "1" }, + "transform-dotall-regex": { + "chrome": "62", + "safari": "11.1", + "node": "8.10", + "ios": "11.3", + "opera": "49" + }, "transform-unicode-regex": { "chrome": "50", "edge": "13", @@ -239,13 +246,6 @@ "ios": "11.3", "opera": "51" }, - "transform-dotall-regex": { - "chrome": "62", - "safari": "11.1", - "node": "8.10", - "ios": "11.3", - "opera": "49" - }, "proposal-optional-catch-binding": { "chrome": "66", "firefox": "58", 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 232c9b7132..d5b2cc92a1 100644 --- a/packages/babel-preset-env/test/debug-fixtures/android/stdout.txt +++ b/packages/babel-preset-env/test/debug-fixtures/android/stdout.txt @@ -20,6 +20,7 @@ Using plugins: transform-computed-properties { "android":"4" } transform-for-of { "android":"4" } transform-sticky-regex { "android":"4" } + transform-dotall-regex { "android":"4" } transform-unicode-regex { "android":"4" } transform-spread { "android":"4" } transform-parameters { "android":"4" } @@ -33,7 +34,6 @@ Using plugins: proposal-async-generator-functions { "android":"4" } proposal-object-rest-spread { "android":"4" } proposal-unicode-property-regex { "android":"4" } - transform-dotall-regex { "android":"4" } Using polyfills with `entry` option: @@ -147,4 +147,4 @@ Using polyfills with `entry` option: web.timers { "android":"4" } web.immediate { "android":"4" } web.dom.iterable { "android":"4" } -🎉 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-no-import/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/builtins-no-import/stdout.txt index 4b2d33e5c0..97ee18a07b 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 @@ -10,15 +10,15 @@ Using modules transform: commonjs Using plugins: transform-function-name { "node":"6" } transform-for-of { "node":"6" } + transform-dotall-regex { "node":"6" } transform-destructuring { "node":"6" } transform-exponentiation-operator { "node":"6" } transform-async-to-generator { "node":"6" } proposal-async-generator-functions { "node":"6" } proposal-object-rest-spread { "node":"6" } proposal-unicode-property-regex { "node":"6" } - transform-dotall-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 8cfc85dcbb..0e68c354e9 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 @@ -23,6 +23,7 @@ Using plugins: transform-computed-properties {} transform-for-of {} transform-sticky-regex {} + transform-dotall-regex { "chrome":"55" } transform-unicode-regex {} transform-spread {} transform-parameters {} @@ -36,7 +37,6 @@ Using plugins: proposal-async-generator-functions { "chrome":"55" } proposal-object-rest-spread { "chrome":"55" } proposal-unicode-property-regex { "chrome":"55" } - transform-dotall-regex { "chrome":"55" } Using polyfills with `entry` option: @@ -53,4 +53,4 @@ Using polyfills with `entry` option: web.timers { "chrome":"55" } web.immediate { "chrome":"55" } web.dom.iterable { "chrome":"55" } -🎉 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/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/builtins/stdout.txt index 0bd6ac82db..80e95ff4fc 100644 --- a/packages/babel-preset-env/test/debug-fixtures/builtins/stdout.txt +++ b/packages/babel-preset-env/test/debug-fixtures/builtins/stdout.txt @@ -22,6 +22,7 @@ Using plugins: transform-computed-properties { "ie":"10" } transform-for-of { "ie":"10", "node":"6" } transform-sticky-regex { "ie":"10" } + transform-dotall-regex { "chrome":"54", "ie":"10", "node":"6" } transform-unicode-regex { "ie":"10" } transform-spread { "ie":"10" } transform-parameters { "ie":"10" } @@ -35,7 +36,6 @@ Using plugins: proposal-async-generator-functions { "chrome":"54", "ie":"10", "node":"6" } proposal-object-rest-spread { "chrome":"54", "ie":"10", "node":"6" } proposal-unicode-property-regex { "chrome":"54", "ie":"10", "node":"6" } - transform-dotall-regex { "chrome":"54", "ie":"10", "node":"6" } Using polyfills with `entry` option: @@ -163,4 +163,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" } -🎉 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/electron/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/electron/stdout.txt index 11dbe22f3f..e4b61aa142 100644 --- a/packages/babel-preset-env/test/debug-fixtures/electron/stdout.txt +++ b/packages/babel-preset-env/test/debug-fixtures/electron/stdout.txt @@ -18,6 +18,7 @@ Using plugins: transform-function-name { "electron":"0.36" } transform-for-of { "electron":"0.36" } transform-sticky-regex { "electron":"0.36" } + transform-dotall-regex { "electron":"0.36" } transform-unicode-regex { "electron":"0.36" } transform-parameters { "electron":"0.36" } transform-destructuring { "electron":"0.36" } @@ -28,7 +29,6 @@ Using plugins: proposal-async-generator-functions { "electron":"0.36" } proposal-object-rest-spread { "electron":"0.36" } proposal-unicode-property-regex { "electron":"0.36" } - transform-dotall-regex { "electron":"0.36" } Using polyfills with `entry` option: @@ -123,4 +123,4 @@ Using polyfills with `entry` option: web.timers { "electron":"0.36" } web.immediate { "electron":"0.36" } web.dom.iterable { "electron":"0.36" } -🎉 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/force-all-transforms/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/force-all-transforms/stdout.txt index 3f0b73d412..d841df8764 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 @@ -20,6 +20,7 @@ Using plugins: transform-computed-properties {} transform-for-of {} transform-sticky-regex {} + transform-dotall-regex { "chrome":"55" } transform-unicode-regex {} transform-spread {} transform-parameters {} @@ -33,7 +34,6 @@ Using plugins: proposal-async-generator-functions { "chrome":"55" } proposal-object-rest-spread { "chrome":"55" } proposal-unicode-property-regex { "chrome":"55" } - transform-dotall-regex { "chrome":"55" } Using polyfills with `entry` option: @@ -50,4 +50,4 @@ Using polyfills with `entry` option: web.timers { "chrome":"55" } web.immediate { "chrome":"55" } web.dom.iterable { "chrome":"55" } -🎉 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/plugins-only/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/plugins-only/stdout.txt index 5e322962df..ad15893a5b 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 @@ -19,11 +19,11 @@ Using plugins: transform-literals { "firefox":"52" } transform-function-name { "firefox":"52" } transform-for-of { "firefox":"52" } + transform-dotall-regex { "firefox":"52", "node":"7.4" } transform-destructuring { "firefox":"52" } proposal-async-generator-functions { "firefox":"52", "node":"7.4" } proposal-object-rest-spread { "firefox":"52", "node":"7.4" } proposal-unicode-property-regex { "firefox":"52", "node":"7.4" } - transform-dotall-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 01161ad6a2..8316754c0a 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 @@ -8,10 +8,10 @@ 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-unicode-property-regex { "chrome":"60" } - transform-dotall-regex { "chrome":"60" } proposal-optional-catch-binding { "chrome":"60" } Using polyfills with `entry` option: @@ -27,4 +27,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 7569cbf9a1..7a39da402c 100644 --- a/packages/babel-preset-env/test/debug-fixtures/shippedProposals/stdout.txt +++ b/packages/babel-preset-env/test/debug-fixtures/shippedProposals/stdout.txt @@ -18,6 +18,7 @@ Using plugins: transform-computed-properties {} transform-for-of {} transform-sticky-regex {} + transform-dotall-regex {} transform-unicode-regex {} transform-spread {} transform-parameters {} @@ -31,7 +32,6 @@ Using plugins: proposal-async-generator-functions {} proposal-object-rest-spread {} proposal-unicode-property-regex {} - transform-dotall-regex {} proposal-optional-catch-binding {} Using polyfills with `entry` option: @@ -181,4 +181,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 6e8ed3b297..9b08e71885 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 @@ -25,6 +25,7 @@ Using plugins: transform-computed-properties { "ie":"10", "safari":"7" } transform-for-of { "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" } transform-sticky-regex { "ie":"10", "ios":"9", "safari":"7" } + transform-dotall-regex { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" } transform-unicode-regex { "ie":"10", "ios":"9", "safari":"7" } transform-spread { "ie":"10", "ios":"9", "safari":"7" } transform-parameters { "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" } @@ -38,7 +39,6 @@ Using plugins: proposal-async-generator-functions { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" } proposal-object-rest-spread { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" } proposal-unicode-property-regex { "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: @@ -167,4 +167,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" } -🎉 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-none/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/usage-none/stdout.txt index c2a22a26fb..bd9b0c9df2 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 @@ -21,6 +21,7 @@ Using plugins: transform-computed-properties { "ie":"11" } transform-for-of { "firefox":"50", "ie":"11" } transform-sticky-regex { "ie":"11" } + transform-dotall-regex { "chrome":"52", "firefox":"50", "ie":"11" } transform-unicode-regex { "ie":"11" } transform-spread { "ie":"11" } transform-parameters { "firefox":"50", "ie":"11" } @@ -34,11 +35,10 @@ Using plugins: proposal-async-generator-functions { "chrome":"52", "firefox":"50", "ie":"11" } proposal-object-rest-spread { "chrome":"52", "firefox":"50", "ie":"11" } proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" } - transform-dotall-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 80bd5bcd02..f247060325 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 @@ -8,12 +8,12 @@ Using targets: Using modules transform: commonjs Using plugins: + transform-dotall-regex { "chrome":"55" } proposal-async-generator-functions { "chrome":"55" } proposal-object-rest-spread { "chrome":"55" } proposal-unicode-property-regex { "chrome":"55" } - transform-dotall-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 1326a99fe5..ebb0e28b54 100644 --- a/packages/babel-preset-env/test/debug-fixtures/usage/stdout.txt +++ b/packages/babel-preset-env/test/debug-fixtures/usage/stdout.txt @@ -21,6 +21,7 @@ Using plugins: transform-computed-properties { "ie":"11" } transform-for-of { "firefox":"50", "ie":"11" } transform-sticky-regex { "ie":"11" } + transform-dotall-regex { "chrome":"52", "firefox":"50", "ie":"11" } transform-unicode-regex { "ie":"11" } transform-spread { "ie":"11" } transform-parameters { "firefox":"50", "ie":"11" } @@ -34,7 +35,6 @@ Using plugins: proposal-async-generator-functions { "chrome":"52", "firefox":"50", "ie":"11" } proposal-object-rest-spread { "chrome":"52", "firefox":"50", "ie":"11" } proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" } - transform-dotall-regex { "chrome":"52", "firefox":"50", "ie":"11" } Using polyfills with `usage` option: @@ -47,4 +47,4 @@ Using polyfills with `usage` option: [/src/in2.js] Added following polyfills: regenerator-runtime { "chrome":"52", "firefox":"50", "ie":"11" } web.dom.iterable { "chrome":"52", "firefox":"50", "ie":"11" } -🎉 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/versions-decimals/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/versions-decimals/stdout.txt index f6d009a1aa..3ceb956594 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 @@ -31,6 +31,7 @@ Using plugins: transform-computed-properties { "ie":"10" } transform-for-of { "electron":"0.36", "ie":"10", "node":"6.1" } transform-sticky-regex { "electron":"0.36", "ie":"10" } + transform-dotall-regex { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" } transform-unicode-regex { "electron":"0.36", "ie":"10" } transform-spread { "ie":"10" } transform-parameters { "electron":"0.36", "ie":"10" } @@ -44,7 +45,6 @@ Using plugins: proposal-async-generator-functions { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" } proposal-object-rest-spread { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" } proposal-unicode-property-regex { "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: @@ -193,4 +193,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" } -🎉 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/versions-strings/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/versions-strings/stdout.txt index 0c183e66ff..8b68d7f096 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 @@ -22,6 +22,7 @@ Using plugins: transform-computed-properties { "ie":"10" } transform-for-of { "ie":"10" } transform-sticky-regex { "ie":"10" } + transform-dotall-regex { "chrome":"54", "ie":"10", "node":"6.10" } transform-unicode-regex { "ie":"10" } transform-spread { "ie":"10" } transform-parameters { "ie":"10" } @@ -35,7 +36,6 @@ Using plugins: proposal-async-generator-functions { "chrome":"54", "ie":"10", "node":"6.10" } proposal-object-rest-spread { "chrome":"54", "ie":"10", "node":"6.10" } proposal-unicode-property-regex { "chrome":"54", "ie":"10", "node":"6.10" } - transform-dotall-regex { "chrome":"54", "ie":"10", "node":"6.10" } Using polyfills with `entry` option: @@ -163,4 +163,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" } -🎉 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/fixtures/sanity/regex-dot-all/exec.js b/packages/babel-preset-env/test/fixtures/sanity/regex-dot-all/exec.js new file mode 100644 index 0000000000..f20561b867 --- /dev/null +++ b/packages/babel-preset-env/test/fixtures/sanity/regex-dot-all/exec.js @@ -0,0 +1,9 @@ +const input = ` +Lorem ipsum dolor sit amet, consectetur adipiscing hello +world elit. Nam sit amet elit id risus aliquam porta. +`; + +expect(/hello.world/.test(input)).toBe(false); +expect(/hello.world/u.test(input)).toBe(false); +expect(/hello.world/s.test(input)).toBe(true); +expect(/hello.world/su.test(input)).toBe(true); diff --git a/packages/babel-preset-env/test/fixtures/sanity/regex-dot-all/input.js b/packages/babel-preset-env/test/fixtures/sanity/regex-dot-all/input.js new file mode 100644 index 0000000000..f287cf73a6 --- /dev/null +++ b/packages/babel-preset-env/test/fixtures/sanity/regex-dot-all/input.js @@ -0,0 +1,2 @@ +/./s; +/./su; diff --git a/packages/babel-preset-env/test/fixtures/sanity/regex-dot-all/options.json b/packages/babel-preset-env/test/fixtures/sanity/regex-dot-all/options.json new file mode 100644 index 0000000000..1f29c71c16 --- /dev/null +++ b/packages/babel-preset-env/test/fixtures/sanity/regex-dot-all/options.json @@ -0,0 +1,7 @@ +{ + "presets": [ + ["../../../../lib", { + "modules": false + }] + ] +} diff --git a/packages/babel-preset-env/test/fixtures/sanity/regex-dot-all/output.js b/packages/babel-preset-env/test/fixtures/sanity/regex-dot-all/output.js new file mode 100644 index 0000000000..a83a161741 --- /dev/null +++ b/packages/babel-preset-env/test/fixtures/sanity/regex-dot-all/output.js @@ -0,0 +1,2 @@ +/[\0-\uFFFF]/; +/(?:[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/;