heihachi88
11/17/2014 - 6:43 AM

Gulp config

Gulp config

{
  "name": "project",
  "version": "1.0.0",
  "devDependencies": {
    "gulp": "^3.8.10",
    "gulp-concat": "^2.4.3",
    "gulp-imagemin": "^2.1.0",
    "gulp-less": "^2.0.1",
    "gulp-uglify": "^1.1.0",
    "gulp-util": "^3.0.2",
    "less-plugin-clean-css": "^1.4.0"
  }
}

# npm install --save-dev modulename
# --save-dev only for dev
# --save for production
var gulp = require('gulp');
var less = require('gulp-less');
var path = require('path');
var LessPluginCleanCSS = require('less-plugin-clean-css'),
    cleancss = new LessPluginCleanCSS({advanced: true});
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var imagemin = require('gulp-imagemin');

gulp.task('default', function() {
  // place code for your default task here
});

// css

gulp.task('css', function() {
	gulp.src('./less/main.less')
	.pipe(less({
		paths: [ path.join(__dirname, 'less', 'includes') ],
		plugins: [cleancss]
	}))
	.pipe(gulp.dest('./css'))
});

// js

gulp.task('scripts', function() {
	gulp.src(['./bower_components/jquery/dist/jquery.js', 
		'./bower_components/bootstrap/dist/js/bootstrap.js', 
		'./js/owl.carousel.js', 'js/custom.js'
		])
    .pipe(concat('frontend.js', {newLine: ';'}))
    .pipe(uglify({ mangle: false }))
    .pipe(gulp.dest('./js/'))
});

// images

gulp.task('images', function() {
  return gulp.src('./src/*')
    .pipe(imagemin({ optimizationLevel: 3, progressive: true, interlaced: true }))
    .pipe(gulp.dest('./images/'))
});

// watcher

gulp.task('watch', function() {
	gulp.watch('less/*.less', ['css']);

	gulp.watch([
		'bower_components/jquery/dist/jquery.js',
		'bower_components/bootstrap/dist/js/bootstrap.js',
		'js/owl.carousel.js',
		'js/custom.js'
	], ['scripts'] 
	);

	gulp.watch('src/*', ['images']);
});