summaryrefslogtreecommitdiffstats
path: root/Gruntfile.js
diff options
context:
space:
mode:
authorkpdecker <kpdecker@gmail.com>2013-08-17 11:57:50 -0500
committerkpdecker <kpdecker@gmail.com>2013-08-17 11:57:50 -0500
commit3d77d172ecba90a09e4e66518b425ac17b35fe51 (patch)
tree665f6b7d2d3241bd000df8eaf24ccd08a5bea1c6 /Gruntfile.js
parent87b5d4ee61605b026506e92c9e8873d867c5f150 (diff)
downloadhandlebars.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.js67
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']);
+};