diff --git a/src/parser/tokenizer/readWord.ts b/src/parser/tokenizer/readWord.ts index 0132b1cd..eab8c368 100644 --- a/src/parser/tokenizer/readWord.ts +++ b/src/parser/tokenizer/readWord.ts @@ -13,9 +13,9 @@ import {TokenType as tt} from "./types"; */ export default function readWord(): void { let treePos = 0; - let code; + let code = 0; let pos = state.pos; - while (true) { + while (pos < input.length) { code = input.charCodeAt(pos); if (code < charCodes.lowercaseA || code > charCodes.lowercaseZ) { break; diff --git a/test/sucrase-test.ts b/test/sucrase-test.ts index 7eac77dd..5fc62bd3 100644 --- a/test/sucrase-test.ts +++ b/test/sucrase-test.ts @@ -723,4 +723,8 @@ describe("sucrase", () => { {transforms: ["typescript"]}, ); }); + + it("handles a file with only a single identifier", () => { + assertResult("a", "a", {transforms: []}); + }); });