Vize

CLI リファレンス

CLI を使うと、Vue ファイルのコンパイル・整形・lint・型チェックをターミナルや CI で実行できます。 アプリでは vize npm パッケージをインストールし、まず package.json のスクリプト を設定してください。 LSP、IDE 管理、check-server、プロファイリングには Rust バイナリ を使います。

npm パッケージは共有設定のヘルパーと、NAPI を利用する build、fmt、lint、check、clean、ready、upgrade を提供します。 エントリーポイントの比較 で用途に合うものを選び、具体的な作業順序は ユーザーワークフロー を参照してください。

package.json にスクリプトを登録する

アプリでは npm からインストールし、日常のコマンドをプロジェクトのスクリプトに登録します。

vp install -D vize
{
  "scripts": {
    "vize:build": "vize build src",
    "vize:fmt": "vize fmt --write src",
    "vize:lint": "vize lint --preset happy-path src",
    "vize:check": "vize check src",
    "vize:ready": "vize ready src"
  }
}
vp run vize:lint
vp run vize:check
vp run vize:ready

単発のデバッグには vp exec vize ... を使い、文書化するワークフローや CI には名前付きスクリプトを使ってください。

Rust バイナリのインストール

v1 alpha では、GitHub Releases のビルド済みバイナリか Nix のエントリーポイントを使います。crates.io 経由の Rust CLI インストールはまだサポートしていません。

nix run github:ubugeeei-prod/vize#vize -- --help

OS とアーキテクチャに合うバイナリは GitHub Releases からもダウンロードできます。 このリポジトリでローカル開発をする場合は、ワークスペースのビルドをインストールしてください。

cargo install --path crates/vize --force --locked

npm パッケージのスクリプトと Rust CLI の比較

用途 推奨エントリーポイント
ビルド・整形・lint・型チェック・準備・アップグレードを実行するパッケージスクリプト npm パッケージの vp run vize:*
.vue、.ts、.tsx、.d.ts を含むプロジェクト全体の型チェック Rust vize check
LSP、IDE セットアップ、check-server、プロファイル出力 Rust vize バイナリ
Vite プラグイン、npm パッケージのコマンド、Rust CLI で共有する設定 Vite の設定

コマンド

vize [COMMAND]

コマンドを指定しない場合、vize は build を実行します。

コマンド 説明
build Vue SFC をコンパイルする
fmt Vue SFC を整形する
lint Vue SFC に lint を実行する
check Vue SFC、TS、TSX、.d.ts 入力を型チェックする
explain 診断コードの説明ページを表示する
doctor アプリケーション全体の健全性を診断する
inspector プレイグラウンドのコンパイラーインスペクター用データを作成する
clean Vize が生成したキャッシュを削除する
lib バージョンを指定して UI・composable のソースを取り込む(Lib Pull ガイド)
ready fmt、lint、check、build を実行する
upgrade インストール済み CLI を更新する
check-server Unix JSON-RPC の型チェックサーバーを起動する
content-mapper TypeScript ContentMapper サーバーを起動する
musea Musea のサブコマンドと雛形作成
lsp 言語サーバーを起動する
ide エディター連携をインストール・管理する

ビルド

vize build src/**/*.vue
vize build --ssr
vize build --profile src
オプション 説明
-o, --output 共通の入力ルートからの相対パスで出力する。同名出力の衝突はエラーにする
-f, --format 出力形式: js、json、stats
--ssr SSR 用にコンパイルする
--vapor Vapor モードでコンパイルする
--template-syntax 不正な構文の扱い: standard(デフォルト)、strict、quirks
--custom-renderer 小文字の非 HTML タグをカスタムレンダラーの要素として扱う
--custom-elements <PATTERN> カスタム要素として扱うタグのパターン。複数回指定可能
--script-ext preserve または downcompile
--declaration ビルドした SFC の .d.ts を出力する(別名: --dts)
--declaration-dir 宣言ファイルの出力先(デフォルト: ビルドの出力先)
-j, --threads スレッド数を指定する
--profile 処理時間のプロファイルを表示する
--continue-on-error エラー後もコンパイルを続け、最後に失敗を報告する

