Gruntfile.js (3012B)
1 module.exports = function (grunt) { 2 require('jit-grunt')(grunt); 3 4 grunt.initConfig({ 5 less: { 6 development: { 7 options: { 8 compress: true, 9 yuicompress: true, 10 optimization: 2 11 }, 12 files: { 13 'dist/faketerminal.css': 'src/less/faketerminal.less' // destination file and source file 14 } 15 } 16 }, 17 uglify: { 18 compressed: { 19 files: { 20 'dist/faketerminal.min.js': [ 21 'src/js/core/namespace.js', 22 'src/js/core/defaults.js', 23 'src/js/core/main.js', 24 'src/js/core/output.js', 25 'src/js/core/input.js', 26 'src/js/core/filesystem.js', 27 'src/js/core/history.js', 28 'src/js/core/command.js', 29 'src/js/commands/*.js', 30 'src/js/core/jquery.js' 31 ] 32 }, 33 options: { 34 sourceMap: true, 35 sourceMapName: 'dist/faketerminal.min.js.map' 36 } 37 }, 38 uncompressed: { 39 files: { 40 'dist/faketerminal.js': [ 41 'src/js/core/namespace.js', 42 'src/js/core/defaults.js', 43 'src/js/core/main.js', 44 'src/js/core/output.js', 45 'src/js/core/input.js', 46 'src/js/core/filesystem.js', 47 'src/js/core/history.js', 48 'src/js/core/command.js', 49 'src/js/commands/*.js', 50 'src/js/core/jquery.js', 51 ] 52 }, 53 options: { 54 mangle: false, 55 compress: false, 56 beautify: true, 57 preserveComments: true, 58 sourceMap: true, 59 sourceMapName: 'dist/faketerminal.js.map' 60 } 61 } 62 }, 63 watch: { 64 less: { 65 files: ['src/less/**/*.less'], 66 tasks: ['less'], 67 options: { 68 nospawn: true 69 } 70 }, 71 uglify: { 72 files: [ 73 'src/js/**/*.js' 74 ], 75 tasks: [ 76 'uglify:compressed', 77 'uglify:uncompressed' 78 ], 79 options: { 80 nospawn: true 81 } 82 } 83 } 84 }); 85 86 grunt.registerTask('build', ['less', 'uglify:compressed', 'uglify:uncompressed']); 87 grunt.registerTask('default', ['build', 'watch']); 88 };