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.17 kB
import{defineCommand as n}from"citty";import{consola as d}from"consola";import{addDevDependency as i,addDependency as o}from"nypm";const t=n({meta:{name:"add",description:"Add dependencies to the project"},args:{packages:{type:"positional",description:"Packages to add",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:"Add as dev dependency",alias:"D"},workspace:{type:"string",description:"Workspace name",alias:"w"},global:{type:"boolean",description:"Install 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"],workspace:e.workspace,global:e.global};e.dev?(await i(a,s),e.silent||d.success(`Added ${a.join(", ")} as dev dependencies`)):(await o(a,s),e.silent||d.success(`Added ${a.join(", ")} as dependencies`))}catch(a){d.error("Failed to add dependencies:",a),process.exit(1)}}});export{t as default};