Skip to content

Instantly share code, notes, and snippets.

@ahonymous
Created November 26, 2017 08:12
Show Gist options
  • Save ahonymous/88f9b9bab0bda4891960bb58dd94743b to your computer and use it in GitHub Desktop.
Save ahonymous/88f9b9bab0bda4891960bb58dd94743b to your computer and use it in GitHub Desktop.
'use strict';
var gulp = require('gulp'),
concat = require('gulp-concat'),
uglify = require('gulp-uglify'),
autoprefixer = require('gulp-autoprefixer'),
sass = require('gulp-sass'),
minifyCss = require('gulp-minify-css'),
del = require('del'),
imagemin = require('gulp-imagemin'),
sourcemaps = require('gulp-sourcemaps'),
babel = require('gulp-babel'),
browserSync = require('browser-sync').create(),
util = require('gulp-util');
gulp.task('default', ['clean'], function() {
// gulp.start('fonts', 'sass', 'js', 'images', 'scripts');
gulp.start('sass', 'js', 'scripts');
});
gulp.task('clean', function () {
del(['sass', 'js', 'scripts'/*, 'images'*/]);
});
gulp.task('sass', function () {
return gulp.src([
'assets/scss/main.scss'
])
.pipe(sourcemaps.init(''))
.pipe(sass().on('error', sass.logError))
.on('error', browserifyHandler)
.pipe(autoprefixer())
.pipe(minifyCss({
keepSpecialComments: 0
}))
.pipe(sourcemaps.write(''))
.pipe(gulp.dest('web/css'))
.pipe(browserSync.stream());
});
gulp.task('js', function () {
return gulp.src([
'node_modules/jquery/dist/jquery.min.js',
'node_modules/bootstrap-sass/assets/javascripts/bootstrap.min.js'
])
.pipe(concat('app.js'))
.pipe(gulp.dest('web/js/'));
});
gulp.task('scripts', function() {
return gulp.src([
'assets/js/**/*.js'
])
.pipe(sourcemaps.init())
.pipe(babel())
.on('error', browserifyHandler)
.on('error', browserifyHandler)
.pipe(uglify())
.pipe(sourcemaps.write("."))
.pipe(gulp.dest('web/js'))
.pipe(browserSync.stream());
});
function browserifyHandler(err) {
util.log(util.colors.red('Error: ' + err.message));
this.end();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment