Skip to content

chore(deps): update dependency arktype to v2.2.0#147

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/arktype-2.x-lockfile
Open

chore(deps): update dependency arktype to v2.2.0#147
renovate[bot] wants to merge 1 commit intomainfrom
renovate/arktype-2.x-lockfile

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate bot commented Feb 9, 2026

This PR contains the following updates:

Package Change Age Confidence
arktype (source) 2.1.202.2.0 age confidence

Release Notes

arktypeio/arktype (arktype)

v2.2.0

Compare Source

Full announcement: https://arktype.io/docs/blog/2.2

type.fn - Validated functions

Define functions with runtime-validated parameters and return types. Supports defaults, optionals, and variadics.

const len = type.fn("string | unknown[]", ":", "number")(s => s.length)

len("foo") // 3
len([1, 2]) // 2
Type-safe regex via arkregex

Regex literals in definitions now carry full type inference. x-prefix parses capture groups at runtime.

const T = type({
	birthday: "x/^(?<month>\\d{2})-(?<day>\\d{2})-(?<year>\\d{4})$/"
})

T.assert({ birthday: "05-21-1993" }).birthday.groups.month // "05"
@ark/json-schema - Bidirectional JSON Schema

Parse JSON Schema into ArkType Types with the new @ark/json-schema package, complementing toJsonSchema(). Thanks to @​TizzySaurus.

Configurable toJsonSchema

Handle incompatibilities between ArkType and JSON Schema with granular fallback codes. Supports draft-07/draft-2020-12 targets and cyclic types.

Standard Schema as definitions

Any Standard Schema compliant validator (Zod, Valibot, etc.) can be embedded directly in ArkType definitions.

select - Deep reference introspection

Query the internal structure of a type by node kind and predicate. Use selectors to configure specific references.

Improved type.declare

Now supports morph-aware declarations via a side context, and optionality via property values.

N-ary operators

type.or, type.and, type.merge, and type.pipe accept variadic definitions.

Additional highlights
  • |> string-embeddable pipe operator
  • type.valueOf for TS enums
  • string.hex + string.regex keywords
  • Serializable ArkErrors (flatByPath, flatProblemsByPath, toJSON)
  • TraversalError replaces AggregateError
  • exactOptionalPropertyTypes config
  • ES2020 + Hermes compatibility
  • In-docs playground
  • Better JSDoc + go-to-definition
  • Cyclic unions can now discriminate on nested paths

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

v2.1.22

Compare Source

fix an issue with some recursive transforms

See #​1496

v2.1.21

Compare Source

~standard toJSONSchema support

Adds support for the upcoming StandardJSONSchemaSourceV1 spec (standardschema.dev)


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 force-pushed the renovate/arktype-2.x-lockfile branch 2 times, most recently from 7399d4b to 7390ed0 Compare February 15, 2026 11:13
@renovate renovate bot force-pushed the renovate/arktype-2.x-lockfile branch 2 times, most recently from 5417718 to 44c091a Compare March 1, 2026 06:40
@renovate renovate bot force-pushed the renovate/arktype-2.x-lockfile branch 3 times, most recently from 3037b90 to 4b90d38 Compare March 3, 2026 20:36
@renovate renovate bot force-pushed the renovate/arktype-2.x-lockfile branch from 4b90d38 to 4ee866b Compare March 11, 2026 17:32
@renovate renovate bot changed the title chore(deps): update dependency arktype to v2.1.29 chore(deps): update dependency arktype to v2.2.0 Mar 11, 2026
@renovate renovate bot force-pushed the renovate/arktype-2.x-lockfile branch 4 times, most recently from 640b304 to b867bd7 Compare March 19, 2026 15:26
@renovate renovate bot force-pushed the renovate/arktype-2.x-lockfile branch 3 times, most recently from 1c1f1ca to 2424b86 Compare April 3, 2026 23:27
@renovate renovate bot force-pushed the renovate/arktype-2.x-lockfile branch 3 times, most recently from b61c286 to ee864bc Compare April 13, 2026 21:01
@renovate renovate bot force-pushed the renovate/arktype-2.x-lockfile branch from ee864bc to 6e8731a Compare April 15, 2026 23:53
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