Description
The current Spago assumes that a single spago.dhall
contains both src
and test
dependencies, by way of the default "sources" globs and test
command. The current legacy importer takes these dependencies at face value, resulting in overconstrained package dependencies. For example, many of my projects are portable libraries, but their test framework relies on node dependencies. This recently caused issues when purescript-node
released breaking changes across the org, which ended up booting my projects out of the package set even though they continue to compile fine given accurately constrained dependencies. I assume that this could be quite common across the ecosystem, since my project configurations are merely the default recommended setup from stable Spago.
Stable Spago is quite pedantic in the accuracy of dependencies (noting both missing and unused dependencies), so perhaps we could amend the legacy importer for spago.dhall
files to prune test dependencies by doing the "unused dependency" check on src
globs only. This would presumably yield a set of dependencies that are unnecessary for installing the package.