vite-plus について
上流ドキュメントで見落としやすい、Vite+ の移行、チェック、ワークスペースタスクの挙動、ランタイムや CI の制約をまとめたスキルです。Vite+ プロジェクトの保守チーム向けに、バージョンごとの運用情報を示します。
主な機能
- 01移行手順とレビュー項目
- 02Vite+ のチェックとタスクの指針
- 03ワークスペースコマンドの挙動
- 04Node と Git のバージョン制約
- 05CI キャッシュとリリースの注意点
活用シーン
- 01Vite+ のバージョン移行を計画
- 02型チェックと lint コマンドを設定
- 03ワークスペース内の複数パッケージでタスク実行
- 04ランタイムと CI の要件を確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ uinaf/ agent-skills --skill vite-plusインストール後、Claude Code で/vite-plusを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
Vite+
上流ドキュメントで明示されていないルールです。
移行
pnpm updateまたはpnpm addを実行する前に、元のロックファイルをインストールした状態で対象のマイグレーターを実行してください。マイグレーターはロックファイルから移行元の Vitest バージョンを検出します。Vitest 4 未満のプロジェクトは、まず 0.x リリースに移行してください。- tsup は
pnpm --package=vite-plus@<exact> dlx vp migrate --fullで変換してください。通常のvp migrateでは変換されません。1.0.0-rc.0 では、中間生成物のtsdown.config.ts、直接依存関係のtsdown、およびtsdownスクリプトが残ります。設定をvite.config.tsのpackブロックに移し、スクリプトをvp packに切り替え、tsdownを削除して、中間設定ファイルを削除してください。さらに、ESM、CJS、.d.ts、.d.ctsの出力が移行前と同等であることを確認してください。 - 1.0 のマイグレーターは、未対応の
REVIEW項目が残っていても終了コード 0 で終了します。コミットする前に、すべて解決してください。BLOCKがある場合は依存関係の更新が停止します。修正して再実行してください。再インストールする前に、レビュー報告を保存してください。 vp upによってリテラルのエイリアスが書き込まれた場合は、vite: catalog:に戻してください(0.3.0 で修正済み)。また、カタログのエントリーがnpm:@voidzero-dev/vite-plus-core@<target>を指すようにしてください。- pnpm 12 では、
pnpm-workspace.yamlの未知のキーがあるとインストールに失敗します。バリデーションを緩めたり pnpm をダウングレードしたりせず、別のツールの管理対象に移してください。
チェックとタスク
vp checkで型エラーが報告されるように、lint.options.typeCheck: trueを設定してください。別途実行しているtsc --noEmitは、一度実行して同じ診断結果が得られたことを確認してから削除してください。vue-tscなどのフレームワーク用チェッカーは、TypeScript 7.1 の API がリリースされるまでは、単独で実行する唯一の型チェッカーとして TypeScript 6 上で使用してください。- 1.0 では
oxlintとoxfmtのバイナリーが同梱されなくなりました。エディターとスクリプトの参照先をvp lint --lsp、vp fmt --lsp、vp fmt --stdin-filepathに変更してください。 - Vitest 5 以降、
vp testは親ディレクトリーの設定を検索しなくなりました。パッケージ単位で実行する場合は--config <root>/vite.config.ts --dir .が必要です。 - 0.3.0 以降、ワークスペースのルートでアプリコマンドを直接実行すると、
defaultPackageまたはルート設定が優先されます。そのため、ルートで実行が成功しても、ワークスペース全体が対象になっているとは限りません。vp run -r <task>を使用してください。 - 組み込みコマンドは、同じ名前のパッケージスクリプトを実行しません。
vp run <script>またはvpr <script>を使用してください。
ランタイムと CI
- 1.0.0-rc.0 では Node
^22.18.0 || ^24.11.0 || >=26.0.0が必要です。マイグレーターが更新するのはバージョンファイルであり、CI イメージ、コンテナー、公開されるengines.nodeではありません。公開する契約で Node 20 を維持するには、devEngines.runtimeでコントリビューターの使用バージョンを制限してください。 - 1.0 の
vp stagedを実行する場所では、Node^22.22.1 || ^24.11.0 || >=26.0.0と Git 2.32 以降が必要です。マイグレーターが設定する.nvmrcの 22.18.0 では不十分です。 @cloudflare/vitest-pool-workers0.22.0 でテストされているプロジェクトは、次がリリースされるまで、Vite+ の 0.x 系のバージョン指定を維持してください。 workers-sdk#15618 がリリースされるまで、1.0.0-rc.0 ではすべての Worker テストファイルが起動に失敗します。- シークレットを扱うリリース、公開、デプロイのジョブでは、依存関係のキャッシュを無効にしてください(
setup-vpのcacheはデフォルトでfalseです。cache: pnpmを引き継がないでください)。クリーンな状態でインストールし、認証情報を使う前に、正確なペイロードを検証してください。 vp implodeは管理対象のランタイムとグローバル状態を削除するため、CI のパスは別の方法で揃えてください。ツールチェーンコンテナーはビルドツール用であり、本番ランタイム用ではありません。- すべてのスクリプトが純粋な処理でない限り、Vite+ のタスクグラフではパッケージスクリプトのキャッシュを無効にしてください。グローバルな
run.cache: trueは、デプロイ、公開、移行のスクリプトもキャッシュします。ランタイムとツールチェーンのバージョン指定は、CI のキャッシュキーだけでなく、キャッシュ対象の各タスクの入力に含めてください。
コメント
Markdown 対応