Grunt Concat mismo file varias veces

Me gustaría usar grunt-contrib-concat para templates de interfaz frontend de aplicación y esto me sería útil.

Me gustaría definir parciales de página y concatenarlos dentro de un file de salida que será comstackdo por manillares.

Tengo todo configurado, sin embargo, Concat no me permite usar el mismo file más de una vez.

Básicamente, concat está filtrando las fonts para que no ocurran más de una vez. El segundo partial1.hbs no se concatenará.

 pageconcat: { src: [ 'app/templates/partial1.hbs', 'app/templates/partial2.hbs', 'app/templates/partial1.hbs' ], dest: 'app/result.hbs' } 

¿Hay alguna manera de hacer esto?

Actualización 1

Después de jugar con la function de salida de console de grunt, pude depurar (de algún tipo) el plugin concat. Esto es lo que descubrí: la matriz de input está deduplicada por gruñido por algún motivo.

Actualización 2

La deduplicación se produce en el bucle del file foreach que usa ronco. Me las he arreglado para eludir eso (ver respuesta). No sé qué tan confiable es mi solución, pero es una solución y funciona bien si no se ingresa la información incorrecta.

Puede utilizar el formatting de matriz de files para configurar dos sets fuente diferentes. Algo como esto:

 { "files": [{ "src": [ "app/templates/partial1.hbs", "app/templates/partial2.hbs" ], "dest": "app/result.hbs" }, { "src": [ "app/result.hbs", "app/templates/partial1.hbs" ], "dest": "app/result.hbs" }] } 

se agregó "app / result.hbs" al segundo set fuente, como se señaló en los comentarios. Gracias.

Solución

Después de algunas depuraciones, se me ocurrió una solución. Ciertamente no es el mejor, pero funciona bien, como debería.

Edité el file de plugin concat.js dentro de la carpeta node_modules de la siguiente manera:

 grunt.registerMultiTask('concat', ...){ var self = this; //several lines of code //... //replace f.src.filter(..) wtih self.data.src.filter(..); }