haskell / hackage-server

Hackage-Server: A Haskell Package Repository
http://hackage.haskell.org
Other
414 stars 197 forks source link

Show dependencies for library and executables separately #789

Open chshersh opened 6 years ago

chshersh commented 6 years ago

When I look at the package on Hackage and I want to compare this package with other packages, I evaluate number of dependencies of the library as a part of comparing process. Unfortunately, this is not an easy thing to do, because currently Hackage shows dependencies for both library and executable in the same section. Consider life-sync package:

Currently dependencies for this package look like this:

Dependencies | ansi-terminal, 
base-noprelude (>=4.9 && <5), bytestring, containers, exceptions, fmt, life-sync, 
microlens-platform, optparse-applicative, path, 
path-io, process, relude (>=0.1.0), text (>=1.2), tomland (==0.3.*)

So the Dependencies section contains dependencies for both library and executable. If I press the details button I can see separation between library and executable. But I'm looking at Hackage for 3 years and noticed the details only now. It would be really great if the separation between package components was clearer. For example something like this:

Dependencies
    library (62)
        ansi-terminal, base-noprelude (>=4.9 && <5), bytestring, containers, 
        exceptions, fmt, microlens-platform, path, path-io, process, 
        relude (>=0.1.0), text (>=1.2), tomland (==0.3.*)

    executable:life (64)
        base-noprelude, containers, life-sync, optparse-applicative, path
phadej commented 6 years ago

This will become even more important with multiple public libraries. I.e. show deps per component.

hvr commented 6 years ago

This should be co-designed with the rendering of the upcoming per-component description/synopsis fields

amigalemming commented 5 years ago

Currently, in this example the dependencies of the test-suite are not shown at all: https://hackage.haskell.org/package/lapack-0.2.1/dependencies :-( Maybe i should open a new issue ...

hvr commented 5 years ago

@amigalemming yeah, that seems like a actionable-right-now task which doesn't require design work