-
Notifications
You must be signed in to change notification settings - Fork 0
/
Gruntfile.js
112 lines (101 loc) · 2.45 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
104
105
106
107
108
109
110
111
112
module.exports = grunt => {
require('load-grunt-tasks')(grunt)
grunt.initConfig({
bower_concat: {
all: {
dest: {
'js': './public/assets/js/libs/libs.js',
'css': './public/assets/css/libs/libs.css'
},
mainFiles: {
bootstrap: ['dist/css/bootstrap.css', 'dist/js/bootstrap.js']
},
include: ['requirejs','normalize-css', 'jquery', 'bootstrap', 'ngLocale', 'angular', 'angular-route'],
dependencies: {
'jquery': 'normalize-css',
'bootstrap': 'jquery',
'angular-route': 'angular'
},
bowerOptions: {
relative: false
}
}
},
copy: {
img: {
files: [
{
expand: true,
cwd: './app/assets/img',
src: '**',
dest: './public/assets/img'
}
],
},
},
browserify: {
dist: {
options: {
transform: [
["babelify", {presets: ['es2015' ]}]
]
},
files: {
"./public/assets/js/custom/compiled.js": ["./app/main.js"]
}
}
},
sass: {
dist: {
options: {
style: 'compact'
},
files: {
'./public/assets/css/custom/compiled.css': './app/assets/css/main.scss'
}
}
},
clean: {
img: {
options: { force: true },
src: ['./public/assets/img']
},
css: {
options: { force: true },
src: ['./public/assets/css/custom']
},
js: {
options: { force: true },
src: ['./public/assets/js/custom']
},
libs: {
options: { force: true },
src: ['./public/assets/js/libs', './public/assets/css/libs']
}
},
watch: {
options: {
spawn: false,
livereload: true
},
img: {
files: ['./app/assets/img/**/*'],
tasks: ['clean:img', 'copy:img']
},
bower: {
files: ['./bower_components/*'],
tasks: ['clean:libs', 'bower_concat']
},
sass: {
files: ['./app/assets/css/**/*.scss'],
tasks: ['clean:css', 'sass']
},
js: {
files: ['./app/**/*.js'],
tasks: ['clean:js', 'browserify']
}
}
})
require('time-grunt')(grunt)
grunt.registerTask("default", ['clean:img', 'copy:img', 'clean:libs', 'bower_concat', 'clean:css', 'sass', 'clean:js', 'browserify']);
};