-
Notifications
You must be signed in to change notification settings - Fork 5
/
Gruntfile.js
109 lines (100 loc) · 3.24 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
module.exports = function(grunt) {
var fs = require('fs');
var glob = require('glob');
var _ = require('lodash');
var mainModules = _.map(glob.sync('static/js/**/*.js'), function(file) {
var name = file.replace(/static\//, '').replace(/\..*$/, '');
return {
'name': name
}
});
grunt.initConfig({
bowerTargetDir: 'static/lib',
requirejsTargetDir: 'static_build',
requirejsModules: mainModules,
bower: {
install: {
options: {
targetDir: '<%= bowerTargetDir %>',
layout: 'byType',
install: true,
copy: true,
verbose: false,
cleanTargetDir: true,
cleanBowerDir: false
}
}
},
requirejs: {
build: {
options: {
baseUrl: 'static',
mainConfigFile: 'static/config.js',
dir: '<%= requirejsTargetDir %>',
findNestedDependencies: true,
removeCombined: true,
optimizeCss: 'standard',
preserveLicenseComments: false,
fileExclusionRegExp: /\.git/,
wrapShim: true,
stubModules: [
'text'
],
paths: {
'angular': 'empty:',
'angular-ui-bootstrap': 'empty:',
'async': 'empty:',
'bootstrap': 'empty:',
'domReady': 'empty:',
'jquery': 'empty:',
'jquery-ui': 'empty:',
'lodash': 'empty:',
'text': 'lib/requirejs-text/text',
'underscore.string': 'empty:'
},
modules: '<%= requirejsModules %>'
}
}
},
jshint: {
all: {
src: [
'static/*.js',
'static/ext/**/*.js',
'static/js/**/*.js',
'static/volare/**/*.js'
],
options: {
jshintrc: true
}
}
},
csslint: {
all: {
src: [
'static/css/*.css',
'static/volare/**/*.css'
],
options: {
csslintrc: '.csslintrc',
},
}
},
clean: {
bower: [
'bower_components',
'<%= bowerTargetDir %>'
],
requirejs: [
'<%= requirejsTargetDir %>'
],
build: [
'<%= requirejsTargetDir %>/build.txt',
'<%= requirejsTargetDir %>/lib/{angular,requirejs-plugins}',
'<%= requirejsTargetDir %>/volare/*.{css,html}'
]
}
});
require('load-grunt-tasks')(grunt);
grunt.registerTask('build', ['jshint', 'csslint', 'requirejs:build', 'clean:build']);
};