-
-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add options to exclude packages and dependencies from graph. #45
Add options to exclude packages and dependencies from graph. #45
Conversation
Dev dependencies of dependencies are not shown anymore, because they are not relevant for the current package. * `--no-dev` will hide dev dependencies * `--no-php` will hide the constraints regarding the PHP version * `--no-ext` will hide PHP extensions * `--depth` will limit the depth of the generated graph * `--exclude-regex` allows to apply regular expressions to hide packages To apply these filters the packages must be rendered in the correct order. Before the packages were drawn "randomly" and were connected later on. Now packages are drawn from root package and only if they are a dependency of a package. This allow filtering for dependencies and packages. If a package (node) is missing, then the dependency (edge) is not shown. Vice versa the dependency (edge) is not shown when the package (node) is not available.
This PR supersedes
This PR solves |
@clue Can you have a look on this one? The changes are huge, because the complete graph generation needed to be changed to support filtering by depth and filtering by packages. I guess there are more filters needed like: |
PR tested on a heavy set of packages, and working like a charm, thank you @markuspoerschke |
I've implemented an up-to-date check based on this PR in wol-soft#1 which colorizes the graph. Would gladly create a PR after this one got merged. Is the repository still maintained? @clue Colorized graphs work like:
|
Can anyone merge this, please? :) |
Bump. This would be amazing to see! My first time using |
@markuspoerschke Thank you very much for looking into this and filing this PR! 👍 This PR contains a lot of nice features that I would love to see as part of graph-composer in the future! Unfortunately, it adds a fair amount of complexity and does not currently contain any tests, so it's a bit hard to review. I'm currently in the process of updating this project and will work on the test suite next. The plan is to create a better base to build on top of, perhaps we can then rebase (part of) this PR to take advantage of this. As a first step, I'm currently looking into @wol-soft Really nice, would indeed love to see an |
Dev dependencies of dependencies are not shown anymore, because they are not relevant for the current package.
--no-dev
will hide dev dependencies--no-php
will hide the constraints regarding the PHP version--no-ext
will hide PHP extensions--depth
will limit the depth of the generated graph--exclude-regex
allows to apply regular expressions to hide packages--only-regex
show only packages with their name matching the expression--exclude-type
exclude pacakges with given type--only-type
only show packages of given typeThe filters are never applied to the root packge.
To apply these filters the packages must be rendered in the correct order. Before the packages were drawn "randomly" and were connected later on. Now packages are drawn from root package and only if they are a dependency of a package. This allow filtering for dependencies and packages. If a package (node) is missing, then the dependency (edge) is not shown. Vice versa the dependency (edge) is not shown when the package (node) is not available.
New
Old
Open TODOs: