@antfu/ni
Version:
Use the right package manager
60 lines (53 loc) • 2.06 kB
TypeScript
declare const AGENTS: {
npm: {
run: (args: string[]) => string;
install: string;
frozen: string;
global: string;
add: string;
upgrade: string;
'upgrade-interactive': null;
};
yarn: {
run: string;
install: string;
frozen: string;
global: string;
add: string;
upgrade: string;
'upgrade-interactive': string;
};
pnpm: {
run: (args: string[]) => string;
install: string;
frozen: string;
global: string;
add: string;
upgrade: string;
'upgrade-interactive': string;
};
};
declare type Agent = keyof typeof AGENTS;
declare type Command = keyof typeof AGENTS.npm;
declare function getCommand(agent: Agent, commnad: Command, args?: string[]): string;
declare function parseNi(agent: Agent, args: string[], hasLock?: boolean): string;
declare function parseNr(agent: Agent, args: string[]): string;
declare function parseNu(agent: Agent, args: string[]): string;
interface Config {
defaultAgent: Agent | 'prompt';
globalAgent: Agent;
}
declare function getConfig(): Config;
declare function getDefaultAgent(): "npm" | "pnpm" | "yarn" | "prompt";
declare function getGlobalAgent(): "npm" | "pnpm" | "yarn";
interface DetectOptions {
autoInstall?: boolean;
}
declare function detect({ autoInstall }: DetectOptions): Promise<"npm" | "pnpm" | "yarn" | null>;
declare type Runner = (agent: Agent, args: string[], hasLock?: boolean) => Promise<string | undefined> | string | undefined;
declare function runCli(fn: Runner, options?: DetectOptions): Promise<void>;
declare function run(fn: Runner, args: string[], options?: DetectOptions): Promise<void>;
declare function remove<T>(arr: T[], v: T): T[];
declare function exclude<T>(arr: T[], v: T): T[];
declare function cmdExists(cmd: string): boolean;
export { DetectOptions, Runner, cmdExists, detect, exclude, getCommand, getConfig, getDefaultAgent, getGlobalAgent, parseNi, parseNr, parseNu, remove, run, runCli };