Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Dec 1, 2025

This PR contains the following updates:

Package Change Age Confidence Type Update Pending
@eslint/js (source) 9.39.19.39.2 age confidence devDependencies patch
@redocly/cli 2.11.12.14.9 age confidence devDependencies minor 2.15.0
@standard-schema/spec (source) 1.0.01.1.0 age confidence devDependencies minor
@testing-library/react 16.3.016.3.2 age confidence devDependencies patch
@types/node (source) 22.19.122.19.7 age confidence devDependencies patch
@types/react (source) 19.2.619.2.9 age confidence devDependencies patch 19.2.10
@vitejs/plugin-react (source) 5.1.15.1.2 age confidence devDependencies patch
actions/cache (changelog) 5a3ec840057852 action digest
convex (source) 1.31.51.31.6 age confidence devDependencies patch 1.31.7
convex-test (source) 0.0.390.0.41 age confidence devDependencies patch
eslint (source) 9.39.19.39.2 age confidence devDependencies patch
hono (source) 4.11.44.11.6 age confidence dependencies patch 4.11.7
node 20.19.520.20.0 age confidence uses-with minor
pkg-pr-new (source) 0.0.600.0.62 age confidence devDependencies patch
prettier (source) 3.6.23.8.1 age confidence devDependencies minor
typescript-eslint (source) 8.47.08.54.0 age confidence devDependencies minor
yaml (source) 2.8.12.8.2 age confidence devDependencies patch
zod (source) 4.1.124.3.6 age confidence dependencies minor
zod-compare 2.0.02.0.1 age confidence devDependencies patch

Release Notes

eslint/eslint (@​eslint/js)

v9.39.2

Compare Source

Redocly/redocly-cli (@​redocly/cli)

v2.14.9

Compare Source

Patch Changes

v2.14.8

Compare Source

Patch Changes
  • Fixed an issue where multi-line lint error messages could break Markdown formatting.
  • Updated @​redocly/openapi-core to v2.14.8.

v2.14.7

Compare Source

Patch Changes

v2.14.6

Compare Source

Patch Changes

v2.14.5

Compare Source

Patch Changes
  • Added an ajv npm alias dependency to satisfy peer dependency requirements and prevent installation warnings.
  • Updated @​redocly/openapi-core to v2.14.5.

v2.14.4

Compare Source

Patch Changes
  • Corrected an issue where Respect did not properly JSON-encode request bodies for custom content-types containing numbers.
  • Updated @​redocly/respect-core to v2.14.4.

v2.14.3

Compare Source

Patch Changes
  • Fixed the split command to properly handle root-level paths.
    Previously, the root path / was converted to an empty string as a filename, leading to incorrect file structure and broken links.
    Now, it correctly maps to the specified path separator.
  • Updated @​redocly/openapi-core to v2.14.3.

v2.14.2

Compare Source

Patch Changes

v2.14.1

Compare Source

Patch Changes

v2.14.0

Compare Source

Patch Changes

v2.13.0

Compare Source

Minor Changes
  • Implemented basic support for OpenRPC specification.
Patch Changes

v2.12.7

Compare Source

Patch Changes
  • Added scorecard-classic command to evaluate API descriptions against project scorecard configurations.
  • Updated @​redocly/openapi-core to v2.12.7.

v2.12.6

Compare Source

Patch Changes

v2.12.5

Compare Source

Patch Changes

v2.12.4

Compare Source

Patch Changes
  • Fixed a compatibility issue with HTTP_PROXY environment variable for the push command.
  • Updated @​redocly/openapi-core to v2.12.4.

v2.12.3

Compare Source

Patch Changes
  • Updated telemetry implementation to use standardized OpenTelemetry format.
  • Updated @​redocly/openapi-core to v2.12.3.

v2.12.2

Compare Source

Patch Changes
  • Fixed an issue where credentials reated by Redocly CLI login command were deleted by Redocly VS Code extension when opening VS Code.
  • Updated @​redocly/openapi-core to v2.12.2.

v2.12.1

Compare Source

Patch Changes
  • Fixed an issue where multiple --mtls options in the Respect command did not merge as expected.
  • Updated @​redocly/openapi-core to v2.12.1.

v2.12.0

Compare Source

Minor Changes
  • Added OpenAPI 3.2 XML modeling support.
Patch Changes
  • Fixed an issue where the no-required-schema-properties-undefined caused a crash when encountering unresolved $refs.
  • Updated @​redocly/openapi-core to v2.12.0.
