@eklingen/vinyl-stream-stylelint

5.0.2 • Public • Published

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.

Package Sidebar

Install

npm i @eklingen/vinyl-stream-stylelint

Weekly Downloads

6

Version

5.0.2

License

MIT

Unpacked Size

8.63 kB

Total Files

5

Last publish

Collaborators

  • eklingen