Dobbiamo integrare il test runner Karma in TeamCity e per questo mi piacerebbe dare un piccolo script sys-engineer (powershell o altro) che avrebbe:
raccogli il numero di versione desiderato da un file di configurazione (suppongo di poterlo inserire come commento direttamente nel
karma.conf.js
)controlla se la versione definita di karma runner è installata nel repository globale di npm
in caso contrario, o la versione installata è precedente a quella desiderata: selezionare e installare la versione corretta
eseguirlo:
karma start .\Scripts-Tests\karma.conf.js --reporters teamcity --single-run
Quindi la mia vera domanda è: "come si può controllare in uno script, se la versione desiderata del pacchetto è installata?". Dovresti fare il controllo o è sicuro chiamare solo npm -g install
ogni volta?
Non voglio controllare e installare sempre l'ultima versione disponibile, perché altri valori di configurazione potrebbero diventare incompatibili
npm update
soprattutto connpm update -g
... non è quello che la maggior parte dei pavoni si aspetta che faccia! Vedi: github.com/npm/npm/issues/6247 e gist.github.com/othiym23/4ac31155da23962afd0e