-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgulpfile.coffee
More file actions
80 lines (68 loc) · 1.74 KB
/
gulpfile.coffee
File metadata and controls
80 lines (68 loc) · 1.74 KB
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
'use strict'
path = require 'path'
gulp = require 'gulp'
mocha = require 'gulp-mocha'
istanbul = require 'gulp-istanbul'
nsp = require 'gulp-nsp'
plumber = require 'gulp-plumber'
coveralls = require 'gulp-coveralls'
coffee = require 'gulp-coffee'
cache = require 'gulp-cached'
gutil = require 'gulp-util'
del = require 'del'
coffeelint = require 'gulp-coffeelint'
excludeGitignore = require 'gulp-exclude-gitignore'
gulp.task 'nsp', (cb) ->
nsp { package: path.resolve('package.json') }, cb
return
gulp.task 'clean', (done)->
del [
'lib'
], done
gulp.task 'coffeelint', ['clean'], ->
gulp.src 'src/**/*.coffee'
.pipe cache( 'js' )
.pipe coffeelint()
.pipe(coffeelint.reporter())
.pipe(coffeelint.reporter('fail'))
.pipe gutil.noop()
gulp.task 'compile', ['coffeelint'], ->
gulp.src(['src/**/*.coffee'])
.pipe coffee()
.pipe gulp.dest 'lib'
gulp.task 'pre-test', ['compile'], ->
gulp.src 'lib/**/*.js'
.pipe excludeGitignore()
.pipe istanbul(includeUntested: true)
.pipe istanbul.hookRequire()
gulp.task 'test', [ 'pre-test' ], () ->
mochaErr = undefined
gulp.src(['test/**/*.js'], { read: false })
.pipe plumber()
.pipe mocha({
timeout: 120000
reporter: 'spec'
recursive: true
})
.on 'error', (err) ->
mochaErr = err
gutil.log
return
.pipe(istanbul.writeReports()).on 'end', ->
cb mochaErr
return
gulp.task 'watch', ->
gulp.watch [
'lib/**/*.js'
'test/**'
], [ 'test' ]
return
gulp.task 'coveralls', [ 'test' ], ->
if !process.env.CI
return
gulp.src(path.join(__dirname, 'coverage/lcov.info')).pipe coveralls()
gulp.task 'prepublish', [ 'nsp' ]
gulp.task 'default', [
'test'
'coveralls'
]