* refactor(linters): add prefer-coerce-array rule Refs #45217 `x ?? []` and `coerceArray(x)` say the same thing, but only the second one is searchable and consistent. The rule flags a `??` whose default is a bare `[]` literal; a non-empty default or an asserted `([] as Foo[])` still passes. Applying it across `lib/` surfaced three spots the helper cannot cover, which keep `?? []` with a disable comment or a narrower fix: - `package-files.ts` destructures a tuple, which `coerceArray()` widens - `generate.spec.ts` defaults `matchAll()`, an iterator rather than an array - `mise/upgradeable-tooling.ts` declares a `Record` return, so its `?? []` fallback was wrong to begin with and becomes `coerceObject()` * refactor(platform/github): hoist the GHE version header lookup `Object.entries(...).find()` returns a tuple, and defaulting it with `?? []` only to destructure the second element reads as an array default when it is not one. Name the found entry instead, which drops the `?? []` rather than routing a tuple through `coerceArray()`.
Forgejo
Renovate supports Forgejo.
Authentication
First, create a Personal Access Token (PAT) for the bot account. The bot account should have full name and email address configured. Then let Renovate use your PAT by doing one of the following:
- Set your PAT as a
tokenin yourconfig.jsfile - Set your PAT as an environment variable
RENOVATE_TOKEN - Set your PAT when you run Renovate in the CLI with
--token=
You must set platform=forgejo in your Renovate config file.
The PAT should have these permissions:
| Scope | Permission | Valid for Forgejo versions | Notes |
|---|---|---|---|
repo |
Read and Write |
all | |
user |
Read |
all | |
issue |
Read and Write |
>= 1.20.0 |
|
organization |
Read |
>= 1.20.0 |
Required to read org labels and teams |
email |
Read |
<= 1.19.3 |
|
misc |
Read |
Only for 1.20.0 and 1.20.1 |
If you use Forgejo packages, add the read:packages scope.
Unsupported platform features/concepts
platformAutomerge(trueby default) for platform-native automerge not supported: Forgejo versions older than v10.0.0 don't support required branch autodelete for automerge.
Features awaiting implementation
- none
Repo autodiscover
Renovate can discover repositories on Forgejo using the autodiscover feature.
Repositories are ignored when one of the following conditions is met:
- The repository is a
mirror - We do not have push or pull permissions to that repository
- Pull requests are disabled for that repository
You can change the default server-side sort method and order for autodiscover API.
Set those via autodiscoverRepoSort and autodiscoverRepoOrder.
Read the Forgejo swagger docs for more details.
Merge style
Renovate uses the repository's default merge style if allowed; if the default merge style is not an allowed merge style, renovate falls back to an allowed merge style as per an order chosen to minimize commits. If no merge style is allowed, the repository is blocked.