Generatore TSConfig

Genera tsconfig.json per qualsiasi progetto TypeScript. Preset per Node 18/20/22, Next.js, React, librerie โ€” con ogni opzione del compilatore spiegata.

Comma-separated glob patterns

Comma-separated glob patterns

Informazioni su questo strumento

Il file tsconfig.json controlla come il compilatore TypeScript elabora il tuo codice โ€” quale versione JavaScript targetizzare, quale sistema di moduli usare, quanto rigoroso deve essere il type checking e dove trovare i tuoi file sorgente. Configurare correttamente tsconfig e importante. Un target mal configurato significa che distribuisci polyfill di cui non hai bisogno, o usi sintassi che il tuo runtime non supporta. Impostazioni moduli sbagliate rompono gli import. Flag strict mancanti lasciano passare bug. Questo generatore ti offre preset collaudati per le configurazioni piu comuni โ€” Node.js (18, 20, 22), Next.js, React con Vite e librerie npm โ€” poi ti permette di perfezionare ogni opzione. La configurazione generata e pronta per essere incollata nel tuo progetto.

Come usare

1. Scegli un preset che corrisponde al tuo progetto (Node 20, Next.js, React, ecc.) 2. Modifica le singole opzioni del compilatore se necessario โ€” target, module, strictness, paths 3. Il tsconfig.json si aggiorna in tempo reale mentre modifichi le impostazioni 4. Clicca "Copia" per copiare la configurazione negli appunti, o "Scarica" per salvare il file 5. Incollalo nella root del tuo progetto come tsconfig.json

Domande frequenti

Quale tsconfig devo usare per Node 18?
Per Node 18, usa target: ES2023, module: NodeNext, e moduleResolution: NodeNext. Questo corrisponde al supporto JavaScript nativo di Node 18 e al sistema di moduli ESM. Il preset Node 18 in questo generatore imposta automaticamente tutte queste opzioni.
Qual e la differenza tra module NodeNext e ESNext?
NodeNext segue le regole di risoluzione moduli di Node.js โ€” rispetta gli 'exports' del package.json e richiede estensioni file negli import. ESNext assume che un bundler (come Vite o webpack) gestira la risoluzione moduli. Usa NodeNext per app Node.js, ESNext per app frontend bundled.
Cosa fa moduleResolution Bundler?
moduleResolution: Bundler dice a TypeScript di risolvere gli import come fanno i bundler moderni (Vite, webpack, esbuild) โ€” nessuna estensione file richiesta, 'exports' del package.json supportati. Usalo per progetti frontend costruiti con un bundler. Non usarlo per app Node.js che girano senza bundler.
Devo abilitare la modalita strict?
Si, per qualsiasi nuovo progetto. La modalita strict abilita strictNullChecks, noImplicitAny, strictFunctionTypes e altri controlli che intercettano bug reali. Disabilitare strict su codebase legacy e comprensibile, ma i nuovi progetti dovrebbero sempre iniziare con strict: true.
Qual e la differenza tra target e lib?
target controlla quale sintassi JavaScript il compilatore produce (arrow functions, async/await, ecc.). lib controlla quali definizioni di tipo sono disponibili (Promise, Map, API DOM, ecc.). Per Node.js tipicamente vuoi lib: ['ES2023'] senza DOM. Per i browser aggiungi 'DOM' e 'DOM.Iterable'.
Ho bisogno di skipLibCheck: true?
skipLibCheck: true salta il type checking dei file di dichiarazione .d.ts, velocizzando significativamente la compilazione. E raccomandato per la maggior parte dei progetti perche i file di dichiarazione da node_modules possono avere tipi in conflitto che non sono un tuo problema da risolvere.
Cosa fa verbatimModuleSyntax?
verbatimModuleSyntax impone di usare 'import type' per import solo di tipo e mantiene la sintassi import/export esattamente come scritta. Sostituisce le vecchie opzioni importsNotUsedAsValues e preserveValueImports. E il modo moderno di gestire gli import di tipo in TypeScript 5+.

Strumenti correlati