Stands for universal npm
# npm
npm install -D unnpm
# yarn
yarn add -D unnpm
# pnpm
pnpm install -D unnpm
# bun
bun install -D unnpmimport { detectPackageManager } from "unnpm";
const pm = detectPackageManager();First unnpm will check if there is packageManager field in your package.json. Then it will scan for lock files and
pm specific files. If it fails, it will default to npm.
If there are multiple package managers detected, it throws an error, unless strict option is set to false.
strict- boolean, defaulttruecwd- string, defaultprocess.cwd()ignorePackageManagerField- boolean, defaultfalseignoreExtraFiles- boolean, defaultfalse
To use options in other function, you can use detectOptions field in the function options
import { installDependencies } from "unnpm";
await installDependencies({
detectOptions: { strict: false },
});import { installDependencies } from "unnpm";
await installDependencies({ options });import { addDependency, removeDependency } from "unnpm";
await addDependency("typescript@5.4.5", { options });
await removeDependency("typescript", { options });Published under the MIT license.
Made by @malezjaa
and community 💛