Knip (letteralmente "taglio") è uno strumento dedicato agli sviluppatori che permette di trovare gli elementi non necessari al funzionamento di un'applicazione per poi rimuoverli. Può essere utilizzato in progetti basati su JavaScript e TypeScript e il suo compito è quello di scovare file inutilizzati, export e dipendenze superflue. Si tratta quindi di una soluzione particolarmente utile quando si devono gestire applicazioni molto complesse.
Knip: less is more
Recentemente giunto alla versione 4, Knip rimuove tutto ciò che è obsoleto o inutile. In questo modo è possibile evitare noiose procedure manuali che potrebbero diventare anche molto lunghe. In questo modo la manutenzione del codice diventa più semplice e meno costosa e le prestazioni degli script migliorano. I tempi di avvio diventano infatti più veloci, sia per la mancanza del cosiddetto "dead code" che per via del fatto che non vengono richiamate dipendenze irrilevanti ai fini dell'esecuzione.
Nello stesso modo si limitano le notifiche di errore, gli eventuali malfunzionamenti e la presenza di bug. Meno codice da pubblicare significa anche meno difetti da correggere e meno vulnerabilità che potrebbero compromettere dati e applicazioni. Knip è inoltre un tool che opera in modo del tutto automatico, include infatti le specifiche standard per i linguaggi supportati ed è in grado di effettuare ricerche basate su criteri euristici con cui evitare falsi positivi,
Non è naturalmente detto che questi ultimi vengano del tutto scongiurati, uno strumento che opera automaticamente necessita comunque di supervisione. Ma è sempre meglio correggere gli eventuali errori di Knip che operare manualmente su migliaia di righe di codice. Si tratta inoltre di uno strumento modulare, rilasciato sotto licenza Open Source, le ci funzionalità di base possono essere estese tramite plugin.
Come utilizzare Knip
Tra i vantaggi di Knip vi è il fatto che per utilizzarlo non è necessario imparare una nuova sintassi. Per integrarlo nel proprio progetto è necessario un ambiente di sviluppo in cui sia presente Node.JS (o in alternativa Bun). L'installazione avviene tramite npm con la seguente istruzione:
npm install -D knip typescript @types/node
Per eseguirlo è sufficiente invece il comando di avvio proposto di seguito:
npm run knip