We're considering ways we can avoid a full type check: https://github.com/microsoft/TypeScript/issues/31417
In the meantime, you can try out turning on the `skipLibCheck` compiler option to see if that helps at all, but be warned that it might not catch conflicts across multiple files.
What are some of these tricks to skip checking or do async checking? I did a quick search and came up with a GitHub issue [0] for adding the option to skip checking, but didn't see anything myself.
More generally though you have two loops one that does transpileOnly and one that doesn't. The latter is your type check process.
I tend to notice all compilers as feeling "too slow". I think the cause is that we all have wayyyy too much code. Not that we write, but when we use a library, that uses 10 libraries, that each use 10 libraries. Now you have a million lines of code, and all you wanted to do was print hello world. The compiler doesn't know until it's read all of that that you aren't using any of it. The solution is to depend on libraries more carefully.
As the go team says, a little copying is better than a little dependency. This is a motto that the npm community has NOT taken to heart. The cost is slow build times. (To be fair, the go community has not taken this to heart either.)
I don't really notice it, though, because I've got `tsc --watch` running in a terminal continuously as I edit code.
When tsc sees edits, recompilation competes in tens of ms. It's really quick.