Loading...
Loading...
Upgrade dependencies safely using pnpm catalog, checking for breaking changes, and testing upgrades. Use when updating packages, applying security patches, upgrading major versions, resolving dependency conflicts, or modernizing tech stack.
npx skill4agent add sgcarstrends/sgcarstrends dependency-upgradepnpm outdated # Check all outdated
pnpm -r outdated # Across workspace
pnpm -F @sgcarstrends/api outdated # Specific package
pnpm dlx taze --interactive # Interactive upgrade# pnpm-workspace.yaml
catalog:
next: ^16.0.0 # Upgraded from ^15.0.0
react: ^19.0.0"package": "catalog:"pnpm install
pnpm tsc --noEmit # Type check
pnpm test # Unit tests
pnpm biome check . # Lint
pnpm build # Build
pnpm dev # Manual testing// Example: Next.js 16 async params
// Before
export default function Page({ params }: { params: { id: string } }) {
return <div>{params.id}</div>;
}
// After
export default async function Page({ params }: { params: Promise<{ id: string }> }) {
const { id } = await params;
return <div>{id}</div>;
}git commit -m "chore(deps): upgrade Next.js to v16
- Upgrade Next.js 15 → 16
- Upgrade React 18 → 19
- Fix async params migration
BREAKING CHANGE: Requires Node.js 20+"pnpm dlx @next/codemod@latest upgrade latest # Run codemod
# Update catalog: next: ^16.0.0, react: ^19.0.0
pnpm install
# Fix: async params, async cookies/headers# Update catalog: typescript: ^5.3.3
pnpm install
pnpm tsc --noEmit # Fix type errors# Update catalog: drizzle-orm: ^0.30.0, drizzle-kit: ^0.20.0
pnpm install
pnpm -F @sgcarstrends/database db:generate # If schema changedpnpm audit # Check vulnerabilities
pnpm audit --fix # Auto-fix
# Or manually update vulnerable package in catalogpnpm why package-name # Check dependency chain
pnpm dedupe # Deduplicate{ "pnpm": { "overrides": { "react": "^19.0.0" } } }git reset --hard HEAD
# Or revert lockfile:
git checkout main -- pnpm-lock.yaml
pnpm install# Lockfile conflicts
rm pnpm-lock.yaml && pnpm install
# Build failures after upgrade
rm -rf node_modules .turbo dist .next && pnpm install && pnpm buildsecurity