@eklingen/vinyl-stream-stylelint
v5.0.2
Published
Small vinyl-stream wrapper -aka Gulp plugin- for stylelint.
Downloads
158
Readme
Small vinyl-stream wrapper -aka Gulp plugin- for stylelint
Run stylelint within your streams. Supports automatic fixing of files. Also has a fast method for more speed, and a slow method for more control.
NOTE: No tests have been written yet!
Installation
yarn install
. Or npm install
. Or just copy the files to your own project.
Usage
const stylelintWrapper = require('@eklingen/vinyl-stream-stylelint')
stream.pipe(stylelintWrapper())
This package assumes a configuration dotfile where stylelint can find it.
Options
You have the following options:
failAfterError
This will determine wether to fail or not. Useful in a pre-commit hook, for example.
stylelintWrapper({
failAfterError: true
})
stylelint
These options are passed verbatim to Stylelint. See the "stylelint" documentation for more details.
stylelintWrapper({
stylelint: {
config: {},
configBaseDir: process.cwd(),
cache: true,
cacheLocation: join(process.cwd(), 'node_modules/.cache/stylelint/'),
fix: false,
syntax: 'scss',
formatter: 'string',
files: null
}
})
Fast method vs Slow method
This plugin offers two different methods of running stylelint.
Fast method
When you pass a files
glob, any files in the stream are ignored (you can set your stream src to read: false
). You can set fix: true
to have stylelint apply fixes directly to the source files on disk. This is mainly useful to simply lint everything and output the results.
stylelintWrapper({
stylelint: {
files: 'src/scripts/**/*.js',
fix: true
}
})
WARNING: Autofixing is slightly flakey. It might take two or three passes to fix everything in a file.
Slow method
When you pass files through the stream (don't pass a files
options), it will then remove those files from the stream. If you set fix: true
any fixes are applied, and these fixed files are pushed back into the stream. This is mainly useful to lint individual files, like in a watch callback.
stylelintWrapper({
stylelint: {
fix: true
}
})
Dependencies
This package requires "stylelint".
Copyright (c) 2019 Elco Klingen. MIT License.