Skip to content

Update dependency arktype to v2.2.5 - #446

Merged
renovate[bot] merged 1 commit into
devfrom
renovate/arktype-2.x-lockfile
Sep 25, 2026
Merged

renovate[bot] merged 1 commit into
devfrom
renovate/arktype-2.x-lockfile

Conversation

@renovate

@renovate renovate Bot commented Sep 25, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
arktype (source) 2.2.3 -> 2.2.5 age confidence

Release Notes

arktypeio/arktype (arktype)

v2.2.5

Compare Source

Preserve escaped backslashes in regex literals

Within a regex literal, \\ is now kept verbatim as an escaped backslash rather than collapsed to a single \, which silently changed the meaning of the pattern:

// previously parsed as /\d/, matching a digit
// now matches a literal backslash followed by "d"
const T = type("/\\\\d/")

String literals are unaffected. If a definition relied on the old behavior, write the intended escape directly (e.g. "/\\d/" for a digit). Thanks to @​spokodev.

Fix recursive discriminated unions referenced from a Record

A cyclic alias referenced through Record<string, ...> could cause valid values to be rejected, e.g. an array branch failing with must be an array (was object). Bootstrapping alias references no longer overwrites references that were already resolved. This was a regression introduced in 2.2.2. Thanks to @​xianjianlf2.

Prevent a crash validating unions of object arrays

Inside a union branch, array validation now stops at the first failing element instead of continuing to traverse elements whose basis has already failed, which could throw rather than return an error. Thanks to @​xianjianlf2.

Merge index-derived props with a declared key of the same name

Intersecting a structure with an index signature and one that rejects undeclared keys could produce a node with a duplicate key:

// previously { a: number, a: number, b: number, + (undeclared): reject }
type({ a: "number", "[string]": "number" }).and({
	a: "number",
	b: "number",
	"+": "reject"
})

Props derived from the index signature are now intersected with any declared prop of the same key, and the result is the same in either operand order.

Preserve parameter labels when a type.fn implementation annotates an optional parameter

Annotating an optional parameter, as in type.fn("number?")((n?: number) => n), previously dropped every parameter label from the inferred signature. It now infers (n?: number | undefined) => number | undefined. Thanks to @​aswinsvijay.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot enabled auto-merge September 25, 2026 14:39
@renovate
renovate Bot added this pull request to the merge queue Sep 25, 2026
Merged via the queue into dev with commit 014e63b Sep 25, 2026
1 check passed
@renovate
renovate Bot deleted the renovate/arktype-2.x-lockfile branch September 25, 2026 14:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants