chore(renovate): declare Node 22.22.1 constraint#103
Conversation
Without a declared Node constraint, Renovate cannot detect when a dependency update raises the project's required Node version. Setting constraints.node lets Renovate filter or flag incompatible updates before they reach review (e.g. lint-staged v17's bump to >=22.22.1 in #102). This lives in renovate.json rather than package.json's engines field to avoid leaking a development-only constraint to consumers of the published library. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
doistbot
left a comment
There was a problem hiding this comment.
This PR nicely updates the Renovate configuration to declare a Node 22.22.1 constraint, helping prevent the bot from suggesting incompatible dependency updates without affecting downstream library consumers. It is a helpful addition for maintaining build stability and avoiding unexpected install failures. However, there is a discrepancy between this new constraint and the baseline versions currently documented in the project's README and .node-version files that may need alignment to fully ensure consistent contributor environments.
| "updateNotScheduled": false, | ||
| "reviewers": ["team:frontend-product"], | ||
| "constraints": { | ||
| "node": "22.22.1" |
There was a problem hiding this comment.
[P2] This sets Renovate’s Node baseline to 22.22.1, but the repo still declares a different baseline elsewhere (README.md says >=22.18.0, and .node-version is only 22.22). With engine-strict=true, Renovate can now accept dependency updates that will fail for contributors following the documented setup. Align this constraint with the project’s actual supported Node version, or update the repo’s baseline docs/version file in the same change.
nats12
left a comment
There was a problem hiding this comment.
Agree with doistbot's comment re: aligning .node-version and/or docs. Otherwise LGTM 🚀
Indeed. It was done in the PR #102. |
Summary
Adds a
constraints.nodedeclaration torenovate.jsonso Renovate knows this project's Node baseline and can filter or flag incompatible dependency updates before review.Motivation
In #102, Renovate proposed
lint-staged@17, which raises the required Node version to>=22.22.1. Withengine-strict=truein.npmrc, anyone following the previously documented Node baseline would have hitnpm cifailures after merge. Renovate had no way to detect this because the project didn't declare its own Node constraint.Why
renovate.jsonand notpackage.jsonenginesThis is a published library. Adding
engines.nodetopackage.jsonwould propagate the constraint to every consumer of@doist/interaction-trace, who may run older Node versions. The Renovateconstraintsfield is bot-only — it never ships to npm.Test plan
🤖 Generated with Claude Code