JSRとdeno docで認識されるJSDocタグについて
#jsr
#deno_doc
#Deno
#JSDoc
#TypeScript
はじめに
JSR
や
deno doc
コマンド※には、標準の
JSDoc
では定義されていない独自のタグが存在します
※
JSR
と
deno doc
コマンドにおけるドキュメントの生成では、内部的には同じ仕組みが利用されているようです (
jsr-io/jsr/api/src/docs.rs
)
deno doc
が認識する
JSDoc
タグについては
denoland/deno_doc/src/js_doc.rs
で定義されているようなので、こちらを参考に見ていきます
特殊な
JSDoc
タグについて
@experimental
対象のAPIが実験的であることを示す際に使います
例)
@std/cli/spinner.ts#L26
TSDoc
にこのタグがあるようで、それを採用している模様 (
)
@category
これは
JSDoc
にも
TSDoc
にもない、完全に独自なタグの模様
あるAPIがどのようなカテゴリに属するかを指定できます
Deno
本体の型定義ファイルにおいて使われています (例:
denoland/deno/ext/url/lib.deno_url.d.ts#L8
)
@internal
対象APIが内部APIであることを示すために使います
例)
@std/async/tee.ts#L7
TSDoc
から流用されているようです (
)
@tags
Deno
本体においてあるAPIがどのパーミッションを要求するかを指定するための用途などで使われている模様 (例:
denoland/deno/ext/net/lib.deno_net.d.ts#L194
)
これは
JSDoc
や
TSDoc
では定義されていない独自のタグである模様