npm install broccoli-jscsbroccoli-jscs
=============







Broccoli plugin for jscs
``js
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:
`js`
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:
`js`
{
"esnext": true,
"excludeFiles": ["path/to/file"],
// more rules...
}
---
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.jscsrc
overriden when a 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:
`js
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:
`js`
var app = new EmberApp({
jscsOptions: {
excludeFiles: ['ember-runtime/ext/rsvp.js']
// or
excludeFiles: ['webclient/tests/**']
}
});
Running the tests:
```
npm install
npm test