UNPKG

fnspm

Version:

A unified command-line interface for managing packages across multiple package managers (npm, yarn, pnpm, bun, and deno) with macOS optimization for iCloud sync and automatic package manager detection.

30 lines (29 loc) 1.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.VALID_PACKAGE_MANAGERS = void 0; exports.PackageManagerFactory = PackageManagerFactory; const package_managers_1 = require("../utils/package-managers"); const bun_1 = require("./bun"); const deno_1 = require("./deno"); const npm_1 = require("./npm"); const pnpm_1 = require("./pnpm"); const yarn_1 = require("./yarn"); exports.VALID_PACKAGE_MANAGERS = Object.keys(package_managers_1.PACKAGE_MANAGERS); function PackageManagerFactory(packageManager) { // If it's a lock file, convert it to package manager type const pmType = package_managers_1.LOCK_FILE_TO_PM_MAP[packageManager] || packageManager; switch (pmType) { case 'npm': return new npm_1.NodePM(); case 'yarn': return new yarn_1.YarnPM(); case 'pnpm': return new pnpm_1.PNodePM(); case 'bun': return new bun_1.BunPM(); case 'deno': return new deno_1.DenoPM(); default: throw new Error(`Unsupported package manager: ${pmType}`); } }