$ npm install detect-package-manager
yarn.lock
, package-lock.json
, pnpm-lock.yaml
, or bun.lockb
in current working directory, it will skip other operations and directly resolve yarn
, npm
, pnpm
, or bun
.yarn
, pnpm
, or bun
command exists. If so, it resolves yarn
, pnpm
, or bun
otherwise npm
.yarn add detect-package-manager
const { detect } = require("detect-package-manager");
detect().then((pm) => {
console.log(pm);
//=> 'yarn', 'npm', or 'pnpm', 'bun'
});
opts.cwd
: string
Optional, defaults to .
, the directory to look up yarn.lock
, package-lock.json
, or pnpm-lock.yaml
.opts.includeGlobalBun
: boolean
Optional, defaults to false
, whether to check if bun
exists in PATH.Promise<PM>
It returns a Promise resolving the name of package manager, could be npm
, yarn
, or pnpm
, bun
.
pm
: string
Optional, defaults to npm
, could be npm
, yarn
, or pnpm
, bun
Promise<string>
It returns a Promise resolving the version of npm or the package manager you specified.
void
Clear cache.
git checkout -b my-new-feature
git commit -am 'Add some feature'
git push origin my-new-feature
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
© 2010 - cnpmjs.org x YWFE | Home | YWFE