2016-01-04 2 views
6

Wenn ich meinen Code Fussel mit eslint scripts/**/*.js Ich sehe zwei Fusseln Fehler:ESLint unterschiedliches Ausgangssignal zu erzeugen, wenn sie mit npm Laufe Skript ausführen

» eslint scripts/**/*.js 
/Users/user/dev/scripts/application.js 
    3:8 error "React" is defined but never used no-unused-vars 

/Users/user/dev/scripts/components/Header.js 
    24:2 error Unnecessary semicolon no-extra-semi 

✖ 2 problem (2 error, 0 warnings) 

ist das in Ordnung. Wenn ich diesen Befehl in "scripts" in meinem package.json setze, dann bekomme ich nur einen Fehler.

// package.json 
// ... 
"scripts": { 
    "lint": "eslint scripts/**/*.js" 
} 
// ... 


» npm run lint 
/Users/david.tuite/dev/ui/scripts/components/Header.js 
    24:2 error Unnecessary semicolon no-extra-semi 

✖ 2 problems (2 errors, 0 warnings) 

Was passiert mit dem anderen Flusenfehler?

bearbeiten Ich beginne zu vermuten, dass dies ein Globbing-Problem ist. Der fehlende Linting-Fehler befindet sich in einer Datei, die sich nicht in einem Unterverzeichnis von scripts befindet.

Antwort

12

Globs funktionieren anders in der package.json Datei.

Der Trick besteht darin, die Pfad-Matcher in einfache Anführungszeichen zu schreiben, um sie auf der Shell-Ebene zu erweitern, bevor sie an eslint übergeben werden.

// package.json 
// ... 
"scripts": { 
    "lint": "eslint 'scripts/**/*.js'" 
} 
// ... 
Verwandte Themen