diff --git a/tasks/includeSource.js b/tasks/includeSource.js index d16d17f..2874dc0 100644 --- a/tasks/includeSource.js +++ b/tasks/includeSource.js @@ -287,6 +287,18 @@ module.exports = function(grunt) { grunt.log.debug('Found ' + includes.length + ' include statement(s).'); + //backport of array includes + function arrayIncludes(a, obj) { + for (var i = 0; i < a.length; i++) { + if (a[i] === obj) { + return true; + } + } + return false; + } + + + var allFiles=[]; includes.forEach(function(include, includeIndex) { var files = []; var baseUrl; @@ -297,6 +309,18 @@ module.exports = function(grunt) { } orderFiles(files, include.options); + + //removes duplicated entry in the filelist + if(options.unique) + { + files = files.filter( function( afile ) { + return !arrayIncludes(allFiles, afile ); + } ); + + allFiles = allFiles.concat(files); + } + + if(include.options.baseUrl) { baseUrl = grunt.config.process(include.options.baseUrl); } else {