-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathgulpfile.js
68 lines (57 loc) · 1.91 KB
/
gulpfile.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
'use strict';
var gulp = require('gulp');
var livereload = require('gulp-livereload');
var path = require('path');
var semverRegex = require('semver-regex');
var resolve = path.resolve;
gulp.task('clean-build', function() {
return require('rimraf').sync(resolve(__dirname, 'build'));
});
gulp.task('build', ['clean-build'], function() {
var electron = require('gulp-electron');
var packageJson = require('./package.json');
var matches = packageJson.devDependencies['electron'].match(semverRegex());
return gulp.src('')
.pipe(electron({
src: './src',
packageJson: packageJson,
release: './build',
cache: './cache',
version: 'v' + matches[0],
packaging: true,
asar: true,
platforms: [
'darwin-x64'
],
platformResources: {
darwin: {
CFBundleDisplayName: packageJson.name,
CFBundleIdentifier: packageJson.name,
CFBundleName: packageJson.name,
CFBundleVersion: packageJson.version,
icon: './src/images/aerolab.icns'
}
}
}))
.pipe(gulp.dest(''));
});
gulp.task('dev', function(cb) {
livereload.listen({port: 35729});
gulp.watch('src/*', function(event) {
gulp.src('src/*').pipe(livereload());
});
var isWin = /^win/.test(process.platform);
const electronProcess = require('child_process')
.exec((isWin ? 'sh' : 'node') + ' ./node_modules/.bin/electron ./src/', {
cwd: __dirname,
env: Object.assign( {}, process.env, {
NODE_ENV: 'dev'
})
}, cb);
electronProcess.stdout.on('data', function(data) {
console.log(data);
});
electronProcess.stderr.on('data', function (data) {
console.log('stderr: ' + data.toString());
});
});