diff --git a/package.json b/package.json index b8ca66d..16bba71 100644 --- a/package.json +++ b/package.json @@ -22,12 +22,14 @@ "gulp-plumber": "^1.1.0", "gulp-rename": "^1.2.2", "gulp-sass": "^2.2.0", + "gulp-scss-lint": "^0.3.9", "gulp-simple-task-loader": "^1.0.38", "gulp-sourcemaps": "^1.6.0", "gulp-svgmin": "^1.2.2", "gulp-uglify": "^1.5.3", "gulp-util": "^3.0.4", - "lodash": "^4.6.1" + "lodash": "^4.6.1", + "shelljs": "^0.6.0" }, "repository": { "type": "git", diff --git a/tasks/sass.js b/tasks/sass.js old mode 100644 new mode 100755 index 6e5f852..38ff78d --- a/tasks/sass.js +++ b/tasks/sass.js @@ -1,15 +1,24 @@ 'use strict'; module.exports = function(gulp, config) { + + var shelljs = require('shelljs'); + var util = require('gulp-util'); + if (shelljs.which('scss-lint') !== null) { + var scssLint = require('gulp-scss-lint'); + } else { + var scssLint = util.noop; + util.log(util.colors.red("SCSS linting is disabled"),"to enable this feature please install scss_lint '", util.colors.green("gem install scss_lint"), "'"); + } + return function() { /* define required plugins */ var sourcemaps = require('gulp-sourcemaps'); - var util = require('gulp-util'); var sass = require('gulp-sass'); var plumber = require('gulp-plumber'); var autoprefixer = require('gulp-autoprefixer'); - var gulpif = require('gulp-if'); + var gulpIf = require('gulp-if'); var moreCss = require('gulp-more-css'); var livereload = require('gulp-livereload'); @@ -22,6 +31,11 @@ module.exports = function(gulp, config) { this.emit('end'); } })) + .pipe( + scssLint({ + 'config': '.scss-lint.yml' + }) + ) .pipe(sourcemaps.init()) .pipe(sass({ includePaths : config.sass.includePaths @@ -32,7 +46,7 @@ module.exports = function(gulp, config) { remove: true })) .pipe( - gulpif(config.production, + gulpIf(config.production, moreCss({ radical: false }),