module.exports = function (grunt) {
'use strict'
var baseSrc = 'src/main/webapp';
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
clean: {
clean: [baseSrc + "/dist"]
},
copy: {
main: {
expand: true,
cwd: baseSrc + '/images',
src: '**',
dest: baseSrc + '/dist/images',
flatten: true,
filter: 'isFile'
}
},
htmlmin: {
dist: {
options: {
removeComments: true,
collapseWhitespace: true
},
files: [
{
expand: true,
cwd: baseSrc,
src: ['*.html'],
dest: baseSrc + '/dist'
}
]
}
},
cssmin: {
options: {
report: 'gzip'
},
dist: {
expand: true,
cwd: baseSrc + '/css',
src: ['**/*.css'],
dest: baseSrc + '/dist/css'
}
},
img: {
task1: {
src: baseSrc + '/images/*.{png,jpg}',
dest: baseSrc + '/dist/images/'
},
task2: {
src: baseSrc + '/images/betslip/*.{png,jpg}',
dest: baseSrc + '/dist/images/betslip'
},
task3: {
src: baseSrc + '/images/datetimepicker/*.{png,jpg}',
dest: baseSrc + '/dist/images/datetimepicker'
}
},
uglify: {
options: {
report: 'gzip',
mangle: {
except:['$','Backbone','require','exports']
}
},
dist: {
files: [
{
expand: true,
cwd: baseSrc + '/js',
src: ['**/*.js'],
dest: baseSrc + '/dist/js'
}
]
}
},
jst: {
bulid: {
files: [
{
expand: true,
cwd: baseSrc + '/templates',
src: ['**/*.tpl'],
dest: baseSrc + '/dist/templates',
ext: '.js'
}
]
},
options: {
amd: true,
namespace: false,
prettify: true
}
}
});
//HTML
grunt.loadNpmTasks('grunt-contrib-htmlmin')
//CSS
grunt.loadNpmTasks('grunt-contrib-csslint')
grunt.loadNpmTasks('grunt-contrib-cssmin')
//JAVASCRIPT
grunt.loadNpmTasks('grunt-contrib-jshint')
grunt.loadNpmTasks('grunt-contrib-uglify')
/**
* https://github.com/heldr/grunt-img
* image compress
*/
grunt.loadNpmTasks('grunt-img')
//TEMPLATE
grunt.loadNpmTasks('grunt-contrib-jst');
//CONTRIB
grunt.loadNpmTasks('grunt-contrib-clean')
grunt.loadNpmTasks('grunt-contrib-concat')
grunt.loadNpmTasks('grunt-contrib-copy')
grunt.loadNpmTasks('grunt-contrib-watch')
grunt.registerTask('build', ['uglify', 'cssmin' , 'htmlmin', 'jst', 'img']);
};