vue-go-tsc

Blazingly fast Vue 3 type checker powered by typescript-go — a Go-native alternative to vue-tsc
25,656
Install
npm install vue-go-tsc
Latest Version:0.3.1
License:MIT
Last Updated:Oct 12, 2026
Links: GitHub  ·  npm
Maintainer: aidalinfo

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 (formerly nonfx/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

@ripast/vue

Vue (and Nuxt) framework adapter for ripast. Provides Volar/Vue Language Service...

1,361 112
ripide-vue

Vue (and Nuxt) framework adapter for ripide. Provides Volar/Vue Language Service...

1,211 112
@vue-macros/volar

Volar plugin for Vue Macros.

1,830,113 1,986
@vue-macros/nuxt

nuxt feature from Vue Macros.

160,400 1,986
@flarian/language-plugin-css-modules

Vue language tools plugin: types for external CSS modules straight from PostCSS,...

0 0

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