/jscs-loader

Run your source through the JSCS style checker.

Primary LanguageJavaScriptMIT LicenseMIT

JSCS loader for webpack Version Build Status Abandoned

Runs your source through the JSCS style checker.

Installation

$ npm install --save jscs-loader

Usage

Documentation: Using loaders

In your webpack.config.js file:

module.exports = {
  module: {
    preLoaders: [{
      test:    /\.js$/,
      exclude: /node_modules/,
      loader: 'jscs-loader'
    }]
  },

  jscs: {
    // By default the loader will try to pick up a `.jscsrc`
    // file in the root of your project, but you can add any
    // valid JSCS options here too.
    //
    // See: https://github.com/jscs-dev/node-jscs#options
    validateIndentation: 2,

    // JSCS errors are displayed by default as warnings.
    // Set `emitErrors` to `true` to display them as errors.
    emitErrors: false,

    // JSCS errors do not interrupt the compilation.
    // Set `failOnHint` to `true` if you want any file with
    // JSCS errors to fail.
    failOnHint: false,

    // Use your own custom reporter function.
    reporter: function(errors) { }
  }
};

Custom reporter

By default the loader will provide a default reporter.

If you prefer to use a custom reporter, pass a function under the reporter key in the jscs options. See https://github.com/jscs-dev/node-jscs/tree/master/lib/reporters to get an idea of how to build your own reporter.

The reporter function will be excuted with the loader context as this. You may emit messages using this.emitWarning(...) or this.emitError(...). See webpack docs on loader context.

Note: JSCS reporters are not compatible with jscs-loader! This is due to the fact that reporter input is only processed from one file, not multiple files. Error reporting in this manner differs from traditional reporters for JSCS, since the loader plugin (i.e. jscs-loader) is executed for each source file, and thus the reporter is executed for each file.

The output in webpack CLI will usually be:

...

WARNING in ./path/to/file.js
<reporter output>

...

Meta

Contributors

License

Copyright (c) 2014 Daniel Perez Alvarez (unindented.org). This is free software, and may be redistributed under the terms specified in the LICENSE file.