module.exports = function(grunt) { // Project configuration. grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), concat: { options: { separator: ';' }, worker: { src: [ 'js/worker/GIFEncoder.js', 'js/worker/LZWEncoder.js', 'js/worker/NeuQuant.js', 'js/worker/worker.js', ], dest: 'js/worker.concat.js' }, client: { src: [ 'js/client/worker.min.js', 'js/client/util.js', 'js/client/tube.js', 'js/client/client.js', ], dest: 'js/client.concat.js', }, }, uglify: { worker: { options: { banner: "var workerURL = URL.createObjectURL( new Blob([ '(',function(){", footer: "}.toString(),')()' ], { type: 'application/javascript' } ) )", }, src: 'js/worker.concat.js', dest: 'js/worker.min.js' }, client: { options: { banner: '/* asdf.us/gif-recorder */\n' }, src: 'js/client.concat.js', dest: 'dist/gif-encode.min.js' }, }, watch: { files: ['js/!(live.min|live.concat).js','js/record.js'], tasks: ['default'] } }); // Load tasks that we'll be using grunt.loadNpmTasks('grunt-contrib-concat'); grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-contrib-watch'); // Default task(s). grunt.registerTask('worker', ['concat:worker', 'uglify:worker']); grunt.registerTask('client', ['concat:client', 'uglify:client']); grunt.registerTask('default', ['worker', 'client']); };