I'm using Swift package manager pretty extensively in my application - for all 3rd party packages, as well as ~150 local targets across ~9 local packages. My application target basically just imports the root of the swift package dependency graph and has the AppDelegate / SceneDelegate. I would like to export the resolved dependency graph including local and remote targets in a .dot graphviz format which I can visualize.
Hmm so that worked (though I had to run it as swift package show-dependencies --format dot) but it only shows me package dependencies and not product dependencies within those packages. Is it possible to build a product dependency graph?
Alternately, should I avoid putting multiple unrelated products in the same package? E.g. I have several module types like "Features" and "Services" which each have a Package.swift file with many (10+) targets / products like "SignInFeature", "UsersService" etc. What I'm trying to accomplish is mapping out the dependency graph for my package products. I could potentially move each product into its own Package.swift file, but that would be a lot of work.
When I decided to modularize my iOS project with SPM, I thought that visualizing a package with its dependencies in a graph would be very helpful and intuitive. However, every time I needed to see the graph of any package in my local package list, I found it very inconvenient to write the command to create the dot file in the terminal. It was even hard to see. Therefore, I created SwiftDeps(https://swiftdeps.com) to make these tasks faster and easier and to improve work efficiency.