A dream project is when your codebase runs on the latest and safest version of your libraries.
No need to worry about deprecation, adaptation, breaking changes, or sticking with legacy tools.
Today GitHub/GitLab tend to make it easier with assisted upgrades : dependabot, security alerts, all you have to do is to activate it and to merge on case by case basis.
You can even activate the auto-merge feature.
But sometimes having dedicated pull-requests is a bit overkill.
What you want to do is only to make sure you stay in sync with your dependencies.
Then you can just ask Jenkins to schedule a job to upgrade your dependencies on a daily / weekly / monthly basis.
I want to show you how I adressed the challenge by just re running an upgrade with npm at each run.