//vizebyMini-ghost

vize

Unofficial High-Performance Vue.js Toolchain in Rust

0
0
0

Vize

Unofficial High-Performance Vue.js Toolchain in Rust

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

DocumentationPlaygroundSponsor

crates.io npm npm npm License

[!WARNING]
This project is under active development and is not yet ready for production use.
APIs and features may change without notice.

[!NOTE]
@vizejs/vite-plugin is the recommended bundler integration today.
@vizejs/unplugin (rollup / webpack / esbuild) and @vizejs/rspack-plugin are available, but non-Vite integrations are still unstable and should be tested carefully before adoption.
Rspack intentionally keeps a dedicated package because its loader chain, experiments.css, and HMR behavior need Rspack-specific handling instead of the shared unplugin path.


Features

  • undefinedCompile — Vue SFC compiler (DOM / Vapor / SSR)
  • undefinedLint — Vue.js linter with i18n diagnostics
  • undefinedFormat — Vue.js formatter
  • undefinedType Check — TypeScript type checker for Vue
  • undefinedLSP — Language Server Protocol for editor integration
  • undefinedMusea — Component gallery (Storybook-like)
  • undefinedMCP — AI integration via Model Context Protocol

Quick Start

npm install -g vize
vize build src/**/*.vue    # Compile
vize fmt --check           # Format check
vize lint --fix            # Lint & auto-fix
vize check --strict        # Type check

See the documentation for detailed usage, Vite plugin setup, experimental bundler integrations, WASM bindings, and more.

Development Environment

Node.js is pinned in .node-version and managed with vp env.

vp env install
vp install

If you want node, npm, and related shims to follow the pinned version in your shell, run vp env setup once and enable managed mode with vp env on.

Workspace Tasks

Workspace orchestration lives in the root vite.config.ts via Vite+'s run.tasks.

vp run --workspace-root check       # packages + examples + playground
vp run --workspace-root check:fix   # auto-fix JS/TS checks where supported
vp run --workspace-root fmt         # format workspace files

vp run --filter './playground' test:browser
vp run --filter './examples/vite-musea' build

Use vp run directly; mise task wrappers have been removed.
npm/vscode-vize and npm/vscode-art stay outside the root vp run graph, so build those from their package directories.

Performance

Benchmarks with 15,000 Vue SFC files (36.9 MB). “User-facing speedup” = traditional tool (single-thread) vs Vize (multi-thread).

Tool Traditional (ST) Vize (MT) User-facing Speedup
undefinedCompilerundefined @vue/compiler-sfc 10.52s 380ms undefined27.7xundefined
undefinedLinterundefined eslint-plugin-vue 65.30s patina 5.48s undefined11.9xundefined
undefinedFormatterundefined Prettier 82.69s glyph 23ms undefined3,666xundefined
undefinedType Checkerundefined vue-tsc 35.69s canon 472ms undefined75.5x *
undefinedVite Pluginundefined @vitejs/plugin-vue 16.98s @vizejs/vite-plugin 6.90s undefined2.5x **
Detailed compiler benchmark
@vue/compiler-sfc Vize Speedup
undefinedSingle Threadundefined 10.52s 3.82s undefined2.8xundefined
undefinedMulti Threadundefined 3.71s 380ms undefined9.8xundefined

* canon is still in early development and does not yet cover the full feature set of vue-tsc. The speedup partly reflects the difference in work performed.

** Vite Plugin benchmark uses Vite v8.0.0 (Rolldown). The plugin replaces only the SFC compilation step; all other Vite internals are unchanged.

Run vp run --workspace-root bench:all to reproduce all benchmarks.

Contributing

See the documentation for architecture overview and development setup.

Credits

This project is inspired by and builds upon the work of these amazing projects:
Volar.jsvuejs/language-toolseslint-plugin-vueeslint-plugin-vuejs-accessibilityLightning CSSStorybookOXC

Sponsors

This project is maintained by @ubugeeei. If you find Vize useful, please consider sponsoring.

License

MIT

[beta]v0.14.0