microsoft / microsoft/TypeScript

JSDoc : support @interface and @implements (and more)

オープン
#41,675 コメント 4 件 リアクション 10 件 担当者 0 名 GitHub で見る

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

Awaiting More Feedback Suggestion
主要言語
Go
スター
111k
フォーク
14.3k
平均マージ
2日 4時間
マージ済み PR(30日)
132

説明

I would like to re-open an issue: https://github.com/microsoft/TypeScript/issues/16142

As it is locked I am to open this new issue.

I personally do not like TypeScript as a language, I do however, like TypeScript as a tool for my JavaScript projects, hence why I would like more support for JSDoc.

Code

In a JavaScript file, with checkJs option :

/**
 * @interface Something
 */

/**
 * @function
 * @name Something#hello
 * @param {string} name
 */

/**
 * @implements {Something}
 */
const something = {};

Actual behavior:

No error.

Expected behavior:

An error should be raised. It's important in checkJs mode as JavaScript doesn't have native interfaces.

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

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

はじめの一歩

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

調査の方向性

JavaScript の例について TypeScript の checkJs パスから始め、JSDoc タグ @interface、@implements、@function が現在どのように解釈されているかを調べます。例を再現し、次にインターフェイス実装で期待される診断を定義して、関連するコンパイラーテストで検証します。checkJs が不足しているインターフェイス契約を報告すれば完了です。

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

評価

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

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

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