mirror of
https://github.com/ZetaKebab/kesper.git
synced 2025-07-01 17:37:37 +00:00
Updated gulp to handle errors for every stream (#500)
no-issue Previously we only added an error handler to the first stream in each pipeline, this meant that if another stream errors you would get unhelpful error handlers.
This commit is contained in:

committed by
Kevin Ansfield

parent
0171b3e05b
commit
273e987240
74
gulpfile.js
74
gulpfile.js
@ -1,13 +1,14 @@
|
||||
var gulp = require('gulp');
|
||||
var pump = require('pump');
|
||||
|
||||
// gulp plugins and utils
|
||||
var gutil = require('gulp-util');
|
||||
var livereload = require('gulp-livereload');
|
||||
var postcss = require('gulp-postcss');
|
||||
var sourcemaps = require('gulp-sourcemaps');
|
||||
var zip = require('gulp-zip');
|
||||
var uglify = require('gulp-uglify');
|
||||
var filter = require('gulp-filter');
|
||||
var beeper = require('beeper');
|
||||
|
||||
// postcss plugins
|
||||
var autoprefixer = require('autoprefixer');
|
||||
@ -16,23 +17,26 @@ var cssnano = require('cssnano');
|
||||
var customProperties = require('postcss-custom-properties');
|
||||
var easyimport = require('postcss-easy-import');
|
||||
|
||||
var swallowError = function swallowError(error) {
|
||||
gutil.log(error.toString());
|
||||
gutil.beep();
|
||||
this.emit('end');
|
||||
};
|
||||
|
||||
var nodemonServerInit = function () {
|
||||
livereload.listen(1234);
|
||||
};
|
||||
|
||||
function handleError(done) {
|
||||
return function (err) {
|
||||
if (err) {
|
||||
beeper();
|
||||
}
|
||||
return done(err);
|
||||
};
|
||||
}
|
||||
|
||||
gulp.task('build', ['css', 'js'], function (/* cb */) {
|
||||
return nodemonServerInit();
|
||||
});
|
||||
|
||||
gulp.task('generate', ['css', 'js']);
|
||||
|
||||
gulp.task('css', function () {
|
||||
gulp.task('css', function (done) {
|
||||
var processors = [
|
||||
easyimport,
|
||||
customProperties,
|
||||
@ -41,45 +45,49 @@ gulp.task('css', function () {
|
||||
cssnano()
|
||||
];
|
||||
|
||||
return gulp.src('assets/css/*.css')
|
||||
.on('error', swallowError)
|
||||
.pipe(sourcemaps.init())
|
||||
.pipe(postcss(processors))
|
||||
.pipe(sourcemaps.write('.'))
|
||||
.pipe(gulp.dest('assets/built/'))
|
||||
.pipe(livereload());
|
||||
pump([
|
||||
gulp.src('assets/css/*.css'),
|
||||
sourcemaps.init(),
|
||||
postcss(processors),
|
||||
sourcemaps.write('.'),
|
||||
gulp.dest('assets/built/'),
|
||||
livereload()
|
||||
], handleError(done));
|
||||
});
|
||||
|
||||
gulp.task('js', function () {
|
||||
gulp.task('js', function (done) {
|
||||
var jsFilter = filter(['**/*.js'], {restore: true});
|
||||
|
||||
return gulp.src('assets/js/*.js')
|
||||
.on('error', swallowError)
|
||||
.pipe(sourcemaps.init())
|
||||
.pipe(jsFilter)
|
||||
.pipe(uglify())
|
||||
.pipe(jsFilter.restore)
|
||||
.pipe(sourcemaps.write('.'))
|
||||
.pipe(gulp.dest('assets/built/'))
|
||||
.pipe(livereload());
|
||||
pump([
|
||||
gulp.src('assets/js/*.js'),
|
||||
sourcemaps.init(),
|
||||
jsFilter,
|
||||
uglify(),
|
||||
jsFilter.restore,
|
||||
sourcemaps.write('.'),
|
||||
gulp.dest('assets/built/'),
|
||||
livereload()
|
||||
], handleError(done));
|
||||
});
|
||||
|
||||
gulp.task('watch', function () {
|
||||
gulp.watch('assets/css/**', ['css']);
|
||||
});
|
||||
|
||||
gulp.task('zip', ['css', 'js'], function () {
|
||||
gulp.task('zip', ['css', 'js'], function (done) {
|
||||
var targetDir = 'dist/';
|
||||
var themeName = require('./package.json').name;
|
||||
var filename = themeName + '.zip';
|
||||
|
||||
return gulp.src([
|
||||
'**',
|
||||
'!node_modules', '!node_modules/**',
|
||||
'!dist', '!dist/**'
|
||||
])
|
||||
.pipe(zip(filename))
|
||||
.pipe(gulp.dest(targetDir));
|
||||
pump([
|
||||
gulp.src([
|
||||
'**',
|
||||
'!node_modules', '!node_modules/**',
|
||||
'!dist', '!dist/**'
|
||||
]),
|
||||
zip(filename),
|
||||
gulp.dest(targetDir)
|
||||
], handleError(done));
|
||||
});
|
||||
|
||||
gulp.task('default', ['build'], function () {
|
||||
|
Reference in New Issue
Block a user