From d03079324821b86c88778d6e2ad578554dec69a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Wed, 11 Mar 2020 23:24:02 +0100 Subject: [PATCH] Add support for Unicode 13 in regexps (update `regexpu-core`) (#11244) * Update regexpu-core * Add tests --- .../babel-helper-create-regexp-features-plugin/package.json | 2 +- .../test/fixtures/with-unicode-flag/unicode-13/input.js | 1 + .../test/fixtures/with-unicode-flag/unicode-13/output.js | 1 + .../test/fixtures/without-unicode-flag/unicode-13/input.js | 1 + .../test/fixtures/without-unicode-flag/unicode-13/output.js | 1 + .../dotall-regex/with-unicode-property-escape/output.js | 4 ++-- 6 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 packages/babel-plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/unicode-13/input.js create mode 100644 packages/babel-plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/unicode-13/output.js create mode 100644 packages/babel-plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/unicode-13/input.js create mode 100644 packages/babel-plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/unicode-13/output.js diff --git a/packages/babel-helper-create-regexp-features-plugin/package.json b/packages/babel-helper-create-regexp-features-plugin/package.json index 9b5baf5ddf..a70ea0e1d5 100644 --- a/packages/babel-helper-create-regexp-features-plugin/package.json +++ b/packages/babel-helper-create-regexp-features-plugin/package.json @@ -20,7 +20,7 @@ "dependencies": { "@babel/helper-annotate-as-pure": "^7.8.3", "@babel/helper-regex": "^7.8.3", - "regexpu-core": "^4.6.0" + "regexpu-core": "^4.7.0" }, "peerDependencies": { "@babel/core": "^7.0.0" diff --git a/packages/babel-plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/unicode-13/input.js b/packages/babel-plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/unicode-13/input.js new file mode 100644 index 0000000000..d77998ee4c --- /dev/null +++ b/packages/babel-plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/unicode-13/input.js @@ -0,0 +1 @@ +/\p{Script_Extensions=Yezi}/u; diff --git a/packages/babel-plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/unicode-13/output.js b/packages/babel-plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/unicode-13/output.js new file mode 100644 index 0000000000..30b392dcbf --- /dev/null +++ b/packages/babel-plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/unicode-13/output.js @@ -0,0 +1 @@ +/[\u060C\u061B\u061F\u0660-\u0669\u{10E80}-\u{10EA9}\u{10EAB}-\u{10EAD}\u{10EB0}\u{10EB1}]/u; diff --git a/packages/babel-plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/unicode-13/input.js b/packages/babel-plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/unicode-13/input.js new file mode 100644 index 0000000000..d77998ee4c --- /dev/null +++ b/packages/babel-plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/unicode-13/input.js @@ -0,0 +1 @@ +/\p{Script_Extensions=Yezi}/u; diff --git a/packages/babel-plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/unicode-13/output.js b/packages/babel-plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/unicode-13/output.js new file mode 100644 index 0000000000..3382c609e6 --- /dev/null +++ b/packages/babel-plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/unicode-13/output.js @@ -0,0 +1 @@ +/(?:[\u060C\u061B\u061F\u0660-\u0669]|\uD803[\uDE80-\uDEA9\uDEAB-\uDEAD\uDEB0\uDEB1])/; diff --git a/packages/babel-plugin-transform-dotall-regex/test/fixtures/dotall-regex/with-unicode-property-escape/output.js b/packages/babel-plugin-transform-dotall-regex/test/fixtures/dotall-regex/with-unicode-property-escape/output.js index a8ddf757d9..c00aa15a9c 100644 --- a/packages/babel-plugin-transform-dotall-regex/test/fixtures/dotall-regex/with-unicode-property-escape/output.js +++ b/packages/babel-plugin-transform-dotall-regex/test/fixtures/dotall-regex/with-unicode-property-escape/output.js @@ -1,2 +1,2 @@ -var a = /[\u3400-\u4DB5\u4E00-\u9FEF\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29\u{20000}-\u{2A6D6}\u{2A700}-\u{2B734}\u{2B740}-\u{2B81D}\u{2B820}-\u{2CEA1}\u{2CEB0}-\u{2EBE0}][\0-\t\x0B\f\x0E-\u2027\u202A-\u{10FFFF}]/u; -var b = /[\u3400-\u4DB5\u4E00-\u9FEF\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29\u{20000}-\u{2A6D6}\u{2A700}-\u{2B734}\u{2B740}-\u{2B81D}\u{2B820}-\u{2CEA1}\u{2CEB0}-\u{2EBE0}][\0-\u{10FFFF}]/u; +var a = /[\u3400-\u4DBF\u4E00-\u9FFC\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29\u{20000}-\u{2A6DD}\u{2A700}-\u{2B734}\u{2B740}-\u{2B81D}\u{2B820}-\u{2CEA1}\u{2CEB0}-\u{2EBE0}\u{30000}-\u{3134A}][\0-\t\x0B\f\x0E-\u2027\u202A-\u{10FFFF}]/u; +var b = /[\u3400-\u4DBF\u4E00-\u9FFC\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29\u{20000}-\u{2A6DD}\u{2A700}-\u{2B734}\u{2B740}-\u{2B81D}\u{2B820}-\u{2CEA1}\u{2CEB0}-\u{2EBE0}\u{30000}-\u{3134A}][\0-\u{10FFFF}]/u;