-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathGruntfile.js
97 lines (85 loc) · 2.16 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
/*
* sublimetext-gruntfile.js
* https://github.com/idleberg/sublimetext-gruntfile.js
*
* Copyright (c) 2014 Jan T. Sott
* Licensed under the MIT license.
*/
module.exports = function(grunt) {
var jsonFiles = [
'**/*.JSON-tmLanguage',
'**/*.sublime-build',
'**/*.sublime-commands',
'**/*.sublime-completions',
'**/*.sublime-keymap',
'**/*.sublime-macro',
'**/*.sublime-menu',
'**/*.sublime-settings',
'**/*.sublime-theme',
'messages.json',
'!node_modules/**/*.*'
];
var pyFiles = [
'*.py'
];
var xmlFiles = [
'**/*.plist',
'**/*.sublime-snippet',
'**/*.tmCommand',
'**/*.tmLanguage',
'**/*.tmPreferences',
'**/*.tmSnippet',
'**/*.tmTheme',
'**/*.xml',
'*.bbcolors',
'*.dvtcolortheme',
'*.icls',
'*.itermcolors',
'*.terminal',
'!node_modules/**/*.*'
];
grunt.initConfig({
// default task
jsonlint: {
files: {
src: jsonFiles
}
},
xml_validator: {
files: {
src: xmlFiles
},
},
// watch task
watch: {
json: {
files: jsonFiles,
tasks: ['jsonlint']
},
xml: {
files: xmlFiles,
tasks: ['xml_validator']
}
},
// pylint task, not yet part of default
pylint: {
files: {
options: {
errorsOnly: true
},
src: pyFiles
}
},
});
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-jsonlint');
grunt.loadNpmTasks('grunt-pylint');
grunt.loadNpmTasks('grunt-xml-validator');
grunt.registerTask('default', 'lint');
// task shortcuts
grunt.registerTask('json', 'jsonlint');
grunt.registerTask('lint', ['jsonlint', 'xml_validator']);
grunt.registerTask('py', 'pylint');
grunt.registerTask('travis', 'lint');
grunt.registerTask('xml', 'xml_validator');
};