diff --git a/packages/babel-parser/src/tokenizer/index.js b/packages/babel-parser/src/tokenizer/index.js index 524d05a694e9..b29621031f4a 100644 --- a/packages/babel-parser/src/tokenizer/index.js +++ b/packages/babel-parser/src/tokenizer/index.js @@ -21,7 +21,7 @@ import { import State from "./state"; import type { LookaheadState } from "./state"; -const VALID_REGEX_FLAGS = new Set(["g", "m", "s", "i", "y", "u"]); +const VALID_REGEX_FLAGS = new Set(["g", "m", "s", "i", "y", "u", "d"]); // The following character codes are forbidden from being // an immediate sibling of NumericLiteralSeparator _ diff --git a/packages/babel-parser/test/fixtures/es2022/regexp-match-indices/d-flag/input.js b/packages/babel-parser/test/fixtures/es2022/regexp-match-indices/d-flag/input.js new file mode 100644 index 000000000000..566fb6f0e726 --- /dev/null +++ b/packages/babel-parser/test/fixtures/es2022/regexp-match-indices/d-flag/input.js @@ -0,0 +1 @@ +/./d; diff --git a/packages/babel-parser/test/fixtures/es2022/regexp-match-indices/d-flag/output.json b/packages/babel-parser/test/fixtures/es2022/regexp-match-indices/d-flag/output.json new file mode 100644 index 000000000000..09974d1dc043 --- /dev/null +++ b/packages/babel-parser/test/fixtures/es2022/regexp-match-indices/d-flag/output.json @@ -0,0 +1,26 @@ +{ + "type": "File", + "start":0,"end":5,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":5}}, + "program": { + "type": "Program", + "start":0,"end":5,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":5}}, + "sourceType": "script", + "interpreter": null, + "body": [ + { + "type": "ExpressionStatement", + "start":0,"end":5,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":5}}, + "expression": { + "type": "RegExpLiteral", + "start":0,"end":4,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":4}}, + "extra": { + "raw": "/./d" + }, + "pattern": ".", + "flags": "d" + } + } + ], + "directives": [] + } +}