UNPKG

@funish/basis

Version:

A unified development toolkit with CLI for package management, versioning, publishing, linting, and git hooks management for JavaScript/TypeScript projects.

2 lines (1 loc) 1.13 kB
"use strict";const citty=require("citty"),consola=require("consola"),nypm=require("nypm"),remove=citty.defineCommand({meta:{name:"remove",description:"Remove dependencies from the project"},args:{packages:{type:"positional",description:"Packages to remove",required:!0},cwd:{type:"string",description:"Working directory",default:process.cwd()},silent:{type:"boolean",description:"Silent mode",alias:"s"},"package-manager":{type:"string",description:"Package manager to use (npm, yarn, pnpm, bun, deno)",alias:"pm"},dev:{type:"boolean",description:"Remove from dev dependencies",alias:"D"},workspace:{type:"string",description:"Workspace name",alias:"w"},global:{type:"boolean",description:"Remove globally",alias:"g"}},async run({args:e}){try{const a=Array.isArray(e.packages)?e.packages:[e.packages],s={cwd:e.cwd,silent:e.silent,packageManager:e["package-manager"],dev:e.dev,workspace:e.workspace,global:e.global};for(const o of a)await nypm.removeDependency(o,s),e.silent||consola.consola.success(`Removed ${o}`)}catch(a){consola.consola.error("Failed to remove dependencies:",a),process.exit(1)}}});exports.default=remove;