renovate icon indicating copy to clipboard operation
renovate copied to clipboard

feat(presets): `@tsconfig/bases` node replacements

Open setchy opened this issue 10 months ago • 5 comments

Changes

Add new replacement preset to help with @tsconfig/bases node updates, both within package.json and tsconfig.json

Demo repository: https://github.com/setchy/renovate-tsconfig-bases

Context

Documentation (please check one with an [x])

  • [ ] I have updated the documentation, or
  • [x] No documentation update is required

How I've tested my work (please select one)

I have verified these changes via:

  • [ ] Code inspection only, or
  • [ ] Newly added/modified unit tests, or
  • [x] No unit tests but ran on a real repository, or
  • [ ] Both unit tests + ran on a real repository

setchy avatar Jun 04 '25 13:06 setchy

The build began failing once I added the corresponding customManager to help keep the tsconfig.json file in-sync with the replacement updates.

setchy avatar Jun 04 '25 13:06 setchy

Won't this start a cascading series of replacements? e.g. 10 -> 12 -> 14 -> 16 -> 18 etc.

It would, but I figured users could decide if they applied the replacement, declined it, or left it open.

It would be nice if it could be kept in sync with the repositories node version - or: have these replacements dependant on another dependency version

setchy avatar Jun 04 '25 21:06 setchy

Hi there,

This PR appears to have been inactive for a while. Please let us know if you are still working on it, or if we can close it for now.

Thanks, the Renovate team

github-actions[bot] avatar Aug 16 '25 08:08 github-actions[bot]

I would still like to find a solution to help automate the @tsconfig/bases updates.

Open to other suggestions on ways to implement this. Are there other packages that follow a similar need?

setchy avatar Dec 02 '25 18:12 setchy

Why would we need the replacements? Won't the custom manager alone be enough

It's been a while since I looked into this, but to my knowledge the replacements were needed as the depName itself changes

setchy avatar Dec 08 '25 17:12 setchy

@viceice - does this now make sense, splitting the logic between a set of replacements, and then a customManager for keeping the tsconfig extends updated

setchy avatar Dec 11 '25 16:12 setchy

:tada: This PR is included in version 42.52.0 :tada:

The release is available on:

Your semantic-release bot :package::rocket:

github-actions[bot] avatar Dec 12 '25 19:12 github-actions[bot]

@setchy it seems something is wrong

Progress: resolved 1, reused 0, downloaded 0, added 0
 ERR_PNPM_NO_MATCHING_VERSION  No matching version found for @tsconfig/[email protected] while fetching it from https://npm.xxx.test/

This error happened while installing a direct dependency of /tmp/renovate/repos/forgejo/org/infra

The latest release of @tsconfig/node20 is "20.1.8". Published at 11/18/2025

If you need the full list of all 12 published versions run "$ pnpm view @tsconfig/node20 versions".

viceice avatar Dec 13 '25 13:12 viceice