forked from digitalBush/jquery.maskedinput
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgrunt.js
116 lines (103 loc) · 1.74 KB
/
grunt.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
/*global module*/
module.exports = function (grunt) {
'use strict';
grunt.initConfig({
pkg: '<json:package.json>',
// delete the dist folder
delete: {
reset: {
files: ['./dist/', './staging/']
}
},
// lint CoffeeScript
coffeeLint: {
scripts: {
src: './src/scripts/**/*.coffee',
indentation: {
value: 1,
level: 'error'
},
max_line_length: {
level: 'ignore'
},
no_tabs: {
level: 'ignore'
}
}
},
// compile CoffeeScript to JavaScript
coffee: {
dist: {
src: './src/scripts/**/*.coffee',
dest: './staging/scripts/',
bare: true
}
},
copy: {
staging: {
files: {
'./staging/scripts/libs/': './src/scripts/libs/',
'./staging/': './src/**/*.html'
}
},
dev: {
files: {
'./dist/': './staging/'
}
},
scripts: {
files: {
'./dist/': './staging/**/*.js'
}
},
views: {
files: {
'./dist/': './src/**/*.html'
}
}
},
lint: {
scripts: ['./src/!(libs)**/*.js']
},
jshint: {
options: {
// CoffeeScript uses null for default parameter values
eqnull: true
}
},
watch: {
coffee: {
files: './src/scripts/**/*.coffee',
tasks: 'coffeeLint coffee lint copy:scripts'
},
scripts: {
files: './src/scripts/**/*.js',
tasks: 'lint copy:staging copy:scripts'
},
views: {
files: './src/**/*.html',
tasks: 'copy:views'
}
},
server: {
app: {
src: './server.coffee',
port: 3009,
watch: './routes.coffee'
}
}
});
grunt.loadNpmTasks('grunt-hustler');
grunt.registerTask('default', [
'delete',
'coffeeLint',
'coffee',
'lint',
'copy:staging',
'copy:dev'
]);
grunt.registerTask('dev', [
'default',
'watch'
]);
};