[ICO]NameLast modifiedSizeDescription
[PARENTDIR]Parent Directory  -  
[DIR]node_modules/2025-10-29 15:57 -  
[   ]LICENSE2025-10-29 15:57 1.1K 
[TXT]index.d.ts2025-10-29 15:57 150  
[   ]index.js2025-10-29 15:57 1.4K 
[   ]package.json2025-10-29 15:57 1.0K 
[TXT]README.md2025-10-29 15:57 1.1K38d15e7 removed strapi.query from api controllers to repair migration on dev server? [كارل مبارك]
# preferred-pm

> Returns the preferred package manager of a project

[![npm version](https://img.shields.io/npm/v/preferred-pm.svg)](https://www.npmjs.com/package/preferred-pm)

* Inside a Yarn workspace, Yarn is preferred.
* Inside a pnpm workspace, pnpm is preferred.
* If a `package-lock.json` is present, npm is preferred.
* If a `yarn.lock` is present, Yarn is preferred.
* If a `pnpm-lock.yaml` is present, pnpm is preferred.
* If a `bun.lockb` is present, Bun is preferred.
* If a `node_modules` is present, tries to detect which package manager installed it.

## Installation

```
<pnpm|yarn|npm|bun> add preferred-pm
```

## Usage

```js
'use strict'
const preferredPM = require('preferred-pm')

preferredPM(process.cwd())
    .then(pm => console.log(pm))
//> {name: "npm", version: ">=5"}
```

## Related

* [which-pm](https://github.com/zkochan/packages/tree/main/which-pm) - Detects what package manager was used for installation
* [which-pm-runs](https://github.com/zkochan/packages/tree/main/which-pm-runs) - Detects what package manager executes the process

## License

[MIT](LICENSE) © [Zoltan Kochan](https://kochan.io)