forked from woocommerce/houston
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Gruntfile.js
96 lines (80 loc) · 1.81 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
module.exports = function( grunt ) {
'use strict';
var banner = '/**\n * Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.homepage %> \n * This file is generated automatically, do not edit. \n */';
var themeScripts = [
];
// Project configuration
grunt.initConfig( {
pkg: grunt.file.readJSON( 'package.json' ),
// JS Minification & Concatenation
uglify: {
dev: {
options: {
banner: banner,
preserveComments: true,
sourceMap: true,
sourceMapRoot: '/',
beautify: true,
},
files: {
'assets/js/theme.js': themeScripts
}
},
prod: {
options: {
banner: banner,
preserveComments: false,
mangle: { except: ['jQuery'] }
},
files: {
'assets/js/theme.js': themeScripts
}
}
},
compass: {
dev: {
options: {
sassDir: 'assets/css/scss',
cssDir: 'assets/css',
imagesDir: 'assets/images',
outputStyle: 'expanded',
relativeAssets: true,
noLineComments: false
}
},
prod: {
options: {
sassDir: 'assets/css/scss',
cssDir: 'assets/css',
imagesDir: 'assets/images',
environment: 'production',
outputStyle: 'compressed',
relativeAssets: true,
noLineComments: true,
force: true
}
}
},
// Watch for changes
watch: {
css: {
files: 'assets/css/**/*.scss',
tasks: ['compass:dev'],
options: {
debounceDelay: 500,
livereload: true
}
},
scripts: {
files: 'assets/js/src/**/*.js',
tasks: ['uglify:dev']
}
}
} );
grunt.loadNpmTasks('grunt-contrib-compass');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-uglify');
// Default task.
grunt.registerTask( 'default', ['compass:prod', 'uglify:prod'] );
grunt.registerTask( 'dev', ['compass:dev', 'uglify:dev'] );
};