feat: support PyPi package extras

This commit is contained in:
Sahilb315
2025-06-02 20:56:01 +05:30
parent 30c914d07e
commit 6e2dc34f74
7 changed files with 55 additions and 11 deletions
+7 -1
View File
@@ -2,6 +2,7 @@ package npm
import (
"context"
"fmt"
"github.com/safedep/dry/log"
"github.com/safedep/pmg/config"
@@ -37,6 +38,11 @@ func executeNpmFlow(ctx context.Context, args []string) error {
ui.Fatalf("Failed to get config: %s", err)
}
parsedCommand, err := packageManager.ParseCommand(args)
if err != nil {
return fmt.Errorf("failed to parse command: %w", err)
}
packageResolverConfig := packagemanager.NewDefaultNpmDependencyResolverConfig()
packageResolverConfig.IncludeTransitiveDependencies = config.Transitive
packageResolverConfig.TransitiveDepth = config.TransitiveDepth
@@ -47,5 +53,5 @@ func executeNpmFlow(ctx context.Context, args []string) error {
ui.Fatalf("Failed to create dependency resolver: %s", err)
}
return flows.Common(packageManager, packageResolver, config).Run(ctx, args)
return flows.Common(packageManager, packageResolver, config).Run(ctx, args, parsedCommand)
}
+7 -1
View File
@@ -3,6 +3,7 @@ package npm
import (
"context"
_ "embed"
"fmt"
"github.com/safedep/dry/log"
"github.com/safedep/pmg/config"
@@ -38,6 +39,11 @@ func executePnpmFlow(ctx context.Context, args []string) error {
ui.Fatalf("Failed to get config: %s", err)
}
parsedCommand, err := packageManager.ParseCommand(args)
if err != nil {
return fmt.Errorf("failed to parse command: %w", err)
}
packageResolverConfig := packagemanager.NewDefaultNpmDependencyResolverConfig()
packageResolverConfig.IncludeTransitiveDependencies = config.Transitive
packageResolverConfig.TransitiveDepth = config.TransitiveDepth
@@ -45,5 +51,5 @@ func executePnpmFlow(ctx context.Context, args []string) error {
packageResolver, err := packagemanager.NewNpmDependencyResolver(packageResolverConfig)
return flows.Common(packageManager, packageResolver, config).Run(ctx, args)
return flows.Common(packageManager, packageResolver, config).Run(ctx, args, parsedCommand)
}