<style lang="scss">・sass・less・stylus のブロックは、Vite と同じく、プロジェクトにインストールされたプリプロセッサ(sass または sass-embedded、less、stylus)でコンパイルしてからスコープを付けます。プリプロセッサのエラーは .vue ファイル内の行を指します。Node やパッケージが見つからない場合は、ブロックをそのまま出力して警告を表示します。

フォーマット

vize fmt --check src
vize fmt --write src

デフォルトのファイル探索では Vue、JavaScript/TypeScript、JSON/JSONC を整形します。YAML と Markdown の整形は未実装です。.yaml、.yml、.md、.markdown は探索対象から除外され、明示的に選択するとファイルを変更せずにエラーを返します。

オプション 説明
--check 整形すると変更されるファイルを報告する
-w, --write 整形結果をファイルに書き込む
--single-quote 文字列の引用符を切り替える
--jsx-single-quote JSX 属性の引用符を切り替える
--quote-props オブジェクトキーの引用符ポリシーを選ぶ
--trailing-comma 末尾のカンマを all、es5、none から選ぶ
--arrow-parens 1 引数のアロー関数の括弧を always、avoid から選ぶ
--bracket-spacing オブジェクトリテラルの波括弧内の空白を切り替える
--bracket-same-line 複数行タグの > を最後の属性行に置く
--end-of-line 改行を lf、crlf、cr、自動検出の auto から選ぶ
--print-width 1 行の最大幅
--tab-width インデント幅
--use-tabs タブとスペースを切り替える
--no-semi セミコロンを省略する
--sort-attributes テンプレートの属性を並べ替える
--single-attribute-per-line 属性を 1 行に 1 つずつ配置する
--max-attributes-per-line 指定した属性数で改行する
--normalize-directive-shorthands v-bind: / v-on: / v-slot: の省略記法を正規化する
--preset vize、prettier、compact、documentation のフォーマッタ既定値を適用する
--profile 処理時間のプロファイルを表示する

lint

vize lint src
vize lint --preset opinionated src
vize lint --help-level short src
オプション 説明
--fix テキスト編集を提供するルールの安全な自動修正を適用し、残った診断を報告する
-f, --format 出力形式: text、rich(--locale ja または zh で言語を指定)、ansi、plain、json、stylish、markdown、html、agent
--max-warnings 警告数が指定した上限を超えると失敗する
--report-unused-disable-directives 何も抑制していないテンプレートの eslint-disable コメントを vue/comment-directive のエラーとして報告する
-q, --quiet 概要だけを表示する
--help-level full、short、none
--locale メッセージの言語: en、ja、zh
--preset happy-path、ecosystem、opinionated、essential、incremental、nuxt
--cross-file ファイル間のチェックを有効にする(明示的な有効化が必要)
--cross-file-tree ファイル間 lint の実行時に provide/inject ツリーを表示する
--cross-file-complexity ファイル間 lint の実行時に複雑度スコアとホットスポットを表示する
--type-aware lint 設定で有効にした型情報を使うルールを実行する
--strict-reactivity ネイティブチェッカーを使ってリアクティビティの喪失を検出する
--profile 処理時間のプロファイルを表示する
--slow-threshold プロファイルで遅いファイルとして報告する時間のしきい値

プリセットを選ぶと、段階的にルールを導入できます。

プリセット 選ぶ場面
essential CI で正確性を重視した診断を行いたい
happy-path 推奨するデフォルトのルールセットを使いたい
ecosystem happy-path に Router・Pinia・Nuxt・i18n のエコシステムルールを加えたい
opinionated より厳しい規約、スクリプトのルール、型情報を使う候補も有効にしたい
incremental 明示的に設定したルールだけを使いたい
nuxt Nuxt コンポーネントの前提に合う、規約を重視したルールを使いたい
vize lint --preset essential --max-warnings 0 src
vize lint --preset opinionated --help-level short src
vize lint --cross-file --cross-file-tree src
vize lint --strict-reactivity src
vize lint --format ansi src
vize lint --format plain src
vize lint --format agent src
vize lint --format markdown src

型チェック

vize check
vize check src
vize check --tsconfig tsconfig.app.json
vize check --profile src

