教訓
マイナーなOSSで躓いたらIssueを読みましょう
参考にしたIssue: https://github.com/compodoc/compodoc/issues/745
経緯
Angularで書いたソースのドキュメントを残すためCompodocを使っていて、なぜかStatementが100%にならないコンポーネントがある。
今回はダイアログで詰まったのでそれをベースに。
/**
* Creates an instance of DialogComponent.
* @param {any} dialogData
* @memberof DialogComponent
*/
constructor(@Inject(MAT_DIALOG_DATA) public dialogData: any) {}
どうやらコンストラクタで @Inject(MAT_DIALOG_DATA) public ~
と書いている部分で引っかかっているよう。
解決策
https://github.com/compodoc/compodoc/issues/745#issuecomment-467857947
これで100%になるよ!(意訳)とのことなので試してみたらマジでした。
どうやらコンストラクタ内の変数にDecoratorsが含まれる場合、対象の変数にDescriptionを書いてあげる必要があるらしい。
こんな感じで書く。分かりづらいけど、@param
の行の最後に書いてるDescription of dialogData
というのがそれ。
ようは変数の説明文をきちんと書かないといけない、らしい。
/**
* Creates an instance of DialogComponent.
* @param {any} dialogData Description of dialogData
* @memberof DialogComponent
*/
constructor(@Inject(MAT_DIALOG_DATA) public dialogData: any) {}
これでCompodocさんに満足していただけた。
感想
Compodoc、ユーザーが少ないからかドキュメントが全く出てこない。
みんな使ってほしい。そして記事を書いてほしい。