Mapeo dinámico para destinos en grunt.js

Tengo un proyecto con varias subcarpetas que contienen archivos JavaScript que deseo concatenar. ¿Cuál sería la forma correcta de configurarlos?

p.ej.

fuente: /modules/$modulename/js/*.js (varios archivos) dest: /modules/$modulename/js/compiled.js

Entonces, lo que quiero hacer es compilar archivos js de un recuento de subcarpetas desconocido / no configurado ($ nombre de módulo) en un archivo por subcarpeta.

es posible?

La siguiente función (construida después de las instrucciones de hereandnow78) hace el trabajo:

grunt.registerTask('preparemodulejs', 'iterates over all module directories and compiles modules js files', function() {

    // read all subdirectories from your modules folder
    grunt.file.expand('./modules/*').forEach(function(dir){

        // get the current concat config
        var concat = grunt.config.get('concat') || {};

        // set the config for this modulename-directory
        concat[dir] = {
            src: [dir + '/js/*.js', '!' + dir + '/js/compiled.js'],
            dest: dir + '/js/compiled.js'
        };

        // save the new concat config
        grunt.config.set('concat', concat);

    });

});

después de eso puse preparemodulejs antes del trabajo concat en mi configuración predeterminada.

Respuestas a la pregunta(1)

Su respuesta a la pregunta