microsoft / microsoft/TypeScript

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

Offen
#41,675 4 Kommentare 10 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Awaiting More Feedback Suggestion
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.4k
Ø Merge
1 T. 19 Std.
Gemergte PRs (30 T.)
117

Beschreibung

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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit dem TypeScript-checkJs-Pfad für das JavaScript-Beispiel und untersuche, wie die JSDoc-Tags @interface, @implements und @function derzeit interpretiert werden. Reproduziere das Beispiel, definiere anschließend die für die Schnittstellenimplementierung erwarteten Diagnosen und überprüfe sie mit den relevanten Compiler-Tests; als erledigt gilt es, wenn checkJs den fehlenden Schnittstellenvertrag meldet.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript, typescript
Bereich
compilers, tooling
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
32/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.