📈 GH Trending Explorer 🎲 Surprise me

← all repos

vercel-labs / tsc-ts

git clone https://github.com/vercel-labs/tsc-ts.git v0.0.5 · 3d ago

TypeScript written in TypeScript

+9
stars, 24h · #3,662
+~51
stars, 7 days · #3,920
+392
stars, 30 days · #2,081
392
★ total · +15% this week
6
forks · 3 open issues

Star history (as recorded here)

2026-10-20 · 370 ★ 2026-10-23 · 392 ★
LanguageTypeScript
LicenseApache-2.0
Created2026-10-07 (16d ago)
Last pushtoday
Watchers2
OwnerOrganization

Links

README excerpt
# tsc-ts
An experimental TypeScript port of the TypeScript 7.0.2 compiler (TypeScript-Go, or tsgo), compiled to native code with scriptc.
## Installation
Install the compiler from npm:
 [code] 
The `tsc-ts` package runs a native executable from a per-platform optional dependency (`@tsc-ts/darwin-arm64`, `@tsc-ts/linux-x64-gnu`, …). See `packages/tsc-ts`.
See CHANGELOG.md for release notes and GitHub Releases for package archives.
To build the packages for the current platform:
 [code] 
`-- --binary dist/tsc` packs an existing native build, relative to `packages/tsc-ts`, instead of building one.
## Packages
| Package | Description |
| ------------------------------------ | ------------------------------------------------------------------------------------------------- |
| `packages/tsc-ts` | The compiler, written in TypeScript, with the `tsc-ts` command line and `--api` server. |
| `packages/tsgo` | Reference builds of tsgo (its command line and per-stage drivers) that the tests compare against. |
Tasks run with Turborepo.
## Documentation
`apps/web` contains the tsc-ts compiler guides.
 [code] 
## Requirements
- Node.js 24+ and npm
- Go 1.26
- A scriptc host: macOS, Linux, or Windows, with `clang` available for linking
## Build
 [code] 
`package.json` pins scriptc `0.3.6`, with its `@scriptc/threads` package. The build fails with any other version.
## Compiler
`packages/tsc-ts/src/compiler` is the compiler, ported from tsgo 7.0.2 as idiomatic TypeScript. Each part is compared with tsgo on TypeScript's test corpus (about 12,500 files, 17,000 units after splitting multi-file cases):
| Part | Compared with tsgo | Status |
| ---------------------------- | --------------------------------------------------- | ------------------------ |
| Scanner | tokens, values, errors, rescans, JSDoc | all files match |
| Parser and AST | tree, diagnostics, API source file encoding | all units match |
| Binder | symbols, tables, flow graph, name resolution | all units match |
| Module resolution | results, package IDs, `--traceResolution` | all requests match |
| `tsconfig.json` and programs | `--showConfig`, `--listFilesOnly`, `--explainFiles` | all cases match |
| Command line and options | output, errors, exit codes, `--locale` | all cases match |
| Diagnostics catalog | messages, 13 translations, output formats | all match |
| JavaScript emit | emitted files, 39 option sets | all compared units match |
| Declaration emit | `.d.ts` and `.d.ts.map` output, declaration errors | all units match |
| `--build`, `--incremental` | output, `.tsbuildinfo`, emitted files, `--watch` | all scenarios match |
| Type checker | diagnostics per file | all files match |
The corpus scripts are in `packages/tsc-ts/scripts` (`*-corpus.mjs`).
## API server
`tsc-ts --api` serves the same API as TypeScript 7.0.2's `tsc --api`, over stdin and stdout, so tools that drive `tsc --api` (such as scriptc) can run `tsc-ts` instead.
 [code] 
Native builds read lib files from the executable's di