Walk a directory tree, parse every recognized project manifest, and return
the discovered GitHub repos with provenance.
The walk is recursive but never descends into the directory names listed in
isExcludedDir (vendored deps + build artifacts). Duplicate repos are
collapsed to a single RepoSource keyed by the first manifest seen, and the
returned list is sorted by repo for deterministic output.
Filesystem errors at individual nodes (permission denied, unreadable file)
are swallowed: a single broken file should not abort discovery across the
rest of the tree.
Parameters
rootDir: string
the directory to scan; may be relative or absolute
Walk a directory tree, parse every recognized project manifest, and return the discovered GitHub repos with provenance.
The walk is recursive but never descends into the directory names listed in isExcludedDir (vendored deps + build artifacts). Duplicate repos are collapsed to a single
RepoSourcekeyed by the first manifest seen, and the returned list is sorted byrepofor deterministic output.Filesystem errors at individual nodes (permission denied, unreadable file) are swallowed: a single broken file should not abort discovery across the rest of the tree.