Svelte 5+

Drop-in replacement.
Native speed.

Rust parser + parallel transforms + tsgo type-checking. Same CLI. Same output. Faster feedback.

$npm install -D svelte-check-rs
svelte-check
svelte-check-rs
faster
ยท

Built for agentic coding

svelte-check is built on Language Server Protocol infrastructure—optimized for IDEs with persistent connections, incremental updates, and interactive editing. Great for autocomplete and hover info. Slow for one-shot CLI checks.

svelte-check-rs is a batch-first CLI. No LSP. No language service overhead. Just fast, parallel diagnostics for CI pipelines and AI coding agents.

Built for
  • AI coding agents (Claude Code, Codex, Cursor)
  • CI/CD pipelines
  • Pre-commit hooks
  • Watch mode iteration
Not a replacement for
  • In-editor diagnostics
  • Autocomplete / IntelliSense
  • Hover documentation
  • Go-to-definition

Keep using the Svelte VS Code extension for IDE features. Use svelte-check-rs when you need fast CLI feedback. Still on Svelte 4? Stick with svelte-check.

Why it's fast

svelte-check
Uses TypeScript's Language Service API with in-memory transforms. Designed for IDEs, not batch compilation. No incremental builds—re-analyzes entire project every run.
vs
svelte-check-rs
Writes real TypeScript files to disk, runs tsgo as a standalone compiler. Enables incremental: true with persistent .tsbuildinfo. Subsequent runs only re-check changed files.
01

Rust Parser

Zero-copy lexer and AST built for Svelte 5 runes. No Node.js startup overhead.

02

Parallel Transform

Svelte to TypeScript via rayon. All CPU cores. Source maps preserved.

03

tsgo Compiler

Microsoft's native Go port of TypeScript. 10x faster than tsc.

Install

npm (recommended)
$npm install -D svelte-check-rs
macOS / Linux
$curl --proto '=https' --tlsv1.2 -LsSf https://github.com/pheuter/svelte-check-rs/releases/latest/download/svelte-check-rs-installer.sh | sh
Windows (PowerShell)
>irm https://github.com/pheuter/svelte-check-rs/releases/latest/download/svelte-check-rs-installer.ps1 | iex
Replace existing scripts
// package.json { "scripts": { "check": "svelte-check-rs" } }
Or alias for zero-config switch
$alias svelte-check=svelte-check-rs

CLI Reference

Core

--workspace <path> Project root
--tsconfig <path> TypeScript config
--output <fmt> human | json | machine
--watch Re-check on file change

Diagnostics

--diagnostic-sources js,svelte,css
--threshold error | warning
--fail-on-warnings Exit 1 on warnings
--ignore <glob> Skip matching files
--debug-paths Show resolved binaries

Performance

--timings Print timing breakdown
--timings-format text | json
--emit-ts Debug: print transformed TS

tsgo

--tsgo-version Show installed tsgo version
--tsgo-update Update tsgo to latest
--tsgo-update=<ver> Install specific version