8 votes

Exécution de tâches configurées dans plusieurs fichiers grunt.js

J'ai une application node qui comprend plusieurs modules non publiés. L'application package.json inclut quelques dépendances git :

"module-a": "git+ssh://git@github.com:me/module-a.git",
"module-b": "git+ssh://git@github.com:me/module-b.git"    

et chacun d'entre eux a sa propre configuration grunt. Par exemple dans node_modules/module-a/grunt.js :

module.exports = function(grunt) {

grunt.initConfig({
    lint: {
        files: ['server/**/*.js', 'test/**/*.js']
    },
    jshint: {
        options: require('./lint-ci')
    }
});

grunt.registerTask('default', 'lint');

} ;

(ils effectuent également des tests, etc., mais je m'en tiens ici à la simplicité)

Est-ce qu'il y a un moyen intégré de faire cela avec grunt ? Il faut noter que je veux garder les fichiers grunt.js dépendants pour des raisons de commodité lorsque j'ai seulement changé quelque chose dans cette dépendance.

Les seules solutions que j'ai trouvées sont les suivantes

  • construire mon grunt.js principal de manière programmatique (par exemple, en itérant sur mes dépendances dans package.json pour construire la configuration de lint et de test)
  • appeler grunt plusieurs fois en utilisant --config node_modules/module-a/grunt.js

Ni l'un ni l'autre ne semble idéal. Existe-t-il une meilleure solution ?

3voto

indieisaconcept Points 263

C'est juste une idée, mais avez-vous regardé grunt-hub ?

https://github.com/shama/grunt-hub

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X