-
Notifications
You must be signed in to change notification settings - Fork 1.9k
/
Gruntfile.js
80 lines (71 loc) · 2.4 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
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
buildDir: 'dist',
banner: [
'/**',
' * BootstrapValidator v<%= pkg.version %> (<%= pkg.homepage %>)',
' *',
' * A jQuery plugin to validate form fields. Use with Bootstrap 3',
' *',
' * @author Nguyen Huu Phuoc <[email protected]>',
' * @copyright (c) 2013 Nguyen Huu Phuoc',
' * @license MIT',
' */\n\n'
].join('\n'),
copy: {
main: {
files: [
{ cwd: 'src/css', src: '**', dest: '<%= buildDir %>/css', expand: true, flatten: true, filter: 'isFile' }
]
}
},
cssmin: {
minify: { expand: true, cwd: 'src/css/', src: ['*.css'], dest: '<%= buildDir %>/css/', ext: '.min.css' },
add_banner: {
options: {
banner: '<%= banner %>'
},
files: {
'<%= buildDir %>/css/bootstrapValidator.min.css': ['src/css/bootstrapValidator.css']
}
}
},
concat: {
options: {
separator: ';',
stripBanners: true,
banner: '<%= banner %>'
},
dist: {
src: ['src/js/bootstrapValidator.js', 'src/js/validator/*.js'],
dest: '<%= buildDir %>/js/bootstrapValidator.js'
}
},
uglify: {
options: {
banner: '<%= banner %>'
},
build: {
src: ['<%= buildDir %>/js/bootstrapValidator.js'],
dest: '<%= buildDir %>/js/bootstrapValidator.min.js'
}
},
watch: {
scripts: {
files: ['src/css/**', 'src/js/**'],
tasks: ['build'],
options: {
spawn: false
}
}
}
});
grunt.registerTask('default', 'build');
grunt.registerTask('build', ['copy', 'cssmin', 'concat', 'uglify']);
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-watch');
};