github microcmsio/microcms-js-sdk v3.6.0

5 hours ago

新機能

microCMSのサービス全体のスキーマをクライアント生成時に登録し、コンテンツAPIの型検査・推論を利用できるようになりました。microcms-typegenで生成したサービス型を指定できます。

  • createClient<ServiceSchema>(...)で、エンドポイントとリスト形式・オブジェクト形式に応じたメソッドの引数を型検査します。
  • getList・getListDetail・getObject・getAllContentsで、fields・depthに応じた戻り値型を推論します。静的に判断できる不正なフィールドパスやdepthも型エラーとして検出します。
  • create・updateで、エンドポイントから書き込みデータの型を推論します。updateのcontentIdはリスト形式では必須、オブジェクト形式では指定不可になります。
  • getAllContentIds・deleteでも、エンドポイントとAPI形式を型検査します。
  • InferMicroCMSContentで、取得クエリに対応したコンテンツ1件の型を取り出せます。コンポーネントのpropsなどに利用できます。

互換性・対応範囲

  • スキーマを指定しないクライアントと、従来のgetList<Blog>(...)などのメソッドごとの型指定は引き続き利用できます。
  • スキーマ登録はTypeScriptの型検査・推論に使います。登録によるAPI通信処理の変更はありません。
  • Node.jsの要件は18以降を維持しています(22以降を推奨)。型を利用する場合はTypeScript6.0以降が対象です。
  • filters・orders・alternateFieldの指定内容の検査、richEditorFormat: 'object'の戻り値型の自動推論は対象外です。詳細はREADMEのTypeScript節を参照してください。

ドキュメント・開発環境

  • 日本語・英語READMEを整理し、読み取り・書き込み・型抽出の利用例を追加しました。
  • 型推論・生成型との連携・TypeScript6との互換性を検査するテストを追加し、マネジメントAPIを含む通信テストとカバレッジ検査を補強しました。
  • 開発用TypeScriptとNode.js、依存パッケージを更新し、lintにOxlint、テストの変換にSWCを採用しました。

関連PR:#119、#120

Full Changelog: v3.5.1...v3.6.0

Don't miss a new microcms-js-sdk release

NewReleases is sending notifications on new releases.