sfn provides a few nice features, but it is really hard to deal with all the other craziness that goes on …
method_missing (typos result in silently swallowed errors)
https://github.com/sparkleformation/sparkle_formation/pull/112
components being loaded multiple times
https://github.com/sparkleformation/sparkle_formation/issues/114
cli silently catching all kinds of template errors making debugging impossible for anyone not knowing how to open a gem …
https://github.com/sparkleformation/sfn/issues/168
Solution: use .sfn.rb
very little testing going on + no CI setup …
https://github.com/sparkleformation/sparkle_formation/pull/110
ruby code is written in a non-standard style
forcing a `Bundler.require` which makes everything slow when there are lots of gems in the Gemfile https://github.com/sparkleformation/sfn/issues/170
Solution: add a :sfn group that only includes sfn gems
PR comments being ignored https://github.com/sparkleformation/sparkle_formation/pull/117
It adds a lot of unnecessary work and bugs that it tries to re-invent libraries that already exist (thor/optparse/etc for cli interfaces) and fog for api abstraction.
I don’t mean to hate on chrisroberts … he fixed lots of bugs / is helpful / drives this project forward , I just feel like this project has basic flaws in it’s foundation that should be fixed instead of adding more and more features on top.
I want to like/use this project, but this makes it really hard … the more templates we add / the more members we introduce to sfn the worse I feel about this whole situation … and the more I want to replace it with something sane/verbose that ‘just works’ instead of being magically broken.
Is this really necessary? Almost every issue you’ve linked was resolved to your satisfaction, based on the Github comments. If that’s not the sign of a good open source project, I’m not sure what is.
There are multiple style guides and CI solutions, and decisions about those are generally up to the maintainer’s preference. Differing opinions are par for the course when using/contributing to Open Source, and part of that means that it’s rare to have a project reflect your own opinions 100%.
Your use of SparkleFormation and the issues you’ve opened have clearly improved the project. I hope you see those improvements as a positive community experience, rather than the negative one this post implies.
First off, thanks for replying!
As far as I know, none of the issues I listed are resolved yet, but the Bundler.require issue has a open PR now.
Some of them are “maintainer preferences”, which I respect, just stating that I do not share these preferences.
My issue / PR experience has mostly been positive and it’s one of the reasons I have not given up on sfn yet 🙂
We have a lot of monkey-patches in our repo now that circumvent a few of these issues (method-missing + Bundler + silent error catching) … but if someone would ask me what to use to manage their templates I’d not blindly recommend sfn … I’d make sure that there is nothing else out there that provides similar features without having these issues.