forked from Automattic/_s
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGruntfile.js
More file actions
75 lines (70 loc) · 1.88 KB
/
Gruntfile.js
File metadata and controls
75 lines (70 loc) · 1.88 KB
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
/*global module:false*/
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
properties: {
css_dir: 'assets/css',
js_dir: 'assets/js',
img_dir: 'assets/img'
},
// Metadata.
meta: {
version: '0.1.0'
},
banner: '/*! PROJECT_NAME - v<%= meta.version %> - ' +
'<%= grunt.template.today("yyyy-mm-dd") %>\n' +
'* http://PROJECT_WEBSITE/\n' +
'* Copyright (c) <%= grunt.template.today("yyyy") %> ' +
'YOUR_NAME; Licensed MIT */\n',
sass: {
options: {
style: 'compressed'
},
dist: {
files: {
'<%= properties.css_dir %>/style.css': '<%= properties.css_dir %>/src/style.scss'
}
}
},
uglify: {
build: {
options: {
sourceMap: '<%= properties.js_dir %>/main.js.map',
sourceMappingURL: 'main.js.map',
sourceMapPrefix: 2
},
files: {
'<%= properties.js_dir %>/main.min.js': [
'<%= properties.js_dir %>/src/libs/*.js',
'<%= properties.js_dir %>/src/plugins/*.js',
'<%= properties.js_dir %>/src/js/*.js'
]
}
}
},
watch: {
options: {
livereload: true,
spawn: false
},
livereload {
files: [
'<%= properties.css_dir %>/style.css',
'<%= properties.js_dir %>/*.js',
'<%= properties.img_dir %>/**/*.{png, jpg, jpeg, gif, webp, svg}',
'*.php'
]
},
files: ['assets/**/*'],
tasks: ['sass', 'uglify']
}
});
// These plugins provide necessary tasks.
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-sass');
grunt.loadNpmTasks('grunt-contrib-watch');
// Register tasks.
grunt.registerTask('build', ['sass', 'uglify']);
// Default task.
grunt.registerTask('default', ['build']);
};