I’m starting to learn purescript. I’m already an experienced developer in other languages, but I hired a freelance developer to help me get started with a purescript project to save time.
He created a project that includes a bower.json with many packages and their versions specified (not using ^). It works okay.
To learn from his code, I used ‘pulp init’ to create a minimal project, and then I started adding things to it from his code one at a time. At some point it complained that modules were missing, such as purescript-nullable, so I installed those. But at that point, ‘pulp build’ was giving me errors like “Partial defined twice.” So there were some kinds of version incompatibilities. I tried to uninstall or change the version of some of these packages, but it just turned into a giant mess.
In the end I created an entirely new project with ‘pulp init’ and copied the bower.json provided by my freelancer into it.
My question is, why did I have problems so quickly, simply by using bower to install packages? And if I run into such problems in the future, is there a way to “back out” or “uninstall” packages to try other versions? (Note that they’ve usually installed many dependencies at that point.)