Skip to content

MicroCMS 型生成#27

Merged
wato787 merged 2 commits intomainfrom
cursor/microcms-0e18
Feb 23, 2026
Merged

MicroCMS 型生成#27
wato787 merged 2 commits intomainfrom
cursor/microcms-0e18

Conversation

@wato787
Copy link
Owner

@wato787 wato787 commented Feb 23, 2026

概要

microCMSの公式仕様と照らし合わせ、型生成の誤りを修正しました。特にセレクトフィールドと複数コンテンツ参照の型定義を改善します。

背景 / 目的

microCMSのContent APIレスポンスとManagement APIのフィールド定義に沿った、より正確な型を生成するため、開発時の型安全性を向上させることが目的です。

変更内容

  • セレクトフィールドの型を string[] または ("選択肢1" | "選択肢2")[] に修正 (単一選択も配列に)。
  • 複数コンテンツ参照 (relationList) の型を 参照先APIエンドポイント名Content[] に修正。
  • Management APIレスポンスからセレクトフィールドの選択肢 (selectItems) をパースする機能を追加。

動作確認

  • bun run build
  • 必要なテストを実行 (既存テストの修正、新規テストの追加)
    • 全24テストがパスしたことを確認。
    • ビルドが成功したことを確認。

影響範囲

  • ユーザー影響: microCMSの型定義がより正確になるため、型安全性が向上します。既存のコードで誤った型(例: 単一選択セレクトフィールドがstringとして扱われていた場合)に依存している箇所は型エラーになる可能性があります。
  • 開発者影響: 型生成ロジックの改善。
  • 後方互換性: 既存の生成された型定義を使用している場合、一部の型が変更されるため、破壊的変更となる可能性があります。

補足

  • 特にセレクトフィールドの型変更(単一選択でもstring[]になる点)と、relationListが参照先の型を持つようになる点をご確認ください。
  • selectItemsのパースにより、セレクトフィールドの選択肢が型に反映されるようになりました。

Open in Web Open in Cursor 

- セレクトフィールドの型を常にstring[]に修正(microCMSは単一選択でも常に配列を返す)
- selectItemsがある場合は文字列リテラルユニオン型の配列を生成
- relationListフィールドで参照先エンドポイントのContent型を使用するよう修正
- Management APIのselectItemsパースを追加(文字列配列/オブジェクト配列の両形式対応)
- 対応するテストケースを追加

Co-authored-by: Ryusei Sugita <wato787@users.noreply.github.com>
@cursor
Copy link

cursor bot commented Feb 23, 2026

Cursor Agent can help with this pull request. Just @cursor in comments and I'll start working on changes in this branch.
Learn more about Cursor Agents

microCMS Content API の公式仕様では、コンテンツ参照(relation)フィールドは
空値の場合に null を返す。この挙動を型定義に正しく反映させる。

- relation フィールドの型を XxxContent | null に変更
- 全フィールドタイプの型マッピング網羅テストを追加
- 共通型の microcms-js-sdk 互換性テストを追加

Co-authored-by: Ryusei Sugita <wato787@users.noreply.github.com>
@wato787 wato787 marked this pull request as ready for review February 23, 2026 06:28
@wato787 wato787 merged commit c5542e1 into main Feb 23, 2026
2 checks passed
@wato787 wato787 deleted the cursor/microcms-0e18 branch February 23, 2026 06:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants