This repository has been archived by the owner on Jul 6, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 10
/
Gruntfile.js
81 lines (75 loc) · 1.87 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
module.exports = function(grunt) {
'use strict';
grunt.initConfig({
pkg: grunt.file.readJSON('bower.json'),
qunit: {
all: ['spec/backbone-qunit.html']
},
karma: {
options: {
configFile: 'spec/karma.conf.js',
browsers: ['PhantomJS'],
singleRun: true,
autoWatch: false
},
ci: {
options: {
reporters: ['dots'],
singleRun: true
}
},
watch: {
options: {
browsers: ['Chrome'],
reporters: ['dots', 'growl'],
singleRun: false,
autoWatch: true
}
},
coverage: {
options: {
reporters: ['coverage'],
preprocessors: {
'backbone-validator.js': 'coverage'
}
}
}
},
uglify: {
'backbone-validator-min.js': ['backbone-validator.js']
},
jshint: {
all: [
'Gruntfile.js',
'spec/**/*spec.js',
'backbone-validator.js'
],
options: {
jshintrc: '.jshintrc'
}
},
version: {
update: {
src: ['bower.json', 'package.json', 'backbone-validator.js']
}
},
exec: {
'npm-publish': {
cmd: 'npm publish'
}
}
});
grunt.loadNpmTasks('grunt-karma');
grunt.loadNpmTasks('grunt-contrib-qunit');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-version');
grunt.loadNpmTasks('grunt-exec');
grunt.registerTask('test', ['jshint', 'karma:ci', 'qunit']);
grunt.registerTask('default', ['test']);
grunt.registerTask('release', 'Releasing new version with update version', function() {
var type = this.args[0] || 'patch';
grunt.task.run(['test', 'version:update:' + type, 'uglify']);
grunt.log.ok('Run grunt exec:npm-publish to release npm module update');
});
};