mirror of
https://github.com/safedep/pmg.git
synced 2026-08-03 07:24:09 +02:00
refactor: improve progress bar logic and update display (#14)
* fix: Revise progress tracking mechanism * chore: remove unused getDependencies func * chore: removed unused property & add fetcher check * Update pkg/wrapper/npm_base.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Sahil Bansal <bansalsahil315@gmail.com> * refactor: make SetProgressTracker common for all fetchers --------- Signed-off-by: Sahil Bansal <bansalsahil315@gmail.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
+7
-12
@@ -66,11 +66,17 @@ func (pmw *PackageManagerWrapper) scanAndInstall(ctx context.Context, progressTr
|
||||
pmw.PackageName = fmt.Sprintf("%s@%s", name, version)
|
||||
}
|
||||
|
||||
deps, err := pmw.getDependencies(ctx, fetcher, name, version, progressTracker)
|
||||
// Get dependencies with progress tracking
|
||||
npmFetcher := fetcher.(*registry.NpmFetcher)
|
||||
npmFetcher.SetProgressTracker(progressTracker)
|
||||
|
||||
deps, err := npmFetcher.GetFlattenedDependencies(ctx, name, version)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// We know the total deps, set progress for analysis phase
|
||||
ui.IncrementTrackerTotal(progressTracker, int64(len(deps)))
|
||||
if err := pmw.analyzeDependencies(ctx, deps, progressTracker); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -88,17 +94,6 @@ func (pmw *PackageManagerWrapper) resolveLatestVersion(ctx context.Context, fetc
|
||||
return version, nil
|
||||
}
|
||||
|
||||
func (pmw *PackageManagerWrapper) getDependencies(ctx context.Context, fetcher registry.Fetcher, name, version string, progressTracker ui.ProgressTracker) ([]string, error) {
|
||||
ui.IncrementProgress(progressTracker, 1)
|
||||
deps, err := fetcher.GetFlattenedDependencies(ctx, name, version)
|
||||
ui.IncrementProgress(progressTracker, 1)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
ui.SetTrackerTotal(progressTracker, int64(len(deps)))
|
||||
return deps, nil
|
||||
}
|
||||
|
||||
func (pmw *PackageManagerWrapper) analyzeDependencies(ctx context.Context, deps []string, progressTracker ui.ProgressTracker) error {
|
||||
client, err := analyser.GetMalwareAnalysisClient()
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user