Is it possible to run two watch tasks simultaneously?
I understand that I can have any number of tasks I want inside watch settings and just launch grunt watch and it will watch all of them, like this
... watch: { A: { files: "js/dev/**/*.coffee", tasks: ["coffee", "requirejs"] }, B: { files: "js/dev/**/*.coffee", tasks: ["coffee"] }, C: { files: "js/dev/**/*.html", tasks: ["copy"] } } ...
...but I don't need this. I just want to have different set of tasks for development and production. As you can guess, the only difference between A (production) and B (development) is minification and concatenation. I don't need to launch A and B tasks at the same time.
First I came with this idea
grunt.registerTask("prod", ["watch:A", "watch:C"]); grunt.registerTask("dev", ["watch:B", "watch:C"]);
But this didn't work. Just first watch tasks is working (C never works). Is that possible to do what I want?
I've found using grunt-concurrent works:
concurrent: { options: { logConcurrentOutput: true }, prod: { tasks: ["watch:A", "watch:C"] }, dev: { tasks: ["watch:B", "watch:C"] } }
Then:
grunt.registerTask("prod", ["concurrent:prod"]); grunt.registerTask("dev", ["concurrent:dev"]);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With