Di recente ho iniziato a utilizzare TypeScript con Expo. Ho fatto tutte le integrazioni di linter / formatter in typescript-eslint
modo da poter rilevare la maggior parte degli errori durante la codifica. Per verificare se il codice viene compilato, eseguo npx tsc
una volta ogni tanto e correggo di conseguenza.
Una cosa che non ho ancora compreso appieno è il motivo per cui la mia app viene compilata correttamente anche in presenza di numerosi errori di compilazione. Mi aspetto (e preferisco) vedere un errore di schermata rossa per ogni errore di compilazione piuttosto che la compilazione dell'app con successo e me lo scoprirò in seguito. Per esempio,
function square<T>(x: T): T {
console.log(x.length); // error TS2339: Property 'length' does not exist on type 'T'.
return x * x;
}
è un tipico errore di TypeScript che (credo?) può essere facilmente verificato in fase di compilazione. Voglio che si traduca in un grande errore dello schermo rosso e la build fallisca.
Sono abbastanza nuovo in TypeScript, quindi è possibile che mi manchi qualcosa di molto importante. Cosa sta causando esattamente questa clemenza ed esiste un modo per applicare controlli più rigorosi?
npx tsc
ma voglio ottenere una schermata rossa per ogni errore TypeScript, proprio come faccio per i normali errori JS come const n = 23; n.reverse();
quello che risulta in una schermata rossa con il messaggio "n.reverse non è una funzione. (In 'n.reverse ()', 'n.reverse' non è definito) "