forked from squidsolutions/jssdk-base-app
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGruntfile.js
112 lines (110 loc) · 3.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 = function(grunt) {
grunt.initConfig({
jshint : {
all : [ 'app/**/*.js' ],
options: {
force : true
}
},
sass: {
dist: {
files: {
'dist/app/style.css': 'app/style.scss'
},
options: {
sourcemap: 'none',
style: 'compressed'
}
}
},
clean : {
all : "dist/"
},
handlebars : {
options : {
namespace : 'app.template',
processName : function(filePath) {
return filePath.replace(/^app\/templates\//, '').replace(
/\.hbs$/, '');
}
},
all : {
files : {
"dist/templates.js" : [ "app/templates/*.hbs" ]
}
}
},
concat : {
options : {
stripBanners : true,
},
all : {
src : [ 'dist/templates.js', 'app/**/*.js' ],
dest : 'dist/main.js',
}
},
copy : {
main : {
files : [ {
expand : true,
src : [ "app/main.js", "*.html", "app/fonts/**", "bower_components/font-awesome/fonts/*", "bower_components/data_tables/media/images/*", "bower_components/bootstrap/dist/fonts/*" ],
dest : 'dist/',
rename : function(dest, src) {
return dest + src.replace(/\.template.html$/, ".html");
}
} ]
}
},
wiredep : {
target : {
src : [ 'dist/index.html' ],
ignorePath : '../'
}
},
wiredepCopy : {
target : {
options : {
src : 'bower_components',
dest : 'dist/bower_components',
wiredep : {
src : [ 'dist/index.html' ],
ignorePath : '../'
}
}
},
},
watch : {
js : {
files : [ 'app/**/*.js', 'app/**/*.hbs', 'index.template.html', 'app/style.scss' ],
tasks : [ 'build']
}
},
cacheBust: {
options: {
encoding: 'utf8',
algorithm: 'md5',
length: 8,
deleteOriginals: true
},
assets: {
files: [{
src: ['dist/index.html']
}]
}
}
});
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-sass');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-handlebars');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-wiredep');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-wiredep-copy');
grunt.loadNpmTasks('grunt-cache-bust');
grunt.registerTask('build', [ 'jshint', 'clean', 'handlebars', 'concat',
'copy', 'sass', 'wiredep', 'wiredepCopy']);
grunt.registerTask('dist', [ 'build', 'cacheBust' ]);
grunt.registerTask('default', [ 'dist' ]);
};