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 @@ - + Kitematic - + diff --git a/package.json b/package.json index a9db93d138..a899b9bd9c 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "Kitematic", "version": "0.5.1", "author": "Kitematic", - "description": "Simple Docker App management for Mac OS X.", + "description": "Simple Docker Container management for Mac OS X.", "homepage": "https://kitematic.com/", "main": "browser/main.js", "repository": { @@ -12,7 +12,7 @@ "bugs": "https://github.com/kitematic/kitematic/issues", "scripts": { "start": "gulp", - "test": "NODE_PATH=./cache/Atom.app/Contents/Resources/atom/renderer/api/lib:$NODE_PATH jest", + "test": "jest", "release": "gulp release", "release:beta": "gulp release --beta", "preinstall": "./deps", @@ -64,42 +64,28 @@ "react-router": "^0.11.6", "request": "^2.53.0", "request-progress": "^0.3.1", - "retina.js": "^1.1.0", "rimraf": "^2.2.8", "underscore": "^1.7.0" }, "devDependencies": { "babel": "^4.0.1", - "browserify": "^6.2.0", - "ecstatic": "^0.5.8", - "glob": "^4.0.6", "gulp": "^3.8.10", "gulp-babel": "^4.0.0", - "gulp-atom": "0.0.5", + "gulp-changed": "^1.1.1", "gulp-concat": "^2.3.4", "gulp-cssmin": "^0.1.6", "gulp-download-atom-shell": "0.0.4", "gulp-if": "^1.2.4", - "gulp-imagemin": "^2.0.0", "gulp-less": "^2.0.1", "gulp-livereload": "^2.1.1", - "gulp-notify": "^1.4.2", "gulp-plumber": "^0.6.6", "gulp-react": "^2.0.0", "gulp-shell": "^0.2.11", "gulp-sourcemaps": "^1.2.8", - "gulp-streamify": "0.0.5", - "gulp-uglify": "^0.3.1", - "gulp-uglifyjs": "^0.5.0", "gulp-util": "^3.0.0", "jest-cli": "^0.2.2", - "merge-stream": "^0.1.7", + "jsxhint": "^0.12.1", "react-tools": "^0.12.2", - "reactify": "^0.15.2", - "regenerator": "^0.8.9", - "run-sequence": "^1.0.2", - "time-require": "^0.1.2", - "vinyl-source-stream": "^0.1.1", - "watchify": "^2.1.1" + "run-sequence": "^1.0.2" } } diff --git a/src/Main.js b/src/Main.js index 06d4ed4bce..447ce3c3e4 100644 --- a/src/Main.js +++ b/src/Main.js @@ -9,11 +9,14 @@ var router = require('./router'); var boot2docker = require('./boot2docker'); var ContainerStore = require('./ContainerStore'); var SetupStore = require('./SetupStore'); -var MenuTemplate = require('./MenuTemplate'); -var Menu = remote.require('menu'); var metrics = require('./Metrics'); var settingsjson; +var MenuTemplate = require('./MenuTemplate'); +var Menu = remote.require('menu'); +var menu = Menu.buildFromTemplate(MenuTemplate); +Menu.setApplicationMenu(menu); + try { settingsjson = JSON.parse(fs.readFileSync(path.join(__dirname, '..', 'settings.json'), 'utf8')); } catch (err) { @@ -46,9 +49,6 @@ bugsnag.beforeNotify = function(payload) { payload.url = ''; }; -var menu = Menu.buildFromTemplate(MenuTemplate); -Menu.setApplicationMenu(menu); - document.onkeydown = function (e) { e = e || window.event; var doPrevent; diff --git a/src/index.js b/src/index.js deleted file mode 100644 index 7e8c90d9d2..0000000000 --- a/src/index.js +++ /dev/null @@ -1,2 +0,0 @@ -require.main.paths.splice(0, 0, process.env.NODE_PATH); -require('./Main');