kzima
1/21/2015 - 10:02 PM

[sass] Project Configuration

[sass] Project Configuration

{
  "name": "project-name",
  "version": "1.0.0",
  "description": "An app description",
  "dependencies": {
    "gulp": "*",
    "gulp-sass": "*",
    "gulp-concat": "*",
    "gulp-minify-css": "*",
    "gulp-rename": "*",
    "gulp-jshint": "*",
    "gulp-util": "*"
  }
}
var gulp = require('gulp');
var concat = require('gulp-concat');
var sass = require('gulp-sass');
var minifyCss = require('gulp-minify-css');
var rename = require('gulp-rename');
var jshint = require('gulp-jshint');
var gutil = require('gulp-util');

var paths = {
  sass: ['./src/scss/**/*.scss'],
  js: ['./src/*.js'],
  dest: './assets/css/'
};

gulp.task('sass', function(done) {
  gulp.src(paths.sass)
    .pipe(sass({
        style: 'compressed',
        errLogToConsole: true,
        onError: function(err) {
          gutil.log(err);
        }
    }))
    .pipe(gulp.dest(paths.dest))
    .pipe(minifyCss({
      keepSpecialComments: 0
    }))
    .pipe(rename({ extname: '.min.css' }))
    .pipe(gulp.dest(paths.dest))
    .on('end', done);
});

gulp.task('jshint', function() {
  gulp.src(paths.js)
    .pipe(jshint())
    .pipe(jshint.reporter("default"));
});

gulp.task('watch', function() {
  gulp.watch(paths.sass, ['sass']);
  gulp.watch(paths.js, ['jshint']);
});

gulp.task('default', ['sass']);