-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.coffee
92 lines (74 loc) · 2.27 KB
/
gulpfile.coffee
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
gulp = require 'gulp'
jade = require 'gulp-jade'
sass = require 'gulp-sass'
babel = require 'gulp-babel'
watch = require 'gulp-watch'
coffee = require 'gulp-coffee'
cached = require 'gulp-cached'
notify = require 'gulp-notify'
plumber = require 'gulp-plumber'
#-- for renderer process -------------------------------------------------------
rendererDir = './renderer'
jadeInput = "#{rendererDir}/**/*.jade"
sassInput = "#{rendererDir}/**/*.scss"
jadeOutput = rendererDir
sassOutput = rendererDir
jadeOptions =
debug: false
pretty: false
basedir: rendererDir
sassOptions =
outputStyle: 'compressed'
sourceComments: false
gulp.task 'jade', ->
gulp
.src(jadeInput)
.pipe(plumber(errorHandler: notify.onError('<%= error.message %>')))
.pipe(cached('jade'))
.pipe(jade(jadeOptions))
.pipe(gulp.dest(jadeOutput))
gulp.task 'sass', ->
gulp
.src(sassInput)
.pipe(plumber(errorHandler: notify.onError('<%= error.message %>')))
.pipe(cached('sass'))
.pipe(sass(sassOptions))
.pipe(gulp.dest(sassOutput))
#-- for main process -----------------------------------------------------------
mainDir = './main'
babelInput = "#{mainDir}/**/*.jsx"
coffeeInput = "#{mainDir}/**/*.coffee"
babelOutput = mainDir
coffeeOutput = mainDir
babelOptions =
stage: 0
blacklist: [
'regenerator'
]
coffeeOptions =
bare: true
gulp.task 'babel', ->
gulp
.src(babelInput)
.pipe(plumber(errorHandler: notify.onError('<%= error.message %>')))
.pipe(cached('babel'))
.pipe(babel(babelOptions))
.pipe(gulp.dest(babelOutput))
gulp.task 'coffee', ->
gulp
.src(coffeeInput)
.pipe(plumber(errorHandler: notify.onError('<%= error.message %>')))
.pipe(cached('coffee'))
.pipe(coffee(coffeeOptions))
.pipe(gulp.dest(coffeeOutput))
#-- for development ------------------------------------------------------------
gulp.task 'watch', ->
watch(jadeInput, -> gulp.start 'jade')
watch(sassInput, -> gulp.start 'sass')
watch(babelInput, -> gulp.start 'babel')
watch(coffeeInput, -> gulp.start 'coffee')
return
#-- aliases --------------------------------------------------------------------
gulp.task 'compile', ['jade', 'sass', 'babel', 'coffee']
gulp.task 'develop', ['compile', 'watch']
gulp.task 'default', ['develop']