diff --git a/gulpfile.js b/gulpfile.js index 694a5184..d0dfa14b 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -2,10 +2,13 @@ var gulp = require('gulp'); var prettify = require('gulp-jsbeautifier'); +var electron = require('electron-connect').server.create({ + path: './src' +}); var packager = require('electron-packager'); var packageJson = require('./src/package.json'); -var sources = ['**/*.js', '**/*.css', '**/*.html', '!node_modules/**', '!release/**']; +var sources = ['**/*.js', '**/*.css', '**/*.html', '!**/node_modules/**', '!release/**']; gulp.task('prettify', function() { gulp.src(sources) @@ -24,6 +27,15 @@ gulp.task('prettify', function() { .pipe(gulp.dest('.')); }); +gulp.task('serve', function() { + var options = ['--livereload']; + electron.start(options); + gulp.watch(sources, function() { + electron.broadcast('stop'); + electron.restart(options); + }); +}); + gulp.task('package', function() { packager({ dir: './src', @@ -32,6 +44,7 @@ gulp.task('package', function() { arch: 'all', version: '0.33.6', out: './release', + prune: true, overwrite: true }, function(err, appPath) { if (err) { diff --git a/package.json b/package.json index 68d80e58..08495000 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,11 @@ "main": "main.js", "author": "Yuya Ochiai", "license": "MIT", + "scripts": { + "postinstall": "cd src && npm install" + }, "devDependencies": { + "electron-connect": "^0.3.3", "electron-packager": "^5.1.0", "gulp": "^3.9.0", "gulp-jsbeautifier": "^1.0.1" diff --git a/src/main.js b/src/main.js index 17322a32..b94f4f5b 100644 --- a/src/main.js +++ b/src/main.js @@ -5,6 +5,14 @@ var BrowserWindow = require('browser-window'); // Module to create native browse var Menu = require('menu'); var appMenu = require('./app-menu'); +var client = null; +if (process.argv.indexOf('--livereload') > 0) { + client = require('electron-connect').client.create(); + client.on('stop', function() { + app.quit(); + }); +} + // Keep a global reference of the window object, if you don't, the window will // be closed automatically when the JavaScript object is garbage collected. var mainWindow = null; diff --git a/src/package.json b/src/package.json index d7879911..0057b3de 100644 --- a/src/package.json +++ b/src/package.json @@ -4,5 +4,8 @@ "description": "", "main": "main.js", "author": "Yuya Ochiai", - "license": "MIT" + "license": "MIT", + "devDependencies": { + "electron-connect": "^0.3.3" + } }