CLI
update
pnpm-mature update [package...] [-a|--age <days>] [-g|--use-pnpm-global-config] [-r [level]] [-d|--dry-run] [-y|--yes] [-w|--write-only] [--max-registry-mib <mib>]Computes maturity-aware versions, prints the generated package.json updates, asks for confirmation in interactive terminals, writes confirmed changes into package.json, and runs pnpm update. When one or more package names are supplied, only those supported direct dependencies are processed, so pnpm-mature update react --age 7 updates just react.
install
pnpm-mature install [package...] [-a|--age <days>] [-g|--use-pnpm-global-config] [-r [level]] [-d|--dry-run] [-w|--write-only] [--max-registry-mib <mib>]Uses the same maturity flow, writes the selected versions into package.json, and then delegates to pnpm install. When one or more package names are supplied, only those supported direct dependencies are processed.
Options
[package...]: Optional direct dependency names to target. Every requested package must already exist inpackage.jsonwith a supported dependency spec. For example,pnpm-mature update react --age 7rewrites only thereactentry inpackage.json.-a, --age <days>: Positive integer threshold in days, up to3650. Overrides config if both are provided.-g, --use-pnpm-global-config: ReadminimumReleaseAgefrom pnpm global config when--ageis omitted. pnpm stores this value in minutes, and the resolved threshold must not exceed3650days.-r, --relax [minor|major|all]: Relax declared version constraints so mature updates can move within the same major or across majors. Applies to both exact pinned versions (like"4.18.2") and semver ranges (^25.8.0,~1.2.3).minorremoves the lower bound while staying below the next major (* <major+1.0.0).majorandallremove all bounds (*), allowing selection from any version including older majors. Pass-rwith no value to default toall.-d, --dry-run: Print selections and generatedpackage.jsonupdates without running pnpm.-y, --yes: Skip the interactiveupdateconfirmation prompt.-w, --write-only: Write mature versions topackage.jsonand exit without running pnpm. The confirmation prompt is also skipped. Use-d/--dry-runfirst to preview the changes.-t, --include-transitive: Reserved for a future release and currently rejected.
WARNING
pnpm-mature currently only processes direct dependencies. Transitive (nested) dependencies discovered through the lockfile are not inspected or age-filtered. The --include-transitive flag exists as a placeholder and will be rejected if used.
--max-registry-mib <mib>: Override the maximum npm registry response size in MiB. The default is100. Use this only if pnpm-mature reports that a legitimate package exceeded the safety limit.--registry-max-response-mib <mib>: Longer alias for--max-registry-mib.
Confirmation
In an interactive terminal, update presents a three-way prompt after printing the generated manifest updates:
[w] write-only [y] write + update [N] cancelw— write mature versions topackage.jsonand exit without running pnpm.yoryes— write versions topackage.jsonand runpnpm update.Nor anything else — cancel beforepackage.jsonis changed.
Pass -y or --yes to skip the prompt and run the full write + update. Non-interactive runs also skip the prompt.