|
|
1 rok pred | |
|---|---|---|
| .. | ||
| dist | 1 rok pred | |
| LICENSE | 1 rok pred | |
| README.md | 1 rok pred | |
| package.json | 1 rok pred | |
Package manager detector is based on lock files and the packageManager field in the current project's package.json file.
It will detect your yarn.lock / pnpm-lock.yaml / package-lock.json / bun.lock / bun.lockb / deno.lock to know the current package manager and use the packageManager field in your package.json if present.
# pnpm
pnpm add package-manager-detector
# npm
npm i package-manager-detector
# yarn
yarn add package-manager-detector
To check the file system for which package manager is used:
import { detect } from 'package-manager-detector/detect'
or sync version:
import { detectSync } from 'package-manager-detector/detect'
or to get the currently running package manager:
import { getUserAgent } from 'package-manager-detector/detect'
To check the file system for which package manager is used:
const { detect } = require('package-manager-detector/detect')
or sync version:
const { detectSync } = require('package-manager-detector/detect')
or to get the currently running package manager:
const { getUserAgent } = require('package-manager-detector/detect')
This package includes package manager agents and their corresponding commands for:
'agent' - run the package manager with no arguments'install' - install dependencies'frozen' - install dependencies using frozen lockfile'add' - add dependencies'uninstall' - remove dependencies'global' - install global packages'global_uninstall' - remove global packages'upgrade' - upgrade dependencies'upgrade-interactive' - upgrade dependencies interactively: not available for npm and bun'execute' - download & execute binary scripts'execute-local' - execute binary scripts (from package locally installed)'run' - run package.json scriptsA resolveCommand function is provided to resolve the command for a specific agent.
import { resolveCommand } from 'package-manager-detector/commands'
import { detect } from 'package-manager-detector/detect'
const pm = await detect()
if (!pm)
throw new Error('Could not detect package manager')
const { command, args } = resolveCommand(pm.agent, 'add', ['@antfu/ni']) // { command: 'pnpm', args: ['add', '@antfu/ni'] }
console.log(`Detected the ${pm.agent} package manager. You can run a install with ${command} ${args.join(' ')}`)
You can check the source code or the JSDocs for more information.
MIT License © 2020-PRESENT Anthony Fu