mirror of
https://github.com/AikidoSec/safe-chain.git
synced 2026-05-26 20:20:49 +00:00
Skeleton
This commit is contained in:
parent
d0f2edec0a
commit
f086aeb2be
6 changed files with 44 additions and 6 deletions
|
|
@ -9,11 +9,14 @@ import {
|
|||
createPnpxPackageManager,
|
||||
} from "./pnpm/createPackageManager.js";
|
||||
import { createYarnPackageManager } from "./yarn/createPackageManager.js";
|
||||
import { createPipPackageManager } from "./pip/createPipPackageManager.js";
|
||||
|
||||
const state = {
|
||||
packageManagerName: null,
|
||||
};
|
||||
|
||||
const PIP_COMMANDS = new Set(["pip", "pip3"]);
|
||||
|
||||
export function initializePackageManager(packageManagerName) {
|
||||
if (packageManagerName === "npm") {
|
||||
state.packageManagerName = createNpmPackageManager();
|
||||
|
|
@ -29,6 +32,8 @@ export function initializePackageManager(packageManagerName) {
|
|||
state.packageManagerName = createBunPackageManager();
|
||||
} else if (packageManagerName === "bunx") {
|
||||
state.packageManagerName = createBunxPackageManager();
|
||||
} else if (PIP_COMMANDS.has(packageManagerName)) {
|
||||
state.packageManagerName = createPipPackageManager(packageManagerName);
|
||||
} else {
|
||||
throw new Error("Unsupported package manager: " + packageManagerName);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,9 +2,14 @@ import { ui } from "../../environment/userInteraction.js";
|
|||
import { safeSpawn } from "../../utils/safeSpawn.js";
|
||||
import { mergeSafeChainProxyEnvironmentVariables } from "../../registryProxy/registryProxy.js";
|
||||
|
||||
export function createPipPackageManager() {
|
||||
/**
|
||||
* Creates a package manager interface for Python's pip package installer
|
||||
*
|
||||
* @param {string} [command="pip"] - The pip command to use (e.g., "pip", "pip3") defaults to "pip"
|
||||
*/
|
||||
export function createPipPackageManager(command = "pip") {
|
||||
return {
|
||||
runCommand: (args) => runPipCommand("pip3", args),
|
||||
runCommand: (args) => runPipCommand(command, args),
|
||||
|
||||
// For pip, set proxy server
|
||||
isSupportedCommand: () => false,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue