-
Notifications
You must be signed in to change notification settings - Fork 0
/
Gruntfile.js
103 lines (99 loc) · 2.27 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
module.exports = function(grunt) {
'use strict';
//Configuration.
grunt.initConfig({
watch: {
scripts: {
files: ['app/js/*.js'],
tasks: ['jshint'],
options: {
spawn: false,
},
},
css: {
files: 'app/scss/*.scss',
tasks: ['compass:dist'],
options: {
livereload: true,
},
},
html: {
files: 'app/haml/*.haml',
tasks: ['haml:dist'],
options: {
livereload: true,
},
}
},
connect: {
main: {
options: {
port: 8000,
base: './app'
}
}
},
pkg: grunt.file.readJSON('package.json'),
uglify: {
options: {},
all: {
files: {
//
}
}
},
jshint: {
options: {
jshintrc: './jshint.json'
},
main: ['Gruntfile.js', 'js/**/*.js']
},
haml: {
dist: {
files: grunt.file.expandMapping(['app/haml/*.haml'], './', {
rename: function(base, path) {
return base + path.replace(/\.haml$/, '.html').replace('haml/', '');
}
}),
options: {
rubyHamlCommand: 'haml',
dependencies: {
$: 'jquery',
_: 'underscore'
}
}
}
},
compass: {
dist: {
options: {
sassDir: 'app/scss',
cssDir: 'app/css',
importPath: 'app/scss',
fontsDir: 'assets/fonts',
imagesDir: 'assets/images'
}
}
},
jasmine: {
src: 'js/*.js',
options: {
specs: 'spec/*Spec.js',
helpers: 'spec/*Helper.js'
}
}
});
//Dependencies.
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-connect');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-haml');
grunt.loadNpmTasks('grunt-contrib-compass');
grunt.loadNpmTasks('grunt-contrib-jasmine');
//Tasks.
grunt.registerTask('default', ['jshint', 'compass', 'haml', 'uglify']);
grunt.registerTask('spec', ['jshint', 'jasmine']);
grunt.registerTask('lint', 'jshint');
grunt.registerTask('server', ['compass:dist', 'haml:dist', 'connect:main', 'watch']);
};