設定ファイル用のJSON Schema生成

package.json、tsconfig、またはカスタムYAML/JSON設定などのアプリケーション設定ファイル用のJSON Schemaを作成します。IDEの自動補完とバリデーションを有効にします。

Real-World Schemas

詳細な説明

設定ファイルのスキーマ生成

設定ファイルはJSON Schemaの最適なユースケースの一つです。スキーマによって IDE自動補完バリデーションドキュメント化 を同時に実現できるからです。

設定ファイルにスキーマが必要な理由

  • 自動補完: VS Code、JetBrains IDEなどのエディタがJSON Schemaを使用して、入力時に有効なキーと値を提案します。
  • バリデーション: アプリケーション起動前にタイポや無効な値をキャッチします。
  • ドキュメント化: スキーマ自体がすべての設定オプションの機械可読な仕様として機能します。

例: カスタムアプリ設定

サンプル設定からスキーマを生成し、改善します:

{
  "port": 3000,
  "host": "localhost",
  "database": {
    "url": "postgres://localhost:5432/mydb",
    "pool": { "min": 2, "max": 10 }
  },
  "features": {
    "darkMode": true,
    "betaAccess": false
  },
  "allowedOrigins": ["https://example.com"]
}

主な改善ポイント

  • default でフィールドが省略された場合にアプリケーションが使用する値を伝えます。
  • featuresadditionalProperties: { "type": "boolean" } を使用 — 機能フラグは動的なキーバリューマップのため。
  • port に有効なTCPポート範囲に一致するmin/max制約 を設定。
  • ルートの titledescription でスキーマを自己文書化。

IDEとの連携

設定ファイルに $schema プロパティを追加してIDEサポートを有効にします:

{
  "$schema": "./config.schema.json",
  "port": 8080
}

VS Codeやその他のエディタが参照されたスキーマを自動的に読み込み、補完とバリデーションを提供します。

ユースケース

IDE自動補完の有効化、デプロイ前の無効な設定のキャッチ、設定オプションの生きたドキュメントの作成のために、アプリケーション設定ファイルのスキーマを生成します。

試してみる — JSON Schema Generator

フルツールを開く