Add stylelint to your broccoli build pipeline with ease.
npm install --save-dev broccoli-stylelint
var StyleLint = require('broccoli-stylelint');
// path to files that need linting
var node = new StyleLint('app/styles');
the default output will be the same SCSS files, in the same tree structure.
Tests are automatically generated
If tests are generated the plugin will output a tree of test files
original tree
.
├── scssfile1.sscss
└── nested-dir/
├── scssfile2.scss
output tree
.
├── scssfile1.stylelint-test.js
└── nested-dir/
├── scssfile2.stylelint-test.js
var StyleLint = require('broccoli-stylelint');
var Funnel = require('broccoli-funnel');
// path to files that need linting
var node = StyleLint.create('app/styles');
// to extract tests from linter output
new Funnel(node, {
srcDir:'tests',
});
** Disable test generation **
set the option disableTestGeneration:true
var node = new StyleLint('app/styles', {disableTestGeneration:true});
linterConfig
{Object}
Hash as specified by stylelint
doesn't accept files
option
All stylelint supported languages except jsx
are valid targets by default. Alternatively, a syntax
option can be passed in to scope targets to one language.
onError(errors)
{function}
A hook that allows you to do whatever you want, when an error occurs
- errors
array of errors
group
{boolean}
Groups tests under the same suite
testGenerator(relativePath, results, testingFramework)
{function}
A hook that allows you generate tests.
- relativePath
path of currently linted file
- errors
array of errors if null then no errors occured
testFailingFiles
{boolean}
If true it will generate a unit test if the file fails lint.
testPassingFiles
{boolean}
If true it will generate a unit test if the passes fails lint.
disableTestGeneration
{boolean}
Will disable generation of tests
testingFramework
{string}
supports 'qunit'
or 'mocha'
log
{boolean}
If true it will log results to console
console
{object}
A custom console object