broccoli-jscs
Broccoli plugin for jscs
Usage
var jscs = ; // assuming someTree is a built up treevar tree = ;// orvar tree = ;
As a Ember CLI Addon, simply npm install --save-dev broccoli-jscs
and supply the options you would like:
var app = 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 = ; { return "module('JSCS - " + path + "');\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 = jscsOptions: excludeFiles: 'ember-runtime/ext/rsvp.js' // or excludeFiles: 'webclient/tests/**' ;
Tests
Running the tests:
npm install
npm test