57 lines
2.5 KiB
TypeScript
57 lines
2.5 KiB
TypeScript
import { c as AgentCommands, b as AgentCommandValue, R as ResolvedCommand, A as Agent, C as Command } from './shared/package-manager-detector.CqsrLAro.mjs';
|
|
|
|
/**
|
|
* Split `run` arguments around the script name for package managers that
|
|
* require `--` to forward extra arguments to the script (npm, pnpm@6).
|
|
*
|
|
* The script name is the first positional argument that is neither a flag
|
|
* nor the value of a preceding value-taking flag (e.g. `-w <workspace>`).
|
|
* Everything before it (workspace/filter flags) stays in front; everything
|
|
* after it is the script's own arguments.
|
|
*
|
|
* @param args The arguments passed after the `run` command.
|
|
* @param valueFlags Flags that consume the following argument as their value.
|
|
* @returns The args split into `before` the script, the `script` itself
|
|
* (or `undefined` when there is no script name), and the `after` args.
|
|
*/
|
|
declare function splitRunArgs(args: string[], valueFlags?: string[]): {
|
|
before: string[];
|
|
script: string | undefined;
|
|
after: string[];
|
|
};
|
|
declare const COMMANDS: {
|
|
npm: AgentCommands;
|
|
yarn: AgentCommands;
|
|
'yarn@berry': AgentCommands;
|
|
pnpm: AgentCommands;
|
|
'pnpm@6': AgentCommands;
|
|
bun: AgentCommands;
|
|
aube: AgentCommands;
|
|
deno: AgentCommands;
|
|
nub: AgentCommands;
|
|
};
|
|
/**
|
|
* Resolve the command for the agent merging the command arguments with the provided arguments.
|
|
*
|
|
* For example, to show how to install `@antfu/ni` globally using `pnpm`:
|
|
* ```js
|
|
* import { resolveCommand } from 'package-manager-detector/commands'
|
|
* const { command, args } = resolveCommand('pnpm', 'global', ['@antfu/ni'])
|
|
* console.log(`${command} ${args.join(' ')}`) // 'pnpm add -g @antfu/ni'
|
|
* ```
|
|
*
|
|
* @param agent The agent to use.
|
|
* @param command the command to resolve.
|
|
* @param args The arguments to pass to the command.
|
|
* @returns {ResolvedCommand} The resolved command or `null` if the agent command is not found.
|
|
*/
|
|
declare function resolveCommand(agent: Agent, command: Command, args: string[]): ResolvedCommand | null;
|
|
/**
|
|
* Construct the command from the agent command merging the command arguments with the provided arguments.
|
|
* @param value {AgentCommandValue} The agent command to use.
|
|
* @param args The arguments to pass to the command.
|
|
* @returns {ResolvedCommand} The resolved command or `null` if the command is `null`.
|
|
*/
|
|
declare function constructCommand(value: AgentCommandValue, args: string[]): ResolvedCommand | null;
|
|
|
|
export { COMMANDS, constructCommand, resolveCommand, splitRunArgs };
|