feat: Introduce global config primitive

This commit is contained in:
abhisek
2025-05-14 16:09:29 +05:30
parent 86a0a8f5a4
commit 8896917c4d
6 changed files with 69 additions and 11 deletions
+12 -7
View File
@@ -5,13 +5,18 @@ import (
"fmt"
"github.com/safedep/pmg/analyzer"
"github.com/safedep/pmg/config"
"github.com/safedep/pmg/guard"
"github.com/safedep/pmg/internal/ui"
"github.com/safedep/pmg/packagemanager"
)
func executeCommonFlow(pm packagemanager.PackageManager, args []string) error {
packageResolver, err := packagemanager.NewNpmDependencyResolver(packagemanager.NewDefaultNpmDependencyResolverConfig())
func executeCommonFlow(ctx context.Context, config config.Config, pm packagemanager.PackageManager, args []string) error {
packageResolverConfig := packagemanager.NewDefaultNpmDependencyResolverConfig()
packageResolverConfig.IncludeTransitiveDependencies = config.Transitive
packageResolverConfig.TransitiveDepth = config.TransitiveDepth
packageResolver, err := packagemanager.NewNpmDependencyResolver(packageResolverConfig)
if err != nil {
return fmt.Errorf("failed to create npm dependency resolver: %w", err)
}
@@ -34,23 +39,23 @@ func executeCommonFlow(pm packagemanager.PackageManager, args []string) error {
return fmt.Errorf("failed to create package manager guard: %w", err)
}
return proxy.Run(context.Background(), args)
return proxy.Run(ctx, args)
}
func executeNpmFlow(args []string) error {
func executeNpmFlow(ctx context.Context, config config.Config, args []string) error {
packageManager, err := packagemanager.NewNpmPackageManager(packagemanager.DefaultNpmPackageManagerConfig())
if err != nil {
return fmt.Errorf("failed to create npm package manager: %w", err)
}
return executeCommonFlow(packageManager, args)
return executeCommonFlow(ctx, config, packageManager, args)
}
func executePnpmFlow(args []string) error {
func executePnpmFlow(ctx context.Context, config config.Config, args []string) error {
packageManager, err := packagemanager.NewNpmPackageManager(packagemanager.DefaultPnpmPackageManagerConfig())
if err != nil {
return fmt.Errorf("failed to create pnpm package manager: %w", err)
}
return executeCommonFlow(packageManager, args)
return executeCommonFlow(ctx, config, packageManager, args)
}