diff options
author | kpdecker <kpdecker@gmail.com> | 2013-08-17 11:57:50 -0500 |
---|---|---|
committer | kpdecker <kpdecker@gmail.com> | 2013-08-17 11:57:50 -0500 |
commit | 3d77d172ecba90a09e4e66518b425ac17b35fe51 (patch) | |
tree | 665f6b7d2d3241bd000df8eaf24ccd08a5bea1c6 /Gruntfile.js | |
parent | 87b5d4ee61605b026506e92c9e8873d867c5f150 (diff) | |
download | handlebars.js-3d77d172ecba90a09e4e66518b425ac17b35fe51.zip handlebars.js-3d77d172ecba90a09e4e66518b425ac17b35fe51.tar.gz handlebars.js-3d77d172ecba90a09e4e66518b425ac17b35fe51.tar.bz2 |
Move dist dir generation into Grunt
Diffstat (limited to 'Gruntfile.js')
-rw-r--r-- | Gruntfile.js | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/Gruntfile.js b/Gruntfile.js new file mode 100644 index 0000000..6d6f7ad --- /dev/null +++ b/Gruntfile.js @@ -0,0 +1,67 @@ +module.exports = function(grunt) { + grunt.initConfig({ + pkg: grunt.file.readJSON('package.json'), + + concat: { + options: { + banner: '/*!\n\n <%= pkg.name %> v<%= pkg.version %>\n\n<%= grunt.file.read("LICENSE") %>\n@license\n*/\n', + process: function(src, name) { + var match = /\/\/ BEGIN\(BROWSER\)\n((?:.|\n)*)\n\/\/ END\(BROWSER\)/.exec(src); + return '\n// ' + name + '\n' + (match ? match[1] : src); + }, + separator: ';' + }, + dist: { + src: [ + 'lib/handlebars/browser-prefix.js', + 'lib/handlebars/base.js', + 'lib/handlebars/compiler/parser.js', + 'lib/handlebars/compiler/base.js', + 'lib/handlebars/compiler/ast.js', + 'lib/handlebars/utils.js', + 'lib/handlebars/compiler/compiler.js', + 'lib/handlebars/compiler/javascript-compiler.js', + 'lib/handlebars/runtime.js', + 'lib/handlebars/browser-suffix.js' + ], + dest: 'dist/handlebars.js' + }, + runtime: { + src: [ + 'lib/handlebars/browser-prefix.js', + 'lib/handlebars/base.js', + 'lib/handlebars/utils.js', + 'lib/handlebars/runtime.js', + 'lib/handlebars/browser-suffix.js' + ], + dest: 'dist/handlebars.runtime.js' + } + }, + uglify: { + options: { + mangle: true, + compress: true, + preserveComments: 'some' + }, + dist: { + src: 'dist/<%= pkg.name %>.js', + dest: 'dist/<%= pkg.name %>.min.js' + }, + runtime: { + src: 'dist/<%= pkg.name %>.runtime.js', + dest: 'dist/<%= pkg.name %>.runtime.min.js' + } + } + }); + + grunt.loadNpmTasks('grunt-contrib-concat'); + grunt.loadNpmTasks('grunt-contrib-uglify'); + + grunt.registerTask('dist-dir', function() { + grunt.file.delete('dist'); + grunt.file.mkdir('dist'); + }); + + + grunt.registerTask('default', ['dist-dir', 'concat', 'uglify']); +}; |