Currently node.js versions are hardcoded. This is not too bad, because they don't change often and it's easy to update them in the source code. However, the ideal would be to have node.js versions determined dynamically.
Possibility 1: hardcode the versions/LTS/maintenance statuses in the code, but include dates so that the results are dynamic.
Possibility 2: query an external source dynamically at run time.
Possibility 3: Copy/paste the schedule.json into the repo and generate results dynamically from that
Suggested by @ViceIce
Addition to 3: Copy schedule.json to repo on postinstall an include it in our builds. so it is always uptodate and we can see fetch errors on ci.
@ViceIce I would actually like to use this file as the motivation for a new "file-sync" manager for Renovate. i.e. it's updated via Renovate PRs if the version in the repo differs from what's on GitHub. If one day the file is unavailable or there's a human error updating it, I don't want it to stop Renovate's builds, as would happen if we pull it dynamically every time
:tada: This issue has been resolved in version 16.13.0 :tada:
The release is available on:
Your semantic-release bot :package::rocket: