microsoft / microsoft/TypeScript
Duplicated files do not check unused @ts-expect-error properly
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Go
- Sterne
- 111k
- Forks
- 14.3k
- Ø Merge
- 1 T. 19 Std.
- Gemergte PRs (30 T.)
- 117
Beschreibung
Bug Report
🔎 Search Terms
redirectInfo, ts-expect-error
🕗 Version & Regression Information
Tested on 4.3.2, 4.9.5, and next (5.0.0-dev.20230204).
⏯ Playground Link
Reproduction: https://github.com/lamnhh/ts-expect-error-issue
💻 Code
There're 3 packages:
- package-a:
// @ts-expect-error global
export const SOMETHING: number = global.testNumber;
Anything that has an @ts-expect-error directive will work.
- a
package-bthat importspackage-a - anothe
package-cthat imports bothpackage-aandpackage-b.
Install everything, then npm link package-b to use in package-c.
🙁 Actual behavior
Unused '@ts-expect-error' directive.
> typecheck
> tsc --noEmit
../package-b/node_modules/@lamnhh/package-a/index.ts:1:1 - error TS2578: Unused '@ts-expect-error' directive.
1 // @ts-expect-error global
~~~~~~~~~~~~~~~~~~~~~~~~~~
Found 1 error in ../package-b/node_modules/@lamnhh/package-a/index.ts:1
🙂 Expected behavior
tsc in package-c passes with no error.
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 Reproduktions-Repository unter https://github.com/lamnhh/ts-expect-error-issue. Installiere die drei Pakete, verlinke package-b mit package-c und führe tsc --noEmit in package-c aus, um die Diagnose zum unbenutzten @ts-expect-error aus package-a zu reproduzieren. Das Ziel ist erreicht, wenn package-c die Typprüfung ohne diese Diagnose besteht, während die Direktive in package-a weiterhin gültig bleibt.
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
- 25/100