2026年10月26日

microCMSがTypeScript型の自動生成に対応。Next.js制作で見直したい型管理とCI

microCMSNext.jsTypeScriptWEB制作
microCMSがTypeScript型の自動生成に対応。Next.js制作で見直したい型管理とCI

ヘッドレスCMSを使ったWeb制作では、CMS側のAPIスキーマとフロントエンド側の型定義を揃えておく必要があります。例えばmicroCMSで「お知らせ」に項目を追加しても、Next.js側のTypeScriptの型を更新し忘れると、実装と実際のデータ構造にずれが生じます。

2026年10月16日、microCMSはAPIスキーマからTypeScriptの型を自動生成するCLI「microcms-typegen」を公開しました。同時に、JavaScript SDK(microcms-js-sdk)のバージョン3.6.0では、生成した型を使ってエンドポイントや取得条件に応じた型推論ができるようになりました。

これは単に型を書く手間を減らすだけでなく、CMSの変更を開発工程でどう検知するかを考えるきっかけになるアップデートです。この記事では、何が変わったのかを整理したうえで、Next.jsとmicroCMSで企業サイトを制作・保守するときに見直したい型管理とCIのポイントを考えます。

これまでの型管理で起きやすかったこと

Next.jsとmicroCMSを組み合わせる場合、CMSで定義したフィールドに対応する型をフロントエンド側で手書きする方法が一般的でした。

例えば、お知らせに「タイトル」「本文」「公開日」がある場合、開発側でもそれらを型定義します。しかし運用開始後に「カテゴリ」や「サムネイル」が追加されると、CMSの設定変更と型定義の修正を別々に行う必要があります。

担当者が違ったり、変更が小さかったりすると、この同期が抜けることがあります。型チェックが通っていても、そもそも型定義が実際のAPIと一致していなければ安心できません。

microcms-typegenで何が変わったのか

APIスキーマをもとに型を生成できる

microcms-typegenは、マネジメントAPIから取得したAPIスキーマをもとにTypeScriptの型を生成します。CMSの設定を見ながらフィールド名を書き写す必要がなくなり、スキーマ変更時もコマンドの再実行で型を更新できます。

基本的な導入は、ツールのインストール、初期設定、API情報取得権限を持つAPIキーの設定、型生成の順番です。

npm install -D microcms-typegen
npx microcms-typegen init
npx microcms-typegen generate

ただし、公式READMEに記載された動作環境はNode.js 22.18以降です。設定ファイルや生成した型を型チェックする場合はTypeScript 6.0以降が必要で、SDK側の新しい型推論もTypeScript 6.0以降を前提としています。既存プロジェクトへ導入する前に、ランタイムとTypeScriptのバージョンを確認しておきたいところです。

取得するフィールドに応じて戻り値を推論

microcms-js-sdk 3.6.0では、生成されたサービス全体の型をcreateClientに指定できます。

例えば記事一覧の取得時にfieldsで「タイトルだけ」を指定すれば、その条件に応じた戻り値の型が推論されます。depthによる参照先の展開も考慮され、存在しないエンドポイントやフィールドを指定した場合は、静的に分かる範囲で型エラーとして検出できます。

これまでのように取得メソッドごとに型を手で指定するより、APIスキーマと実装の関係が明確になります。

Webサイト制作では「型を生成して終わり」にしない

今回注目したいのは、microcms-typegen checkコマンドです。生成済みの型と現在のAPIスキーマを比較し、差分やファイルの欠落がある場合に終了コード1を返します。生成ファイルを書き換えないため、CIに組み込めます。

例えば、次のような運用が考えられます。

  1. CMSのスキーマを変更したら、開発者が型を再生成する
  2. 型の差分をPRに含め、画面やAPI取得処理への影響を確認する
  3. CIで型チェックとmicrocms-typegen checkを実行する
  4. 型の更新漏れがあればマージ前に気づけるようにする

導入にあたっては、CIからmicroCMSのマネジメントAPIへアクセスするためのAPIキーの管理、チェックを実行するタイミング、開発環境と本番環境でスキーマが異なる場合の扱いなども、あわせて設計する必要があります。

AI駆動開発との相性も考えたい

Claude CodeなどのAIに実装を任せる場合、AIがCMSに存在しないフィールド名を推測して使ってしまうことがあります。

生成した型を参照できる状態にしておけば、存在しないフィールドを使った実装は型チェックで発見しやすくなります。AIに「正しいフィールド名を覚えさせる」だけでなく、間違いを機械的に検出する仕組みを用意するという考え方です。

ただし、型が正しいからといって画面の仕様や使いやすさまで保証されるわけではありません。AIへの指示、型チェック、テスト、人間による動作確認は、それぞれ役割が異なります。人が確認すべきことと機械で検出できることを分ける、これはブラキオが重視するFrontend Opsの考え方にもつながります。

導入前に確認したい制約

今回の型推論にも対象外があります。公式SDKのREADMEでは、filtersやordersの文字列内で指定するフィールド名や値は型検査の対象外とされています。また、TypeScriptの型はコンパイル時の確認であり、実際のAPIレスポンスを実行時に検証するものではありません。

さらに、既存データには未入力の値が残っている可能性があります。必須フィールドだから必ず値がある、と安易に決めつけないことも大切です。型生成ツールには読み取り型の空値を絞る設定がありますが、実データの状態を保証できる場合に限って使うのがよいでしょう。

設定ファイルはES modules形式のTypeScriptが前提で、package.jsonで"type": "commonjs"を明示しているプロジェクトには対応していない点にも注意が必要です。

まとめ:CMSと実装のずれを「気づける状態」にする

microCMSの型自動生成は、TypeScriptを書く量を減らすだけの機能ではありません。CMSのスキーマ変更を、フロントエンドの型チェックやCIにつなげられる点に価値があります。

Webサイトは公開後も、お知らせの項目追加やページ構成の変更が発生します。そのたびに人間が目視で型を確認するより、変更のずれを仕組みで検出し、仕様と画面の確認に時間を使う方が、継続的な保守には向いていると考えています。

導入を検討する際の確認ポイントは次のとおりです。

  • CMSのAPIスキーマを型の情報源にして、手書き型との二重管理を減らす
  • generateとcheckを使い分け、型の変更をPRとCIで検証する
  • Node.js 22.18以降、TypeScript 6.0以降という前提を確認する
  • filters・ordersは型検査の対象外、実行時データの空値にも注意する
  • マネジメントAPIのキーは必要な権限に絞り、CIで安全に管理する

まずは既存プロジェクトのNode.js・TypeScriptのバージョンとCMSの更新フローを確認し、小さなAPIから導入を検討してみるのがよさそうです。

ブラキオでは、Next.jsとmicroCMSを使ったサイトの制作だけでなく、公開後の保守・運用もお手伝いしています。「既存サイトに型生成やCIを導入したい」「CMSの更新フローを整理したい」といったご相談も、お気軽にお問い合わせください。

参考情報

※記事内の仕様・バージョンは2026年10月24日時点の公式情報に基づきます。最新の内容は各公式ドキュメントをご確認ください。

この記事をシェアする

最近の投稿

ホームページ制作なら
ブラキオにお任せください

フロントエンドエンジニアとして10年のキャリアを活かし
高セキュリティ、高パフォーマンスのホームページを制作いたします。
新しくホームページが欲しい、すでにあるホームページをリニューアルしたい!
ホームページのことでお悩みならブラキオにお任せください。