From f62bd43dfae6f2a76dcc7c3cc958229399c20df4 Mon Sep 17 00:00:00 2001 From: Shakthijuego Date: Fri, 10 Mar 2017 11:53:23 +0530 Subject: [PATCH 1/2] Added option to ignore repeated files --- tasks/includeSource.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/tasks/includeSource.js b/tasks/includeSource.js index d16d17f..032ed45 100644 --- a/tasks/includeSource.js +++ b/tasks/includeSource.js @@ -286,7 +286,8 @@ module.exports = function(grunt) { var currentOffset = 0; grunt.log.debug('Found ' + includes.length + ' include statement(s).'); - + + var allFiles=[]; includes.forEach(function(include, includeIndex) { var files = []; var baseUrl; @@ -297,6 +298,17 @@ module.exports = function(grunt) { } orderFiles(files, include.options); + + //removes duplicated entry in the filelist + if(options.unique) + { + files = files.filter( function( afile ) { + return !allFiles.includes( afile ); + } ); + + allFiles = allFiles.concat(files); + } + if(include.options.baseUrl) { baseUrl = grunt.config.process(include.options.baseUrl); } else { From 12bd855a01b02b878a3671e33a4e2c4b250a7a69 Mon Sep 17 00:00:00 2001 From: Shakthijuego Date: Thu, 6 Apr 2017 12:32:21 +0530 Subject: [PATCH 2/2] Updated array include function. --- tasks/includeSource.js | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/tasks/includeSource.js b/tasks/includeSource.js index 032ed45..2874dc0 100644 --- a/tasks/includeSource.js +++ b/tasks/includeSource.js @@ -286,6 +286,17 @@ module.exports = function(grunt) { var currentOffset = 0; 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) { @@ -303,12 +314,13 @@ module.exports = function(grunt) { if(options.unique) { files = files.filter( function( afile ) { - return !allFiles.includes( afile ); + return !arrayIncludes(allFiles, afile ); } ); allFiles = allFiles.concat(files); } - + + if(include.options.baseUrl) { baseUrl = grunt.config.process(include.options.baseUrl); } else {