module.exports = function(grunt) { // Project configuration. grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), terser: { options: { // Task-specific options go here. }, build: { // Target-specific file lists and/or options go here. src: '../resources/static/js/bundle.js', dest: '../resources/static/js/bundle.min.js' }, }, browserify: { dev: { src: 'ts/src/main.ts', dest: '../resources/static/js/bundle.js', options: { browserifyOptions: { debug: true }, } }, prod: { src: 'ts/src/main.ts', dest: '../resources/static/js/bundle.js', banner: '/*! Chat.js <%= grunt.template.today("yyyy-mm-dd") %> */ ', options: { browserifyOptions: { debug: false }, } }, options: { plugin: [ ['tsify', { target: 'ES6', noImplicitAny: true }], // register plugin by name ], browserifyOptions: {}, } } }); // Load the plugin that provides the "uglify" task. grunt.loadNpmTasks('grunt-terser'); // // Default task(s). // grunt.registerTask('default', ['uglify']); grunt.loadNpmTasks('grunt-browserify') grunt.registerTask('default', ['browserify:dev']) grunt.registerTask('prod', ["browserify:prod", "terser"]) };