-
Notifications
You must be signed in to change notification settings - Fork 2
/
gulpfile.js
executable file
·50 lines (39 loc) · 1.43 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
const gulp = require('gulp');
const typescript = require('gulp-tsc');
const path = require("path");
const electronConnect = require("electron-connect");
const electron = electronConnect.server.create({
path: path.join(process.cwd(), 'dist/electron', 'electron.js')
});
const options = {
pattern: ['tasks/**/*.js']
};
require('load-gulp-tasks')(gulp, options, {});
gulp.task('default', [
'build.default'
]);
gulp.task('build.default', ['build.watch']);
gulp.task('build.electron', () => {
return gulp.src(['src/electron/*.ts'])
.pipe(typescript())
.pipe(gulp.dest('dist/'));
});
gulp.task('build.watch', () => {
electron.start();
return gulp.watch(path.join(process.cwd(), '/dist/**.*'), [
'build.npm.copy',
'build.restart'
]);
});
gulp.task('build.restart', electron.restart);
gulp.task('bundle.clean', () => {
console.log(path.join(process.cwd(), 'dist', 'electron.js'));
return gulp.src(path.join(process.cwd(), 'dist', 'electron.js'))
.pipe(replace('var electron_connect_1 = require("electron-connect");', '', { logs: { enabled: true }}))
.pipe(replace('electron_connect_1.client.create(applicationRef);', '', { logs: { enabled: true }}))
.pipe(gulp.dest(path.join(process.cwd(), '/dist')));
});
gulp.task('build.npm.copy', () => {
return gulp.src(path.join(process.cwd(), 'package.json'))
.pipe(gulp.dest(path.join(process.cwd(), '/dist/')));
});