microsoft / microsoft/TypeScript

`export as namespace` still allows access via properties in module files

Aperta
#36,313 0 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Bug Domain: ES Modules
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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. 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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.