Skip to content

What is Verter? ​

Pre-Release

Verter is pre-release software. APIs may change between releases — see the API Stability document.

Verter is a Vue compiler, Language Server Protocol (LSP) implementation, and build tool. It converts Vue Single File Components (SFCs) into valid TSX for type checking and optimized render functions for production -- providing a stricter, more complete TypeScript experience for Vue than existing tools.

The project is a hybrid Rust + TypeScript monorepo. Rust owns SFC parsing, IDE TSX generation, runtime code generation, the shared semantic session, and the LSP server. TypeScript packages provide editor integration, TypeScript-provider adapters, protocol bindings, and bundler orchestration.

Why Verter? ​

Vue's Single File Component format combines <template>, <script>, and <style> blocks into one file. Getting full TypeScript support for this format requires translating Vue-specific syntax (directives, macros, scoped styles) into something TypeScript can understand.

Verter takes a different approach from existing tools:

  • Real TSX output -- Verter generates actual valid TSX code that TypeScript can type-check directly, rather than relying on virtual file mappings. This means stricter type checking and fewer edge cases where types silently degrade to any.
  • Rust-powered compilation -- Template compilation runs in Rust via NAPI-RS (for Node.js) and WASM (for browsers), delivering fast build times.
  • Unified build and IDE experience -- The same compiler drives both your production builds (via the universal bundler plugin) and your IDE features (via the LSP server).

Verter vs Volar ​

VerterVolar
StatusPre-release (beta)Production-ready
ApproachSFC to real TSXVirtual file mapping
CompilerRustTypeScript only
Type safetyStrict (valid TSX output)General Vue development
IDEVS Code (Rust LSP binary)VS Code + other editors
Build integrationUniversal bundler pluginSeparate (Vite plugin)

Volar is the established, production-ready solution for Vue IDE support. Verter is an experimental alternative exploring whether generating real TSX can provide a better TypeScript experience. If you need stability today, use Volar. If you want to experiment with stricter type checking and faster compilation, try Verter.

Architecture ​

Verter consists of several packages that work together across two languages:

Compiler crate, two outputs ​

The Rust compiler crate parses each carrier and produces purpose-specific outputs. Parsing, framework interpretation, IDE projection, runtime emission, and host integration are distinct authorities inside that crate; they are not one combined compiler identity:

IDE output -- verter_compiler generates valid TSX and source mappings. verter_session owns host-backed resolution, invalidation, and shared semantic caches; the LSP sends the generated TypeScript surface to TSGO or tsserver for editor features.

Runtime output -- The same Rust compiler emits optimized render functions for production builds. This runs through @verter/unplugin during Vite, webpack, Rollup, and other supported builds.

Key Packages ​

PackageDescription
@verter/unpluginUniversal bundler plugin for Vite, Rollup, webpack, esbuild, rspack, Rolldown, and Farm
@verter/nativeNative Node.js bindings to the Rust compiler via NAPI-RS
@verter/wasmWASM bindings to the Rust compiler for browser use
@verter/typesTypeScript utility types for Vue component type inference
@verter/typescript-pluginTypeScript language-service integration for Vue and the supported Svelte carrier surface
@verter/language-sharedShared protocol types between the VS Code extension and LSP server
verter-vscodeVS Code extension that launches the Rust LSP binary

Experimental Svelte compiler ​

Verter includes an experimental native Svelte client compiler tested against the pinned svelte@5.56.10 runtime. It is not presented as a general drop-in replacement for the official compiler: supported client behavior is covered by runtime and official-oracle tests, while unsupported runtime or server-output surfaces fail closed with typed diagnostics. Published benchmark evidence is limited to its explicit, equal-work fixture corpus and is not a general speed or memory claim.

Next Steps ​

Released under the MIT License.