-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.js
57 lines (51 loc) · 1.69 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
const gulp = require('gulp');
const rename = require("gulp-rename");
const browserify = require("browserify");
const source = require("vinyl-source-stream");
const $ = require('gulp-load-plugins')();
const electron = require('electron-connect').server.create();
const sass = require('gulp-sass');
const autoprefixer = require('gulp-autoprefixer');
const ejs = require( 'gulp-ejs' );
// es6ファイルのコンパイル
gulp.task('es6', () => {
browserify({entries: ["./src/es6/main.es6"]})
.transform("babelify", {presets: ["es2015"]})
.bundle()
.pipe(source("main.js"))
.pipe(gulp.dest("./dist/js"));
});
// htmlファイルコピー
gulp.task('html', () => {
gulp.src('./src/**/*.html')
.pipe(gulp.dest("./dist"));
});
// ejsファイルのコンパイル
gulp.task("ejs", () => {
gulp.src(['./src/**/*.ejs', '!./src/**/_*.ejs'])
.pipe(ejs())
.pipe(rename({extname: '.html'}))
.pipe(gulp.dest("./dist"))
});
// ライブラリコピー
gulp.task('lib', () => {
gulp.src('./src/lib/**/*')
.pipe(gulp.dest("./dist"));
});
// Sassファイルのコンパイル
gulp.task('sass', () => {
gulp.src(['./src/sass/**/*.scss', '!./src/sass/**/_*.scss'])
.pipe(autoprefixer())
.pipe(sass({outputStyle: 'expanded'}))
.pipe(gulp.dest('./dist/css'));
});
// コンパイルしてElectron起動
gulp.task('start', ['es6', 'ejs', 'sass', 'lib'], () => {
electron.start();
gulp.watch('src/**/*.es6', ['es6']);
gulp.watch('src/**/*.ejs', ['ejs']);
gulp.watch('src/**/*.scss', ['sass']);
gulp.watch('src/lib/**/*', ['lib']);
gulp.watch(['electron.js'], electron.restart);
gulp.watch(['dist/**/*'], electron.reload);
});