2014-12-13 18 views
7

Sto provando a filtrare tutti i miei file javascript usando jshint con un comando di script npm.Utilizzo di caratteri jolly negli script npm su windows

Sono in esecuzione su Windows e non importa quale carattere jolly specifichi Non riesco a pareggiare più di un file.

riferimento a un file specifico funziona:

"scripts": { 
    "lint": "jshint app/main.js" 
} 

Ma tutti i seguenti risultati in errori:

"scripts": { 
    // results in Can't open app/**/*.js' 
    "lint1": "jshint app/**/*.js", 

    // results in Can't open app/*.js' 
    "lint2": "jshint app/*.js", 

    // results in Can't open app/**.js' 
    "lint3": "jshint app/**.js", 
} 
+1

Non so se è ancora vero come la domanda è dal 2011 e per 'jslint' ma: [superuser: Wildcard per tutte le sottodirectory o tutte le directory discendenti in windows commandline] (http://superuser.com/ q/358863/204,82 mila) –

risposta

18

Anche se non è possibile utilizzare i caratteri jolly quando si esegue jshint come un'attività di script in NPM su Windows, puoi aggirare il problema. Per impostazione predefinita, se jshint passa una directory, cercherà quella directory in modo ricorsivo. Quindi nel tuo caso si può semplicemente fare:

"script": { 
    "lint": "jshint app" 
} 

o anche

"script": { 
    "lint": "jshint ." 
} 

questo si tradurrà in tutti i file - inclusi quelli in fase di node_modules lintati - che probabilmente non è ciò che si vuole. Il modo più semplice per aggirare che è quello di avere un file chiamato .jshintignore nella root del vostro progetto che contiene le cartelle e gli script che non si desidera lintati:

node_modules/ 
build/ 
dir/another_unlinted_script.js 

Questa è quindi una soluzione cross-platform per jshint come un compito di script in npm.

Problemi correlati