Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Grunt concat + uglify with sourcemaps

I use concat to merge JS files into one file and uglify to minimize the JavaScript. How can I create a sourcemaps file that uses the source JS files?

My current gruntfile:

concat: {     options: {         // define a string to put between each file in the concatenated output         separator: ';'     },     dist: {         // the files to concatenate         src: ['<%= config.src %>/js/**/*.js'],         // the location of the resulting JS file          dest: '<%= config.dist %>/js/main.js'     } },  uglify: {     dist: {         files: {             '<%= config.dist %>/js/main.min.js': ['<%= concat.dist.dest %>']         }     } }, 
like image 978
user3483982 Avatar asked Sep 11 '14 16:09

user3483982


1 Answers

You need to enable source maps on both the concat and uglify tasks, and you must specify the sourceMapIn option for the uglify task.

Here's a sample grunt config:

concat : {   options : {     sourceMap :true   },   dist : {     src  : ['www/js/**/*.js'],     dest : '.tmp/main.js'   } }, uglify : {   options : {     sourceMap : true,     sourceMapIncludeSources : true,     sourceMapIn : '.tmp/main.js.map'   },   dist : {     src  : '<%= concat.dist.dest %>',     dest : 'www/main.min.js'   } } 
like image 52
Damon Friendship Avatar answered Sep 26 '22 05:09

Damon Friendship