forked from alexbeletsky/backbone-express-spa
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGruntfile.js
98 lines (90 loc) · 1.85 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
var crypto = require('crypto');
var fs = require('fs');
function createFileSha(filenane) {
var sha = crypto.createHash('sha1');
return sha.update(fs.readFileSync(filenane));
}
module.exports = function(grunt) {
grunt.initConfig({
meta: {
version: '0.0.5'
},
jshint: {
options: {
"asi" : false,
"bitwise" : true,
"boss" : false,
"curly" : true,
"debug": false,
"devel": false,
"eqeqeq": true,
"evil": false,
"expr": true,
"forin": false,
"immed": true,
"latedef" : false,
"laxbreak": false,
"multistr": true,
"newcap": true,
"noarg": true,
"node" : true,
"browser": true,
"noempty": false,
"nonew": true,
"onevar": false,
"plusplus": false,
"regexp": false,
"strict": false,
"sub": false,
"trailing" : true,
"undef": true,
globals: {
jQuery: true,
Backbone: true,
_: true,
$: true,
require: true,
define: true
}
},
js: ['public/js/**/*.js', 'source/**/*.js']
},
requirejs: {
js: {
options: {
baseUrl: "public/js",
mainConfigFile: "public/js/main.js",
name: 'main',
out: "public/build/main.js"
}
},
css: {
options: {
baseUrl: 'public/css',
cssIn: "public/css/main.css",
out: "public/build/main.css",
cssImportIgnore: null,
optimizeCss: 'default'
}
}
},
hashres: {
options: {
fileNameFormat: '${name}-${hash}.${ext}'
},
prod: {
src: [
'public/build/main.js',
'public/build/main.css'
],
dest: { src: 'tools/client/index.js', out: 'source/client/index.js' }
}
}
});
// Laoded tasks
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-requirejs');
grunt.loadNpmTasks('grunt-hashres');
// Default task.
grunt.registerTask('default', ['jshint', 'requirejs', 'hashres']);
};