passy / angular-masonry

An AngularJS directive for Masonry.
https://passy.github.io/angular-masonry
MIT License
1.12k stars 216 forks source link

bower install - is broken ! broke my live website #96

Closed duall closed 9 years ago

duall commented 9 years ago

My continuous integration did a bower install and it broke the website. 'TypeError: undefined is not a function angular-masonry.js'

Took me couple hours to figure out the problem.

angular-masonry has this particular version of masonry as dependency: "masonry": "~3.1.0",

and masonry: 3.1.x has this line in its bower file "outlayer": "^1.2.0"

Basically what happened is, 'outlayer' repo got updated to 1.3.0 during bower install, and broke the angular-masonry

Quick fix: Add "outlayer": "=1.2.0" to your project's bower.json

Proper fix: Update the package to work with latest masonry which has already fixed the "outlayer" version number and submit a pull request

And yeah this is actually a fault of masonry itself for using the stupid ^ for depedency

minevala commented 9 years ago

This is related in some way: https://github.com/passy/angular-masonry/issues/97 Even though masonry is probably the best for this kind of dynamic grid system, it's build system is getting somewhat complex.

2013gang commented 9 years ago

@minevala I would not call it stupid semVersioned. Masonry is trying to go pure vanilla js without jquery dependency. Hopefully angular-masonry can remove jquery dependency too

To fix your CI problem, you can always add the missing dependency in your repo's bower.json directly.

Thanks and happy Thanksgiving!