Transitive Argonaut Dependency Causes Conflicts
Closed this issue · 6 comments
Hey @athanclark, the recent changes in the 4.1 branch are actually breaking for the 4.x line, specifically for me, as they introduce additional transient dependencies.
I'm not sure the utility that the instances provide outweigh the dependencies imposed.
How are you installing your deps @AlexaDeWit? My build and tests are working with bower install && pulp build && pulp test. Is this with the purs package thing? I haven't used that in a while, but I definitely wouldn't be opposed to getting it working with a package set.
Also, this version's correlation is only to other versions of core libraries - like prelude. Argonaut wasn't considered in the version chosen. If you'd like, I could publish something like a 3.0 version that relies on an earlier 4.x argonaut version, but a similar architecture to the current one, or something :s if indeed that's your current problem
Sorry if I was a bit vague, the problem for me is specifically the argonaut version.
I currently can't migrate to uint 4.1 due to it, as my project depends on argonaut 4.x. This is what I mean by the transient dependency resulting in conflicts, as argonaut is not what I think I would consider a core lib.
Generally I would recommend that dependencies to things like argonaut are more appropriately moved to separate libraries, such as how purescript-datetime-iso provides argonaut instances to be used for purescript-datetime.
Putting them all in the same library can be easily a source of these conflicts.
My ideal solution would be that this library not depend on argonaut at all. (or quickcheck in its "dependencies". devDependencies is fine).
If you like I could PR the removal and create a "purescript-uint-iso" sort of package to provide the json encoding/decoding behaviour as a separate package.
Hey sorry @AlexaDeWit, I think your intuition is correct. I got sidetracked this last week with another project - I'm gonna try and get this fixed before the end of the new year. Thank you for raising this!
v5.0.0 should fix this - although I retained the Generic instance, it should be satisfactory. I'll be moving all the instances to purescript-uint-instances.
Thanks Athan, really appreciated.