Repository navigation
Add show command - #1315
Merged
Merged
Add show command#1315
show command#1315Conversation
isc-dchui
requested review from
isc-cborbonm,
isc-egabhart,
isc-eneil,
isc-jili,
isc-jlechtne,
isc-kiyer and
isc-tleavitt
as code owners
November 4, 2026 21:15
isc-tleavitt
previously approved these changes
Nov 5, 2026
Collaborator
|
@isc-dchui can you add some examples for what it looks like when there are many modules in play and a module has many dependencies/dependents? Also, what is the performance like for such a module? May be worth having some flags for skipping parts of the dependencies/dependents search if its slow? |
isc-dchui
force-pushed
the
show-command
branch
from
November 5, 2026 21:53
6d6c056 to
ed4d6dd
Compare
Collaborator
Author
|
@isc-kiyer I've updated the description with an example (and improved the display in a few cases). Performance is essentially a none issue in this test case. |
isc-kiyer
reviewed
Nov 6, 2026
| set requirements = [] | ||
| do stream.Rewind() | ||
| set content = "" | ||
| while 'stream.AtEnd { |
Collaborator
There was a problem hiding this comment.
Nit: why not just use ReadLine() instead of reading to a string first and then splitting? That should handle OS specific line endings right?
isc-kiyer
previously approved these changes
Nov 6, 2026
isc-dchui
force-pushed
the
show-command
branch
from
November 6, 2026 17:09
ed4d6dd to
fbf4788
Compare
isc-tleavitt
approved these changes
Nov 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Fixes #1019
There's no way in the shell to see what an installed module contains or what it touched without opening its module.xml.
list -treeshows forward dependencies for the whole namespace, which is hard to read on large trees. The issue proposeslist <module> -v, butlisttakes a wildcard search and is built for scanning many modules. This view is about one module, so it gets its own command,show <module>.The output answers three questions: which copy is this and how do I use it, what did it put on the system, and what does it need and what needs it. It includes only what a user can understand by reading the line, so anything you'd have to trace through code to interpret is left out.
Example Output
Review notes
${...}unexpanded. Evaluating them at show time could disagree with what install produced.Scope="test"/"verify"resources and dependencies,UnitTest/Testresources,Invoke, and build details (Packaging,SourcesRoot, lifecycle and installer class, and so on). Scoped dependencies usually aren't installed outside dev mode, so they would show as misleading "not installed" lines.list-dependentsstill covers transitive and remote dependents.unsatisfied. In a list of dozens, that row would otherwise look like every other.Large dependency graphs
Tried against 52 generated modules with 274 dependency edges:
A module in the middle of the graph, with one stored version requirement raised to
^2.0.0so the mismatch shows:The two ends of the graph, with the header lines and the middle rows cut:
Every module in the graph took under 7 ms, averaged over 20 runs. Show reads only direct relationships, so the cost grows with the module's own edge count, apart from the "Required by" query, which scans every dependency row in the namespace.
Testing
Test.PM.Unit.ModuleSummaryTest.PM.Unit.ResourceReference:TestResolvedProcessorClassTest.PM.Integration.ShowChecklist
mainbranch rebased or merged.zpm test -only) and integration tests (zpm verify -only) pass.🤖 Generated with Claude Code