microsoft / microsoft/TypeScript

`tsc` loses the class name in sourcemap

Offen
#55,912 0 Kommentare 4 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Domain: Source Maps Help Wanted Possible Improvement
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.4k
Ø Merge
1 T. 19 Std.
Gemergte PRs (30 T.)
117

Beschreibung

🔎 Search Terms
  • stack trace
  • lose class name
🕗 Version & Regression Information

Now I use TypeScript v5.2.2. This is not a critical bug, so I did not pay attention when it appeared.

💻 Code
// tmp.ts
class MyClass {
  static staticMethod() {
    throw new Error('Error in static method');
  }
}

MyClass.staticMethod();

Enable sourceMap in tsconfig, compile this code with tsc and then run compiled file with --enable-source-maps option:

tsc tmp.ts
node --enable-source-maps dist/tmp.js
🙁 Actual behavior
Error: Error in static method
    at Function.staticMethod

As you can see, the class name is missing from the stack trace. This bug appears only when the error occurs in static methods.

🙂 Expected behavior
Error: Error in static method
    at MyClass.staticMethod

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

Reproduziere das Problem mit tmp.ts, aktiviertem sourceMap in tsconfig, tsc und Nodes Option --enable-source-maps. Vergleiche den Stacktrace aus dist/tmp.js mit der erwarteten Ausgabe von MyClass.staticMethod und verfolge anschließend die source-map-Verarbeitung des Compilers für statische Methoden. Erledigt ist die Aufgabe, wenn der Klassenname im gemeldeten Stacktrace erhalten bleibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
node.js, typescript
Bereich
compilers
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

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