vue-go-tsc
vue-go-tsc
Blazingly fast Vue 3 type checker powered by typescript-go — a Go-native alternative to
vue-tsc.
Attribution — This is a redistribution of
NikhilVerma/vue-tsgo(formerlynonfx/golar). All the technical work belongs to the upstream author. This package only changes the npm name and release location so the aidalinfo org can consume it easily in CI. See the repository README.
Installation
# Global CLI
npm install -g vue-go-tsc
# Or as a project dev dependency (recommended for CI)
pnpm add -D vue-go-tsc
Usage
# Type-check a Vue project
vue-go-tsc -p tsconfig.json --noEmit
# Watch mode
vue-go-tsc -p tsconfig.json --noEmit --watch
# Build mode (for monorepos / composite projects)
vue-go-tsc -b --noEmit
Nuxt
# Generate .nuxt/tsconfig.json first, then type-check against it
nuxt prepare && vue-go-tsc -p .nuxt/tsconfig.json --noEmit
See the full CI integration guide.
Codegen modes
The .vue files are turned into TypeScript ("virtual code") before tsgo
type-checks them. Two codegens are available:
| Mode | How | When |
|---|---|---|
volar (default) |
@vue/language-core — the codegen vue-tsc runs — taken from your project's vue-tsc (bundled copy if you have none) |
Same results as vue-tsc, for your Volar version |
go |
Built-in Go port of the codegen | Fastest; may differ from vue-tsc where the port lags behind Volar |
vue-go-tsc --noEmit -p tsconfig.json # Volar codegen (default)
vue-go-tsc --codegen=go --noEmit -p tsconfig.json # Go codegen
VUE_GO_TSC_CODEGEN=go vue-go-tsc --noEmit # same, via env
The Volar codegen runs in a few Node worker threads next to tsgo and caches
its output in ~/.cache/vue-go-tsc/volar-codegen (GOLAR_VUE_CACHE=0 to
disable). It needs typescript installed in the project. The type-checking
itself is always tsgo.
Why vue-go-tsc?
- ~5–25× faster than vue-tsc (project-dependent) — e.g. on the Pulse ERP monorepo: app ~232s → ~49s (~4.7×), docs site ~28s → ~1.5s (~18×)
- Lower memory usage — native Go instead of Node.js
- Drop-in replacement for vue-tsc
- Same errors as vue-tsc — the default Volar codegen is vue-tsc's own,
checked against vue-tsc in CI (
tests/parity)
Documentation
Full documentation: https://github.com/aidalinfo/vue-tsgo#readme
Platform Support
- macOS (Intel & Apple Silicon)
- Linux (x64 & ARM64)
- Windows (x64)
License
MIT © Nikhil Verma
Related Packages
Vue (and Nuxt) framework adapter for ripast. Provides Volar/Vue Language Service...
Vue (and Nuxt) framework adapter for ripide. Provides Volar/Vue Language Service...
Vue language tools plugin: types for external CSS modules straight from PostCSS,...
Version History
| Version | Released | License |
|---|---|---|
| 0.3.1 | MIT | |
| 0.3.0 | MIT | |
| 0.2.4 | MIT | |
| 0.2.3 | MIT | |
| 0.2.2 | MIT | |
| 0.2.1 | MIT | |
| 0.2.0 | MIT | |
| 0.1.0 | MIT |