I have several SASS files that should be compiled separately. I want to lint theirs and also theirs "imports"
I have some sass files:
// style.scss
@import "./styles/a.scss";
body {
background-color: #FFF;
}
// styles/a.scss
h1 {
font-size: 28px;
color: #GGG; // invalid hex to test stylelint
}
I compile sass styles by gulp like this:
const gulp = require('gulp');
const sass = require('gulp-sass');
const plumber = require('gulp-plumber');
function compileStyles(src, dest) {
gulp.src(src)
.pipe(plumber({
errorHandler: console.error
}))
.pipe(sass().on('error', sass.logError))
.pipe(gulp.dest(dest));
}
compileStyles('src/style.scss', 'dest');
I would like to add stylelint here. I try do this by adding stylelint
const gulp = require('gulp');
const sass = require('gulp-sass');
const plumber = require('gulp-plumber');
const gulpStylelint = require('gulp-stylelint');
function compileStyles(src, dest) {
gulp.src(src)
.pipe(plumber({
errorHandler: console.error
}))
.pipe(sass().on('error', sass.logError))
.pipe(gulpStylelint({
failAfterError: true,
reporters: [
{formatter: 'string', console: true}
]
}))
.pipe(gulp.dest(dest));
}
compileStyles('src/style.scss', 'dest');
It's works, but stylelint process compiled styles. How can i apply stylelint before compiling, but include import statements.