0Pricing
TypeScript Academy · Lezione

skipLibCheck e dichiarazioni isolate

Utilizzi i flag del compilatore per velocizzare i progetti di grandi dimensioni.

skipLibCheck e dichiarazioni isolate è una lezione TypeScript Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento TypeScript Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso TypeScript Academy include 4 lezioni in totale.

Che cos'è skipLibCheck?

skipLibCheck: true indica a TypeScript di non eseguire il controllo dei tipi su tutti i file di dichiarazione .d.ts. È un compromesso tra sicurezza e velocità.

// tsconfig.json
{
  "compilerOptions": {
    "skipLibCheck": true
  }
}

Quando utilizzare skipLibCheck

Lo utilizzi quando i file .d.ts di terze parti contengono errori che non può correggere oppure nei progetti di grandi dimensioni in cui il controllo dei tipi delle librerie rappresenta la parte principale del tempo di compilazione.

// Common scenario: two libraries ship conflicting .d.ts
// skipLibCheck: true silences those errors so you can focus on your code

Rischi di skipLibCheck

Potrebbe non rilevare errori reali nei file di dichiarazione che consentirebbero di individuare bug ai confini del sistema. Lo utilizzi consapevolmente e lo riattivi periodicamente per verificare eventuali regressioni.

// Risk: incorrect .d.ts in a library goes undetected
// Mitigation: enable skipLibCheck only for known-safe packages

skipDefaultLibCheck

skipDefaultLibCheck: true è un'opzione più mirata che salta solo le dichiarazioni delle librerie integrate di TypeScript, ovvero lib.d.ts, e non quelle di terze parti.

{
  "compilerOptions": {
    "skipDefaultLibCheck": true
    // Third-party .d.ts files still checked
  }
}

Che cosa sono le dichiarazioni isolate?

isolatedDeclarations: true (TS 5.5+) richiede che ogni simbolo esportato abbia un'annotazione di tipo esplicita, consentendo a TypeScript di generare le dichiarazioni senza eseguire l'inferenza completa dei tipi.

// tsconfig.json
{
  "compilerOptions": {
    "isolatedDeclarations": true
  }
}

Perché isolatedDeclarations velocizza l'elaborazione

Con isolatedDeclarations, le dichiarazioni di ogni file possono essere generate in modo indipendente, senza analizzare il resto del programma. Gli strumenti di build possono eseguire questa operazione in parallelo per ogni file.

// Without isolatedDeclarations:
// File A's .d.ts requires type-checking File B's return type first.
// With isolatedDeclarations:
// Each file's .d.ts generated from its explicit annotations alone.

Errore: annotazione del tipo restituito mancante

Quando isolatedDeclarations è attivo, le funzioni esportate prive di annotazioni del tipo restituito causano un errore di compilazione.

// Error with isolatedDeclarations: true
export function getUser(id: string) { return fetchUser(id); }

// Fix: add explicit return type
export function getUser(id: string): Promise<User> { return fetchUser(id); }

isolatedDeclarations e i bundler DTS

Strumenti come dts-buddy e oxc sfruttano isolatedDeclarations per generare bundle di dichiarazioni molto più velocemente di tsc.

# oxc with isolatedDeclarations for fast .d.ts generation
npx oxc-transform ./src --declarations

Combinare entrambe le opzioni

Per ottenere le massime prestazioni nei monorepo di grandi dimensioni: skipLibCheck: true per ignorare gli errori nelle dichiarazioni di terze parti e isolatedDeclarations: true per generare le dichiarazioni in parallelo.

{
  "compilerOptions": {
    "skipLibCheck": true,
    "isolatedDeclarations": true
  }
}

Percorso di migrazione

Abilitare isolatedDeclarations in una codebase esistente richiede di aggiungere annotazioni del tipo restituito a ogni funzione esportata. Utilizzi ts-migrate o l'auto-fix di ESLint per farlo su larga scala.

# ESLint rule to auto-add return types:
# @typescript-eslint/explicit-function-return-type

Riepilogo: skipLibCheck e dichiarazioni isolate

skipLibCheck salta il controllo dei tipi nei file .d.ts per aumentare la velocità. isolatedDeclarations richiede annotazioni esplicite per consentire la generazione delle dichiarazioni in parallelo e per file: un elemento fondamentale per strumenti più veloci.

Verifica rapida

Che cosa richiede isolatedDeclarations: true?

Che cosa ha imparato

skipLibCheck migliora la velocità ignorando gli errori nelle dichiarazioni di terze parti. isolatedDeclarations richiede tipi restituiti espliciti per le esportazioni, consentendo la generazione delle dichiarazioni in parallelo per ogni file e pipeline di strumenti più veloci.

Domande Frequenti

La lezione «skipLibCheck e dichiarazioni isolate» è gratuita?

Sì — il testo completo di «skipLibCheck e dichiarazioni isolate» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso TypeScript Academy, passa a CoddyKit PRO. Il corso TypeScript Academy include 4 lezioni in totale.

Cosa imparerò in «skipLibCheck e dichiarazioni isolate»?

Utilizzi i flag del compilatore per velocizzare i progetti di grandi dimensioni. Eserciti TypeScript Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare TypeScript Academy?

Non è richiesta alcuna esperienza precedente. TypeScript Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «skipLibCheck e dichiarazioni isolate»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione TypeScript Academy?

Sì. Ogni lezione TypeScript Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Profilazione della compilazione lenta di TypeScript
  2. Come evitare operazioni costose sui tipi
  3. skipLibCheck e dichiarazioni isolate
  4. Controllo dei tipi in CI: strategie e strumenti
← Torna a TypeScript Academy