microsoft / microsoft/TypeScript
`export as namespace` still allows access via properties in module files
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: 3.8.0-dev.20200119
Search Terms: export as namespace
Code
someModule.d.ts:
export function foo (bar: string): void;
export as namespace someModule;
index.ts:
import { foo } from './someModule';
someModule.foo;
window.someModule.foo;
globalThis.someModule.foo;
Expected behavior:
All of the attempts to access someModule as a global namespace in index.ts should result in compile-time errors, as index.ts is not a script file.
Actual behavior:
window.someModule.foo and globalThis.someModule.foo do NOT result in compile-time errors.
Playground Link: N/A (requires multiple files)
Related Issues: None found
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
Reproduziere das Problem mit den beiden gezeigten Dateien, someModule.d.ts und index.ts, unter Verwendung der gemeldeten TypeScript-Version oder eines aktuellen Builds. Vergleiche die Diagnosen für den direkten Zugriff sowie den Zugriff über window und globalThis und verfolge anschließend die Verarbeitung von export as namespace durch den Compiler. Als abgeschlossen gilt die Aufgabe, wenn alle drei Zugriffe auf den globalen Namespace in der Moduldatei Compile-Time-Fehler erzeugen.
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
- 42/100