vize check は TypeScript のネイティブコンパイラー(TypeScript 7 として出荷される Go 実装、Project Corsa)で Vue SFC を型チェックします。Vize は SFC ごとに仮想 TypeScript を生成し、corsa-bind を通してネイティブにプロジェクトを診断し、結果を元の .vue の位置へ対応付けます。フラグや設定キーの「Corsa」は、このネイティブ TypeScript コンパイラーを指します。

パスを指定しない場合、利用可能な tsconfig.json の files / include / exclude を使います。明示的な入力にはファイル・ディレクトリ・glob を指定でき、.vue、.ts、.tsx、.d.ts を扱えます。

オプション 説明
-s, --socket 起動中の check-server に接続する
--tsconfig 使用する tsconfig.json を指定する
-f, --format 出力形式: text または json
--show-virtual-ts 生成した仮想 TypeScript を表示する
--save-virtual-ts-for 指定ファイルの仮想 TypeScript をその隣に保存する。複数回指定可能
--max-warnings 警告数が上限を超えると失敗する
--no-check-props props の型チェックを省く
--no-check-emits emit の型チェックを省く
--no-check-template-bindings テンプレートのバインディングのチェックを省く
-q, --quiet 概要だけを表示する
--profile node_modules/.vize にプロファイルを書き込む
--corsa-path ネイティブ TypeScript(Corsa)実行ファイルのパスを指定する
--tsrs-path 実験的な tsrs 実行ファイルを使用する
--servers 並列に起動する Corsa CLI サーバー数(1〜32)。省略時は自動調整
--checkers Corsa プロセスごとのチェッカー数(デフォルト 1)
--declaration .d.ts を出力する
--declaration-dir 宣言ファイルの出力先

ローカルでビルドした Corsa や corsa-bind を開発・検証に使う場合、--corsa-path で実行ファイルを固定してください。共有設定キーは typeChecker.corsaPath です。typeChecker.tsgoPath は互換性のための別名としてのみ残っています。実験的な tsrs バックエンドを評価する場合は、typeChecker.tsrsPath とともに --tsrs-path を使います。

vize check --tsconfig tsconfig.app.json src
vize check --show-virtual-ts src/components/App.vue
vize check --profile src
vize check --declaration --declaration-dir dist/types

プロジェクト全体で使うテンプレートの値や Vue の型拡張は、TypeScript のプロジェクト設定から見える必要があります。auto-imports.d.ts、components.d.ts、独自の declare module "vue" を tsconfig.json の include に含め、必要に応じて --tsconfig でそのプロジェクトを選んでください。

{
  "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue", "src/**/*.d.ts"]
}
// src/types/vue-app.d.ts
declare module "vue" {
  interface ComponentCustomProperties {
    $t: (key: string) => string;
  }
}

Doctor

vize doctor
vize doctor src
vize doctor src packages/shared --format json

vize doctor は Vue SFC とスクリプトモジュールを横断するアプリケーショングラフを作り、単一ファイルの lint では見えないアプリ全体の問題を報告します。

  • 依存性注入(provide / inject)とコンポーネント間の props 契約
  • 要素 ID の重複と、サーバーとクライアントの境界
  • リアクティビティの流れ、非同期の変更によるリスク、setup コンテキストの所有権
  • 循環 import

指摘は元の .vue ソースの位置を指します。ignore ファイルに従ってワークスペース内だけを探索し、解析できないファイルがあればエラーで停止します。ファイルには書き込みません。

オプション 説明
--root ワークスペースの境界とレポート内のパスの基準(デフォルト: 現在のディレクトリ)
-f, --format 出力形式: text(デフォルト)、バージョン付きの json、コードホスト向けの sarif
--exit-zero 通常は失敗になる、確認済みのエラーがあっても成功を返す
--tui 対話的なターミナル画面でレポートを確認する
--public-sfc 公開コンポーネント向けの SFC の規約も検査する(デフォルトは無効)

