@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.22 kB
JavaScript
"use strict";const citty=require("citty"),consola=require("consola"),nypm=require("nypm"),add=citty.defineCommand({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 nypm.addDevDependency(a,s),e.silent||consola.consola.success(`Added ${a.join(", ")} as dev dependencies`)):(await nypm.addDependency(a,s),e.silent||consola.consola.success(`Added ${a.join(", ")} as dependencies`))}catch(a){consola.consola.error("Failed to add dependencies:",a),process.exit(1)}}});exports.default=add;