Commit Graph

2041 Commits

Author SHA1 Message Date
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] 6d6432deb1 chore(deps): update dependency pnpm to v11.24.0 (main) (#45578)
chore(deps): update dependency pnpm to v11.24.0

| datasource | package | from    | to      |
| ---------- | ------- | ------- | ------- |
| npm        | pnpm    | 11.23.0 | 11.24.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-31 22:11:57 +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] d6ded07018 chore(deps): update dependency pnpm to v11.23.0 (main) (#45557)
chore(deps): update dependency pnpm to v11.23.0

| datasource | package | from    | to      |
| ---------- | ------- | ------- | ------- |
| npm        | pnpm    | 11.22.0 | 11.23.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-30 15:30:04 +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
Sebastian Poxhofer e0cec3dc95 refactor(lint): add types-location rule and enable it for lib/modules (#45497)
feat(lint): add `types-location` rule and enable it for `lib/modules`

Reviewers consistently ask for exported types to be moved into a
colocated `types.ts`. Add a `renovate/types-location` oxlint rule that
reports `export interface` / `export type` declarations outside such a
file, and turn it on across `lib/modules`.

Re-exports (`export type { X }`, `export type *`), file-local types, and
values (enums, classes, functions) are left alone. `schema.ts` files and
`schema/` directories are excluded via config, matching how
`zod-schema-location` is configured — inferred types belong next to the
schema they are derived from.

Relocating the 87 existing violations means:

- new `types.ts` files for the modules that had none
- `terragrunt/common.ts` folded into its `types.ts`, as it held nothing
  else
- `RangeBound` in `versioning/gradle/compare.ts` un-exported, since only
  a file-local interface referenced it
- `bazel-module/parser/fragments.ts` split from its inferred types, which
  now live in `parser/types.ts` and infer through a namespace import so
  each schema keeps its merged name
2026-08-27 19:52:09 +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
renovate[bot] d1c191add0 build(deps): update dependency node to v24.20.0 (main) (#45509)
build(deps): update dependency node to v24.20.0

| datasource      | package                     | from    | to      |
| --------------- | --------------------------- | ------- | ------- |
| github-releases | containerbase/node-prebuild | 24.19.0 | 24.20.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-27 13:38:40 +00:00
Jamie Tanna 021612414c fix(lint): use parseInt over Number (#45472)
* fix(lint): use `parseInt` over `Number`

As a code review comment that comes up every so often, we can add a
linting rule to enforce this check.

This also fixes any existing usages.

As this could be breaking, we can release it as a `fix`.

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

* fixup! fix(lint): use `parseInt` over `Number`

* fixup! fix(lint): use `parseInt` over `Number`

---------

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
2026-08-26 13:02:26 +00:00
Jamie Tanna a9c8f7431f fix(lint): extend prefer-is-helpers to catch more cases (#45474)
This now covers everything that isn't `isObject` or `typeof x === 'number'`.

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
2026-08-26 10:48:40 +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
Jamie Tanna 5b1749983c feat: always set CI=true for subprocesses
As noted in #43761, we had recently set `CI=true` for the Renovate and
Containerbase orgs on Mend-hosted apps due to a pnpm v11 requirement:

    ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY  Aborted removal of
      modules directory due to no TTY

    If you are running pnpm in CI, set the CI environment variable to
      "true", or set "confirmModulesPurge" to "false".

Similarly in #43606, it was noted that we should do this for `mise lock`
to mark the workspace as "trusted".

Although we went with a different situation, there will be cases where
this is useful for tools being executed, for instance when we invoke `yarn`.

We also make sure to keep our documentation up-to-date as we add to the
specific overrides.

With help from Claude Sonnet and Opus to:

- perform some of the mechanical updates as part of this change
- ensure that the Docker sidecar always has `hardcodedProcessEnv` passed
  into it
- catch a needed change to `exposeAllEnv` handling

Co-authored-by: Claude Opus 5 <jamie.tanna+claude-code@mend.io>
Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
2026-08-24 17:21:24 +01:00
Jamie Tanna 8770bfff41 refactor(tools): extract function for basicEnvVars docs
As we'll be adding more functionality into this file, and extracting the
function helps keep it clearer what's being done in the function scope.
2026-08-24 17:21:24 +01: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
renovate[bot] 92e0ab46b5 chore(deps): update dependency pnpm to v11.22.0 (main) (#45398)
chore(deps): update dependency pnpm to v11.22.0

| datasource | package | from    | to      |
| ---------- | ------- | ------- | ------- |
| npm        | pnpm    | 11.21.0 | 11.22.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-22 17:31:20 +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
Sebastian Poxhofer e44c9a2070 ci(oxlint): move custom oxlint rules to typescript and alternative API (#45337)
* ci: move custom oxlint rules to typescript and alternative API

* ci: add  to test sharding
2026-08-19 05:37:56 +00:00
Jamie Tanna 5af2a1955e docs: update information about renovate-pretty-log (#45327)
* docs: update information about `renovate-pretty-log`

As I've made some changes recently to make it more useful, and visually
explaining it is better for this page.

* docs: don't try and cache Asciinema assets

As it leaks to flakiness in CI, and it's OK to resolve these.
2026-08-18 12:03:40 +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] 367ab09a05 chore(deps): update dependency pnpm to v11.21.0 (main) (#45306)
chore(deps): update dependency pnpm to v11.21.0

| datasource | package | from    | to      |
| ---------- | ------- | ------- | ------- |
| npm        | pnpm    | 11.20.0 | 11.21.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-17 08:21:13 +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
Jamie Tanna eba4b3eed4 ci: auto-label PRs that have been dequeued from the Merge Queue (#45270)
As a way to get better visibility for - predominantly - transient issues
GitHub are having, via [0] we can auto-label PRs, so they can then be
picked up by a maintainer.

We can use the `-slim` runners, as this doesn't need much compute, and
it reduces ours and GitHub's costs.

[0]: https://www.jvt.me/posts/2026/08/11/github-merge-queue-prs/

Co-authored-by: Sonnet 5 <claude-code@jamietanna.co.uk>
2026-08-14 05:05:42 +00:00