I'm writing a grunt task and I want to install a dependency programmatically. However, I can't seem to figure out how to use their API.
This works just fine, but parsing the response is brittle because it uses the CLI:
grunt.util.spawn({ cmd: 'bower', args: ['install', '--save', '[email protected]:foo/bar.git'] }, function(none, message) { grunt.log.writeln(message); }); This does not work:
bower.commands.install.line(['--save', '[email protected]:foo/bar.git']) .on('end', function(data) { grunt.log.writeln(data); done(); }) .on('err', function(err) { grunt.log.fail(err); done(); }); I get the following error:
$ grunt my-task Running "my-task:default_options" (my-task) task Fatal error: Could not find any dependencies What is the right way to do this?