microsoft / microsoft/TypeScript
`export as namespace` still allows access via properties in module files
Nessuno ha ancora preso questa issue.
- Lingua principale
- Go
- Stelle
- 111k
- Fork
- 14.3k
- Merge medio
- 1g 19h
- PR unite (30g)
- 117
Descrizione
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
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Riproduci il problema con i due file mostrati, someModule.d.ts e index.ts, usando la versione di TypeScript indicata o una build corrente. Confronta le diagnostiche per l'accesso diretto e gli accessi tramite window e globalThis, quindi traccia la gestione di export as namespace da parte del compilatore. Il lavoro è completato quando tutti e tre gli accessi al namespace globale nel file del modulo producono errori in fase di compilazione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- typescript
- Ambito
- compilers
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 42/100