microsoft / microsoft/TypeScript

Build mode handling of emitDeclarationOnly has not been generalized to cover noEmit

Offen
#45,476 1 Kommentar 2 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Domain: Performance Domain: tsc -b
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.4k
Ø Merge
1 T. 19 Std.
Gemergte PRs (30 T.)
117

Beschreibung

Discovered while investigating #45082 - when stack.ts is updated, the rebuild reason (as of fe7962af3d20b0cefb9cf4345923d1adc82d48c7) is Status.OutputMissing because the .js, .js.map, .d.ts, and .d.ts.map files don't exist. The immediate cause is that getAllProjectOutputs is returning too many values, but the fix probably belongs deeper, e.g. in getOutputJSFileName and getEmitDeclarations (which might have unforeseen consequences).

I am not presently aware of a resulting correctness problem.

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

Beginnen Sie in src/compiler/emitter.ts bei getAllProjectOutputs und getOutputJSFileName und sehen Sie sich anschließend getEmitDeclarations in src/compiler/utilities.ts an. Verfolgen Sie, wie noEmit und emitDeclarationOnly die erwarteten Ausgaben beeinflussen, und überprüfen Sie, dass die Aktualisierung von stack.ts nicht mehr das Fehlen von Ausgaben meldet, wenn die entsprechenden Dateien absichtlich nicht emittiert werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

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

Neue Issues direkt in Ihr Postfach

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