npm
Install tools published as npm packages. Supports both npm and bun as package managers.
Basic Usage
Section titled “Basic Usage”import { defineTool } from "@alexgorbatchev/dotfiles";
export default defineTool((install) => install("npm", { package: "prettier" }).bin("prettier"));Parameters
Section titled “Parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
package | string | No | npm package name (defaults to tool name) |
version | string | No | Version or version range (e.g., 3.0.0, defaults to latest) |
packageManager | 'npm' | 'bun' | No | Package manager to use for installation (defaults to 'npm') |
env | Record<string, string> | (ctx) => Record<...> | No | Environment variables (static or dynamic function) |
Examples
Section titled “Examples”Specific Version
Section titled “Specific Version”export default defineTool((install) => install("npm", { package: "prettier", version: "3.0.0", }).bin("prettier"),);Using Bun
Section titled “Using Bun”export default defineTool((install) => install("npm", { package: "prettier", packageManager: "bun", }).bin("prettier"),);Scoped Package
Section titled “Scoped Package”export default defineTool((install) => install("npm", { package: "@angular/cli", }).bin("ng"),);Install Specific Version
Section titled “Install Specific Version”export default defineTool((install) => install("npm", { package: "typescript", version: "5.8.3", }).bin("tsc"),);How It Works
Section titled “How It Works”- Install: Runs
npm install -g <package>[@version](orbun install -g <package>[@version]whenpackageManager: 'bun') - Binaries: Resolved from the package manager’s global bin directory (
npm prefix -g+/bin, orbun pm bin -g) - Version: Detected via
npm ls -g --depth=0 --json <package>(npm) orbun pm ls -g(bun) - Remote version metadata: Resolved via
npm view <package>[@version] version(npm) orbun info <package>[@version] version --json(bun)