Skip to content
This repository has been archived by the owner on Jul 20, 2021. It is now read-only.

kellyselden/broccoli-jscs

Repository files navigation

broccoli-jscs

Build Status Build status Code Climate Coverage Status

npm version dependencies Status devDependencies Status

JSCS was merged into ESLint, so this project is no longer being worked on.

Broccoli plugin for jscs

Usage

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,
    disableTestGenerator: false
  }
});

You can also supply the options in the .jscsrc file if you wish:

{
  "excludeFiles": ["path/to/file"],
  // more rules...
}

Documentation

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.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" +
         "});\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/**']
  }
});

Tests

Running the tests:

npm install
npm test