broccoli-jscs
Broccoli plugin for jscs
Usage
var jscs = require('broccoli-jscs');
var tree = jscs(someTree);
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"],
}
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:
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']
excludeFiles: ['webclient/tests/**']
}
});
Tests
Running the tests:
npm install
npm test