microsoft / microsoft/TypeScript

JSDoc param tag's default value parsing should support non-TS expressions

オープン
#44,932 コメント 5 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

Needs Proposal Suggestion
主要言語
Go
スター
111k
フォーク
14.4k
平均マージ
1日 19時間
マージ済み PR(30日)
117

説明

Suggestion

probably related to #44930 but a different use case. default values on @param: https://jsdoc.app/tags-param.html

🔍 Search Terms

jsdoc param default value

⭐ Suggestion

Please allow for default value params parsing

/**
 * @param {string} [somebody=John Doe] - Somebody's name.
 */
export function sayHello(somebody) {
}

currently parses to tags:

[
  {
    name: "param",
    text: [
      {
        text: "somebody",
        kind: "parameterName"
      },
      {
        text: " ",
        kind: "space"
      },
      {
        text: "Doe] - Somebody's name.",
        kind: "text"
      }
    ]
  }
]

possibly add a new node

{
    text: "John Doe",
    kind: "defaultValue"
  },

and clean up the description from

{
  text: "Doe] - Somebody's name.",
  kind: "text"
}

to

{
  text: "- Somebody's name.",
  kind: "text"
}

p.s. it mighy also be worth in general to clean up parameter descriptions text from the leading hyphen

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

JSDoc @param の解析エントリーポイントから始め、[somebody=John Doe] について報告された AST を、要求された defaultValue ノードと比較します。非 TS のデフォルト式がデフォルト値として保持され、description に閉じ角括弧やパラメーター名のテキストが含まれなくなり、coverage で例が検証されれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
javascript, typescript
領域
compilers
issue の種類
機能追加
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。