diff --git a/packages/babylon/src/tokenizer/index.js b/packages/babylon/src/tokenizer/index.js index 8c0cf7bf15..e1a6927593 100644 --- a/packages/babylon/src/tokenizer/index.js +++ b/packages/babylon/src/tokenizer/index.js @@ -364,7 +364,7 @@ export default class Tokenizer extends LocationParser { default: if ( - (ch > 8 && ch < 14) || + (ch > charCodes.backSpace && ch < charCodes.shiftOut) || (ch >= 5760 && nonASCIIwhitespace.test(String.fromCharCode(ch))) ) { ++this.state.pos; @@ -528,8 +528,11 @@ export default class Tokenizer extends LocationParser { if (next === code) { size = - code === 62 && this.input.charCodeAt(this.state.pos + 2) === 62 ? 3 : 2; - if (this.input.charCodeAt(this.state.pos + size) === 61) { + code === charCodes.greaterThan && + this.input.charCodeAt(this.state.pos + 2) === charCodes.greaterThan + ? 3 + : 2; + if (this.input.charCodeAt(this.state.pos + size) === charCodes.equalsTo) { this.finishOp(tt.assign, size + 1); return; } @@ -538,11 +541,11 @@ export default class Tokenizer extends LocationParser { } if ( - next === 33 && - code === 60 && + next === charCodes.exclamationMark && + code === charCodes.lessThan && !this.inModule && - this.input.charCodeAt(this.state.pos + 2) === 45 && - this.input.charCodeAt(this.state.pos + 3) === 45 + this.input.charCodeAt(this.state.pos + 2) === charCodes.dash && + this.input.charCodeAt(this.state.pos + 3) === charCodes.dash ) { // `