## 提案・要望 <!-- 提案や要望の内容を記載してください。 --> - SSIA ## 背景 <!-- 困っていることや不便なことがあれば記載してください。 --> - #479 によって `zenn-validator` を外部で利用しやすくなりますが、`zenn-validator` のバリデーションをパスしたオブジェクトを表現する型は外部に公開されていないため自前で型を定義する必要があります。 - `zenn-cli` が内部で使用している型定義を公開することでその必要を無くしたいです。 ## 関連 <!-- 関連するIssueがあれば記載してください。 --> - 型定義を公開する場合は、`zenn-cli` パッケージの下に公開するのではなく `zenn-validator` パッケージに型定義を移動して公開した方が良いのではないかと考えています。 - `zenn-validator` パッケージのバリデーション関数をユーザ定義 type guard として表現すれば TypeScript の型システムとバリデーションを統合できます。ただしこの場合は `zenn-validator` パッケージの API の破壊的変更が必要です。 - 受け入れてくださる場合は PR を作成します。