From 4fa18d4454a3b0b69a7b61225c143badb530fb99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Thu, 28 Sep 2017 15:35:15 +0200 Subject: [PATCH] Gulp: added 'cleanup' task that erases all gulp-generated files. This runs automatically when using --production --- gulpfile.js | 21 +++++++++++++++++++-- package.json | 1 + 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index f57b272..49915fb 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -2,6 +2,7 @@ var argv = require('minimist')(process.argv.slice(2)); var autoprefixer = require('gulp-autoprefixer'); var chmod = require('gulp-chmod'); var concat = require('gulp-concat'); +var git = require('gulp-git'); var gulp = require('gulp'); var gulpif = require('gulp-if'); var jade = require('gulp-jade'); @@ -18,7 +19,8 @@ var enabled = { maps: argv.production, failCheck: argv.production, prettyPug: !argv.production, - liveReload: !argv.production + liveReload: !argv.production, + cleanup: argv.production, }; var destination = { @@ -99,6 +101,21 @@ gulp.task('watch',function() { gulp.watch('src/scripts/tutti/*.js',['scripts_tutti']); }); +// Erases all generated files in output directories. +gulp.task('cleanup', function() { + var paths = []; + for (attr in destination) { + paths.push(destination[attr]); + } + + git.clean({ args: '-f -X ' + paths.join(' ') }, function (err) { + if(err) throw err; + }); + +}); + // Run 'gulp' to build everything at once -gulp.task('default', ['styles', 'templates', 'scripts', 'scripts_tutti']); +var tasks = []; +if (enabled.cleanup) tasks.push('cleanup'); +gulp.task('default', tasks.concat(['styles', 'templates', 'scripts', 'scripts_tutti'])); diff --git a/package.json b/package.json index c504efb..c66fb39 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "gulp-chmod": "~1.3.0", "gulp-concat": "~2.6.0", "gulp-if": "^2.0.1", + "gulp-git": "~2.4.2", "gulp-jade": "~1.1.0", "gulp-livereload": "~3.8.1", "gulp-plumber": "~1.1.0",