Abbiamo imparato a conoscere un pò Gulp durante la serie di post per introdurre lo SharePoint Framework, oggi volevo entrare un pò più nel dettaglio dei comandi che possiamo utilizzare tramite questo tool durante lo sviluppo.

Per chi si fosse perso i vecchi post, Gulp è un tool di esecuzione task e viene utilizzato all'interno del toolchain dello SharePoint Framework per effettuare alcune attività come l'avvio dellìattività di debug, la compilazione o la creazione dei pacchetti di test o produzione.

Vediamo nel dettaglio tutte le opzioni che ci offre questo strumento durante lo sviluppo di personalizzazioni tramite lo SharePoint Framework. Per farlo, apriamo la console, posizioniamoci all'interno di un progetto su cui è già stata fatta l'attività di scaffolding (creazione del progetto) ed eseguiamo questo comando:

gulp --tasks

Questa opzione stampa a video i nomi di tutti i task che sono presenti all'interno del file gulpfile.js presente all'interno della vostra soluzione (che a sua volta eredita da altri file Gulp presenti all'interno delle librerie che vengono scaricate sul disco ogni volta che si creare un nuovo progetto SharePoint Framework).

Gulp tasks

Ho cercato di riassumere le caratteristiche dei vari task nella seguente tabella.

clean Cancella qualsiasi build precedentemente creata
build Compila il progetto per vedere se ci sono errori di compilazione
default Stessa funzionalità del task "build"
bundle Effettua il bundle delle risorse e crea i file Javascript e JSON per la distribuzione
dev-deploy Effettua il deploy del codice su una CDN privata per la condivisione con i colleghi
deploy-azure-storage Effettua il deploy dei file Javascript e JSON che rappresentano la soluzione, all'interno dell'account Azure specificato all'interno del file "deploy-azure-storage.json"
package-solution Crea il file .sppkg da installare all'interno dell'app catalog di SharePoint
test Esegue gli unit test inseriti all'interno della soluzione
serve Accende il web server NodeJs e lancia il debug dell'applicazione
trust-dev-cert Installa nella macchina di sviluppo il certificato SSL che viene utilizzato in fase di debug all'interno il Local Workbanch
untrast-dev-cert Disinstalla il certificato SSL di sviluppo

Molto importanti risultano anche alcune direttive che vengono passate a questi comandi.
Avviamo già visto la direttiva --ship, utile a creare package o asset di produzione. Una seconda direttiva molto utile è la --nobrowser, da passare al comando "serve" quando non si vuole avviare in automatico l'istanza del browser con l'indirizzo di test della soluzione.