Renovate Bot: Open-source Contributions
My story of making a contribution to Renovatebot

Tim Jinna
All My Pull Request: Check it out here
TL;DR
In a nutshell, I managed to enhance Renovatebot’s syntax parser within the Scala and Kotlin modules.
The Story
It all started back in July 2022 when I first came across Renovatebot. The goal was to enhance the developer experience within our company. After diving into the documentation and conducting thorough tests, I stumbled upon an issue with parsing Scala repositories. Scala allows variable lookup from inside a package definition, which can be seen in an example from IntelliJ here.
I tried my hand at configuring it using the regex Manager, but the results weren’t as impressive as I’d hoped. So, I made a bold decision – to do something I had never done before: clone the repository and rewrite the parser manager. To be honest, the code was quite a challenge, and testing it required writing some additional scripts.
The Technical Side
The solution I came up with was a new function I named extractAllPackageFiles
. In the previous version, the Scala manager processed one .scala
file at a time using extractPackageFile
function, which had its limitations when it came to looking up variables in other files.
With the new function, I managed to:
- Iterate through all Scala files.
- Store variables inside a Hashmap.
- Populate the dependencies object.
This enhancement allowed the Renovatebot Scala manager to read variables from other files, making it more powerful and versatile.
My Contribution Highlights
Here are the Pull Requests where you can see the improvements I made:
- Fix(manager/sbt): Allow adding Compiler Plugins #17006
- Fix(manager/sbt): Allow star comments #17005
- Fix(managers/gradle): Allow dot annotation in version.ref #21820
- Fix(managers/sbt): SBT Multiple Variable File Lookup #21622
- Chore(managers/sbt): Remove Unused Types #21570
These contributions were a significant step in improving Renovatebot and its capabilities. I’m excited to continue my journey in the world of open-source contributions, and I hope this story inspires others to step out of their comfort zones and make a difference in the open-source community.