Broccoli plugin for jscs

Downloads in past


16111.4.17 years ago9 years agoMinified + gzip package size for broccoli-jscs in KB


npm version Build Status Build status Dependency Status devDependency Status Code Climate Coverage Status
Broccoli plugin for jscs


var jscs = require('broccoli-jscs');

// assuming someTree is a built up tree
var tree = jscs(someTree);
// or
var tree = jscs('folderName');

As a Ember CLI Addon, simply npm install --save-dev broccoli-jscs and supply the options you would like:
var app = new EmberApp({
  jscsOptions: {
    configPath: '/my/path/.jscsrc',
    enabled: true,
    esnext: true,
    disableTestGenerator: false

You can also supply the options in the .jscsrc file if you wish:
  "esnext": true,
  "excludeFiles": ["path/to/file"],
  // more rules...


jscs(inputTree, options)

options.configPath {String}
Will look in the root of the provided tree for a .jscsrc. Use this option if you would like to use a .jscsrc file from a different path.
Default: '.jscsrc'
options.config {Object}
Specify the options for JSCS programatically, accepts the same kind of JSON style object as you would provide in the .jscsrc file. This option will be overriden when a .jscsrc file is in the root or when options.configPath is set.
Default: '{}'
options.enabled {true|false}
This will eliminate processing altogether.
Default: false
options.esnext {true|false}
Support ES6 module syntax.
Default: false
options.logError {Function}
The function used to log to console. You can provide a custom function to log anywhere, perhaps a file or web service.
The function receives the following argument:
  • message - A generated string of errors found.

options.disableTestGenerator {true|false}
If true tests will not be generated.
Default: false
options.testFramework {String}
This setting determines what kind of tests are generated. If a custom testGenerator is set testFramework will be ignored.
This setting currently supports the following test frameworks:
  • qunit (default)
  • mocha

options.testGenerator {Function}
The function used to generate test modules. You can provide a custom function for your client side testing framework of choice.
The function receives the following arguments:
  • relativePath - The relative path to the file being tested.
  • errors - A generated string of errors found.

Default generates QUnit style tests:
var path = require('path');

function(relativePath, errors) {
  return "module('JSCS - " + path.dirname(relativePath) + "');\n" +
         "test('" + relativePath + " should pass jscs', function() {\n" +
         "  ok(" + !errors + ", '" + relativePath + " should pass jscs." + errors + "');\n" +

options.excludeFiles {String}
Exclude files or directories from processing. Supports globbing. Example:
var app = new EmberApp({
  jscsOptions: {
    excludeFiles: ['ember-runtime/ext/rsvp.js']
    // or
    excludeFiles: ['webclient/tests/**']


Running the tests:
npm install
npm test