Search code examples
testingkarma-runnereslintkarma-mocha

karma-eslint preprocessor not working


I'm using karma-eslint plugin. It looks very easy to use but for some reason, I don't see any errors or warnings and my tests are running smoothly even though I put some eslint errors

here is my karma.config.js file:

module.exports = function (config) {
config.set({

    browsers: [process.env.CONTINUOUS_INTEGRATION ? 'Firefox' : 'Chrome'],

    singleRun: true,

    frameworks: ['mocha'],

    files: [
        'tests.webpack.js'
    ],

    preprocessors: {
        'tests.webpack.js': ['webpack', 'sourcemap'],
        'src/**/*.jsx': ['coverage'],
        'test/**/*.js': ['eslint'],
    },

    eslint: {
        engine: {
            configFile: './.eslintrc',
            emitError: true,
            emitWarning: true
        }
    },

    reporters: ['progress', 'coverage'],

    coverageReporter: {
        /* coverage configurations */
    },

    webpack: {
        /* some webpack configurations */
    }

The violation I planted in the one of my test.js files - define a new variable but not using it (eslint rule: 'no-unused-vars')

Please let me know if any further information is needed and I'll edit the post accordingly.

Cheers!


Solution

  • Found another solution!

    in my webpack configuration I've used the eslint-loader' forwebpack` as follows:

    webpack: {
            module: {
                preLoaders: [
                    {test: /\.js$/, exclude: /(src|node_modules)/, loader: 'eslint-loader'}
                ]
            }
    }