-
Notifications
You must be signed in to change notification settings - Fork 2.1k
/
Gruntfile.js
70 lines (64 loc) · 1.33 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
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
meta: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd HH:MM:ss") %> */'
},
githooks: {
options: {
hashbang: '#!/bin/sh',
template: 'install/template/shell.hb',
startMarker: '# GRUNT-GITHOOKS START',
endMarker: '# GRUNT-GITHOOKS END'
},
all: {
'pre-commit': 'pre-commit'
}
},
eslint: {
options: {
quiet: true
},
target: ['src/**/*.js']
},
mocha: {
all: {
src: ['test/*.html']
},
options: {
run: true,
growlOnSuccess: false
}
},
// Minifies JS files
uglify: {
options: {
output: {
comments: /^!|@preserve|@license|@cc_on/i
},
sourceMap: true,
footer: '\n'
},
dist: {
files: [{
expand: true,
cwd: 'src',
src: ['*.js','!*.min.js'],
dest: 'dist',
ext: '.min.js',
extDot: 'last'
}]
}
}
});
// Load tasks
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-mocha');
grunt.loadNpmTasks('grunt-eslint');
grunt.loadNpmTasks('grunt-githooks');
// Default task.
grunt.registerTask('lint', [ 'eslint' ]);
grunt.registerTask('test', [ 'lint', 'mocha' ]);
grunt.registerTask('pre-commit', [ 'test' ]);
grunt.registerTask('default', [ 'test', 'uglify' ]);
};