2016-04-30 5 views
4

Ich versuche, meine eckigen Code mit eckigen, eslint: empfohlen und die Jasmin-Plugin empfohlenen Einstellungen flint. Allerdings bekomme ich keine Fehler auf den Jasmin-Kram. Meine eslint Datei sieht wie folgt aus:Eslint eckig und Jasmin: ist nicht definiert nicht-undef

{ 
    "plugins": ["jasmine"], 
    "extends": ["angular", "eslint:recommended", 
    "plugin:jasmine/recommended"], 
    "rules": { 
    "quotes": [ 2, "single"], 
    "strict": [2, "global"], 
    "semi": ["error", "always"], 
    "angular/on-watch": "warn" 
    } 
} 

ich die folgenden Fehler erhalten:

3: 5 error ‚es: 1 Fehler 'beschreiben' nicht-undef

4 nicht definiert "ist nicht definiert no-undef

5: 9 error 'erwarten' nicht no-undef

7 definiert ist: 5 error '' ist es nicht no-undef definiert

8: 9 Fehler 'erwarten' ist nicht ohne undef

Und in meinem package.json Ich habe Version 2.3.0 für eslint und 1.8.1 für eslint-plugin-jasmine definiert. Ich habe auch Version 0.5.0 für eslint-config-angular und 1.0.0 für eslint-plugin-angular.

Ich habe auch versucht, ohne Angabe der "plugins": ["jasmine"] in meiner eslint Datei, aber dann bekomme ich einen Fehler sagen mir die Jasmin-Regeln sind nicht definiert (zB Definition for rule 'jasmine/no-focused-tests' was not found).

Antwort

1

Mit this rule festgelegt, verursacht jede nicht explizit deklarierte Variable eine Warnung. Sie können an der Spitze Ihrer spec-Datei festgelegt:

/* global describe it expect */ 
+1

Hej, das funktioniert. Aber ich denke, es ist ziemlich hässlich, diese Zeile in alle meine Testdateien zu schreiben. Ich dachte, das wäre etwas gewesen, das das Jasmin-Plugin repariert hat? Gibt es einen anderen Weg, so dass ich dies an einer Stelle stelle und es auf alle meine Spezifikationsdateien angewendet wird? –

+0

Die Regel macht ihren Job: Warnung, dass Sie eine globale Variable verwenden. Sie können diese Regel deaktivieren, wenn Sie Ihre .spec-Dateien abspeichern (führen Sie eslint mit separaten Einstellungen für .spec und Code aus. Oder verwenden Sie überhaupt keine Linting für Ihre Spezifikationsdateien. Oder deaktivieren Sie diese Regel vollständig. –

16

Hinzufügen

"env": { 
"jasmine": true 
} 

das Problem gelöst. Dies war der Vorschlag, dass ich die github-Seite des eslint Jasmine-Plugins durchlief.

Verwandte Themen