Snippets

Alexey ilyaskin Gulp template

Created by Alexey ilyaskin
var path = require('path'),
	gulp = require('gulp'),
	minifycss = require('gulp-minify-css'),
	uglify = require('gulp-uglify'),
	concat = require('gulp-concat'),
	del = require('del'),
	dest = 'public/build';

gulp.task('default', ['clean'], function() {
	gulp.start('styles', 'scripts');

	gulp.watch('public/css/**', ['styles']);

	gulp.watch('public/js/**', ['scripts']);
});

gulp.task('clean', function(cb) {
	del([dest + '/*', '!' + dest + '/.gitignore'], cb);
});

gulp.task('styles', function() {
	gulp.src([
		'public/css/styles.css'
	])
		.pipe(minifycss({
			keepSpecialComments: 0,
			rebase: true,
			relativeTo: path.join(process.cwd(), dest),
			target: path.join(process.cwd(), dest)
		}))
		.pipe(concat('styles.min.css'))
		.pipe(gulp.dest(dest));
});

gulp.task('scripts', function() {
	gulp.src(
		[
			'public/js/scripts.js'
		]
	)
		.pipe(uglify({
			preserveComments: 'some'
		}))
		.pipe(concat('scripts.min.js'))
		.pipe(gulp.dest(dest));
});
{
  "name": "package-name",
  "version": "1.0.0",
  "devDependencies": {
    "gulp": "^3.8.11",
    "del": "^1.1.1",
    "gulp-minify-css": "^1.0.0",
    "gulp-concat": "^2.5.2",
    "gulp-uglify": "^1.1.0"
  }
}

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.