jsr
Version:
jsr.io package manager for npm, yarn, pnpm and bun
39 lines (38 loc) • 1.51 kB
TypeScript
import type { InstallOptions } from "./commands.ts";
import { JsrPackage } from "./utils.ts";
export interface PackageManager {
cwd: string;
install(packages: JsrPackage[], options: InstallOptions): Promise<void>;
remove(packages: JsrPackage[]): Promise<void>;
runScript(script: string): Promise<void>;
setConfigValue?(key: string, value: string): Promise<void>;
}
declare class Yarn implements PackageManager {
cwd: string;
constructor(cwd: string);
install(packages: JsrPackage[], options: InstallOptions): Promise<void>;
remove(packages: JsrPackage[]): Promise<void>;
runScript(script: string): Promise<void>;
}
export declare class YarnBerry extends Yarn {
install(packages: JsrPackage[], options: InstallOptions): Promise<void>;
/**
* Calls the `yarn config set` command, https://yarnpkg.com/cli/config/set.
*/
setConfigValue(key: string, value: string): Promise<void>;
private toPackageArgs;
}
export declare class Bun implements PackageManager {
cwd: string;
constructor(cwd: string);
install(packages: JsrPackage[], options: InstallOptions): Promise<void>;
remove(packages: JsrPackage[]): Promise<void>;
runScript(script: string): Promise<void>;
isNpmrcSupported(): Promise<boolean>;
}
export type PkgManagerName = "npm" | "yarn" | "pnpm" | "bun";
export declare function getPkgManager(cwd: string, pkgManagerName: PkgManagerName | null): Promise<{
root: string;
pkgManager: PackageManager;
}>;
export {};