Note: Correct me if I'm wrong. I'd be happy to be wrong here. I want to document the following problems we have using bower
:
bower
installs dependencies along side each other which makes multiple versions of the same dependency a problem (if not impossible) and also makes the path of a component unpredictable. I want to explain the latter further: When you split a project into multiple components but the main project is still one repository, you can predict the components in this repository will be in ./components/
. But when you use this main repository in another project, the dependencies of main project will be installed next to it, not inside its folder.
It is possible but hard to use something as a component that has no component.json
file, because you can not predict what files are the main files. Of course, bower
can't do much about it, but the current state is that it's just hard and you have to declare the exact files to be used somewhere else, which creates redundancy and possibility for mistakes in dependency tracking.
Officially, bower can handle private repos, but it can't. It ignore and simply overwrite your component.json
, making grunt-bower-task
useless and stuff. It's just a mess.