Commit Graph

3413 Commits

Author SHA1 Message Date
renovate[bot] 196f16ace9 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.5 (main) (#45625)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.5

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.95.4 | 13.95.5 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-02 10:41:04 +00: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
renovate[bot] 957d745f93 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.4 (main) (#45620)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.4

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.95.3 | 13.95.4 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-02 07:45:23 +00:00
renovate[bot] dff24197b5 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.3 (main) (#45619)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.3

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.95.2 | 13.95.3 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-01 23:37:02 +00:00
renovate[bot] f96de992cf fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.2 (main) (#45614)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.2

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.95.1 | 13.95.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-01 21:30:15 +00:00
renovate[bot] eadeb323a8 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.1 (main) (#45609)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.1

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.95.0 | 13.95.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-01 17:18:34 +00:00
renovate[bot] c6e4e902a9 feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.0 (main) (#45604)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.94.0 | 13.95.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-01 15:39:24 +00:00
renovate[bot] d4ac9fc6ee feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.94.0 (main) (#45600)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.94.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.93.3 | 13.94.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-01 13:09:12 +00:00
renovate[bot] a5801dfb5d fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.93.3 (main) (#45587)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.93.3

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.93.2 | 13.93.3 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-01 09:44:54 +00:00
renovate[bot] d62bf70cb5 feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.93.2 (main) (#45583)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.93.2

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.92.3 | 13.93.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-01 00:30:07 +00:00
renovate[bot] 9061f335bf fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.92.3 (main) (#45561)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.92.3

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.92.2 | 13.92.3 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-31 01:31:12 +00:00
renovate[bot] e26aa5db3c fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.92.2 (main) (#45550)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.92.2

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.92.1 | 13.92.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-29 20:29:41 +00:00
renovate[bot] 43de28b427 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.92.1 (main) (#45549)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.92.1

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.92.0 | 13.92.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-29 19:29:23 +00:00
renovate[bot] 3e8110eeb0 feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.92.0 (main) (#45546)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.92.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.91.5 | 13.92.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-29 12:29:23 +00:00
renovate[bot] fcd8291fcf fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.91.5 (main) (#45541)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.91.5

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.91.4 | 13.91.5 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-28 18:33:14 +00:00
renovate[bot] e7b98b56da fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.91.4 (main) (#45533)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.91.4

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.91.3 | 13.91.4 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-28 12:35:22 +00:00
Sebastian Poxhofer c32e2391a0 refactor(linters): add prefer-coerce-object rule (#45493)
Refs #45216

The object counterpart to `prefer-coerce-array`: `x ?? {}` becomes
`coerceObject(x)`. The rule flags a `??` whose default is a bare `{}`
literal, so a populated default or an asserted `({} as Foo)` still
passes; a `x ?? y ?? {}` chain maps onto `coerceObject(x, y)`.

Every hit across `lib/` converted cleanly, so no disable comments were
needed.
2026-08-28 09:27:59 +00:00
Sebastian Poxhofer 97327c3d28 refactor(linters): add prefer-coerce-array rule (#45492)
* 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()`.
2026-08-28 09:27:58 +00:00
Sebastian Poxhofer fbedd41e82 test: replace env operation with vi.stubEnv() (#45490)
* test: replace manual process.env mutation with vi.stubEnv

Enable Vitest's `unstubEnvs` so env stubs are reverted automatically
before every test, and convert the manual `process.env.X = ...` /
`delete process.env.X` pairs in specs to `vi.stubEnv()`.

This removes the hand-written `afterEach` cleanup blocks and the
`const OLD_ENV = process.env` / `process.env = { ...OLD_ENV }`
save-restore dance, which silently leaked state between tests when a
test set a variable without a matching delete.

Left as-is (incompatible with `unstubEnvs`, which unstubs before each
test, not after):
- module top-level env writes (cocoapods, gomod, post-update, pip-compile
  and bundler artifacts specs)
- `beforeAll` env writes -- the two in `util/http` moved to `beforeEach`

* test: stop asserting on ambient environment variables

Three specs asserted on values that the surrounding environment can
override, so they only passed on a machine that happened not to set them:

- `util/exec/env`: `getChildProcessEnv()` forwards every entry of
  `basicEnvVars`, but the spec only seeded a subset. Any other forwarded
  variable that was set ambiently (e.g. a lowercase `http_proxy`) leaked
  into the `toEqual` assertion. Clear all of them first.
- `util/git/index`: `process.env.GIT_SSH_COMMAND` deliberately overrides
  the default that the two env-inheritance tests assert on. Clear it.
- `logger/pretty-stdout`: the colorized level strings are built at import
  time, so the `beforeEach` setting `FORCE_COLOR` could never affect them
  -- it was dead code, and the test silently assumed a terminal without
  colour support. Derive the expectation the same way the module does.

* test(datasource/nuget): use a throwaway cache dir for nupkg downloads

The `determine source URL from nupkg` tests do not mock the filesystem,
so they really wrote downloaded packages into a fixed `/tmp/cache` path.
That fails wherever the system tmpdir is not writable, and two checkouts
running the suite at once would share the same directory.

Use `tmp.dir({ unsafeCleanup: true })` and clean it up afterwards, which
is the pattern the other specs that touch disk already use.

* feat(lint): add renovate/prefer-stub-env rule

Enforces in specs what the migration to `vi.stubEnv` established:

- assigning to or deleting `process.env.X` inside `beforeEach`, `afterEach`,
  `it` or `test` is reported, with a fixer that rewrites it to `vi.stubEnv()`
- module scope, `describe` bodies and `beforeAll` / `afterAll` are left alone:
  `unstubEnvs` reverts stubs *before* each test, so a stub created there is
  gone by the time the first test runs, and those must keep assigning directly
- replacing the `process.env` object is reported everywhere and never fixed.
  `vi.stubEnv()` captures the original object when the worker starts, so after
  a reassignment its deletes silently target the old object

The rule found 28 further violations in specs the earlier sweep missed, since
that one was anchored on `delete process.env`. Twelve were auto-fixed; the
rest replaced `process.env` wholesale and are now `clearEnv()` from test/util.

`util/exec/index.spec.ts` opts out with a comment: it asserts on the whole
child env, and `vi.stubEnv()` cannot express that because it maps `PROD`,
`DEV` and `SSR` onto '' instead of deleting them.
2026-08-28 09:26:20 +00:00
renovate[bot] 16f06e5ae6 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.91.3 (main) (#45523)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.91.3

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.91.2 | 13.91.3 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-28 00:29:18 +00:00
renovate[bot] cab7099012 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.91.2 (main) (#45518)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.91.2

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.91.1 | 13.91.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-27 22:31:02 +00:00
renovate[bot] 87d882ea4a fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.91.1 (main) (#45516)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.91.1

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.91.0 | 13.91.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-27 19:34:51 +00:00
renovate[bot] 9cd8c6d218 feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.91.0 (main) (#45515)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.91.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.90.0 | 13.91.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-27 15:42:38 +00:00
renovate[bot] e0aa2cab3b feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.90.0 (main) (#45512)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.90.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.89.7 | 13.90.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-27 14:41:15 +00:00
Sebastian Poxhofer 1012b34025 feat(presets): add @oxlint/* packages to packages:linters and monorepo:oxlint (#45466)
* feat(presets): add @oxlint/* packages to packages:linters

Groups oxlint plugin packages together with oxlint itself.

* feat(presets): add @oxlint/plugins to monorepo:oxlint

* test(presets): update linters snapshots for @oxlint/**
2026-08-26 07:14:28 +00:00
renovate[bot] 844a2ce955 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.89.7 (main) (#45471)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.89.7

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.89.6 | 13.89.7 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-26 03:30:06 +00:00
renovate[bot] 224f1e3e9f fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.89.6 (main) (#45470)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.89.6

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.89.5 | 13.89.6 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-26 00:31:10 +00:00
renovate[bot] dfda756e26 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.89.5 (main) (#45468)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.89.5

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.89.4 | 13.89.5 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-25 21:38:44 +00:00
renovate[bot] 7d7f286dc8 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.89.4 (main) (#45444)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.89.4

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.89.3 | 13.89.4 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-25 12:40:54 +00:00
Sebastian Poxhofer 69e05233e8 feat(manager/github-actions): add workflow depType for reusable workflow calls (#45443)
* feat(manager/github-actions): add `workflow` depType for reusable workflow calls

A job-level `uses:` pointing at `owner/repo/.github/workflows/<file>.yml@<ref>`
calls a reusable workflow rather than running an action, but both got the
`action` depType, so `matchDepTypes` could not tell them apart.

Give a reference whose sub-path is exactly `.github/workflows/<file>.yml|.yaml`
the new `workflow` depType. Every other sub-path, such as
`github/codeql-action/init`, stays an action.

The existing depType-keyed sites now accept both values, so nothing else
changes behaviour: the `actions.lock` file records reusable workflow calls too,
and `helpers:pinGitHubActionDigests` pinned them before this split.

* Apply suggestions from code review

Co-authored-by: Sebastian Poxhofer <secustor@users.noreply.github.com>
2026-08-25 11:52:05 +00:00
Sebastian Poxhofer 9d0e535934 feat(config): add overrideDescription option (#45400)
* feat(config): add `overrideDescription` option

Presets which extend many other presets used an `ignoreDeps: []` sentinel
to keep their own one-line summary in the onboarding PR instead of one line
per extended preset. Replace that hack with an explicit `overrideDescription`
option, which is consumed and removed while presets are resolved.

The resolved descriptions are unchanged. Repositories which set
`ignoreDeps: []` in their own config no longer lose all preset descriptions
in their onboarding PR.

* fixup! feat(config): add `overrideDescription` option

* fixup! feat(config): add `overrideDescription` option

* fixup! feat(config): add `overrideDescription` option
2026-08-24 11:22:31 +00:00
renovate[bot] 28abf414f5 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.89.3 (main) (#45419)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.89.3

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.89.2 | 13.89.3 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-24 10:41:34 +00:00
renovate[bot] 047e5e79df fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.89.2 (main) (#45405)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.89.2

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.89.1 | 13.89.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-23 18:31:36 +00:00
Sebastian Poxhofer a473e73b3e fix(linters): forbid inert counts in v8 coverage-ignore comments (#45287)
Adds a custom oxlint rule renovate/v8-ignore-no-count that flags the
count form '/* v8 ignore next <N> */'. The count is not honored by
vitest's ast-v8-to-istanbul hint parser, which captures only the
keyword (if/else/next/file); 'next' always exempts exactly the next
AST node. Trailing counts therefore suggest a line range that is never
applied and mislead readers.

The rule is autofixable (drops the count, preserving actual behavior)
and has been applied to all existing occurrences.
2026-08-22 11:25:31 +00:00
renovate[bot] 1208dd35cb fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.89.1 (main) (#45387)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.89.1

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.89.0 | 13.89.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-21 13:37:00 +00:00
renovate[bot] 130e3351df feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.89.0 (main) (#45378)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.89.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.88.4 | 13.89.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-20 21:29:37 +00:00
renovate[bot] d6294202c1 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.88.4 (main) (#45376)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.88.4

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.88.3 | 13.88.4 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-20 18:30:54 +00:00
renovate[bot] da01a2f63d fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.88.3 (main) (#45365)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.88.3

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.88.2 | 13.88.3 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-20 05:28:51 +00:00
renovate[bot] 71b9888f86 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.88.2 (main) (#45364)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.88.2

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.88.1 | 13.88.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-20 03:28:26 +00:00
renovate[bot] 52db0ebbf0 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.88.1 (main) (#45363)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.88.1

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.88.0 | 13.88.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-19 23:28:13 +00:00
renovate[bot] 179b8f4be5 feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.88.0 (main) (#45361)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.88.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.87.3 | 13.88.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-19 18:39:46 +00:00
Jamie Tanna 1d6af9f207 refactor(config): use constants for config validation topics (#45333)
When reporting config validation issues, we generally use the same
constants for our validation errors/warnings.

Instead of having these strings duplicated everywhere, we can refactor
these into constants, making it clearer when reading the code.

We can retain a "soft" union for cases where we use a dynamically
generated topic, which we won't know ahead of time.

Co-authored-by: Claude Opus 4.8 <jamie.tanna+claude-code@mend.io>
2026-08-18 12:18:29 +00:00
renovate[bot] 1333d2c050 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.87.3 (main) (#45332)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.87.3

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.87.2 | 13.87.3 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-18 09:52:24 +00:00
renovate[bot] 2fb8ad4da9 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.87.2 (main) (#45323)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.87.2

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.87.1 | 13.87.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-18 03:29:12 +00:00
renovate[bot] 803f154a6b fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.87.1 (main) (#45320)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.87.1

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.87.0 | 13.87.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-17 20:31:54 +00:00
renovate[bot] a1453aed50 feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.87.0 (main) (#45309)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.87.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.86.6 | 13.87.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-17 08:43:22 +00:00
renovate[bot] bf865fe721 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.86.6 (main) (#45293)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.86.6

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.86.5 | 13.86.6 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-15 00:29:31 +00:00
renovate[bot] 1e108a071f fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.86.5 (main) (#45292)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.86.5

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.86.4 | 13.86.5 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-14 21:27:44 +00:00
Sebastian Poxhofer a1971afa78 fix(linters): add linting rule to enforce usage of our regEx utility (#44690)
* ci(linter): add renovate/require-regex-util rule

Adds a custom oxlint rule that flags raw RegExp usage in lib/
production code: any `new RegExp(...)` call and any regex literal
that is not the direct first argument of `regEx(...)`. The regEx()
helper from lib/util/regex.ts uses the RE2 engine for ReDoS-safe
matching and caches compiled patterns. lib/util/regex.ts itself is
exempt.

The rule is disabled for **/*.spec.ts, test/**, and tools/** via
config overrides, because vitest APIs such as expect.stringMatching
need bare RegExp instances (a past commit reverted regEx() there).

Severity is set to "warn" instead of "error": the repo currently has
197 pre-existing violations (above the agreed mechanical-fix
threshold of 80), and a number of them are deliberately
RE2-incompatible patterns (lookahead/lookbehind/named backreferences,
see TODO #12872/#12875 markers in e.g. lib/modules/versioning/rez/
pattern.ts and lib/modules/manager/dockerfile/extract.ts) that need
per-site judgment before they can be wrapped in regEx() or suppressed
with a justified disable comment. No violation fixes are included in
this commit.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* ci(linter): enforce renovate/require-regex-util at error

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* refactor: use regEx() for regex literals and RegExp construction in lib

Burn down all renovate/require-regex-util violations (197):

- wrap RE2-compatible regex literals and RegExp constructions in regEx()
- rewrite lookaround patterns where behavior is provably preserved:
  goproxy separator split, sbt-package link extraction, leiningen
  comment stripping and keyword search, npm GitHub owner validation
  (unit-count bound replaced by an explicit length check)
- keep native RegExp with disable comments where RE2 cannot be used:
  moo / good-enough-parser lexer patterns (moo rejects RE2 instances),
  MigrationsService propertyName (matched via isRegExp, which RE2
  instances fail), rez named backreferences and lookaheads, GitHub
  markdown link negative lookbehind, emoji astral-plane matching
- drop stale TODO #12875 comments for patterns current re2 handles

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* refactor: reduce require-regex-util disable comments

Rewrite the github massage-markdown-links URL regex to capture an
optional `api.` prefix in a named group (skipped in code) instead of
relying on a negative lookbehind, so both the base and global variants
can use regEx()/RE2 and their two disable comments are removed. Add
spec cases for api-prefixed URLs that match the URL shape.

Consolidate the four related line disables in rez/pattern.ts (bound and
range patterns emulating Python conditional patterns via named
backreferences and lookaheads, which RE2 cannot express) into a single
block disable/enable pair, matching the treatment of the lexer files.

Disable comment count drops from 13 to 8.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* refactor(datasource/sbt-package): use named capture group in link regex

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* refactor(manager/cake): restore original multiLineComment regex spelling

The [^] -> [\\s\\S] rewrite was only needed for an RE2 wrap that was
later reverted; keep the diff minimal.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(datasource/go): skip empty GOPROXY segments

The switch from a lookahead split to a capture-group split (needed because
RE2 has no lookahead support) changed how empty GOPROXY segments parse:
`a|,b` yielded `{ url: ',', fallback: '|' }` before and
`{ url: '', fallback: ',' }` after. The comma fallback only continues on
404/410, so a failing proxy ahead of an empty segment silently stopped the
lookup instead of falling through to the remaining proxies.

Empty segments carry no url to query, so drop them.

* refactor(datasource/go): use isTruthy for empty segment filter

* fix(datasource/go): filter empty segments before mapping

Filtering after the map broke the contextual typing from the
GoproxyItem[] annotation, widening fallback to string.

* refactor(platform/github): use regEx() for merge queue query stripping

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-14 14:30:46 +00:00
renovate[bot] 72266403b6 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.86.4 (main) (#45277)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.86.4

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.86.3 | 13.86.4 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-13 22:28:47 +00:00