vize

High-Performance Vue.js Toolchain in Rust. "Vue-specific" part Compiler, Linter, Type Checker, Formatter, LSP, Story System, Editor Extensions. This already passed 6000+ test suites, includes real world E2E.

0
0
0
Rust
public
Forked

Vize

High-Performance Vue.js Toolchain in Rust

/viːz/: Named after Vizier + Visor + Advisor, a wise tool that sees through your code.

DocumentationPlaygroundSponsor

Real World Testing — Wanted

▶ Watch the Real World Testing PV

[!WARNING]
Vize is experimental and in its Real World Testing phase — not a completely
production-ready toolchain yet. Breaking changes and behavior that diverges from Vue are
expected. Review the stability guide,
production-readiness checklist,
and support policy
before adopting it.

What Is Vize?

Vize is a Rust-native toolchain for Vue — one fast, vertically integrated lane
for single-file components. A single shared parser powers compilation, linting, type-checking,
formatting, and editor tooling, so your whole Vue workflow runs on the same high-performance core
instead of a patchwork of disconnected tools.

It plugs into where you already work: @vizejs/vite-plugin (Vite), the vize npm package
(project scripts and shared config helpers), the native vize binary (LSP / profiling /
specialized CLI workflows), @vizejs/vite-plugin-musea (Musea), and oxlint-plugin-vize
(Oxlint).

Everything lives in the documentation — start with
Getting Started.

Vize is in its Real World Testing phase: fix requests and PRs are very welcome, and we are looking for
reasonably large Vue projects to use as test beds.

Benchmarks

Measured on Blacksmith blacksmith-32vcpu-ubuntu-2404, 15,000 generated Vue SFCs, median of 5 runs
(latest run):

Surface Existing tool Existing Vize Speedup
SFC compile @vue/compiler-sfc 18.38s 333.8ms 55.1×
Lint eslint-plugin-vue 56.66s 270.9ms 209.2×
Format Prettier 150.34s 2.22s 67.8×
Type check vue-tsc 5.42s 438.3ms 12.4×
Vite build @vitejs/plugin-vue 1.70s 1.52s 1.1×
Nuxt build Nuxt compiler 6.68s 7.35s 0.9×

See the Blacksmith benchmark snapshot for
methodology and per-variant numbers.

Credits

This project draws inspiration from Volar.js,
vuejs/language-tools,
eslint-plugin-vue,
eslint-plugin-vuejs-accessibility,
Lightning CSS,
Storybook, and
OXC.

Special thanks to:

  • Blacksmith for sponsoring high-performance CI/CD runners and
    Testbox infrastructure for frequent benchmarks and real-project compatibility checks.
  • Mates Inc. for allowing ubugeeei, its employee, to dedicate
    discretionary work time to OSS and for adopting Vize in the build for the company’s engineering
    website.
  • OpenAI Codex for Open Source for supporting
    open-source maintainers through a program that helps keep critical OSS development moving.
  • かっこかり for continuously testing Vize’s compiler and
    Vite Plugin on Misskey (~103k lines of Vue across 586
    SFCs), with timely reports as the implementation changed
    (report).
  • ushironoko for compiler, linter, and CLI fix reports,
    reference implementations, and reproduction repositories.
  • dannote for bringing Vize into the Elixir community through
    Volt, an Elixir-native frontend toolchain built on Vize,
    and for reporting missing pieces and sending PRs as Volt adopted Vize as a foundation.
  • n13u and #frontend_phpcon_do for persistently reporting fix cases while
    building a Nuxt-based conference website with Vize, then carrying that validation all the way to
    production adoption
    (report,
    write-up).
  • yamanoku for accessibility-focused feedback around Vize and for using the project in the Vue Fes
    Japan speaker-site migration documented in the v-tokyo Meetup #25 LT notes
    (write-up).
  • sevenc-nanashi for using the
    VOICEVOX editor (~26k lines of Vue across 128 SFCs) as a
    real-world target for improving compiler precision
    (report).
  • Everyone who has mentioned, shared, tested, or amplified Vize across the community.

Vize is a personal project by ubugeeei, licensed under the MIT License and maintained as a
non-commercial OSS effort. It is not owned by any specific company, is intended to remain open, and
is not being built with a buyout in mind.

License

MIT

v0.3.3[beta]