To enhance the speed of my editor interaction and reduce the time taken by tsc
to run on my TypeScript code, I am considering implementing project references. Many teams have reported substantial performance improvements after incorporating project references into their workflow.
There are distinct breakpoints in my code structure that could be transformed into independent projects:
root/
client/
src/
test/
server/
src/
test/
common/
src/
test/
Currently, I have set noEmit
in my tsconfig.json
as my processes do not typically require tsc
to generate .js
or .d.ts
files. I compile my client code using Webpack and test my server code using ts-node
. Error checking is disabled for these processes, and I primarily rely on VS Code and pre-push hooks for type error detection.
I was under the impression that TypeScript project references necessitated the generation of .js
and .d.ts
files. The example project project-references-demo follows this pattern. Will implementing project references enhance the speed of VS Code (via tsserver
) even without emitting JavaScript? Would tsc --noEmit
also experience performance improvements? Are there any instances of TypeScript projects utilizing noEmit
that have benefited significantly from employing project references?