microsoft / microsoft/TypeScript
Composite (-b) projects don't report duplicate compilations
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
TypeScript Version: 4.0.0-dev.20200615
Search Terms: type narrowing composite build project references duplicate compilations
Code
Expected behavior:
As determined in #38406, the above projects are misconfigured so that Wat.tsx is included twice in compilation (https://github.com/microsoft/TypeScript/issues/38406#issuecomment-625546420). There should be some indication that the projects are misconfigured.
Actual behavior:
Mysterious, difficult-to-debug inconsistencies in type narrowing during compile checking coupled with unusually slow builds.
Repository Link:
https://github.com/JoshuaKGoldberg/ts-repro-project-narrowing/tree/5b71a26b336e6b5267d919832e076923dbb38296
Related Issues: #38406
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 der verknüpften Reproduktion und deren tsconfig.base.json, tsconfig.json, src/a/tsconfig.json und src/a/Wat.tsx und vergleiche deren Verhalten bei der doppelten Kompilierung mit der Diskussion in #38406. Verfolge die Einstiegspunkte der Kompilierung von composite-Projektreferenzen und der Diagnostik, die wiederholte Quelleneinbindung behandeln. Als erledigt gilt die Aufgabe, wenn die Fehlkonfiguration eine klare Meldung erzeugt, anstatt eine stille doppelte Kompilierung und inkonsistentes Narrowing zu verursachen.
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
- 45/100