Here is my workflow to minify a repro for a Typescript bug. It assumes:
~/ts
and checkout the broken commit. Build it with hereby
. Make sure that vscode is configured to use a local build of Typescript and then restart typescript server. Make sure the errors are the same as the report.tsc
or tsc -b
(you’ll need tsc -b -f
if you build without changing the code in between). Even if the package.json claims to use webpack, esbuild, etc, it’s worth trying tsc
or tsc -b
. Make sure the errors are the same as in the report.hereby tsc --no-typecheck
. Switch your project terminal and compile. Make sure the errors are gone.Now you have a just-broken tsc in your editor and a just-before-broken tsc in your terminal. Use the editor to minify the repro and the terminal to make sure your changes don’t mistakenly introduce the error in the unbroken tsc:
"strict": true
and only a couple of empty .ts files. Dump the code into one of the files, and make sure the error is still there. Switch your terminal over to the test project and make sure there are no errors with the just-before-broken tsc you built. At this point you can switch to tsc
instead of tsc -b
if that’s what the broken project used.tsc
from the terminal to make sure the pre-break tsc is still error-free.T
in one place and U
in another, or renaming AllKeys/AllEventKeys/AllKeysMap/AllKeysMaps
to something distinct. It makes the repro easier to discuss with somebody else.I actually interleave these 5 steps as I go, a little, although I generally follow this order.
[1] Track titles from Front Mission 3. Check out the Front Mission soundtracks; you might like them!