2017-03-07 2 views
1

Ich habe ein Paket von benutzerdefinierten Regeln, die ich ziehen möchte (eslint-config-common), dann verwenden Sie eine .eslintrc Datei, um einige von ihnen zu überschreiben.Eslint zieht nicht ein erweitert Regeln richtig

extends: common 
rules: 
    no-invalid-this: 0 # override a rule in common 

Wenn ich es direkt ausführen, es funktioniert alles wie erwartet:

./node_modules/.bin/eslint src/**/*.js 

Obwohl, wenn ich es als .sh Datei oder durch ein NPM-Skript wie lint: eslint src/**/*.js laufen, ist es nicht in der nicht ziehen erweitert Regeln. Es läuft nur mit den Regeln direkt in .eslintrc gefunden. In meinem Fall ist das wirklich schlecht, da meine .eslintrc Regeln generell einfach ab oder abstellt, die ich nicht verwenden möchte.

Ich habe es mit DEBUG:eslint:* ausgeführt und es findet und lädt die richtige extends-Datei, es scheint nur nicht die Regeln anzuwenden.

ich einen Fehler ähnlich wie diese gefunden, die sie festgelegt scheinen zu sagen ist: https://github.com/eslint/eslint/issues/2754

Dieser Fehler scheint ähnlich, so dass ich bin mir nicht sicher, ob ich etwas falsch mache, oder ob es noch eine ist Fehler.

ich die neueste Version von eslint 3.17.1

+0

können Sie versuchen, mit 'eslint --print-config any_js_file' und sehen, ob die Regeln von' common' angezeigt werden? –

Antwort

0

Es stellte sich mit heraus, dass ich ein glob verwenden, ohne sie in Anführungszeichen zu wickeln. Es sieht so aus, als hätte NPM ein bisschen gekaut und es scheint, als wäre es nur so tief gegangen wie ein Verzeichnis.

Statt dessen:

"script": { 
    "lint": "eslint path/to/code/**/*.js" 
} 

verwenden:

"script": { 
    "lint": "eslint 'path/to/code/**/*.js'" 
} 
Verwandte Themen