standard-schema/standard-schema (@​standard-schema/spec)

v1.1.0

Compare Source

Adds the Standard JSON Schema specification.

Please refer to the README and standardschema.dev for more details.

testing-library/react-testing-library (@​testing-library/react)

v16.3.2

Compare Source

v16.3.1

Compare Source

vitejs/vite-plugin-react (@​vitejs/plugin-react)

v5.1.2

Compare Source

get-convex/convex-js (convex)

v1.31.6

  • Added a new authKit field in convex.json that allows you to customize the automatic provisioning and configuration of WorkOS environments.
  • The CLI now warns you when using a Node.js version older than Node.js 20.
  • Improved error messages when requests fail in the MCP server.
  • Improved the error message when creating a component with an invalid name.
get-convex/convex-test (convex-test)

v0.0.41

Compare Source

v0.0.40

Compare Source

  • Extends ctx in t.run to conform to both MutationCtx and ActionCtx.
eslint/eslint (eslint)

v9.39.2

Compare Source

honojs/hono (hono)

v4.11.6

Compare Source

v4.11.5

Compare Source

What's Changed

New Contributors

Full Changelog: honojs/hono@v4.11.4...v4.11.5

actions/node-versions (node)

v20.20.0: 20.20.0

Compare Source

Node.js 20.20.0

v20.19.6: 20.19.6

Compare Source

Node.js 20.19.6

stackblitz-labs/pkg.pr.new (pkg-pr-new)

v0.0.62

Compare Source

v0.0.61

Compare Source

prettier/prettier (prettier)

v3.8.1

Compare Source

v3.8.0

Compare Source

diff

🔗 Release note

v3.7.4

Compare Source

diff

