Skip to content

Npm To

npm versionnpm monthly downloadsnpm sizenpm license

Automatically converts npm commands to equivalent commands for other package managers (pnpm, yarn, bun, deno).

Installation

sh
pnpm add vitepress-plugin-npm-to
sh
npm install vitepress-plugin-npm-to
sh
bun add vitepress-plugin-npm-to
sh
deno add vitepress-plugin-npm-to
sh
yarn add vitepress-plugin-npm-to

Usage

.vitepress/config.ts
ts
import { defineConfig } from 'vitepress-tuck'
import npmTo from 'vitepress-plugin-npm-to'

export default defineConfig({
  plugins: [
    npmTo(['npm', 'pnpm', 'yarn']),
  ],
})

Learn more about vitepress-tuck

Native Mode

.vitepress/config.ts
ts
import { defineConfig } from 'vitepress'
import { npmToPlugin } from 'vitepress-plugin-npm-to'

export default defineConfig({
  markdown: {
    config: (md) => {
      md.use(npmToPlugin, ['npm', 'pnpm', 'yarn'])
    },
  },
})

Syntax

Use the ::: npm-to container to wrap npm commands. The plugin automatically converts them into multi-tab code groups:

md
::: npm-to
```sh
npm install vitepress-plugin-steps
```
:::

After rendering, it displays as multiple tabs, each showing the corresponding package manager's install command:

  • npm: npm install vitepress-plugin-steps
  • pnpm: pnpm add vitepress-plugin-steps
  • yarn: yarn add vitepress-plugin-steps

Supported Command Types

The plugin supports automatic conversion of the following npm commands:

CommandExampleSupport
npm install / npm inpm install reactConverts to each manager's add command
npm install (no args)npm installConverts to pure install command
npm uninstallnpm uninstall reactConverts to each manager's remove command
npm runnpm run buildConverts to each manager's run command
npm createnpm create viteConverts to each manager's create command
npm initnpm init -yConverts to each manager's init command
npxnpx eslint .Converts to each manager's equivalent
npm cinpm ciConverts to each manager's ci command

Custom Tabs

You can specify which tabs to display using the tabs attribute:

md
::: npm-to tabs="npm,pnpm"
```sh
npm install vitepress-plugin-steps
```
:::

Configuration

ts
type NpmToPluginOptions =
  | NpmToPackageManager[]   // e.g. ['npm', 'pnpm', 'yarn']
  | {
      tabs?: NpmToPackageManager[]
    }

type NpmToPackageManager = 'npm' | 'pnpm' | 'yarn' | 'bun' | 'deno'
  • Displays npm, pnpm, yarn tabs by default
  • Supports bun and deno conversion

Example

md
::: npm-to
```sh
npm install vitepress-plugin-steps
```
:::
sh
pnpm add vitepress-plugin-steps
sh
npm install vitepress-plugin-steps
sh
bun add vitepress-plugin-steps
sh
deno add vitepress-plugin-steps
sh
yarn add vitepress-plugin-steps

Released under the MIT License