microsoft / microsoft/TypeScript
JS output contains imports only used in types when `emitDecoratorMetadata: true`
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Go
- Sterne
- 111k
- Forks
- 14.3k
- Ø Merge
- 2 T. 4 Std.
- Gemergte PRs (30 T.)
- 132
Beschreibung
Bug Report
🔎 Search Terms
- emitDecoratorMetadata require
- emitDecoratorMetadata import
🕗 Version & Regression Information
- This is the behavior in every version I tried, and I reviewed the FAQ for entries about 3.3.3, 4.1.3
⏯ Playground Link
Playground link with relevant code
💻 Code
import * as vscode from 'vscode';
function LogMethod(
target: any,
propertyKey: string | symbol,
descriptor: PropertyDescriptor
) {
console.log(target);
console.log(propertyKey);
console.log(descriptor);
}
class Demo {
@LogMethod
public foo(bar: vscode.Memento) {
// do nothing
}
}
const demo = new Demo();
🙁 Actual behavior
The output contains const vscode = __importStar(require("vscode")); when emitDecoratorMetadata: true but not when emitDecoratorMetadata: false
🙂 Expected behavior
As the type of bar as nothing to do with the compiled JS, the import of vscode should not exist regardless of the value of emitDecoratorMetadata
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit dem verknüpften TypeScript Playground-Beispiel und vergleiche das generierte JavaScript mit aktiviertem und deaktiviertem emitDecoratorMetadata. Der Bericht nennt keine Repository-Dateien oder Tests, daher muss der relevante Implementierungspfad durch Lesen der Implementierung ermittelt werden. Als erledigt gilt die Aufgabe, wenn der type-only vscode-Import in beiden Ausgaben fehlt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- 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