diff --git a/packages/babel-parser/src/plugins/typescript/index.js b/packages/babel-parser/src/plugins/typescript/index.js index 78a7f20283fc..9f13c3704a83 100644 --- a/packages/babel-parser/src/plugins/typescript/index.js +++ b/packages/babel-parser/src/plugins/typescript/index.js @@ -2043,6 +2043,10 @@ export default (superClass: Class): Class => state: N.ParseSubscriptState, ): N.Expression { if (!this.hasPrecedingLineBreak() && this.match(tt.bang)) { + // When ! is consumed as a postfix operator (non-null assertion), + // disallow JSX tag forming after. e.g. When parsing `p! < n.p!` + // `