- Notifications
You must be signed in to change notification settings - Fork 13k
Description
Bug Report
I was testing the correctness of watch mode in TypeScript 4.7.4 with a patch applied (see #7317, which I am using on top of 4.7.4 until I move to 4.8 which has #48997) when I came across this crash.
The test was performed on a large mono repo. I would checkout two branches that had hundreds of commits in between each other (some of which updated package.json
), but both were on the same version of TypeScript. After completing a checkout, I would run yarn install
.
This is the crash:
[12:10:24 PM] File change detected. Starting incremental compilation... .../node_modules/.store/typescript-patch-7583448d64/node_modules/typescript/lib/tsc.js:2099 throw e; ^ Error: Debug Failure. False expression: Semantic diagnostics shouldnt be available for changed files at createBuilderProgramState (.../node_modules/.store/typescript-patch-7583448d64/node_modules/typescript/lib/tsc.js:99177:26) at Object.createBuilderProgram (.../node_modules/.store/typescript-patch-7583448d64/node_modules/typescript/lib/tsc.js:99738:21) at createEmitAndSemanticDiagnosticsBuilderProgram (.../node_modules/.store/typescript-patch-7583448d64/node_modules/typescript/lib/tsc.js:100051:19) at Object.host.createProgram (.../node_modules/.store/typescript-patch-7583448d64/node_modules/typescript/lib/tsc.js:104732:20) at createProgram (.../node_modules/.store/typescript-patch-7583448d64/node_modules/typescript/lib/tsc.js:103181:28) at executeSteps (.../node_modules/.store/typescript-patch-7583448d64/node_modules/typescript/lib/tsc.js:103330:25) at Object.done (.../node_modules/.store/typescript-patch-7583448d64/node_modules/typescript/lib/tsc.js:103150:13) at Timeout.buildNextInvalidatedProject [as _onTimeout] (.../node_modules/.store/typescript-patch-7583448d64/node_modules/typescript/lib/tsc.js:103873:32)
🔎 Search Terms
semantic diagnostics shouldnt be available for changed files
🕗 Version & Regression Information
4.7.4 with patch applied (see bug description above)
- This is a crash
- I was unable to test this on prior versions because watch mode has been undergoing a lot of changes, I'm not sure how relevant it would be.
🙁 Actual behavior
Crash with Semantic diagnostics shouldnt be available for changed files
🙂 Expected behavior
No crash, settle down and eventually typescript completely passes without needing to restart typescript