-
Notifications
You must be signed in to change notification settings - Fork 1
/
gulpfile.coffee
69 lines (63 loc) · 1.8 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
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
gulp = require "gulp"
jasmine = require "gulp-jasmine"
istanbul = require "gulp-coffee-istanbul"
cslint = require "gulp-cslint"
codecov = require "gulp-codecov"
require "coffee-register"
gulp.task "test", () ->
gulp.src(["logic.coffee", "main.coffee"])
.pipe(istanbul())
.pipe(istanbul.hookRequire())
.on("finish", () ->
gulp.src(["spec/*.coffee"])
.pipe(jasmine(
verbose: true,
includeStackTrace: true
))
.pipe(istanbul.writeReports(
reporters: ["text", "text-summary", "html"]
))
)
gulp.task "lint", () ->
opts =
globals: [
"beforeEach",
"console",
"clearInterval"
"del",
"describe",
"expect",
"exports",
"global",
"it",
"jasmine",
"Objects",
"pending",
"require",
"setInterval"
]
rules:
"strict": "off",
"global-strict": "off",
"no-console": "allow"
"no-return-assignment": "allow"
"no-shadow": "allow"
"no-undef": "allow"
"no-unused-expressions": "allow"
gulp.src(["*.coffee", "spec/*.coffee"])
.pipe(cslint(opts))
.pipe(cslint.format())
.pipe(cslint.failOnError())
.pipe(codecov())
gulp.task "default", ["test", "lint"]