LWC: Avoid quote around interpolations (#​18383 by @​kovsu)
<!-- Input -->
<div foo={bar}>   </div>

<!-- Prettier 3.7.3 (--embedded-language-formatting off) -->
<div foo="{bar}"></div>

<!-- Prettier 3.7.4 (--embedded-language-formatting off) -->
<div foo={bar}></div>
TypeScript: Fix comment inside union type gets duplicated (#​18393 by @​fisker)
// Input
type Foo = (/** comment */ a | b) | c;

// Prettier 3.7.3
type Foo = /** comment */ (/** comment */ a | b) | c;

// Prettier 3.7.4
type Foo = /** comment */ (a | b) | c;
TypeScript: Fix unstable comment print in union type comments (#​18395 by @​fisker)
// Input
type X = (A | B) & (
  // comment
  A | B
);

// Prettier 3.7.3 (first format)
type X = (A | B) &
  (// comment
  A | B);

// Prettier 3.7.3 (second format)
type X = (
  | A
  | B // comment
) &
  (A | B);

// Prettier 3.7.4
type X = (A | B) &
  // comment
  (A | B);

v3.7.3

Compare Source

diff

API: Fix prettier.getFileInfo() change that breaks VSCode extension (#​18375 by @​fisker)

An internal refactor accidentally broke the VSCode extension plugin loading.

v3.7.2

Compare Source

diff

JavaScript: Fix string print when switching quotes (#​18351 by @​fisker)
// Input
console.log("A descriptor\\'s .kind must be \"method\" or \"field\".")

// Prettier 3.7.1
console.log('A descriptor\\'s .kind must be "method" or "field".');

// Prettier 3.7.2
console.log('A descriptor\\\'s .kind must be "method" or "field".');
JavaScript: Preserve quote for embedded HTML attribute values (#​18352 by @​kovsu)
// Input
const html = /* HTML */ ` <div class="${styles.banner}"></div> `;

// Prettier 3.7.1
const html = /* HTML */ ` <div class=${styles.banner}></div> `;

// Prettier 3.7.2
const html = /* HTML */ ` <div class="${styles.banner}"></div> `;
TypeScript: Fix comment in empty type literal (#​18364 by @​fisker)
// Input
export type XXX = {
  // tbd
};

// Prettier 3.7.1
export type XXX = { // tbd };

// Prettier 3.7.2
export type XXX = {
  // tbd
};

v3.7.1

Compare Source

diff

API: Fix performance regression in doc printer (#​18342 by @​fisker)

Prettier 3.7.1 can be very slow when formatting big files, the regression has been fixed.

v3.7.0

Compare Source

diff

🔗 Release Notes

typescript-eslint/typescript-eslint (typescript-eslint)

v8.54.0

Compare Source

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

You can read about our versioning strategy and releases on our website.

v8.53.1

Compare Source

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

You can read about our versioning strategy and releases on our website.

v8.53.0

Compare Source

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

You can read about our versioning strategy and releases on our website.

v8.52.0

Compare Source

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

You can read about our versioning strategy and releases on our website.

v8.51.0

Compare Source

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

You can read about our versioning strategy and releases on our website.

v8.50.1

Compare Source

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

You can read about our versioning strategy and releases on our website.

v8.50.0

Compare Source

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

You can read about our versioning strategy and releases on our website.

v8.49.0

Compare Source

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

You can read about our versioning strategy and releases on our website.

v8.48.1

Compare Source

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

You can read about our versioning strategy and releases on our website.

v8.48.0

Compare Source

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

You can read about our versioning strategy and releases on our website.

eemeli/yaml (yaml)

v2.8.2

Compare Source

colinhacks/zod (zod)

v4.3.6

Compare Source

Commits:

v4.3.5

Compare Source

Commits:

v4.3.4

Compare Source

Commits:

v4.3.3

Compare Source

v4.3.2

Compare Source

v4.3.1

Compare Source

Commits:

  • 0fe8840 allow non-overwriting extends with refinements. 4.3.1

v4.3.0

Compare Source

This is Zod's biggest release since 4.0. It addresses several of Zod's longest-standing feature requests.

z.fromJSONSchema()

Convert JSON Schema to Zod (#​5534, #​5586)

You can now convert JSON Schema definitions directly into Zod schemas. This function supports JSON Schema "draft-2020-12", "draft-7", "draft-4", and OpenAPI 3.0.

import * as z from "zod";

const schema = z.fromJSONSchema({
  type: "object",
  properties: {
    name: { type: "string", minLength: 1 },
    age: { type: "integer", minimum: 0 },
  },
  required: ["name"],
});

schema.parse({ name: "Alice", age: 30 }); // ✅

The API should be considered experimental. There are no guarantees of 1:1 "round-trip soundness": MySchema > z.toJSONSchema() > z.fromJSONSchema(). There are several features of Zod that don't exist in JSON Schema and vice versa, which makes this virtually impossible.

Features supported:

  • All primitive types (string, number, integer, boolean, null, object, array)
  • String formats (email, uri, uuid, date-time, date, time, ipv4, ipv6, and more)
  • Composition (anyOf, oneOf, allOf)
  • Object constraints (additionalProperties, patternProperties, propertyNames)
  • Array constraints (prefixItems, items, minItems, maxItems)
  • $ref for local references and circular schemas
  • Custom metadata is preserved

z.xor() — exclusive union (#​5534)

A new exclusive union type that requires exactly one option to match. Unlike z.union() which passes if any option matches, z.xor() fails if zero or more than one option matches.

const schema = z.xor([z.string(), z.number()]);

schema.parse("hello"); // ✅
schema.parse(42);      // ✅
schema.parse(true);    // ❌ zero matches

When converted to JSON Schema, z.xor() produces oneOf instead of anyOf.

z.looseRecord() — partial record validation (#​5534)

A new record variant that only validates keys matching the key schema, passing through non-matching keys unchanged. This is used to represent patternProperties in JSON Schema.

const schema = z.looseRecord(z.string().regex(/^S_/), z.string());

schema.parse({ S_name: "John", other: 123 });
// ✅ { S_name: "John", other: 123 }
// only S_name is validated, "other" passes through

.exactOptional() — strict optional properties (#​5589)

A new wrapper that makes a property key-optional (can be omitted) but does not accept undefined as an explicit value.

const schema = z.object({
  a: z.string().optional(),      // accepts `undefined`
  b: z.string().exactOptional(), // does not accept `undefined`
});

schema.parse({});                  // ✅
schema.parse({ a: undefined });    // ✅
schema.parse({ b: undefined });    // ❌

This makes it possible to accurately represent the full spectrum of optionality expressible using exactOptionalPropertyTypes.

.apply()

A utility method for applying arbitrary transformations to a schema, enabling cleaner schema composition. (#​5463)

const setCommonChecks = <T extends z.ZodNumber>(schema: T) => {
  return schema.min(0).max(100);
};

const schema = z.number().apply(setCommonChecks).nullable();

.brand() cardinality

The .brand() method now accepts a second argument to control whether the brand applies to input, output, or both. Closes #​4764, #​4836.

// output only (default)
z.string().brand<"UserId">();           // output is branded (default)
z.string().brand<"UserId", "out">();    // output is branded
z.string().brand<"UserId", "in">();     // input is branded
z.string().brand<"UserId", "inout">();  // both are branded

Type predicates on .refine() (#​5575)

The .refine() method now supports type predicates to narrow the output type:

const schema = z.string().refine((s): s is "a" => s === "a");

type Input = z.input<typeof schema>;   // string
type Output = z.output<typeof schema>; // "a"

ZodMap methods: min, max, nonempty, size (#​5316)

ZodMap now has parity with ZodSet and ZodArray:

const schema = z.map(z.string(), z.number())
  .min(1)
  .max(10)
  .nonempty();

schema.size; // access the size constraint

.with() alias for .check() (359c0db)

A new .with() method has been added as a more readable alias for .check(). Over time, more APIs have been added that don't qualify as "checks". The new method provides a readable alternative that doesn't muddy semantics.

z.string().with(
  z.minLength(5),
  z.toLowerCase()
);

// equivalent to:
z.string().check(
  z.minLength(5),
  z.trim(),
  z.toLowerCase()
);
z.slugify() transform

Transform strings into URL-friendly slugs. Works great with .with():

// Zod
z.string().slugify().parse("Hello World");           // "hello-world"

// Zod Mini
// using .with() for explicit check composition
z.string().with(z.slugify()).parse("Hello World");   // "hello-world"

z.meta() and z.describe() in Zod Mini (947b4eb)

Zod Mini now exports z.meta() and z.describe() as top-level functions for adding metadata to schemas:

import * as z from "zod/mini";

// add description
const schema = z.string().with(
  z.describe("A user's name"),
);

// add arbitrary metadata
const schema2 = z.number().with(
  z.meta({ deprecated: true })
);

New locales

import * as z from "zod";
import { uz } from "zod/locales";

z.config(uz());






Bug fixes

All of these changes fix soundness issues in Zod. As with any bug fix there's some chance of breakage if you were intentionally or unintentionally relying on this unsound behavior.

⚠️ .pick() and .omit() disallowed on object schemas containing refinements (#​5317)

Using .pick() or .omit() on object schemas with refinements now throws an error. Previously, this would silently drop the refinements, leading to unexpected behavior.

const schema = z.object({
  password: z.string(),
  confirmPassword: z.string(),
}).refine(data => data.password === data.confirmPassword);

schema.pick({ password: true });
// 4.2: refinement silently dropped ⚠️
// 4.3: throws error ❌

Migration: The easiest way to migrate is to create a new schema using the shape of the old one.

const newSchema = z.object(schema.shape).pick({ ... })
⚠️ .extend() disallowed on refined schemas (#​5317)

Similarly, .extend() now throws on schemas with refinements. Use .safeExtend() if you need to extend refined schemas.

const schema = z.object({ a: z.string() }).refine(/* ... */);

// 4.2: refinement silently dropped ⚠️
// 4.3: throws error ✅
schema.extend({ b: z.number() });
// error: object schemas containing refinements cannot be extended. use `.safeExtend()` instead.
⚠️ Stricter object masking methods (#​5581)

Object masking methods (.pick(), .omit()) now validate that the keys provided actually exist in the schema:

const schema = z.object({ a: z.string() });

// 4.3: throws error for unrecognized keys
schema.pick({ nonexistent: true });
// error: unrecognized key: "nonexistent"

Additional changes

  • Fixed JSON Schema generation for z.iso.time with minute precision (#​5557)
  • Fixed error details for tuples with extraneous elements (#​5555)
  • Fixed includes method params typing to accept string | $ZodCheckIncludesParams (#​5556)
  • Fixed numeric formats error messages to be inclusive (#​5485)
  • Fixed implementAsync inferred type to always be a promise (#​5476)
  • Tightened E.164 regex to require a non-zero leading digit and 7–15 digits total (#​5524)
  • Fixed Dutch (nl) error strings (#​5529)
  • Convert Date instances to numbers in minimum/maximum checks (#​5351)
  • Improved numeric keys handling in z.record() (#​5585)
  • Lazy initialization of ~standard schema property (#​5363)
  • Functions marked as @__NO_SIDE_EFFECTS__ for better tree-shaking (#​5475)
  • Improved metadata tracking across child-parent relationships (#​5578)
  • Improved locale translation approach (#​5584)
  • Dropped id uniqueness enforcement at registry level (#​5574)

v4.2.1

Compare Source

v4.2.0

Compare Source

Features

Implement Standard JSON Schema

standard-schema/standard-schema#134

Implement z.fromJSONSchema()
const jsonSchema = {
  type: "object",
  properties: {
    name: { type: "string" },
    age: { type: "number" }
  },
  required: ["name"]
};

const schema = z.fromJSONSchema(jsonSchema);
Implement z.xor()
const schema = z.xor(
  z.object({ type: "user", name: z.string() }),
  z.object({ type: "admin", role: z.string() })
);
// Exactly one of the schemas must match
Implement z.looseRecord()
const schema = z.looseRecord(z.string(), z.number());
// Allows additional properties beyond those defined

Commits:

v4.1.13

Compare Source

lawvs/zod-compare (zod-compare)

v2.0.1

Compare Source

Patch Changes

Configuration

📅 Schedule: Branch creation - Between 12:00 AM and 04:59 AM, only on Monday ( * 0-4 * * 1 ) in timezone America/Los_Angeles, Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


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

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

@coderabbitai
Copy link

coderabbitai bot commented Dec 1, 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.

  • 🔍 Trigger a full review

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

@pkg-pr-new
Copy link

pkg-pr-new bot commented Dec 1, 2025

Open in StackBlitz

npm i https://pkg.pr.new/get-convex/convex-helpers@867

commit: 1e25ce6

@renovate renovate bot force-pushed the renovate/routine-updates branch 7 times, most recently from cf3475f to b27eea9 Compare December 4, 2025 19:14
@renovate renovate bot changed the title Update Routine updates chore(deps): update routine updates Dec 4, 2025
@renovate renovate bot force-pushed the renovate/routine-updates branch 7 times, most recently from 5082753 to e00fa5d Compare December 8, 2025 22:45
@renovate renovate bot changed the title chore(deps): update routine updates Update Routine updates Dec 8, 2025
@renovate renovate bot force-pushed the renovate/routine-updates branch 12 times, most recently from 67fd564 to 87735e5 Compare December 15, 2025 18:38
@renovate renovate bot force-pushed the renovate/routine-updates branch 7 times, most recently from 6723be7 to 2237c7c Compare January 22, 2026 17:57
@renovate renovate bot force-pushed the renovate/routine-updates branch 13 times, most recently from 6205cec to dad3027 Compare January 30, 2026 00:06
@ianmacartney
Copy link
Member

@cursor can you get this passing lint & typecheck?

@renovate renovate bot force-pushed the renovate/routine-updates branch from dad3027 to 50ceecf Compare January 30, 2026 02:26
@cursor
Copy link

cursor bot commented Jan 30, 2026

I've fixed the typecheck and lint issues in this PR. Here's what I did:

Fix for standardSchema.test.ts typecheck error:

  • The test was comparing our toStandardSchema implementation's ~standard type directly with Zod's using toEqualTypeOf, but Zod 4.3.x now implements StandardSchemaWithJSON which extends the base spec with JSON schema properties
  • Updated the test to import StandardSchemaV1 from @standard-schema/spec and compare both our implementation and Zod's against the base StandardSchemaV1.Props type

Prettier formatting fixes:

  • The prettier update from 3.6.2 to 3.8.1 introduced new formatting rules that flagged 8 files
  • Ran npm run format to apply consistent formatting across the codebase

All lint, typecheck, and tests now pass locally.

Open in Cursor Open in Web

@renovate
Copy link
Contributor Author

renovate bot commented Jan 30, 2026

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

cursoragent and others added 2 commits February 2, 2026 15:12
- Update standardSchema.test.ts to compare types against StandardSchemaV1.Props
  instead of directly comparing with Zod's extended type which now includes
  StandardSchemaWithJSON properties
- Run prettier to fix formatting issues introduced by prettier 3.8.1 update

Co-authored-by: ian <[email protected]>
@ianmacartney ianmacartney force-pushed the renovate/routine-updates branch from 1e25ce6 to 92664b2 Compare February 2, 2026 23:12
@ianmacartney ianmacartney merged commit 841bc23 into main Feb 2, 2026
2 of 3 checks passed
@ianmacartney ianmacartney deleted the renovate/routine-updates branch February 2, 2026 23:12
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.

2 participants