背景
PR #374 で openapi.json(API 契約)変更時に CLI 消費者契約型チェックを CI 発火するガードを導入した。ただし 4 PR 一括レビューで指摘のとおり、gate は path + method の存在のみ照合する。手書きの apps/cli/src/api/paths.ts の形状乖離(request/response のフィールド改名・型変更等)は検知不能という既知の穴が残る。
対処(生成型へ直結)
CLI client を openapi-typescript の生成型に直結し、手書き paths.ts を撤去する:
createClient<ApiPaths> の ApiPaths を、手書きではなく openapi.json から生成した型に置換。
- これで path/method の存在だけでなく request/response の形状も契約に自動追随し、shape drift を恒久的に解決する(存在照合+生成型の二重管理から、生成型直結へ一本化)。
参照
背景
PR #374 で
openapi.json(API 契約)変更時に CLI 消費者契約型チェックを CI 発火するガードを導入した。ただし 4 PR 一括レビューで指摘のとおり、gate は path + method の存在のみ照合する。手書きのapps/cli/src/api/paths.tsの形状乖離(request/response のフィールド改名・型変更等)は検知不能という既知の穴が残る。対処(生成型へ直結)
CLI client を openapi-typescript の生成型に直結し、手書き
paths.tsを撤去する:createClient<ApiPaths>のApiPathsを、手書きではなくopenapi.jsonから生成した型に置換。参照