@tomjs/pkg
Version:
npm package tools
24 lines (22 loc) • 876 B
TypeScript
type PackageManagerCLI = 'npm' | 'pnpm' | 'yarn';
type PackageManagerId = 'npm' | 'pnpm' | 'yarn' | 'berry';
interface PackageManager {
/**
* The main CLI, e.g. the `npm` in `npm install`, `npm test`, etc.
*/
cli: PackageManagerCLI;
/**
* How the package manager should be referred to in user-facing messages (since there are two different configs for some, e.g. yarn and berry).
*/
id: PackageManagerId;
/**
* List of lockfile names expected for this package manager, relative to CWD. e.g. `['package-lock.json', 'npm-shrinkwrap.json']`.
*/
lockfiles: string[];
/**
* The version of the package manager.
*/
version: string;
}
declare function getPackageManager(rootDir: string): Promise<PackageManager>;
export { type PackageManager, type PackageManagerCLI, type PackageManagerId, getPackageManager };