-
Notifications
You must be signed in to change notification settings - Fork 0
/
Gruntfile.js
127 lines (114 loc) · 2.56 KB
/
Gruntfile.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
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
module.exports = function( grunt ) {
"use strict";
function readOptionalJSON( filepath ) {
var data = {};
try {
data = grunt.file.readJSON( filepath );
} catch ( e ) {}
return data;
}
var srcHintOptions = readOptionalJSON( "src/.jshintrc" );
// The concatenated file won't pass onevar
// But our modules can
delete srcHintOptions.onevar;
grunt.initConfig( {
blanket_qunit: {
all: {
options: {
urls: ['tests/index.html?coverage=true&gruntReport'],
threshold: 20
}
}
},
qunit: {
all: {
options: {
urls: [
"http://localhost:<%= connect.server.options.port %>/tests/index.html?coverage=true&lcovReport"
]
}
}
},
coveralls: {
options: {
force: false,
src: "coverage-results/core.lcov"
},
},
connect: {
server: {
options: {
port: 8085,
base:"."
}
}
},
jshint: {
all: {
src: [
"src/*.js", "Gruntfile.js", "test/**/*.js"
],
options: {
jshintrc: true
}
},
dist: {
src: "dist/noa.js",
options: srcHintOptions
}
},
jscs: {
src: "src/**/*.js",
gruntfile: "Gruntfile.js",
// Right now, check only test helpers
test: [ "test/data/testrunner.js" ],
release: [ "build/*.js", "!build/release-notes.js" ],
tasks: "build/tasks/*.js"
},
watch: {
files: [ "<%= jshint.all.src %>" ],
tasks: [ "dev" ]
},
uglify: {
all: {
files: {
"dist/noa.min.js": [ "dist/noa.js" ]
},
options: {
preserveComments: false,
sourceMap: true,
sourceMapName: "dist/noa.min.map",
report: "min",
beautify: {
"ascii_only": true
},
banner: "/*! noa v<%= pkg.version %> | " +
"(c) noajs | noajs.org/license */",
compress: {
"hoist_funs": false,
loops: false,
unused: false
}
}
}
}
} );
// Load grunt tasks from NPM packages
grunt.loadNpmTasks('grunt-contrib-connect');
grunt.loadNpmTasks("grunt-contrib-jshint");
grunt.loadNpmTasks("grunt-contrib-watch");
grunt.loadNpmTasks("grunt-contrib-uglify");
grunt.loadNpmTasks("grunt-contrib-qunit");
grunt.loadNpmTasks('grunt-blanket-qunit');
grunt.loadNpmTasks('grunt-coveralls');
grunt.registerTask( "lint", [ "jshint", "jscs" ] );
grunt.registerTask( "test", [ "connect","qunit" ] );
grunt.registerTask( "dev", [ "lint", "uglify" ] );
grunt.registerTask( "default", ["jshint", "qunit"]);
grunt.event.on('qunit.report', function(data) {
grunt.file.write('coverage-results/core.lcov', data);
});
grunt.event.on('qunit.done', function(){
grunt.log.ok("DONE")
})
};