-
Notifications
You must be signed in to change notification settings - Fork 1
/
Gruntfile.js
73 lines (62 loc) · 2.38 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
// Gruntfile.js
// our wrapper function (required by grunt and its plugins)
// all configuration goes inside this function
module.exports = function(grunt) {
// ===========================================================================
// CONFIGURE GRUNT ===========================================================
// ===========================================================================
grunt.initConfig({
// get the configuration info from package.json ----------------------------
// this way we can use things like name and version (pkg.name)
pkg: grunt.file.readJSON('package.json'),
// configure jshint to validate js files -----------------------------------
jshint: {
files: 'src/**/*.js',
options: {
globals:{
jQuery:true,
console:true,
module:true
},
reporter: require('jshint-stylish') // use jshint-stylish to make our errors look and read good
}
},
// configure uglify to minify js files -------------------------------------
uglify: {
options: {
banner: '/*\n <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> \n*/\n'
},
build: {
files: {
'dist/js/slick-slides.min.js': ['src/**/*.js']
}
}
},
// configure compass for css preprocesser -------------------------------------
compass: {
dist: {
options: {
sassDir: 'src/sass',
cssDir: 'dist/css',
environment: 'production',
outputStyle: 'compressed'
}
}
},
// automate tasks -----------------------------------------------------
watch: {
files: ['src/**/*.js', 'src/**/*.scss'],
tasks: ['uglify', 'jshint', 'compass']
}
});
// ===========================================================================
// LOAD GRUNT PLUGINS ========================================================
// ===========================================================================
// we can only load these if they are in our package.json
// make sure you have run npm install so our app can find these
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-compass');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask('default', ['jshint','compass', 'watch', 'uglify']);
};