microsoft / microsoft/TypeScript

Always verify import path

Aperta
#40,450 2 commenti 13 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Awaiting More Feedback Suggestion
Lingua principale
Go
Stelle
111k
Fork
14.3k
Merge medio
1g 19h
PR unite (30g)
117

Descrizione

In many projects is necessary work with files which isn't a TS/JS file. Some common ones are png, jpg, svg, but when importing this files we get Cannot find module or its corresponding type declarations. error.

Searching how to fix that, we come across many discussions suggesting using the global module declaration, such as:

declare module '*.svg' {
  const content: string
  export default content
}

Links

This approach fix the lint error, but disable TS intellisense.

Example

Folder structure

app
 |
 ├ img
 |  └─ top-view.svg
 |
 └─index.ts

index.ts
68747470733a2f2f692e737461636b2e696d6775722e636f6d2f6d36494a592e706e67

No errors, but the correct path is ../img/top-view.svg

Here is the related issue #40333


Suggestion

Compiler could still returning missing type declarations for not TS/JS files. But always check if import path results in a file and return an error if not (even if file is not an TS/JS).

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

Inizia leggendo l’issue correlata #40333 e gli esempi in questo report, quindi analizza il comportamento della risoluzione dei percorsi di importazione di TypeScript per i file che non sono file TS/JS. Il lavoro è completato quando il comportamento di diagnostica proposto per i file mancanti è definito e implementato senza perdere il supporto per i moduli non di codice dichiarati.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
typescript
Ambito
compilers
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.