Coder Social home page Coder Social logo

gulp-stylelint's Introduction

gulp-stylelint

NPM version

This is a fork of olegskl/gulp-stylelint which seems to have been sleeping for a long time. This fork aims to have always up to date stylelint version.

A Gulp plugin that runs stylelint results through a list of reporters.

Installation

npm install stylelint @ronilaukkarinen/gulp-stylelint --save-dev

Quick start

Once you have configured stylelint (e.g. you have a .stylelintrc file), start with the following code. You will find additional configuration options below.

const gulp = require('gulp');

gulp.task('lint-css', function lintCssTask() {
  const gulpStylelint = require('gulp-stylelint');

  return gulp
    .src('src/**/*.css')
    .pipe(gulpStylelint({
      reporters: [
        {formatter: 'string', console: true}
      ]
    }));
});

Formatters

Below is the list of currently available stylelint formatters. Some of them are bundled with stylelint by default and exposed on gulpStylelint.formatters object. Others need to be installed. You can write a custom formatter to tailor the reporting to your needs.

  • "string" (same as gulpStylelint.formatters.string) – bundled with stylelint
  • "verbose" (same as gulpStylelint.formatters.verbose) – bundled with stylelint
  • "json" (same as gulpStylelint.formatters.json) – bundled with stylelint
  • stylelint-checkstyle-formatter – requires installation

Options

gulp-stylelint supports all stylelint options except files and formatter and accepts a custom set of options listed below:

const gulp = require('gulp');

gulp.task('lint-css', function lintCssTask() {
  const gulpStylelint = require('gulp-stylelint');
  const myStylelintFormatter = require('my-stylelint-formatter');

  return gulp
    .src('src/**/*.css')
    .pipe(gulpStylelint({
      failAfterError: true,
      reportOutputDir: 'reports/lint',
      reporters: [
        {formatter: 'verbose', console: true},
        {formatter: 'json', save: 'report.json'},
        {formatter: myStylelintFormatter, save: 'my-custom-report.txt'}
      ],
      debug: true
    }));
});

failAfterError

When set to true, the process will end with non-zero error code if any error-level warnings were raised. Defaults to true.

reportOutputDir

Base directory for lint results written to filesystem. Defaults to current working directory.

reporters

List of reporter configuration objects (see below). Defaults to an empty array.

{
  // stylelint results formatter (required):
  // - pass a function for imported, custom or exposed formatters
  // - pass a string ("string", "verbose", "json") for formatters bundled with stylelint
  formatter: myFormatter,

  // save the formatted result to a file (optional):
  save: 'text-report.txt',

  // log the formatted result to console (optional):
  console: true
}

debug

When set to true, the error handler will print an error stack trace. Defaults to false.

Autofix

The fix: true option instructs stylelint to try to fix as many issues as possible. The fixes are applied to the gulp stream. The fixed content can be saved to file using gulp.dest.

const gulp = require('gulp');

gulp.task('fix-css', function fixCssTask() {
  const gulpStylelint = require('gulp-stylelint');

  return gulp
    .src('src/**/*.css')
    .pipe(gulpStylelint({
      fix: true
    }))
    .pipe(gulp.dest('src'));
});

License

MIT License

gulp-stylelint's People

Contributors

olegskl avatar ronilaukkarinen avatar xhmikosr avatar perrin4869 avatar onigoetz avatar greenkeeperio-bot avatar jwilsson avatar marcofugaro avatar bpfoster avatar dweidner avatar proll avatar jamesplease avatar jordyvandortmont avatar gitter-badger avatar thedancingcode avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.