broccoli-jscs
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,
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...
}
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.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" +
"});\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