module.exports = function(grunt) {

    // Project configuration.
    grunt.initConfig({
        pkg: '<json:package.json>',

        // run jshint on the files, with the options described below. Different globals defined based on file type
        // 'node' for files that are run by node.js (module, process, etc.)
        // 'browser' for files that are run by a browser (window, document, etc.)
        lint: {
            node: ['grunt.js'],
            browser: ['postscribe.js']
        },
        jshint: {
            // Apply to all js files
            options: {
                curly: true,
                eqeqeq: true,
                expr: true,
                forin: true,
                indent: 2,
                latedef: false,
                newcap: true,
                noarg: true,
                noempty: true, // debatable
                sub: true,
                undef: true, // Really. Leave it
                unused: true
            },
            globals: {},
            // Just for the 'node' src files
            node: {
                globals: {console: true, process: true, module:true, require: true, __dirname: true, exports: true}
            },
            // Just for the 'browser' src files
            browser: {
                // Let's be very strict here
                options: {
                    loopfunc: true,
                    expr: true,
                    evil: true, // Reluctantly added
                    eqnull: true
                },
                globals: {}
            }
        },

        qunit: {
            files: ['test/test.html']
        },

        watch: {
            files: ['postscribe.js', 'test/*'],
            tasks: 'lint qunit'
        }

    });

    // Alias test
    grunt.registerTask('test', 'qunit');

    // This is what gets run when you don't specify an argument for grunt.
    grunt.registerTask('default', 'lint test');

};

@@ -117,16 +117,301 @@
 .json%3E',
+%0A        meta: %7B%0A          banner: '/* %3C%25= pkg.description %25%3E, v%3C%25= pkg.version %25%3E %3C%25= pkg.homepage %25%3E%5Cn' +%0A                      'Copyright (c) %3C%25= grunt.template.today(%22yyyy%22) %25%3E %3C%25= pkg.author.name %25%3E, MIT license ' +%0A                      '%3C%25= pkg.licenses%5B0%5D.url %25%3E */'%0A        %7D,
 %0A%0A      
@@ -1834,32 +1834,274 @@
   %7D%0A        %7D,%0A%0A
+        // Minify postscribe src to postscribe.min.js, prepending a banner%0A        min: %7B%0A            dist: %7B%0A                src: %5B'%3Cbanner:meta.banner%3E', 'postscribe.js'%5D,%0A                dest: 'postscribe.min.js'%0A            %7D%0A        %7D,%0A%0A
         qunit: %7B

task for minification using uglify