終了コード 0 は検証の通過、1 は確実または高い確信度のエラー、2 は探索・構文解析・解析・シリアライズ・出力の失敗を示します。警告や確信度の低い指摘は健全性スコアに影響しますが、デフォルトでは失敗にしません。 フィルター、変更ファイル、スコア、自動化に関する詳しい仕様は Doctor による診断 を参照してください。--format json のレポートは同じ入力から同じ結果が得られ、形式とスコア計算のバージョンも明記されるため、CI や AI ツールで扱う場合に適しています。

vize doctor src --format json > doctor-report.json

インスペクター

vize inspector src/App.vue
vize inspector "src/**/*.vue" --target ssr
vize inspector src --format json --output inspector-payload.json
vize inspector src --format agent --output inspector-agent.json

vize inspector は、1 つ以上の .vue ファイルを、プレイグラウンドのコンパイラーインスペクターが読み込めるデータにまとめます。ブラウザーでは Vue の出力、Vize の出力、Virtual TS、VIR、ファイル間のグラフを比較でき、パーマリンクや、再現情報を入力済みの PR 作成リンクも生成できます。

ローカルツールや AI エージェントに同じ再現データを渡す場合は、--format agent を使ってください。ブラウザーを開かずに、同じデータ、プレイグラウンドの URL、概要の数値、import グラフを取得できます。

オプション 説明
-f, --format 出力形式: url、json、agent、compare
--target コンパイル対象: dom、ssr、vapor
--playground-url 生成するリンクのプレイグラウンドのベース URL
--max-files まとめて扱うファイル数の上限
--custom-renderer カスタムレンダラーの比較を有効にする
--template-syntax standard、strict、quirks を選ぶ
-o, --output URL または JSON データをファイルに書き込む

コントリビューター向けの作業手順は Compiler Inspector を参照してください。

クリーン

vize clean
vize clean --dry-run
vize clean --scope node-modules
vize clean --scope project
vize clean --force
vize clean path/to/project

vize clean は、Vize が .vize と node_modules/.vize に書き込むキャッシュとレポートを削除します。対象はプロファイル、Musea のレポートとスナップショット、lint のセッション、設定スキーマ、LSP ログ、vize check が生成する TypeScript プロジェクトです。

オプション 説明
--dry-run 削除予定のパスを表示する
--scope node-modules / project node_modules/.vize または .vize の片方だけを削除する
--force 未知のファイルも含めてフォルダーごと削除する
-q, --quiet 状態の出力を抑える

準備状況の確認

vize ready src
vize ready --output dist src

vize ready は fmt --write、lint、check、build を順番に実行し、最初に失敗した段階で停止します。 対話的な端末の stderr には段階の番号と完了までの時間を表示し、CI やリダイレクトした stderr には通常のログを出力します。進捗表示は端末の色と Unicode の設定に従います。

オプション 説明
-o, --output ビルドの出力先
--ssr ビルドで SSR コンパイルを有効にする
--script-ext preserve または downcompile
--tsconfig 型チェックで使う tsconfig.json
--no-check-props、--no-check-emits、--no-check-template-bindings 指定した型チェックを省く

アップグレード

vize upgrade
vize upgrade --dry-run

デフォルトでは、vize upgrade は Vite+ を使い、プロジェクトのパッケージマネージャーで npm パッケージを更新します。

vp install -D vize@latest

--source cargo は、ローカルで明示的に Cargo を使ってインストールした場合にだけ指定してください。

Musea

vize musea --help
vize musea serve --port 6006
vize musea new

musea サブコマンドは、現在は雛形作成と実験的なエントリーポイントを中心に提供しています。日常のギャラリー開発には @vizejs/vite-plugin-musea を使ってください。 npm パッケージの vize musea は、プロジェクトにインストールした Musea プラグインを使って Vite を起動します。--build を付けると本番用にビルドします。

vp exec vize musea
vp exec vize musea --build

LSP と IDE

vize lsp
vize lsp --port 9527
vize ide vscode
vize ide zed

vize lsp は言語サーバーを直接起動します。vize ide は VS Code と Zed の連携をインストール・管理するコマンドを提供します。

グローバル オプション

vize --help
vize --version
vize <command> --help

プロジェクトを対象にするコマンド(build、fmt、lint、check、ready)は、特定の Vite 設定を読む -c, --config <path> と、プロジェクトの設定を読み込まない --no-config も受け付けます。