Getting Started
Install
npm install -g @maxiviper117/pnpm-matureOr run locally during development:
bun install
bun run build
node dist/cli.js update --age 7 --dry-run
node dist/cli.js update react --age 7 --dry-runFirst run
Preview the selected versions first:
pnpm-mature update --age 7 --dry-run
pnpm-mature update react --age 7 --dry-runThen apply the constrained update. In interactive terminals you'll get a three-way choice:
pnpm-mature update --age 7[w] write-only [y] write + update [N] cancelwwrites mature versions topackage.jsonand stopsywrites versions and runspnpm update- Anything else cancels
Use install mode when you want the same maturity rules during a normal install:
pnpm-mature install --age 7Target a single supported direct dependency when you do not want to inspect or update the full manifest:
pnpm-mature update react --age 7Relaxing constraints
Exact pinned dependencies such as 1.2.3 stay pinned by default, and semver ranges such as ^25.8.0 or ~1.2.3 stay within their declared range by default.
Use --relax (short -r) to widen all constraints so mature updates can move freely:
pnpm-mature update --age 7 --relax minor --dry-run
pnpm-mature update --age 7 --relax major --dry-run
pnpm-mature update --age 7 --relax --dry-runminor removes the lower bound while staying below the next major (* <major+1.0.0). major and all remove all bounds (*), allowing selection from any version including older majors. Passing --relax without a value defaults to all.
The same flag applies to both exact pinned versions and semver ranges.
Write-only mode
Use --write-only to update package.json without delegating to pnpm:
pnpm-mature update --age 7 --write-only
pnpm installThis is useful when you want to inspect the rewritten manifest or run pnpm separately with custom flags.