Commit Graph

44 Commits

Author SHA1 Message Date
Jamie Tanna 711d46b19b refactor(config): add requiresCheckAtTrustBoundary option flag
As part of follow-up changes, we'll introduce stricter validation for
config options that need to be re-validated before use.

We can prefactor by adding a new field to the config options, and making
sure it doesn't appear in the generated docs.

Co-authored-by: Claude Opus 4.8 <jamie.tanna+claude-code@mend.io>
Co-authored-by: Claude Opus 5 <jamie.tanna+claude-code@mend.io>
2026-09-03 08:01:41 +01:00
Jamie Tanna b62fe59594 fix: remove references to "bot" (#39305)
We dropped the "bot" from our terminology long ago, but it looks like
we've got some outdated docs + code that reference it.

We should remove this to keep things consistent.

A `fix`, as we're changing the commit author's name, and log lines.

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-09-02 08:56:20 +00:00
Pierluigi Lenoci 09def4f3a7 feat(config): add statusCheckWhen option to control individual Renovate status checks (#42887)
* feat: add generic statusCheckWhen option to control any renovate status check

Replace the artifacts-specific `artifactsCheckWhen` option with a generic
`statusCheckWhen` object that can control when ANY Renovate status check is
emitted. Keys mirror `statusCheckNames`: `artifactError`, `configValidation`,
`mergeConfidence`, `minimumReleaseAge`.

Each key accepts: "always" | "never" | "failed"
- always: set check on every commit (green on success, red on failure)
- never: skip the check entirely
- failed: only set the check when there is a failure (silent on success)

Default values preserve existing behavior:
- artifactError: "failed" (only report failures, as before)
- configValidation: "always"
- mergeConfidence: "always"
- minimumReleaseAge: "always"

The defaults table in docs is autogenerated from the option's `default`
field via `tools/docs` so the docs cannot drift from the source of truth.

Logging is gated so that "skipping" debug lines only fire when there is
something to skip (errors / status set), keeping logs quiet on every
branch run when a check is set to "never".

Example configuration:
```json
{
  "statusCheckWhen": {
    "artifactError": "always",
    "mergeConfidence": "never"
  }
}
```

Signed-off-by: Pierluigi Lenoci <pierluigilenoci@gmail.com>

* refactor(docs): address viceice review — single replace marker, coerceObject, simplify replaceContent call

- Use single replace marker instead of begin/end pair in docs and config.ts
- Use coerceObject from lib/util/object.ts instead of manual (val ?? {}) as Type
- Refactor replaceContent call to match upstream API signature (string, not object)

Signed-off-by: Pierluigi Lenoci <pierluigilenoci@gmail.com>

* fix: fix test for never mode with no errors and format docs

- Add missing config.artifactErrors = [] in test that checks
  'skips status entirely when mode is never with no errors' (beforeEach
  sets artifactErrors to [{fileName: 'some'}], test needs no errors)
- Reformat note block in docs from 4-space to 2-space indent to match
  prettier formatting (custom mkdocs-admonitions plugin expectation)

Signed-off-by: Pierluigi Lenoci <pierluigilenoci@gmail.com>

---------

Signed-off-by: Pierluigi Lenoci <pierluigilenoci@gmail.com>
2026-06-10 14:22:43 +00:00
Jamie Tanna 7a2af5318c docs(config): reword repo configuration options header (#43678)
* docs(config): don't trim newline after generated config filenames

Otherwise there's no newline before the next sentence.

* docs(config): correct usage of JSON5 presets

* docs(config): rewrite overview section

- introduce a linkable section for "what filenames are supported"
- correct the usage of "config help" discussions
- keep precedence/ordering in a single paragraph

* fixup! docs(config): rewrite overview section
2026-05-29 13:37:45 +00:00
Felipe Santos 392105b7c6 chore(oxlint): enable unicorn plugin and prefer-node-protocol (#43283)
chore(oxlint): enable unicorn plugin and prefer-node-protocol
2026-05-29 06:55:58 +00:00
Sebastian Poxhofer 3ecf71589b docs(docs): remove usage of prettier-ignore in site generation (#43632) 2026-05-27 17:03:44 +00:00
Jamie Tanna 33e857e04a docs: migrate all admonitions and lists to using 2-space indents (#43607)
* docs: ensure 2 spaces used for generated admonitions

As a follow-up to 4b0146ab7b and
1844916259b6dc17f532e491eb93f6116327c324., this correctly renders
admonitions with 2 spaces (1 indent).

* fixup! docs: use 2-space indentation for Markdown (#43537)

Plus using 3-space for mixed-style `<ul>` and `<ol>`s.

* fixup! docs: use 2-space indentation for Markdown (#43537)

As otherwise it breaks the rendering of the table.
2026-05-26 20:03:23 +00:00
Felipe Santos 1844916259 docs: templates hyperlink not being rendered (#43603)
fix(docs): templates hyperlink not being rendered
2026-05-26 16:40:56 +00:00
Jamie Tanna 790d0f701c docs: add "previously known as" to renamed options (#43533)
* docs: add "previously known as" to renamed options

To provide a more searchable set of docs in the case that we migrate a
config option, we can introduce a `previouslyKnownAs` field in the
resulting generated documentation.

This allows someone to search for the previous name and find the new
option name.

For now we'll also not implement `RENOVATE_X_` variables.

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>

* fixup! docs: add "previously known as" to renamed options

This is a more involved change, which requires we handle the custom
coersion for `RENOVATE_REPOSITORY_CACHE_FORCE_LOCAL`.

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>

---------

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
2026-05-26 08:10:58 +00:00
Jamie Tanna 59d4006a1d docs: prioritise admonitions in config option listings (#43532)
Instead of having a warning around "this is experimental" after
scrolling down to the end of the config option's description, we can
instead make it more prominent and move them all to the top - after the
table listing - but before the main body.
2026-05-22 08:49:55 +00:00
Sebastian Poxhofer 73b90e958b refactor: remove string concetation for production code (#43442)
refactor: prefer templates rather than `+`
2026-05-19 13:31:27 +00:00
Jamie Tanna 44d122b762 docs: autogenerate cache namespaces (#43370)
As noted in #41214, it would be convenient to not have to manually
update this list.

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
2026-05-15 16:42:36 +00:00
Jamie Tanna a462e4ec3b refactor(docs): don't use an end for autogenerated docs (#43242)
* refactor(docs): don't use an `end` for autogenerated docs

As part of #42910, we wanted to avoid needing a "begin" and "end" to
each of our autogenerated docs replacements.

While looking into it, we're not actually using the "end" for anything,
so we can instead refactor this to be a single-line replacement.

To simplify the code and docs, we can remove this. At the point we need
this again, we can re-add the functionality.

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>

* fixup! Merge remote-tracking branch 'origin/HEAD' into chore/no-replaceStop

---------

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
2026-05-13 15:49:00 +00:00
RahulGautamSingh 68cc0f27b2 docs(config/options): add supportsTemplating field (#41859)
* supportsTemplating field

* fix ci issue

* fix ci issue

* move tip below table

* apply suggestions

* docs: show list of options that support templating

* jsodc explanations for internal fields

* add test to ensure no option that applies template.compile() missed supportsTemplating=true

* apply review suggestions

* fix bad merge

* add filePatterns and commands to the list
2026-05-12 06:45:51 +00:00
Jamie Tanna 8278ce5370 docs(constraints): document the possible constraints and installTools (#42837)
* docs(constraints): list the possible `constraints` and `installTools`

Now we have a stronger type for what a valid tool constraint is, and
what additional constraints are, we should be very explicit with what
each option is, and specify them in the `constraints` as well as our
`installTools` docs.

* test: add coverage

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>

---------

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
2026-04-26 16:13:09 +00:00
Jamie Tanna 982a0219bf docs: wrap config options in <code> tags (#42836)
As they are configuration options and can be quite code-y we should
render them like this.

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
2026-04-23 11:32:05 +00:00
Jamie Tanna b39b50f559 chore: expose known environment variables (#42201)
To provide more programmatic means to determine what environment
variables configure Renovate configuration options - and whether they're
Repo, Inherit or Global config options - we can expose these in two
forms:

- `getEnvOptionsMap()`
- a static JSON file, `renovate-env-options.ts`

This will provide programmatic use-cases from a plain JSON file that can
be used more readily - especially as it's distributed in the docs and
built package - as well as a function that can be used by users of
Renovate-as-a-library.

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
2026-04-14 15:27:50 +00:00
Jamie Tanna e0ce9dabd6 docs: prefix child options with their parent (#41828)
This also makes sure that our URL fragments should be more consistent
over the years, as duplicate names (across parent and child options)
cannot clash.

This also corrects links from the code to include the new fragment.

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
2026-03-12 10:56:52 +00:00
Jamie Tanna ed6f713c36 refactor(tools): use a distinct replacement start/end the lockFileMaintenance table (#41251)
As it makes it clearer what's being done.
2026-03-09 14:37:19 +00:00
Jamie Tanna 2026b4fdff docs: auto-generate config filenames (#41254)
As noted in #40608, we're currently showing an outdated list of possible
configuration filenames.

We can instead automate this by using the known configuration files we
know.

As we don't yet support the Platform-specific filenames, we shouldn't
include them, but add a TODO so we don't miss it.
2026-03-09 13:13:12 +00:00
Baptiste Lyet 52b449dfe7 docs: split parents over multiple lines (#41573)
* docs/41127-parents-may-want-to-split-over-multiples-lines

* refactor(docs): sort parents alphabetically in table and add unit tests

* refactor(docs): table - use expect instead of assert

* refacto(docs) : remove unnecessary vitest import

Co-authored-by: Michael Kriese <michael.kriese@gmx.de>

* refactor(docs): table - rename index so there are rowIndex and colIndex

* refactor(docs): rename config.test.ts to utils.test.ts

---------

Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
2026-03-03 16:51:58 +00:00
Jamie Tanna fb14b89505 docs: don't show multiple defaults (#41219)
As noted in #40969, this can be confusing, so we should only add these
`default`s if there's not already one found.
2026-02-16 14:48:49 +00:00
RahulGautamSingh 4005872ff6 docs: autogenerate list of managers supporting lockfileMaintenance (#41135)
* feat(nuget): add supportsLockFileMaintenance flag

The NuGet manager supports lock file maintenance via `packages.lock.json`
but was missing the `supportsLockFileMaintenance` export.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(manager): add lockFileNames metadata to all lock file managers

Add `lockFileNames` field to `ManagerApi` interface and export it from
all 24 managers that support lock file maintenance. This metadata will
be used to auto-generate the lock file support table in docs.

Also adds a validation test ensuring managers with
`supportsLockFileMaintenance` always provide `lockFileNames`.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(docs): auto-generate lockFileMaintenance lock files table

Replace the hardcoded lock file support table in configuration-options.md
with autogenerate markers and generate it from manager metadata during
docs build. This ensures the table stays in sync with manager code
automatically.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 07:59:29 +00:00
Sergei Zharinov 930cf6633c refactor: Rewrite imports with .ts extensions (#40700)
fix: Additional vi.mock path corrections and prettier formatting
2026-01-26 22:48:17 +00:00
RahulGautamSingh 89edd5e9f6 docs: render empty array in code tag (#39200)
docs: render emoty array in code tag
2025-11-10 14:26:38 +00:00
Jamie Tanna 9fa82ff6d4 chore(docs): render allowedValues as JSON (#38930)
With `allowedValues`, we will almost always have multiple values. To
render them better, we can render this array as the JSON stringified
alternative, which reads a little better.

This requires we make sure that the array isn't pre-stringified, which
would JSON stringify as i.e. `"auto, enabled"`.
2025-11-04 15:45:45 +00:00
Jamie Tanna 941fe14091 chore(docs): correct array type (#38929)
As it's not a `list`, as it mirrors the JSON Schema name.
2025-10-30 09:37:47 +00:00
RahulGautamSingh d7989b0de8 fix(docs): show additionalProperties in json notation (#30549) 2024-08-02 08:32:03 +00:00
RahulGautamSingh 265e6285c7 feat(config/validation): validate options which support regex/glob matching (#28693)
Co-authored-by: Sebastian Poxhofer <secustor@users.noreply.github.com>
Co-authored-by: Rhys Arkins <rhys@arkins.net>
2024-05-05 07:45:58 +00:00
RahulGautamSingh fe206f7176 docs(core/config): add warning for deprecated options (#28216) 2024-04-09 09:37:52 +00:00
Sergei Zharinov b69416ce17 refactor(prettier): Force trailing commas (#25631) 2023-11-07 15:50:29 +00:00
RahulGautamSingh bf2c0693ac refactor(managers): implement custom managers api (#23357)
Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
Co-authored-by: Sebastian Poxhofer <secustor@users.noreply.github.com>
2023-08-15 17:12:54 +00:00
Rhys Arkins 36e2b328bb chore: update types reference 2023-08-15 11:31:15 +02:00
Maron f50e685fe4 docs(core/config): config options for advanced users only (#18505)
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
2022-10-31 07:35:07 +00:00
Gabriel-Ladzaretti 7ac91e452c docs(config): Don't show [template] for long strings (#16224) 2022-06-28 13:49:42 +00:00
Gabriel-Ladzaretti 26cf208e2c docs(core/config): Experimental feature handling (#16183) 2022-06-25 10:10:35 +02:00
Gabriel-Ladzaretti b7c6126d92 docs: add whitespaces around items with multiple allowed values (#16085) 2022-06-15 17:04:23 +02:00
Gabriel-Ladzaretti cdf328dc71 docs: Prettify JSON output for default objects in docs (#16015) 2022-06-14 11:08:23 +00:00
Gabriel-Ladzaretti d02b9cdb5c refactor: clean up recently modified tools/docs/config.ts (#15966) 2022-06-09 15:33:18 +02:00
Tobias 97fd4b884c docs: render default objects and arrays in config (#15637) 2022-05-19 09:06:22 +02:00
Michael Kriese 199652afcc chore: fix imports (#15068) 2022-04-12 08:39:00 +02:00
StinkyLord 807a979f60 docs(config): show env and CLI names for config options (#14259) 2022-02-20 16:19:54 +01:00
Michael Kriese 5723be1ac5 refactor: add strict null checks (#14169) 2022-02-11 11:02:30 +01:00
Michael Kriese e4c938b7a5 docs: release as asset (#11429)
* docs: prepare release as asset

* chore: cleanup

* fix: wrong extension

* fix: wrong logger

* fix: wrong path

* chore: clean and create tmp

* chore: fix types

* fix: update generation

* Update .github/workflows/build.yml

Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>

* Update lib/datasource/types.ts

Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>

Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
2021-12-09 21:12:49 +01:00