-
Notifications
You must be signed in to change notification settings - Fork 27
No more need for this #2
Comments
as far as I know, yes, bowerrc can config where we want our packages installed, but Bower installs the whole package. |
Makes sense, but maybe this should be renamed, as bower is relatively easy to implement as grunt tasks and this task doesn't expose any of the API. |
After a quick reevaluation, I can't really see which/why Bower's API to expose might be useful. But that's only my opinion, would you mind to come up a reason or two which/why Bower's API could be useful if it's exposed? I'd admit that, this task could be misleading for what it actually does. If there are any better use case for a task named |
Yeoman and a tool I am working on Grunt-Enyo expose bower through their CLI and both do it through a grunt task. Also, I believe that being able to call grunt.task.run() inside of other tasks to kick off a bower task is better than shelling out or having to implement the API each time it is needed. |
// bower command wrapper
function bower_wrapper(cmd, done) {
// pull in the bower command module
var command = bower.commands[cmd];
// run
command.line(process.argv)
.on('error', grunt.fatal.bind(grunt.fail))
.on('data', grunt.log.writeln.bind(grunt.log))
.on('end', function(){
done();
});
}
// register bower commands as grunt tasks
Object.keys(bower.commands).forEach(function(cmd) {
var task_name = 'bower:' + cmd
, task_desc = 'wrapped bower ' + cmd + 'command.';
grunt.registerTask(task_name, task_desc, function() {
var done = this.async();
bower_wrapper(cmd, done);
});
}); Modified from Yeoman's bower task, Bower's commands wrapped as Grunt tasks, with < 30 LOC. It may be convenient to have these API when working on a framework like Yeoman and Grunt-Enyo, but, just look around other grunt tasks, I don't think this is the way a grunt task should be. Sure I can plug-in the above codes, but it just doesn't feel right. |
bower now accepts a .bowerrc file to configure the directory that packages get installed in.
The text was updated successfully, but these errors were encountered: