NPM-Skripte funktionieren absichtlich so, dass ein Exit-Code von 1 oder 2 (alles andere als 0
) die Ausführung von Post-Tasks auf die gleiche Weise verhindert, wie sie auf Ihrem Betriebssystem ausgeführt werden .
Mit der --silent
Flagge ist eine Option, aber kann ein Problem werden, wo es andere Probleme mit dem Skript ist, und Sie werden Ihren Kopf gegen eine Wand aufzuwickeln hämmern, wenn Sie beginnen, ohne Flusen/Testfehler Fehler bauen .
Das Beste, was Sie hier tun können, ist, Ihren Prozess so zu konfigurieren, dass er in Situationen, in denen Sie dies nicht möchten, keinen Fehlerbeendigungscode ausgibt. In diesem Fall ... haben Sie einige Fehler, die aufgrund Ihrer eslint-Konfiguration rechtmäßig auftreten. Dies führt zu einem Fehlerbeendigungscode und verhindert (zu Recht), dass die nächste Aufgabe ausgeführt wird. Das ist eigentlich sehr nützlich wenn Sie npm Skripte verwenden, weil Sie verhindern können, dass Test/Build-Schritte unnötig ausgeführt werden, wenn Sie wissen, dass es Fehler gibt.
In diesem Fall möchten Sie Ihrem Projekt eine .eslintrc
Datei hinzufügen und einige Regeln angeben, die sich sowohl um die Linting-Fehler als auch um die npm-Fehler kümmern.
Ich habe eine schnelle Probe .eslintrc
Datei unten veröffentlicht. Wenn eslint
in der Befehlszeile ausgeführt wird, erkennt es automatisch alle .eslintrc
oder .eslintignore
Dateien und hält sich an ihre Konfigurationen.
Das folgende Beispiel wird Ihre flackernden Fehler bereinigen, aber bedenken Sie, dass es den Beendigungscode ändert, der geworfen würde, wenn eslint diesen "Auslöser" aufhebt. Wenn ich eine Regel in 0
ändere, bedeutet dies, dass sie Sie nicht benachrichtigt, wenn sie dieses Muster erkennt.
Sie können mehr über die Verwendung lesen und configuring rule codes oder ... Besuche ein Samen Projekt, das ich erstellt haben, die npm als Build-Tool verwendet und umfasst eslint Nutzung: 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
}
}
Das sollte eine gute Lektüre für Sie sein: http://substack.net/task_automation_with_npm_run – naomik