detect-package-manager
How does this work?
- When there's
yarn.lock,package-lock.json, orpnpm-lock.yamlin current working directory, it will skip other operations and directly resolveyarn,npm, orpnpm. - When there's no lockfile found, it checks if
yarnandpnpmcommand exists. If so, it resolvesyarnorpnpmotherwisenpm. - Results are cached.
Install
yarn add detect-package-manager
Usage
const { detect } = require('detect-package-manager')
detect()
.then(pm => {
console.log(pm)
//=> 'yarn', 'npm', or 'pnpm'
})
API
detect([opts])
- Arguments:
opts.cwd:stringOptional, defaults to., the directory to look upyarn.lock,package-lock.json, orpnpm-lock.yaml.
- Returns:
Promise<PM>
It returns a Promise resolving the name of package manager, could be npm, yarn, or pnpm.
getNpmVersion([pm])
- Arguments:
pm:stringOptional, defaults tonpm, could benpm,yarn, orpnpm
- Returns:
Promise<string>
It returns a Promise resolving the version of npm or the package manager you specified.
clearCache()
- Returns:
void
Clear cache.
Contributing
- 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
Author
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