@xystack/up
v0.1.1
Published
Interactive CLI to check and upgrade globally installed packages
Maintainers
Readme
@xystack/up
Interactive CLI to check and upgrade globally installed packages across multiple package managers.
Features
- 🔍 Auto-detect package managers (npm, pnpm, yarn, bun)
- 📦 List all globally installed packages with current versions
- 🔄 Check for updates by fetching latest versions from the registry
- ✨ Interactive multi-select interface to choose packages to upgrade
- ⚡ Batch upgrade selected packages with progress feedback
- 🎨 Beautiful CLI interface powered by @clack/prompts
Installation
# npm
npm install -g @xystack/up
# pnpm
pnpm add -g @xystack/up
# yarn
yarn global add @xystack/up
# bun
bun add -g @xystack/upUsage
Simply run the up command in your terminal:
upThe CLI will:
- Detect available package managers on your system
- Fetch all globally installed packages
- Check for available updates
- Present an interactive list of packages with updates
- Let you select which packages to upgrade
- Upgrade the selected packages
Example Output
┌ @xystack/up
│
◇ Found 2 package managers: npm, pnpm
◇ Found 15 global packages
◇ Found 5 packages with updates
│
◆ Select packages to upgrade:
│ ◻ typescript (npm) 2.4.1 → 2.5.0
│ ◻ eslint (pnpm) 8.0.0 → 8.1.0
│ ◼ prettier (npm) 3.0.0 → 3.1.0
│ ◻ vite (bun) 5.0.0 → 5.1.0
│ ◼ turbo (pnpm) 1.10.0 → 1.11.0
└Development
Prerequisites
- Bun (runtime and package manager)
Setup
# Clone the repository
git clone https://github.com/xinyao27/up.git
cd up
# Install dependencies
bun installAvailable Scripts
# Run directly from source
bun run start
# Build the library
bun run build
# Run tests
bun test
# Lint and type check
bun run lint
# Type check only
bun run typecheck
# Update dependencies
bun run up
# Release new version
bun run releaseProject Structure
src/cli.ts- Main CLI interface with interactive promptssrc/utils/pm.ts- Package manager detection and operationssrc/utils/registry.ts- NPM registry version checkingdist/- Build output (generated)
Technology Stack
- Runtime: Bun
- Build: tsdown (generates CJS, ESM, and TypeScript declarations)
- Linting: Biome
- CLI Framework: @clack/prompts
- Testing: Bun's built-in test runner
