/*jslint node: true */

'use strict';

module.exports = function (grunt) {

    grunt.loadNpmTasks('grunt-contrib-uglify');
    grunt.loadNpmTasks('grunt-contrib-watch');
    grunt.loadNpmTasks('grunt-jslint');
    grunt.loadNpmTasks('grunt-mocha-test');
    grunt.loadNpmTasks('grunt-release');

    grunt.initConfig({

        pkg: grunt.file.readJSON('package.json'),

        jslint: {
            all: {
                src: 'snowman.js'
            }
        },

        mochaTest: {
            test: {
                src: 'test/*.js'
            }
        },

        uglify: {
            dist: {
                options: {
                    preserveComments: 'some',
                    sourceMap: true
                },
                files: {
                    'dist/snowman.min.js': 'snowman.js'
                }
            }
        },

        watch: {
            test: {
                files: [
                    'snowman.js',
                    'test/*.js'
                ],
                tasks: 'test'
            }
        }

    });

    grunt.registerTask('test', ['mochaTest']);
    grunt.registerTask('build', ['uglify']);
    grunt.registerTask('default', ['jslint', 'test', 'build']);

};

@@ -554,32 +554,351 @@
   %7D%0A        %7D,%0A%0A
+        release: %7B%0A            commitMessage: 'Release %3C%25= version %25%3E.',%0A            tagMessage: 'Version %3C%25= version %25%3E.',%0A            github: %7B%0A                repo: 'jacksonrayhamilton/snowman',%0A                usernameVar: 'GITHUB_USERNAME',%0A                passwordVar: 'GITHUB_PASSWORD'%0A            %7D%0A        %7D,%0A%0A
         uglify: 

Add release config.