-
Notifications
You must be signed in to change notification settings - Fork 29
/
Copy pathGulpfile.coffee
58 lines (49 loc) · 1.45 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
gulp = require 'gulp'
$ = require('gulp-load-plugins')()
# The order of files is important!
sources = [
'src/globals.coffee',
'src/util.coffee',
'src/base.coffee',
'src/fermentable.coffee',
'src/spice.coffee',
'src/yeast.coffee',
'src/mashStep.coffee',
'src/mash.coffee',
'src/**/*.coffee'
]
gulp.task 'compile', ->
gulp.src 'test/**/*.coffee'
.pipe $.coffee(bare: true)
.pipe gulp.dest('test')
gulp.src sources
.pipe $.coffeelint(max_line_length: {value: 120, level: 'warn'})
.pipe $.coffeelint.reporter()
.pipe $.concat('brauhaus.js')
.pipe $.coffee(bare: true)
.pipe gulp.dest('lib')
.pipe $.rename('brauhaus.min.js')
.pipe $.uglify(preserveComments: 'some')
.pipe gulp.dest('dist')
gulp.task 'watch', ->
gulp.watch 'src/**/*.coffee', ['compile']
gulp.task 'test', ['compile'], ->
if process.env.CI
gulp.src 'test/test.html'
.pipe $.mochaPhantomjs()
gulp.src 'test/**/*.coffee', read: false
.pipe $.mocha(reporter: 'spec')
gulp.task 'coverage', ['compile'], (done) ->
gulp.src 'lib/**/*.js'
.pipe $.istanbul()
.on 'finish', ->
gulp.src 'test/**/*.coffee', read: false
.pipe $.mocha(reporter: 'dot')
.pipe $.istanbul.writeReports
reporters: ['text-summary', 'html', 'lcovonly']
.on 'end', done
return
gulp.task 'coveralls', ['coverage'], ->
gulp.src 'coverage/lcov.info'
.pipe $.coveralls()
gulp.task 'default', ['compile', 'watch']