genezio
Version:
Command line utility to interact with Genezio infrastructure.
44 lines (43 loc) • 1.73 kB
JavaScript
import NpmPackageManager from "./npm.js";
import PnpmPackageManager from "./pnpm.js";
import YarnPackageManager from "./yarn.js";
import PipPackageManager from "./pip.js";
import PoetryPackageManager from "./poetry.js";
export var PackageManagerType;
(function (PackageManagerType) {
PackageManagerType["npm"] = "npm";
PackageManagerType["yarn"] = "yarn";
PackageManagerType["pnpm"] = "pnpm";
PackageManagerType["pip"] = "pip";
PackageManagerType["poetry"] = "poetry";
})(PackageManagerType || (PackageManagerType = {}));
export const NODE_DEFAULT_PACKAGE_MANAGER = PackageManagerType.npm;
export const PYTHON_DEFAULT_PACKAGE_MANAGER = PackageManagerType.pip;
/*
* A mapping between package manager types and package manager instances.
*
* Note: This code is also used to warn if a package manager has been declared, but does not have
* an implementation. (using the type checker)
*/
export const packageManagers = {
npm: new NpmPackageManager(),
yarn: new YarnPackageManager(),
pnpm: new PnpmPackageManager(),
pip: new PipPackageManager(),
poetry: new PoetryPackageManager(),
};
/*
* This is the currently selected package manager.
*
* Note: It should not be exported, as it is only used internally.
* Use the getGlobalPackageManager and setGlobalPackageManager functions instead.
*/
let packageManager = packageManagers.npm;
// This will return a global package manager instance - the default is npm.
export function getGlobalPackageManager() {
return packageManager;
}
// This will set the global package manager instance.
export function setGlobalPackageManager(packageManagerType) {
packageManager = packageManagers[packageManagerType] ?? packageManagers.npm;
}