2015-01-05 15 views
6

Secondo la documentazione plugin dovrebbe funzionare se sono moduli NPM denominati "eslint-plugin-"Come ottenere i plugin eslint locali di lavorare con eslint installato localmente

Here's a plugin that follows that pattern. Source is here.

Quindi, facciamo un nuovo progetto

md foo 
cd foo 
npm init 
... answer questions .. 
npm install --save-dev eslint 
npm install --save-dev eslint-plugin-require 
echo "define(function(){});" > test.js 
echo "{\"rules\":{\"require\": 2}}" > conf.json 
node node_modules/eslint/bin/eslint.js -c conf.json --plugin eslint-plugin-require test.js 

produce

~/node_modules/eslint/lib/eslint.js:569 
       throw new Error("Definition for rule '" + key + "' was not 
        ^
Error: Definition for rule 'require' was not found. 

cambiamento della configurazione per

echo "{\"rules\":{\"eslint-plugin-require\": 2}}" > conf.json 

echo "{\"rules\":{\"require-define\": 2}}" > conf.json 

echo "{\"rules\":{\"require-require-define\": 2}}" > conf.json 

echo "{\"rules\":{\"eslint-plugin-require-define\": 2}}" > conf.json 

echo "{\"rules\":{\"eslint-plugin-require-require-define\": 2}}" > conf.json 

non risolvere il problema

plugin eslint Come si usa installato localmente?

+0

Se si utilizza console eslint, i plugin devono essere installati a livello globale – Janom

risposta

4

È abbastanza semplice utilizzare plug-in locali con un'installazione locale di eslint, solo all'inizio non immediatamente ovvio.

1. Installare

Niente di diverso da quello che qui si sta già facendo.

npm install --save-dev eslint 
npm install --save-dev eslint-plugin-require 

2. Configurare

Sto utilizzando un file .eslintrc nel mio caso, ma lo stesso principio dovrebbe valere se stai passando un file di configurazione personalizzata al CLI. Nota la differenza nel modo in cui le regole vengono definite quando si tratta di un plug-in.

{ 
    "plugins": [ 
     // Tell eslint about the require plugin 
     "require" 
    ], 
    "rules": { 
     // Built-in Rules 
     "camelcase": 2, 
     "no-trailing-spaces": 2, 

     // Require Plugin Rules (note plugin prefix) 
     "require/require-define": 2, 
     "require/require-array-syntax": 2, 
     "require/require-module-prefix": 2 
    } 
} 
+0

quindi eseguire che cmd sul CLI? Eseguo 'eslint' nella cartella del progetto corrente, ma non è riconosciuto come comando. – Felix

+0

@Felix - sarà nella cartella node_modules/.bin, quindi eseguire './Node_modules/.bin/eslint' dovrebbe fare il trucco. – cvisco

Problemi correlati