- When there's
yarn.lock
,package-lock.json
,pnpm-lock.yaml
, orbun.lockb
in current working directory, it will skip other operations and directly resolveyarn
,npm
,pnpm
, orbun
. - When there's no lockfile found, it checks if
yarn
,pnpm
, orbun
command exists. If so, it resolvesyarn
,pnpm
, orbun
otherwisenpm
. - Results are cached.
yarn add detect-package-manager
const { detect } = require("detect-package-manager");
detect().then((pm) => {
console.log(pm);
//=> 'yarn', 'npm', or 'pnpm', 'bun'
});
- Arguments:
opts.cwd
:string
Optional, defaults to.
, the directory to look upyarn.lock
,package-lock.json
, orpnpm-lock.yaml
.opts.includeGlobalBun
:boolean
Optional, defaults tofalse
, whether to check ifbun
exists in PATH.
- Returns:
Promise<PM>
It returns a Promise resolving the name of package manager, could be npm
, yarn
, or pnpm
, bun
.
- Arguments:
pm
:string
Optional, defaults tonpm
, could benpm
,yarn
, orpnpm
,bun
- Returns:
Promise<string>
It returns a Promise resolving the version of npm or the package manager you specified.
- Returns:
void
Clear cache.
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
detect-package-manager © EGOIST, Released under the MIT License.
Authored and maintained by EGOIST with help from contributors (list).
github.com/egoist · GitHub @EGOIST · Twitter @_egoistlily