-
Notifications
You must be signed in to change notification settings - Fork 1
/
Gruntfile.js
137 lines (112 loc) · 3.64 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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
requirejs: {
compile: {
options: {
appDir: 'build',
mainConfigFile: './build/scripts/common.js',
optimize: "uglify",
dir: './release/',
removeCombined: true,
modules: [
{
name: 'common'
},
{
name: 'mainRewardEstimator',
exclude: ['common']
},
{
name: 'mainTierEstimator',
exclude: ['common']
}
]
}
}
},
copy: {
dev: {
files: [
{expand: true, cwd: './www', src: ['index.html'], dest: './build/'},
{expand: true, cwd: './www/js', src: ['controllers/*'], dest: './build/js/', filter: 'isFile'},
{expand: true, cwd: './www/js', src: ['services/*'], dest: './build/js/', filter: 'isFile'},
{expand: true, cwd: './www/js', src: ['*.js'], dest: './build/js/', filter: 'isFile'},
{expand: true, cwd: './bower_components/font-awesome/', src: ['fonts/*'], dest: './build/style/'},
{expand: true, cwd: './www/template', src: ['**/*'], dest: './build/template/'},
{expand: true, cwd: './www/assets', src: ['*'], dest: './build/assets/'},
{expand: true, cwd: './www/lib', src: ['*'], dest: './build/lib/'}
]
}
},
clean: {
build: ["./build/**/*" ],
release: ["./release/*"],
js: ["./release/scripts/Controls/"]
},
connect: {
server: {
options: {
port: 1234,
debug:true,
base: './build',
hostname: 'localhost',
open: 'http://localhost:1234/'
}
}
},
cssmin: {
combine: {
files: {
'./www/css/styles.css': [ './www/css/app.css', './www/css/style.css']
}
}
}, sass: {
options: {
style: 'expanded',
compass: false
},
dist: {
options: {
style: 'compressed'
},
files: {
'build/style/app.css': 'www/stylesheets/css/style.css'
}
}
},
less: {
dev: {
options: {
compress: true
},
files: {
'build/style/css/app.css': 'www/stylesheets/css/style.less'
}
}
},
watch: {
grunt: { files: ['Gruntfile.js'] },
sass: {
files: './www/scss/**/*.scss',
tasks: ['sass']
}
}
});
grunt.loadNpmTasks('grunt-contrib-less');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-connect');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-contrib-requirejs');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.registerTask('build', ['clean:build', 'less', 'copy:dev']);
grunt.registerTask('buildProd', 'Deploy the necessary files to production', function() {
grunt.task.run(['build','clean:release', 'concat:release','copyto:release', 'requirejs', 'clean:js']);
});
grunt.registerTask('default', ['build','watch']);
grunt.registerTask('serve', 'Start server locally', function () {
grunt.task.run('connect','watch');
});
};