module.exports = function( grunt ) {
grunt.initConfig( { // Import package manifest pkg: grunt.file.readJSON("package.json"), // Banner definitions meta: { banner: "/*\n" + " * <%= pkg.title || pkg.name %> - v<%= pkg.version %>\n" + " * <%= pkg.description %>\n" + " * <%= pkg.homepage %>\n" + " *\n" + " * Made by <%= pkg.author.name %>\n" + " * Under <%= pkg.license %> License\n" + " */\n" }, // Concat definitions concat: { options: { banner: "<%= meta.banner %>" }, dist: { src: ["src/throttle-debounce-fn.js"], dest: "dist/throttle-debounce-fn.js" } }, // Lint definitions jshint: { files: ["src/throttle-debounce-fn.js", "test/**/*"], options: { jshintrc: ".jshintrc" } }, jscs: { src: "src/**/*.js", options: { config: ".jscsrc" } }, // Minify definitions uglify: { dist: { src: ["dist/throttle-debounce-fn.js"], dest: "dist/throttle-debounce-fn.min.js" }, options: { banner: "<%= meta.banner %>" } }, // watch for changes to source // Better than calling grunt a million times // (call 'grunt watch') watch: { files: ["src/*", "test/**/*"], tasks: ["default"] } } ); grunt.loadNpmTasks("grunt-contrib-concat"); grunt.loadNpmTasks("grunt-contrib-jshint"); grunt.loadNpmTasks("grunt-jscs"); grunt.loadNpmTasks("grunt-contrib-uglify"); grunt.loadNpmTasks("grunt-contrib-watch"); grunt.registerTask("lint", ["jshint", "jscs"]); grunt.registerTask("build", ["concat", "uglify"]); grunt.registerTask("default", ["jshint", "build"]);
};