'use strict';
module.exports = function(grunt) {
require('load-grunt-tasks')(grunt);
require('time-grunt')(grunt);
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
bwr: grunt.file.readJSON('bower.json'),
nodeunit: {
files: ['test/**/*_test.js']
},
jshint: {
options: {
jshintrc: '.jshintrc'
},
gruntfile: {
src: 'Gruntfile.js'
},
lib: {
src: ['<%= bwr.name %>']
},
test: {
src: ['test/**/*.js']
}
},
clean: ['.tmp/'],
concat: {
dist:{}
},
ngmin: {
dist: {
files: {
'.tmp/<%= bwr.name %>.js': ['./lib/index.js', './lib/*/*.js']
}
}
},
uglify: {
options: {
report: 'min',
enclose: {
'angular': 'angular'
},
banner: '/*\n <%= bwr.name %> - v<%= bwr.version %> \n ' +
'<%= grunt.template.today("yyyy-mm-dd") %>\n*/\n\n'+
'/* commonjs package manager support (eg componentjs) */\n'+
'if (typeof module !== "undefined" && typeof exports !== "undefined" && module.exports === exports) {\n'+
' module.exports = "angular-md5";\n'+
'}\n',
},
dist: {
options: {
beautify: false,
mangle: true,
compress: {
global_defs: {
'DEBUG': false
},
dead_code: true
},
sourceMap: '<%= bwr.name %>.min.js.map'
},
files: {
'<%= bwr.name %>.min.js': ['./lib/index.js', './lib/*/*.js']
}
},
src: {
options: {
beautify: true,
mangle: false,
compress: false
},
files: {
'<%= bwr.name %>.js': ['./lib/index.js', './lib/*/*.js']
}
},
buildDist: {
options: {
beautify: false,
mangle: true,
compress: {
global_defs: {
'DEBUG': false
},
dead_code: true
},
sourceMap: '<%= bwr.name %>.min.js.map'
},
files: {
'<%= bwr.name %>.min.js': '.tmp/<%= bwr.name %>.js'
}
},
buildSrc: {
options: {
beautify: {
indent_level: 2,
beautify: true
},
mangle: false,
compress: false
},
files: {
'<%= bwr.name %>.js': '.tmp/<%= bwr.name %>.js'
}
}
}
});
// Testing task
grunt.registerTask('test', [
]);
// Build task
grunt.registerTask('build', [
'clean',
'concat',
'ngmin:dist',
'uglify:buildSrc',
'uglify:buildDist'
]);
// Default task
grunt.registerTask('default', [
'build'
]);
};