Gli script NPM sono progettati per funzionare in questo modo di proposito, in modo che un codice di uscita 1 o 2 (qualsiasi cosa diverso da 0
), impedisca l'esecuzione delle attività di post, nello stesso modo in cui funzionerebbe sul sistema operativo .
Utilizzando la --silent
bandiera è un'opzione, ma può diventare un problema in cui ci sono altri problemi con lo script, e si finiranno sbattere la testa contro un muro quando il tuo costruisce iniziare malfunzionante senza errori lint/TEST .
La cosa migliore da fare qui ... è configurare il processo in modo che non emetta un codice di uscita errore in situazioni in cui non lo si desidera. In questo caso ... alcuni errori si sono verificati legittimamente in base alla configurazione di eslint. Ciò causerà un codice di uscita errore e (giustamente) impedirà l'esecuzione dell'attività successiva. Questo è in realtà molto utile quando si utilizzano gli script npm, perché è possibile impedire che i passaggi di test/generazione vengano eseguiti in modo non necessario quando si sa che ci sono errori.
Quindi, in questo caso, si desidera aggiungere un file .eslintrc
al progetto, e specificare alcune regole che vi sia prendersi cura degli errori linting, così come gli errori NPM.
Ho pubblicato un file di esempio .eslintrc
di seguito. Quando si esegue eslint
sulla riga di comando, esso rileverà automaticamente qualsiasi file .eslintrc
o .eslintignore
e si atterrà alle rispettive configurazioni.
Quell'esempio riportato di seguito eliminerà gli errori di sfilacciamento, ma tieni presente che modifica il codice di uscita che verrebbe generato quando eslint preleva quel "trigger". Quando cambio una regola in 0
, significa che non ti avviserà quando riconosce quel modello.
Si può leggere di più su valorizzazione e configuring rule codes, o ... controlla un progetto seme ho creato che utilizza NPM come un tool di creazione, e comprende l'utilizzo eslint: react-flux-npm-automation
// /path/to/project/.eslintrc
{
"parser": "babel-eslint",
"env":{
"browser":true,
"node":true,
"es6":true
},
"rules": {
"strict":0,
"quotes":0,
"no-unused-vars":0
}
}
Questa dovrebbe essere un'ottima lettura per voi: http://substack.net/task_automation_with_npm_run – naomik