Commit Graph

52 Commits

Author SHA1 Message Date
Jamie Tanna 128f446e08 docs: ensure that config in documentation is error and warning free (#43727)
* docs: skip validation on JSON files that aren't Renovate config

As part of future changes, we'll enable validation on all JSON code
snippets to run Config Validation.

Before we do that, we should opt-out JSON snippets that aren't anything
related to Renovate config.

* docs: don't validate invalid Renovate config

As it's intentionally referencing a manager that doesn't exist.

* docs: don't validate partial Renovate config

As part of future changes, we'll enable validation on all JSON code
snippets to run Config Validation.

There are several code snippets we have that are part of a Renovate JSON,
but it doesn't make sense to convert these to a fully passing config, as
it'd reduce clarity on what we're trying to explain.

* docs: convert `baseBranchPatterns` snippets to code blocks

So we can validate them.

* docs: make sure that `datasourceTemplate` is set

So this passes validation.

* docs: clarify that `force` is global config

As it may not be clear, so we can make it extra clear with a `.js` file,
and note that it's global self-hosted config.

* docs: make sure `packageRules` is an array

* docs: `matchBaseBranches` needs `baseBranchPatterns` to be set

* docs: correct typo for `prBodyColumns`

* docs: mark global config snippets as such

As part of future changes, we'll use this to detect whether it's global
self-hosted configuration.

* docs: make sure `packageRules` wraps its children

* docs: add `allowedHeaders`

* docs: ignore deprecation warnings

As part of future changes, we'll use this to note that we don't care
about the validation warnings.

* docs: make sure `customManagers` wraps its children

* docs: make sure `fleet` wraps its children

* docs: validate JSON snippets are valid Renovate config

To make sure that we're always presenting valid JSON configuration to
our users, we can validate them as part of `check-fenced-code`.

As well as configuration errors we can warn for warnings, but allow code
blocks to opt-out, for instance when there's a known deprecation
affecting the code block.

We need to make sure to set `allowedEnv` for various code snippets that
reference environment variables.

* docs(development): document fenced code block checks

* docs: wrap `configType` and `ignoreConfigWarnings` in `{ ... }`

As otherwise we see build failures i.e.

    WARNING -  Doc file 'modules/platform/gitlab/index.md' contains a link
       '../../../self-hosted-configuration.md#autodiscoverrepoorder', but the doc
       'self-hosted-configuration.md' does not contain an anchor '#autodiscoverrepoorder'.

This needs to be wrapped alongside all other options like `title`.

* fixup! docs: wrap `configType` and `ignoreConfigWarnings` in `{ ... }`
2026-06-02 13:29:48 +00:00
Sebastian Poxhofer 914c64afbd test(linter): zod schema and infered type naming rule (#43736)
* ci: add linting rule for schema and infered types

* refactor: remove usages of Schema and differently named types
2026-06-02 12:07:35 +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
Sebastian Poxhofer 0793274b86 refactor: prefer templates rather than + in test files (#43441)
refactor: prefer templates rather than `+`
2026-05-19 09:52:28 +00:00
Jamie Tanna ff6761ed23 fix(config/global): return default values for GlobalConfig.get (#42113)
* fix(config/global): return default values for `GlobalConfig.get`

As noted in #39949, it can be awkward working with in `GlobalConfig.get`, where
we would previously need to specify the default value when calling `.get`,
which could lead to drift with the defaults for a given config option.

To reduce this risk, we can rely on a given `default` for a configuration
option, providing that as a default.

Because this now definitely returns a value that matches the config option, it
now allows us to remove `!` assertions.

* fixup! fix(config/global): return default values for `GlobalConfig.get`

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>

* fixup! fix(config/global): return default values for `GlobalConfig.get`

* test(presets): remove impossible test

As it's now not possible to set a value as `undefined` (as
`GlobalConfig` will then use the default), this test no longer validates
anything.

* test(workers/repository): add mock

Now `platform` defaults to `github`, we need to mock out the call to
fetch config.

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

* test: coverage

* test: coverage

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
2026-05-15 17:10:38 +00:00
Jamie Tanna 067a19490b feat: promote repositoryCacheForceLocal out of experimental (#41207)
We've been happily using this with Mend Renovate Self-Hosted customers
since introduction in 2024, and so we're happy making this
non-experimental now.

This follows other changes where we've promoted an experimental option
to non-experimental, and heavily driven by Claude Sonnet 4.5.

We can also rename config item to use the same `repositoryCache` prefix.

Co-authored-by: Claude Sonnet 4.5 <jamie.tanna+github-copilot@mend.io>
2026-02-16 11:20:30 +00:00
Sergei Zharinov 9d857c1f68 refactor(lint): Organize imports with biome (#40966) 2026-02-06 13:40:01 +00:00
Sergei Zharinov c5b0a74f82 refactor: Remove constructor parameter properties (#40712) 2026-01-27 11:16:26 +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 76f911041a refactor: use named exports (#39196)
* use named exports

* fix test

* add missing imnport

* fix prettier
2025-11-10 12:00:35 +00:00
renovate[bot] b4ed9e65d9 chore(deps): update dependency @vitest/eslint-plugin to v1.3.23 (main) (#38702)
* chore(deps): update dependency @vitest/eslint-plugin to v1.3.23

| datasource | package               | from   | to     |
| ---------- | --------------------- | ------ | ------ |
| npm        | @vitest/eslint-plugin | 1.3.16 | 1.3.23 |

* remove now unnecessary exceptions

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: secustor <sebastian@poxhofer.at>
2025-10-31 07:50:48 +00:00
renovate[bot] 1280fe4dc7 chore(deps): update dependency @vitest/eslint-plugin to v1.3.16 (main) (#38502)
* chore(deps): update dependency @vitest/eslint-plugin to v1.3.16

| datasource | package               | from   | to     |
| ---------- | --------------------- | ------ | ------ |
| npm        | @vitest/eslint-plugin | 1.3.13 | 1.3.16 |

* fix linting errors

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: secustor <sebastian@poxhofer.at>
2025-10-13 09:24:15 +00:00
RahulGautamSingh 49fa1be464 feat(util): getEnv (#35161)
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2025-05-06 18:37:28 +00:00
Gabriel-Ladzaretti 173b2ccfc8 fix(repositoryCache): skip loading empty cache files (#35427) 2025-04-17 13:19:56 +00:00
Michael Kriese 19c115c813 test: cleanup (#34785) 2025-03-13 17:52:09 +00:00
Michael Kriese 997c23502e test: migrate to vitest (#34475)
Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
2025-02-26 09:35:54 +00:00
RahulGautamSingh 0d23707604 refactor(logger): remove templating from WARN log messages (#33488) 2025-01-14 13:03:05 +00:00
Sebastian Poxhofer 3681b2a945 chore: eslint to enforce for typed imports (#30844) 2024-08-19 13:15:27 +00:00
timesince dcf214f36b chore: fix some comments (#30697)
Signed-off-by: timesince <seekseat@icloud.com>
2024-08-12 06:32:08 +00:00
Sergei Zharinov 49005e0246 fix: Downgrade log level for http cache cleanup (#28447) 2024-04-16 15:05:39 +00:00
Rhys Arkins 41e6be8b94 fix(cache): don't warn for missing cacheData (#28441) 2024-04-16 11:37:09 +00:00
Sergei Zharinov e89be688a5 feat(http): Cleanup for HTTP cache (#28381)
Co-authored-by: Rhys Arkins <rhys@arkins.net>
2024-04-14 14:16:47 +00:00
Philip 2d9305f250 feat(cache): RENOVATE_X_REPO_CACHE_FORCE_LOCAL (#28291)
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2024-04-11 16:40:59 +00:00
Rhys Arkins bc4d090530 chore: log warning if Repository cache is invalid (#27910) 2024-03-13 12:29:28 +00:00
Sergei Zharinov bd0adf2d05 refactor: Deprecate compression with base64 encoding (#26711) 2024-01-17 19:52:22 +00:00
Michael Kriese 9474f9a5d7 fix(repo-cache): pass relative paths to fs layer (#26227) 2023-12-14 07:18:12 +00:00
Sergei Zharinov b69416ce17 refactor(prettier): Force trailing commas (#25631) 2023-11-07 15:50:29 +00:00
Michael Kriese 84a97a62fa test(perf): improve test speed (#24323) 2023-09-08 11:40:04 +00:00
Sergei Zharinov 6c8c469ca0 refactor(schema): Use Json helper schema instead of JSON.parse (#23997) 2023-08-21 15:29:41 +00:00
Adam Setch 39c907231b refactor(util/hash): replace hasha sha512 use cases (#23548) 2023-07-24 22:54:28 +00:00
Sergei Zharinov d306bfa7d8 refactor: Rename branchFingerprint to commitFingerprint (#22454) 2023-05-27 14:29:04 +00:00
Sergei Zharinov 8081d08ec4 refactor(http): Enhanced integration with data schemas (#21338) 2023-04-06 15:56:27 +00:00
Jamie Magee 176282e65f chore: use node: protocol imports (#21181) 2023-03-28 21:05:36 +00:00
renovate[bot] 99a7c8af89 build(deps): update aws-sdk-js-v3 monorepo to v3.226.0 (#19444)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Sergei Zharinov <zharinov@users.noreply.github.com>
2022-12-17 07:05:16 +01:00
Jamie Magee 92eb2200fd refactor(jest): enable clearMocks (#18779) 2022-11-14 22:46:37 -08:00
Gabriel-Ladzaretti 991cc7ac3d feat(repo/cache): add s3 support for user configured folder hierarchy (#18865)
Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
2022-11-13 11:00:06 +02:00
Sergei Zharinov c885c889a5 docs: Document cache decoder utility (#18633) 2022-10-28 11:48:07 +03:00
Sergei Zharinov b5eed5f8ff refactor(util): Compression utils (#18240) 2022-10-10 14:01:53 +00:00
Sergei Zharinov db1086a79f fix: Remove repository cache migrations (#18025) 2022-10-02 05:34:50 +00:00
Sergei Zharinov 5dc1eb3ad6 fix(cache): Store cache with sorted object keys (#17607) 2022-09-04 10:53:20 +00:00
Gabriel-Ladzaretti 4ccd085aa5 feat(cache/repository): add modification query function to the repository cache interface (#17529)
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2022-09-03 16:36:55 +03:00
Sergei Zharinov 6a93997863 feat(cache): Repository cache fingerprinting (#17367) 2022-08-30 04:58:57 +00:00
Michael Kriese 10fd0f2827 fix(cache/repository): don't log error for non-existant files (#17427) 2022-08-26 12:25:35 +00:00
Gabriel-Ladzaretti ba13dc547b feat(cache/repository): Implement S3 client (#17322)
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2022-08-26 04:47:14 +00:00
Sergei Zharinov 57ade2b33e refactor(cache): Restore each revision with own separate method (#17364) 2022-08-23 20:27:34 +02:00
Michael Kriese ae2e584c18 refactor(repository/cache): fix types and log errors (#17355)
Co-authored-by: Rhys Arkins <rhys@arkins.net>
2022-08-23 07:19:10 +00:00
Gabriel-Ladzaretti f93927af63 refactor(repo/cache): handle data parsing inside repository base class (#17346)
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2022-08-23 04:22:32 +00:00
Sergei Zharinov 064c1e9204 refactor(cache): Make read method return unknown type (#17335) 2022-08-22 20:48:49 +02:00
Gabriel-Ladzaretti 039fce8dc6 refactor(repository/cache): add support for adding various cache clients (#17146)
Co-authored-by: Nabeel Saabna <48175656+nabeelsaabna@users.noreply.github.com>
Co-authored-by: Rhys Arkins <rhys@arkins.net>
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2022-08-21 12:53:20 +00:00
Sergei Zharinov 2b43f273bf refactor(fs): Remove proxies.ts file (#16325)
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2022-07-01 14:57:30 +02:00