Home

Awesome

🌈 nypm

<!-- automd:badges color="yellow" codecov -->

npm version npm downloads codecov

<!-- /automd -->

🌈 Unified Package Manager for Node.js (npm, pnpm, yarn), Bun and Deno.

✅ Supports npm, yarn, pnpm and bun and deno out of the box with a unified API.

✅ Provides an API interface to interact with package managers.

✅ Autodetects project's package manager using package.json and known lockfiles.

✅ corepack integration for pnpm and yarn.

nypm command

Install dependencies:

npx nypm i

Add a dependency:

npx nypm add defu

Remove a dependency:

npx nypm remove defu

API Usage

Install package:

<!-- automd:pm-i -->
# ✨ Auto-detect
npx nypm install nypm

# npm
npm install nypm

# yarn
yarn add nypm

# pnpm
pnpm install nypm

# bun
bun install nypm

# deno
deno install nypm
<!-- /automd -->

Import:

// ESM
import { addDependency } from "nypm";

// CommonJS
const { addDependency } = require("nypm");

addDependency(name, options)

Adds dependency to the project.

addDevDependency(name, options)

Adds dev dependency to the project.

detectPackageManager(cwd, options)

Detect the package manager used in a directory (and up) by checking various sources:

  1. Use packageManager field from package.json
  2. Known lock files and other files

ensureDependencyInstalled(name, options)

Ensures dependency is installed.

installDependencies(options)

Installs project dependencies.

removeDependency(name, options)

Removes dependency from the project.

💻 Development

Related Projects

NYPM is inspired from previous attempts and projects for unifying package manager experience.

License

Made with 💛

Published under MIT License.

<!-- Badges -->