Replies: 1 comment 4 replies
-
Hi @Jeehut, can you explain in concrete terms what your fear is with Swift Sharing having transitive dependencies on our own libraries? If you are willing to depend on Swift Sharing, why wouldn't you be willing to depend on our other libraries? If Swift Sharing is actively maintained, then it certainly means the transitive dependencies are also actively maintained. And would anything tangibly change if we literally copied and pasted all the code from those libraries into Swift Sharing? To me, the situation with Swift Sharing doesn't seem much different from people depending on FlineDevKit. They add your one dependency only to find out they are actually depending on 5 of your other libraries. Do you feel that people using FlineDevKit should have the same concerns that you have about Swift Sharing?
The only transitive dependencies that stand out to me are Combine Schedules and Swift Clocks. These come from Swift Dependencies, and so technically we could make a DependenciesCore module that does not depend on those libraries, and then Dependencies would use them. We certainly can do that, but would reducing the number of dependencies by 2 have real, tangible benefits?
The "core" of the library uses all of the dependencies, so that would not help. |
Beta Was this translation helpful? Give feedback.
-
I just considered adding this lib to my recommended list of packages for every app, but when I added it and looked at the Git diff, I was shocked to see that this library adds 9 packages in total!
While it might be possible that there's no way around it, I can't recommend a 3rd-party lib with so many dependencies to everyone, so I decided against doing so. And I would just like to know: Are there ways this library could become less dependent? Or is there maybe a way to use the "core" of this library (I mostly need user defaults and in-memory) that has less dependencies?
In any case, thank you for your amazing work and I'll be playing around with this for sure.
Beta Was this translation helpful? Give feedback.
All reactions