Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Dec 30, 2025

This PR contains the following updates:

Package Change Age Confidence
arktype (source) 2.1.22 -> 2.1.29 age confidence

Release Notes

arktypeio/arktype (arktype)

v2.1.29

Compare Source

Improve regex inference for certain numeric expressions
// was: Regex<`${bigint}${bigint}`>
// now: Regex<`${number}`>
regex("^\\d{2}$")

See arkregex CHANGELOG for full notes.

v2.1.28

Compare Source

JSON Schema improvements
  • Adds support for the new Standard JSON Schema interface (see standardschema.dev)
  • Now accepts a target option and can generate draft-07 in addition to draft-2020-12
Standard Schema is now a valid definition

Any Standard Schema compliant validator can now be passed directly to type, either directly or nested in a structural ArkType definition, and will be fully inferred and validated.

import { type } from "arktype"
import * as v from "valibot"
import z from "zod"

const ZodAddress = z.object({
	street: z.string(),
	city: z.string()
})

const User = type({
	name: "string",
	age: v.number(),
	address: ZodAddress
})
e(x)ec mode for regex types
const User = type({
	// x-prefix a regex literal to parse its type-safe capture groups
	birthday: "x/^(?<month>\\d{2})-(?<day>\\d{2})-(?<year>\\d{4})$/"
})

const data = User.assert({ birthday: "05-21-1993" })

// fully type-safe via arkregex
console.log(data.birthday.groups) // { month: "05", day: "21", year: "1993" }
more flexible type.declare

Optionality can now be expressed via a property value in addition to its key:

type Expected = { f?: string }

const T = type.declare<Expected>().type({
	// previously failed with `"f?" is missing`
	f: "string?"
})
fixed a bug causing predicate errors after the first to not be reported
import { type } from "arktype"

const Dates = type({
	date1: "string.date",
	date2: "string.date",
	date3: "string.date"
})

// now correctly reports the errors on `date2` and `date3` in addition to `date1`
Dates.assert({
	date1: "",
	date2: "",
	date3: ""
})

See #​1557

v2.1.27

Compare Source

fix assignability for certain objects like Module

The following assignment will now correctly fail (thanks @​LukeAbby)🔒

import { type } from "arktype"

const types: Module<{ foo: string }> = type.module({ foo: "unknown" })
bump regex inference to arkregex 0.0.3

v2.1.26

Compare Source

es2020 compatibility

Remove usages of newer prototypes methods like .at() to better support legacy browsers

improve external generic inference

Some inference scenarios like the following involving default values are now more cooperative (thanks @​Andarist) 🎉

function someFunction<TSchema extends Record<string, any>>(
	schema: Type<TSchema, {}>
): (typeof schema)["infer"] {
	const someData = { hello: "world" }
	return schema.assert(someData)
}

const schema = type({
	hello: type("string").pipe(s => s === "world"),
	goodbye: "string='blah'"
})

someFunction(schema)

v2.1.25

Compare Source

bump regex inference to arkregex 0.0.2

v2.1.24

Compare Source

bump regex inference to arkregex 0.0.1
duplicate key errors

Definitions like the following now throw a descriptive error:

const T = type({
	foo: "string",
	foo?: "string"
})

v2.1.23

Compare Source

regex literals are now inferred (will be announced and documented as part of 2.2)
fix an issue with some discriminated morphs (thanks @​JeremyMoeglich)

See #​1464


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

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.

@changeset-bot
Copy link

changeset-bot bot commented Dec 30, 2025

⚠️ No Changeset found

Latest commit: 5e68850

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai
Copy link

coderabbitai bot commented Dec 30, 2025

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Comment @coderabbitai help to get the list of available commands and usage tips.

@renovate renovate bot changed the title chore(deps): update dependency arktype to v2.1.29 chore(deps): update dependency arktype to v2.1.29 - autoclosed Dec 30, 2025
@renovate renovate bot closed this Dec 30, 2025
@renovate renovate bot deleted the renovate/devdependencies branch December 30, 2025 05:18
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.

1 participant