-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathgruntfile.js
99 lines (91 loc) · 2.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
module.exports = function(grunt){
grunt.loadNpmTasks('grunt-contrib-requirejs');
grunt.loadNpmTasks('grunt-contrib-jshint')
grunt.loadNpmTasks('grunt-contrib-watch')
grunt.loadNpmTasks('grunt-contrib-compass')
grunt.loadNpmTasks('grunt-contrib-copy')
grunt.loadNpmTasks('grunt-contrib-clean')
grunt.loadNpmTasks('grunt-gh-pages');
grunt.initConfig({
jshint: {
options:{
eqeqeq: true,
eqnull: true,
browser: true
},
files: {
src: ['src/js/app/**/*.js']
}
}, // jshint
requirejs: {
options: {
baseUrl: 'src/js',
mainConfigFile: 'src/js/main.js',
name: 'vendor/bower_components/almond/almond',
include: ['main']
},
production: {
// overwrites the default config above
options: {
out: 'www/js/main.js'
} //options
}, //production
development: {
// overwrites the default config above
options: {
out: 'www/js/main.js',
optimize: 'none' // no minification
} //options
} //development
}, //requirejs
compass: {
dev: {
options: {
config: 'config.rb'
} //options
} //dev
}, //compass
clean: ["www"], // clean
copy: {
main: {
files: [
// copy root files
{expand: true, flatten: true, src: ['src/*'], dest: 'www/', filter: 'isFile'},
// copy img directory
{expand: true, cwd: 'src/', src: ['img/**'], dest: 'www/'},
// copy css directory
{expand: true, cwd: 'src/', src: ['css/*'], dest: 'www/'},
// copy angularjs template directory
{expand: true, cwd: 'src/', src: ['ng-templates/*'], dest: 'www/'},
// copy helper.js
{expand: true, cwd: 'src/', src: ['js/helper.js'], dest: 'www/'},
// copy requirejs
{expand: true, cwd: 'src/', src: ['js/vendor/bower_components/requirejs/require.js'], dest: 'www'},
] //files
} //main
}, //copy
'gh-pages': {
options: {
base: 'www',
message: grunt.option('m') || 'Auto-generated commit from grunt'
},
src: ['**']
}, // gh-pages
watch: {
scripts: {
files: ['src/js/app/**/*.js'],
}, //scripts
sass: {
files: ['src/sass/*.scss'],
tasks: ['compass:dev']
}, //sass
html: {
files: ['*.html']
} //html
} //watch
}) //initConfig
grunt.registerTask('default', 'watch');
grunt.registerTask('preflight', ['jshint','clean','requirejs:production','compass:dev','copy']);
grunt.registerTask('production', ['jshint','clean','requirejs:production','compass:dev','copy','gh-pages','clean']);
grunt.registerTask('development', ['clean','requirejs:development','compass:dev','copy']);
} //exports