Vize
Vize Logo

Vize

Unofficial High-Performance Vue.js Toolchain in Rust

/viːz/ — A wise tool that sees through your code. Compile, lint, format, type-check, and explore Vue components — all powered by Rust. ⚠️ Not yet production-ready.

Vite Plugin

Start from the recommended integration for Vue applications: native SFC compilation inside Vite with shared Vize configuration.

Static Analysis Pipeline

Parser, semantic analysis, lint rules, virtual TypeScript, cross-file checks, and editor diagnostics share the same Rust-native analysis layers.

Rule Documentation

Browse concrete Vue, HTML, SSR, Vapor, Musea, type-aware, and cross-file diagnostics with bad and good examples.

Shared Configuration

Configure compiler options, Vite scanning, lint presets, type checking, formatting, LSP features, and Musea from `vize.config.*`.

Native Type Checking

`vize check` runs through `vize_canon` and Corsa project sessions backed by `corsa-bind`, keeping Vue-aware diagnostics on a native path.

CLI Reference

Compile, format, lint, and type-check Vue SFC files from native commands when scripts or terminal workflows are the right entry point.

Oxlint Plugin

Run Vize's Vue diagnostics inside Oxlint and combine them with OXC's JS and TS rules in one pass.

Experimental Bundler Integrations

rollup, webpack, esbuild, and a dedicated Rspack path exist, but Vite remains the recommended and most stable integration.

8.3x Faster

Multi-threaded compilation of 15,000 SFC files (36.9 MB) in under 500ms. Arena allocation, Rayon parallelism, zero GC.

Component Gallery

Musea — art files, docs, palette generation, a11y, and VRT tooling, with the gallery workflow provided by @vizejs/vite-plugin-musea.

WASM Bindings

Run the Vue compiler directly in the browser with WebAssembly. Power playgrounds, docs, and education tools.

AI Integration

MCP server enabling AI assistants to understand and work with your Vue components through Musea.

Vapor Mode

First-class support for Vue 3.6 Vapor mode — fine-grained reactive compilation without the virtual DOM.

Philosophy

Art-inspired architecture, oxidation ecosystem (OXC, oxlint, corsa-bind), and a unified toolchain vision.

Blog

Release notes for shipped changes, plus irregular notes for design updates, devlogs, and project thinking.

Current Direction

One of the biggest recent shifts in Vize is native type checking. vize check and the editor-facing type-check pipeline are moving onto vize_canon plus corsa-bind, which lets Vize keep Vue virtual files and TypeScript project diagnostics on a native path for longer.

That matters for more than raw speed. It gives Vize a tighter loop between template analysis, diagnostics, navigation, and future editor features, while reducing the amount of work that has to bounce back through a JavaScript-hosted compiler process. The fidelity story is still catching up, but this is the direction the toolchain is clearly heading.

The same direction applies to linting and Musea. Static analysis starts with the parser and Croquis semantic model, then feeds Patina lint rules, Canon virtual TypeScript, compiler decisions, editor diagnostics, and component gallery metadata. The practical workflow is documented in Static Analysis, with config details in Configuration. The concrete rule and diagnostic catalog is in Rules.

Author

ubugeeei

ubugeeei is a software engineer based in Tokyo, working across Vue, Rust, design, and language tooling.

He is part of the Vue.js Core Team, Vue.js Japan User Group Core Staff, a Vite+ Core Contributor, and Chief Engineer at mates-dev.

He is also the creator of chibivue, Vize, and Ox Content.

Sponsor

Vize is a free and open-source project licensed under MIT. Developing and maintaining a full toolchain — compiler, linter, formatter, type checker, LSP, component gallery, and WASM bindings — is a significant effort that requires sustained focus and dedication.

If Vize saves you time, improves your development experience, or you believe in the vision of a high-performance Vue.js toolchain, please consider sponsoring the project:

Your support helps fund continued development, infrastructure costs, and ensures Vize remains free for everyone. Every contribution — no matter the size — makes a real difference.