Bower with its dependencies is so huge that's why we currently ship Choko with bower dependencies when installing via npm.
We could consider making Bower an implicit dependency, i.e. telling users to install it globally first, and document it on installation instructions along with node, npm, mongodb, etc. This way we don't force Bower to be downloaded on every build/deploy. Users/devs can use the one they already have installed globally or just run an additional npm install for doing it.
One possible drawback would be that we wouldn't have any control on what Bower version the user is using or what is the one installed on the server, unless we implement something like this.
I think we should put Bower on devDependencies for thoso who clone the project, and then have the dependencies ship with the project on releases. That should solve it.
Bower with its dependencies is so huge that's why we currently ship Choko with bower dependencies when installing via npm.
We could consider making Bower an implicit dependency, i.e. telling users to install it globally first, and document it on installation instructions along with node, npm, mongodb, etc. This way we don't force Bower to be downloaded on every build/deploy. Users/devs can use the one they already have installed globally or just run an additional npm install for doing it.
One possible drawback would be that we wouldn't have any control on what Bower version the user is using or what is the one installed on the server, unless we implement something like this.
What do you think?