prius-2.0.0-rc1/gulpfile.js

gulpfile.js
var gulp = require('gulp');
var livereload = require('gulp-livereload');
var uglify = require('gulp-uglifyjs');
var sass = require('gulp-sass');
var autoprefixer = require('gulp-autoprefixer');
var sourcemaps = require('gulp-sourcemaps');
var imagemin = require('gulp-imagemin');
var pngquant = require('imagemin-pngquant');
var gutil = require('gulp-util');
var concat = require('gulp-concat');
var sizereport = require('gulp-sizereport');
var watch = require('gulp-watch');
var batch = require('gulp-batch');
var jshint = require('gulp-jshint');



var basePaths = {
  src: './',
  dest: './',
  bower: 'bower_components/'
};


var paths = {
  images: {
    src: basePaths.src + 'images_source/',
    dest: basePaths.dest + 'images/'
  },
  scripts: {
    src: basePaths.src + 'javascript/',
    dest: basePaths.dest + 'js/'
  },
  styles: {
    src: basePaths.src + 'sass/',
    dest: basePaths.dest + 'css/'
  },
  sprite: {
    src: basePaths.src + 'sprite/*'
  }
};

var appFiles = {
  styles: paths.styles.src + '**/*.scss',
  scripts: [paths.scripts.src + '**/*.js']
};

var vendorFiles = {
  styles: '',
  scripts: ''
};

// Allows gulp --dev to be run for a more verbose output
var isProduction = true;
var sassStyle = 'compressed';

if(gutil.env.dev === true) {
  isProduction = false;
  sassStyle = 'expanded';
}


gulp.task('styles', function () {
  gulp.src(appFiles.styles)
    .pipe(sourcemaps.init())
    .pipe(sass({outputStyle: sassStyle}).on('error', sass.logError))
    .pipe(autoprefixer('last 2 version', 'safari 5', 'ie 7', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', 'android 4'))
    .pipe(sourcemaps.write('./'))
    .pipe(gulp.dest(paths.styles.dest));
});


gulp.task('scripts', function () {
  gulp.src(appFiles.scripts)
    .pipe(concat('scripts.js'))
    .pipe(isProduction ? uglify() : gutil.noop())
    .pipe(gulp.dest(paths.scripts.dest));
});


gulp.task('sizereport', function () {
  gulp.src([
    paths.styles.dest,
    paths.scripts.dest
  ])
    .pipe(sizereport({
      gzip: true
    }));
});


gulp.task('imagemin', function () {
  gulp.src('./images_source/*')
    .pipe(imagemin({
      progressive: true,
      svgoPlugins: [{removeViewBox: false}],
      use: [pngquant()]
    }))
    .pipe(gulp.dest('./images'));
});


gulp.task('watch', function(){
  livereload.listen();

  gulp.watch(appFiles.styles, ['styles']);
  gulp.watch(appFiles.scripts, ['uglify']);
  gulp.watch([paths.styles.dest, paths.scripts.dest], function (files){
    livereload.changed(files)
  });
});


gulp.task('lint', function () {
  return gulp.src(appFiles.scripts)
    .pipe(jshint())
    .pipe(jshint.reporter('default'));
});


gulp.task('default', ['styles', 'scripts', 'sizereport']);

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc