maturity
v1.0.2
Published
A local, branch-less dependency updater with a safety release delay.
Maintainers
Readme
maturity
A local, branch-less dependency updater for Node.js projects with a built-in safety release delay.
Why maturity?
Most dependency updaters (like Renovate or Dependabot) are designed as server-side services. maturity is a lightweight CLI tool designed to run locally, updating your package.json directly without creating branches.
Security First
In recent years, the npm ecosystem has seen an increase in supply-chain attacks, where popular packages are compromised to include malware. These malicious versions are often detected and pulled from the registry within hours or a few days.
maturity protects you by enforcing a Release Delay: It only suggests updates for versions that have been out for at least 1 day (configurable). This "cooldown period" ensures that you don't accidentally install a freshly compromised version before the community or security audits have had a chance to flag it.
Features
- Local-first: No remote platform required.
- Safety Delay: Only updates to versions at least 1 day old (default).
- Customizable: Use
--days=Nto change the safety window. - Major Upgrades: Optional support for major versions via
--major. - Major Safety: Automatically stays within the same major version by default.
- Major Reporting: Shows you available major upgrades at the end of the run.
- Peer Dependency Friendly: Uses
--legacy-peer-depsto handle complex dependency trees.
Installation
# Run without installing
npx maturity
# Or install globally
npm install -g maturityUsage
Simply run the command in your project root:
maturityCustomizing the Delay
To use a 3-day delay instead of the default 1 day:
maturity --days=3Allowing Major Upgrades
By default, maturity only suggests minor and patch updates. To allow major upgrades (e.g., v5 -> v6):
maturity --majorIntegration in package.json
Add it to your scripts to make it part of your workflow:
{
"scripts": {
"update": "maturity --days=3"
}
}Now you can just run npm run update.
How it works
- Reads your
package.json. - Fetches metadata from the npm registry for each dependency.
- Identifies the latest version released within your safety window (default: 1 day).
- Updates
package.jsonif a newer "mature" version is found. - Runs
npm install --legacy-peer-depsto update your lockfile.
License
MIT
