2015-04-08 12 views
9

Utilizzo di jshint-loader con Webpack, come si effettua il comando webpack quando JSHint emette avvisi?Come faccio a uscire Webpack con un errore quando jshint emette avvisi?

Il contesto è che desidero non riuscire a costruire l'elemento della configurazione se il linting rileva problemi.

Attualmente, ho semplicemente configurato per eseguire Webpack jshint-loader sul precarico di file JS:

// webpack.config.js 
module.exports = { 
    module: { 
    preLoaders: [ 
     { 
     test: /\.js/, 
     exclude: /node_modules/, 
     loader: 'jshint-loader', 
     }, 
    ], 
    }, 
}; 

risposta

4

In primo luogo, jshint-caricatore deve essere configurato per fallire nel caso i problemi si trovano (failOnHint: true), opzionalmente si può anche scegliere di emettere avvisi come errori di Webpack (emitErrors: true).

// webpack.config.js 
module.exports = { 
    module: { 
    preLoaders: [ 
     { 
     test: /\.js/, 
     exclude: /node_modules/, 
     loader: 'jshint-loader', 
     }, 
    ], 
    }, 
    jshint: { 
    emitErrors: true, 
    failOnHint: true, 
    }, 
}; 

In secondo luogo, Webpack deve essere detto di non riuscire difficile, fornendo l'opzione --bail: webpack --bail.

Aggiornamento:

webpack --bail ancora Non emette un codice di uscita diverso da zero, Argh.

+0

Hm, come mai webpack si lamenta che "" jshint "non è consentito 'quando aggiungo un'opzione jshint alla configurazione? –

+0

Ah, a causa del validatore webpack, avevo bisogno di aggiungere una regola personalizzata allo schema del validatore. https://github.com/js-dxtools/webpack-validator#schema –

+0

Il bit --bail funziona ora :) –