コンテンツにスキップ

Vendure CLI 開発ガイド

概要

Vendure CLI v3.5.0を使用した開発ワークフローとコマンドリファレンスです。

🚀 主要コマンド

スキーマ生成

# 全スキーマ生成 (Admin + Shop)
pnpm run schema:generate

# 個別生成
pnpm run schema:admin    # Admin API スキーマ
pnpm run schema:shop     # Shop API スキーマ

出力先: packages/shared-graphql/schema/

データベース管理

# マイグレーション実行
pnpm run db:migrate          # 本番環境
pnpm run db:migrate:local    # 開発環境

# マイグレーション生成
pnpm run migrate:generate    # 新しいマイグレーション作成
pnpm run migrate:run         # マイグレーション実行

# データ投入
pnpm run db:populate         # サンプルデータ投入

🔧 開発ワークフロー

1. 初期セットアップ

# 依存関係インストール
pnpm install

# データベースマイグレーション
pnpm run db:migrate:local

# サンプルデータ投入
pnpm run db:populate

2. 開発サーバー起動

# 開発サーバー起動
pnpm run dev

# Dashboard開発サーバー(別ターミナル)
pnpm run dashboard:dev

3. スキーマ変更時

# スキーマ生成
pnpm run schema:generate

# 型定義更新
pnpm run codegen:full

🆕 v3.5.0 の新機能

新しいschemaコマンド

  • サーバー起動不要: 設定ファイルから直接スキーマ生成
  • Monorepo対応: 複数設定ファイルの自動検出
  • 設定ファイル指定: --configオプションで明示的指定

改善されたマイグレーション

  • 設定統合: VendureConfigとの完全統合
  • エラーハンドリング: より詳細なエラーメッセージ
  • Monorepoサポート: 継承されたtsconfigの適切な処理

📁 プロジェクト構造

apps/vendure-server/
├── src/
│   ├── vendure-config.ts      # メイン設定ファイル
│   └── migrations/            # データベースマイグレーション
├── package.json               # 更新されたスクリプト
└── scripts/                   # カスタムスクリプト(削除済み)

packages/shared-graphql/
└── schema/                    # 生成されたスキーマファイル
    ├── admin.graphql
    └── shop.graphql

🔍 トラブルシューティング

複数設定ファイルの警告

# 設定ファイルを明示的に指定
pnpm exec vendure schema --config src/vendure-config.ts

マイグレーションエラー

# 設定ファイルを指定してマイグレーション実行
pnpm exec vendure migrate --run --config src/vendure-config.ts

スキーマ生成エラー

# 設定ファイルを指定してスキーマ生成
pnpm exec vendure schema --api admin --config src/vendure-config.ts

📚 参考リンク

🎯 今後の改善

  • CI/CDでの自動スキーマ生成
  • IDE統合の最適化
  • カスタムプラグインでのスキーマ拡張
  • パフォーマンス監視の強化