diff --git a/gulpfile.js b/gulpfile.js index 937b8a1cd8..e1efcc3c8c 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -14,6 +14,7 @@ var runSequence = require('run-sequence'); var shell = require('gulp-shell'); var sourcemaps = require('gulp-sourcemaps'); var packagejson = require('./package.json'); +var changed = require('gulp-changed'); var dependencies = Object.keys(packagejson.dependencies); var isBeta = process.argv.indexOf('--beta') !== -1; @@ -27,8 +28,7 @@ try { settings.beta = isBeta; var options = { - dev: process.argv.indexOf('release') === -1 && process.argv.indexOf('test') === -1, - test: process.argv.indexOf('test') !== -1, + dev: process.argv.indexOf('release') === -1, beta: isBeta, filename: isBeta ? 'Kitematic (Beta).app' : 'Kitematic.app', name: isBeta ? 'Kitematic (Beta)' : 'Kitematic', @@ -37,21 +37,22 @@ var options = { gulp.task('js', function () { return gulp.src('src/**/*.js') + .pipe(gulpif(options.dev, changed('./build'))) .pipe(plumber(function(error) { gutil.log(gutil.colors.red('Error (' + error.plugin + '): ' + error.message)); - // emit the end event, to properly end the task this.emit('end'); })) - .pipe(gulpif(options.dev || options.test, sourcemaps.init())) + .pipe(gulpif(options.dev, sourcemaps.init())) .pipe(react()) .pipe(babel({blacklist: ['regenerator']})) - .pipe(gulpif(options.dev || options.test, sourcemaps.write('.'))) - .pipe(gulp.dest((options.dev || options.test) ? './build' : './dist/osx/' + options.filename + '/Contents/Resources/app/build')) + .pipe(gulpif(options.dev, sourcemaps.write('.'))) + .pipe(gulp.dest(options.dev ? './build' : './dist/osx/' + options.filename + '/Contents/Resources/app/build')) .pipe(gulpif(options.dev, livereload())); }); gulp.task('images', function() { return gulp.src('images/*') + .pipe(gulpif(options.dev, changed('./build'))) .pipe(gulp.dest(options.dev ? './build' : './dist/osx/' + options.filename + '/Contents/Resources/app/build')) .pipe(gulpif(options.dev, livereload())); }); @@ -63,6 +64,7 @@ gulp.task('styles', function () { // emit the end event, to properly end the task this.emit('end'); })) + .pipe(gulpif(options.dev, changed('./build'))) .pipe(gulpif(options.dev, sourcemaps.init())) .pipe(less()) .pipe(gulpif(options.dev, sourcemaps.write())) @@ -85,13 +87,14 @@ gulp.task('copy', function () { .pipe(gulpif(options.dev, livereload())); gulp.src('fonts/**') + .pipe(gulpif(options.dev, changed('./build'))) .pipe(gulp.dest(options.dev ? './build' : './dist/osx/' + options.filename + '/Contents/Resources/app/build')) .pipe(gulpif(options.dev, livereload())); }); gulp.task('dist', function () { var stream = gulp.src('').pipe(shell([ - 'rm -Rf ./dist', + 'rm -Rf dist', 'mkdir -p ./dist/osx', 'cp -R ./cache/Atom.app ./dist/osx/<%= filename %>', 'mv ./dist/osx/<%= filename %>/Contents/MacOS/Atom ./dist/osx/<%= filename %>/Contents/MacOS/<%= name %>', @@ -168,13 +171,12 @@ gulp.task('release', function () { }); gulp.task('default', ['download', 'copy', 'js', 'images', 'styles'], function () { - gulp.watch('src/**/*.js', ['js']); + livereload.listen(); + gulp.watch('src/**/*.js', ['js', function () {livereload();}]); gulp.watch('index.html', ['copy']); gulp.watch('styles/**/*.less', ['styles']); gulp.watch('images/**', ['images']); - livereload.listen(); - var env = process.env; env.NODE_ENV = 'development'; gulp.src('').pipe(shell(['./cache/Atom.app/Contents/MacOS/Atom .'], { diff --git a/index.html b/index.html index c06e352ed7..b82c39c654 100644 --- a/index.html +++ b/index.html @@ -3,10 +3,10 @@
- +