Giunto recentemente alla versione 2.8, Prettier è un code formatter, cioè una piattaforma che permette di formattare automaticamente i codici sorgenti fornendo uno standard unico da adottare all'interno dei team di sviluppatori.
Il progetto nasce proprio per questo scopo, molto spesso infatti, quando al medesimo progetto partecipano più persone è difficile trovare un criterio di formattazione che metta d'accordo tutti. Prettier permette di scongiurare lunghe discussioni su questo tema, proponendo uno stile valido per tutti gli utilizzatori coinvolti.
Il supporto per i linguaggi
Tra i vantaggi di Prettier vi è soprattutto il supporto per numerosi linguaggi di sviluppo e programmazione. Si possono formattare ad esempio codici scritti in JavaScript o varianti come TypeScript, Flow e JSON (JavaScript Object Notation), HTML, CSS (compresi Less e SCSS), Markdown e YALM.
Esistono poi delle estensioni ufficiali o realizzate dalla community della piattaforma che permettono di ottenere il medesimo risultato con Java, PHP, Rust, Kotlin, XML e Ruby nonché per alcuni dei framework più utilizzati come Vue, Angular ed Ember.
Integrazione con gli editor di codice e interfaccia
Un altro vantaggio di Prettier, che è una soluzione Open Source, riguarda l'ampio supporto che viene offerto per gli editor più utilizzati dai coder, a questo proposito basterebbe citare le estensioni disponibili per Visual Studio, Visual Studio Code, WebStorm, Emacs, Vim, Sublime Text, Atom, Nova ed Espresso.
Ma come funziona Prettier? Nel sito ufficiale del progetto è presente una demo online della sua interfaccia:
In essa sono presenti tre colonne: la prima sulla sinistra permette di impostare le proprie preferenze di formattazione, la seconda è destinata ad ospitare il codice da formattare e la terza a restituire il codice formattato.
Per popolare la terza colonna è sufficiente cliccare sul pulsante "Save" e la piattaforma si occuperà automaticamente della generazione dell'output.
È possibile installare Prettier sia tramite npm che yarn, il repository è liberamente disponibile su GitHub per eventuali fork.