diff --git a/gulpfile.js b/gulpfile.js index 55cf78a295a..8606e256c04 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,4 +1,5 @@ const fs = require('fs') +const cp = require('child_process') const path = require('path') const gulp = require('gulp') const postcss = require('gulp-postcss') @@ -62,7 +63,7 @@ const css = { const common = { clean () { - return del(outputPath) + return del(['./static/**/*', '!./static/yarn.lock', '!./static/node_modules']) }, syncResourceFile () { @@ -74,6 +75,20 @@ const common = { } } +exports.electron = () => { + if (!fs.existsSync(path.join(outputPath, 'node_modules'))) { + cp.execSync('yarn', { + cwd: outputPath, + stdio: 'inherit' + }) + } + + cp.execSync('yarn electron:dev', { + cwd: outputPath, + stdio: 'inherit' + }) +} + exports.clean = common.clean exports.watch = gulp.parallel(common.keepSyncResourceFile, css.watchCSS) exports.build = gulp.series(common.clean, common.syncResourceFile, css.buildCSS) diff --git a/package.json b/package.json index 7735b52a39f..26852af50e8 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "release-app": "run-s gulp:build cljs:release-app", "release-publishing": "run-s gulp:build cljs:release-publishing", "dev-release-app": "run-s gulp:build cljs:dev-release-app", - "dev-electron-app": "cd static/ && yarn && yarn electron:dev", + "dev-electron-app": "gulp electron", "debug-electron-app": "cd static/ && yarn electron:debug", "clean": "gulp clean", "test": "run-s cljs:test cljs:run-test",