Introduction
ttsc is a TypeScript compiler with a plugin host. Itβs a drop-in for tsc built on @typescript/native-preview (TypeScript-Go), and it lets plugins like typia and @ttsc/lint participate in the build pass β so what your editor sees, your build sees, your runtime sees, and CI sees.
npm install -D ttsc @typescript/native-preview
npx ttsc --noEmitSame tsconfig.json you already have. Same flags as tsc.
The shape of the project
| What | |
|---|---|
ttsc | The compiler. Build, type-check, watch, fix, format. |
ttsx | TypeScript runner with a real type-check. The typed replacement for tsx / ts-node. |
ttscserver | LSP host. Plugin diagnostics appear live in your editor. |
@ttsc/unplugin | Same plugin pass embedded inside Vite, Webpack, Rollup, esbuild, Rspack, Rolldown, Farm, Next, and Bun. |
@ttsc/lint | The lint engine. 140 rules. Violations come out as error TSxxxxx β same shape as type errors. |
typia / nestia | Ecosystem plugins. Runtime validators from your types (typia); NestJS controllers + SDK (nestia). |
Reading paths
- βI just want to use it.β β Why ttsc, then Setup.
- βI want lint and format as part of my build.β β @ttsc/lint. This section is large; the chapter index is the right starting point.
- βI want to use typia, nestia, or another ecosystem plugin.β β TTSC Β· Using plugins for the wiring; TTSC Β· typia for the canonical example.
- βI want a CLI reference.β β TTSC Β·
ttscCLI reference. - βI want to write my own plugin.β β Plugin Development. This is the audience-walled section for plugin authors.
- βSomething broke.β β Troubleshooting or FAQ.
Try it without installing
β Playground
Status
v1 and still moving. Treat ttsc as a build-time dependency in your package.json; do not declare it as a peer dependency yet.
Last updated on