Skip to content

Conversation

@Lemonexe
Copy link
Contributor

@Lemonexe Lemonexe commented Nov 12, 2025

Description

  • Mainly, add yarn "age gate", meaning that yarn won't let you install a version younger than 14 days
  • Add "cooldown" to dependabot, so that it doesn't suggest versions younger than that
    • see dependabot docs
    • that' less impactful because we don't check it that often, this is just to prevent nuissance where dependabot would require us to install a version that yarn forbids.

Exclusions

Exclusions are ofc possible for experimental, rapidly changing packages. Adding a few that we know about right away.

How to bump deps now?

When you run for example yarn list-outdated TEAM, the age gate is honored. So for example it suggests eslint 9.38 (old enough), not 9.39.1 (too young), which is amazing, otherwise it'd be really annoying 🙂

  • yarn up honors the age gate automatically
  • ncu doesn't do it automatically, but since 19.1.0 you can specify -c alias --cooldown yourself, so for example:
    ncu --deep -u -c 14 -t greatest --pre 0 -f @eslint/js
    will update eslint to the age gated version in all package.jsons 🚀 🙂
    • target greatest must be specified; default latest may not match anything with -c (more on that here)

Related Issue

Resolve #22681

Screenshots

I installed eslint 9.39.1, which is 9 days old as of writing this PR, and it won't let me install:

age gate blocked me

🔍🖥️ Suite web test results: View in Currents

🔍🖥️ Suite desktop test results: View in Currents

@Lemonexe Lemonexe added the dependencies Pull requests that update a dependency file label Nov 12, 2025
@Lemonexe Lemonexe marked this pull request as ready for review November 12, 2025 17:05
npmMinimalAgeGate: 4320
# Skip age gate for experimental, rapidly changing packages
npmPreapprovedPackages:
- "@evolu/*"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- "@evolu/*"
- "@evolu/*"
- "@types/invity-api"

our package

Copy link
Contributor Author

@Lemonexe Lemonexe Nov 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added ✔️

In case of .yarnrc.yml it works with names in form @scope/name@resolver, in our case resolver is always npm, so I wrote it @* at the end, which will mean any version

@Lemonexe Lemonexe force-pushed the ci/yarn-min-age branch 2 times, most recently from e680678 to 313b9be Compare November 12, 2025 20:47
@trezor-bot
Copy link
Contributor

trezor-bot bot commented Nov 12, 2025

✅ Previously successful run of [Test] PR Suite Web e2e tests workflow has been found.
⏭️ Skipping tests for this run.
💡 If you are unsure about your latest changes, please rerun the workflow manually. (Use the Re-run all jobs option)

@trezor-bot
Copy link
Contributor

trezor-bot bot commented Nov 12, 2025

✅ Previously successful run of [Test] PR Suite Desktop e2e tests workflow has been found.
⏭️ Skipping tests for this run.
💡 If you are unsure about your latest changes, please rerun the workflow manually. (Use the Re-run all jobs option)

Copy link
Contributor

@komret komret left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👏

@Lemonexe Lemonexe merged commit 76531e1 into develop Nov 20, 2025
31 of 32 checks passed
@Lemonexe Lemonexe deleted the ci/yarn-min-age branch November 20, 2025 18:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Enable minimum package age (cooldown) feature for Dependabot and Yarn

4 participants