From 6a82b7f9e0652a171251fae1349ab1b841da796c Mon Sep 17 00:00:00 2001 From: Leonardo Montini Date: Tue, 10 Dec 2024 22:51:48 +0100 Subject: [PATCH] feat: native support for standard schema libraries (#1020) * feat: naive implementation as adapter * test: naive test with valibot * feat: add async validation support * feat: define standard schema adapter in form-core * feat: support arktype's function-based structure and path * ci: apply automated fixes and generate docs * feat: validate form with standard schema without adapter * feat: validate field with standard schema without adapter * test: add todo tests for zod * ci: apply automated fixes and generate docs * fix: spread field errors from form validator * docs: add example with multiple schemas * chore: bump valibot and uncomment failing tests * docs: mention standard schema * feat: accept functional sync validator even with an adapter set * chore: bump versions * docs: gen * ci: apply automated fixes and generate docs * feat: integrate zod * docs: update with zod and simplify examples * ci: apply automated fixes and generate docs * docs: mention latest version for schema libraries --- docs/config.json | 4 + docs/framework/angular/guides/validation.md | 88 +- docs/framework/react/guides/ssr.md | 6 +- docs/framework/react/guides/validation.md | 102 ++- docs/framework/solid/guides/validation.md | 66 +- docs/framework/vue/guides/validation.md | 69 +- docs/reference/classes/fieldapi.md | 48 +- docs/reference/classes/formapi.md | 52 +- .../functions/isstandardschemavalidator.md | 24 + .../functions/standardschemavalidator.md | 24 + docs/reference/index.md | 2 + docs/reference/interfaces/fieldapioptions.md | 18 +- docs/reference/interfaces/fieldlisteners.md | 8 +- docs/reference/interfaces/fieldoptions.md | 16 +- docs/reference/interfaces/fieldvalidators.md | 22 +- docs/reference/interfaces/formoptions.md | 18 +- docs/reference/interfaces/formvalidators.md | 18 +- docs/reference/type-aliases/fieldinfo.md | 2 +- docs/reference/type-aliases/fieldmeta.md | 2 +- .../fieldserrormapfromvalidator.md | 2 +- docs/reference/type-aliases/fieldstate.md | 2 +- docs/reference/type-aliases/formstate.md | 2 +- docs/reference/type-aliases/formvalidatefn.md | 2 +- docs/reference/type-aliases/formvalidator.md | 2 +- docs/reference/type-aliases/validationmeta.md | 2 +- examples/angular/valibot/package.json | 2 +- examples/angular/zod/package.json | 2 +- examples/react/standard-schema/.eslintrc.cjs | 11 + examples/react/standard-schema/.gitignore | 27 + examples/react/standard-schema/README.md | 6 + examples/react/standard-schema/index.html | 16 + examples/react/standard-schema/package.json | 37 + .../standard-schema/public/emblem-light.svg | 13 + examples/react/standard-schema/src/index.tsx | 138 ++++ examples/react/standard-schema/tsconfig.json | 23 + examples/react/valibot/package.json | 2 +- examples/react/zod/package.json | 2 +- examples/solid/valibot/package.json | 2 +- examples/solid/zod/package.json | 2 +- examples/vue/valibot/package.json | 2 +- examples/vue/zod/package.json | 2 +- packages/form-core/package.json | 6 + packages/form-core/src/FieldApi.ts | 16 +- packages/form-core/src/FormApi.ts | 31 +- packages/form-core/src/index.ts | 1 + .../form-core/src/standardSchemaValidator.ts | 90 +++ packages/form-core/tests/FormApi.spec.ts | 2 +- .../tests/standardSchemaValidator.spec.ts | 376 +++++++++ packages/valibot-form-adapter/package.json | 2 +- packages/zod-form-adapter/package.json | 2 +- .../zod-form-adapter/tests/FormApi.test-d.ts | 11 +- pnpm-lock.yaml | 758 ++++++++++++------ 52 files changed, 1663 insertions(+), 520 deletions(-) create mode 100644 docs/reference/functions/isstandardschemavalidator.md create mode 100644 docs/reference/functions/standardschemavalidator.md create mode 100644 examples/react/standard-schema/.eslintrc.cjs create mode 100644 examples/react/standard-schema/.gitignore create mode 100644 examples/react/standard-schema/README.md create mode 100644 examples/react/standard-schema/index.html create mode 100644 examples/react/standard-schema/package.json create mode 100644 examples/react/standard-schema/public/emblem-light.svg create mode 100644 examples/react/standard-schema/src/index.tsx create mode 100644 examples/react/standard-schema/tsconfig.json create mode 100644 packages/form-core/src/standardSchemaValidator.ts create mode 100644 packages/form-core/tests/standardSchemaValidator.spec.ts diff --git a/docs/config.json b/docs/config.json index a543f3a53..714371ee5 100644 --- a/docs/config.json +++ b/docs/config.json @@ -442,6 +442,10 @@ "label": "TanStack Query Integration", "to": "framework/react/examples/query-integration" }, + { + "label": "Standard Schema", + "to": "framework/react/examples/standard-schema" + }, { "label": "Yup", "to": "framework/react/examples/yup" diff --git a/docs/framework/angular/guides/validation.md b/docs/framework/angular/guides/validation.md index d5b2f44b2..d9d72352a 100644 --- a/docs/framework/angular/guides/validation.md +++ b/docs/framework/angular/guides/validation.md @@ -382,24 +382,22 @@ This will debounce every async call with a 500ms delay. You can even override th > This will run `onChangeAsync` every 1500ms while `onBlurAsync` will run every 500ms. -## Adapter-Based Validation (Zod, Yup, Valibot) +## Validation through Schema Libraries -While functions provide more flexibility and customization over your validation, they can be a bit verbose. To help solve this, there are libraries like [Valibot](https://valibot.dev/), [Yup](https://github.com/jquense/yup), and [Zod](https://zod.dev/) that provide schema-based validation to make shorthand and type-strict validation substantially easier. +While functions provide more flexibility and customization over your validation, they can be a bit verbose. To help solve this, there are libraries that provide schema-based validation to make shorthand and type-strict validation substantially easier. You can also define a single schema for your entire form and pass it to the form level, errors will be automatically propagated to the fields. -Luckily, we support all of these libraries through official adapters: +### Standard Schema Libraries -```bash -$ npm install @tanstack/zod-form-adapter zod -# or -$ npm install @tanstack/yup-form-adapter yup -# or -$ npm install @tanstack/valibot-form-adapter valibot -``` +TanStack Form natively supports all libraries following the [Standard Schema specification](https://github.com/standard-schema/standard-schema), most notably: +- [Zod](https://zod.dev/) +- [Valibot](https://valibot.dev/) +- [ArkType](https://arktype.io/) -Once done, we can add the adapter to the `validator` property on the form or field: +*Note:* make sure to use the latest version of the schema libraries as older versions might not support Standard Schema yet. + +To use schemas from these libraries you can pass them to the `validators` props as you would do with a custom function: ```angular-ts -import { zodValidator } from '@tanstack/zod-form-adapter' import { z } from 'zod' @Component({ @@ -420,11 +418,9 @@ import { z } from 'zod' `, }) export class AppComponent { - form = injectForm({ - // Either add the validator here or on `Field` - validatorAdapter: zodValidator(), + form = injectForm({ // ... - }) + }) z = z @@ -432,7 +428,8 @@ export class AppComponent { } ``` -These adapters also support async operations using the proper property names: +Async validations on form and field level are supported as well: + ```angular-ts @Component({ @@ -469,37 +466,50 @@ export class AppComponent { } ``` -### Form Level Adapter Validation +### Other Schema Libraries -You can also use the adapter at the form level: +We also support [Yup](https://github.com/jquense/yup) through an official adapter: -```typescript -import { zodValidator } from '@tanstack/zod-form-adapter' -import { z } from 'zod' +```bash +$ npm install @tanstack/yup-form-adapter yup +``` -// ... +Once done, we can add the adapter to the `validator` property on the form or field: -const form = injectForm({ - validatorAdapter: zodValidator(), - validators: { - onChange: z.object({ - age: z.number().gte(13, 'You must be 13 to make an account'), - }), - }, -}) -``` +```angular-ts +import { yupValidator } from '@tanstack/yup-form-adapter' +import * as yup from 'yup' -If you use the adapter at the form level, it will pass the validation to the fields of the same name. +@Component({ + selector: 'app-root', + standalone: true, + imports: [TanStackField], + template: ` + + + + `, +}) +export class AppComponent { + form = injectForm({ + // Either add the validator here or on `Field` + validatorAdapter: yupValidator(), + // ... + }) -This means that: + yup = yup -```html - - - + // ... +} ``` -Will still display the error message from the form-level validation. ## Preventing invalid forms from being submitted diff --git a/docs/framework/react/guides/ssr.md b/docs/framework/react/guides/ssr.md index a6a63b6ad..f584a792c 100644 --- a/docs/framework/react/guides/ssr.md +++ b/docs/framework/react/guides/ssr.md @@ -20,7 +20,7 @@ This section focuses on integrating TanStack Form with TanStack Start. - Start a new `TanStack Start` project, following the steps in the [TanStack Start Quickstart Guide](https://tanstack.com/router/latest/docs/framework/react/guide/tanstack-start) - Install `@tanstack/react-form` -- Install any [form validator](/form/latest/docs/framework/react/guides/validation#adapter-based-validation-zod-yup-valibot) of your choice. [Optional] +- Install any [form validator](/form/latest/docs/framework/react/guides/validation#validation-through-schema-libraries) of your choice. [Optional] ### Start integration @@ -169,7 +169,7 @@ This section focuses on integrating TanStack Form with `Next.js`, particularly u - Start a new `Next.js` project, following the steps in the [Next.js Documentation](https://nextjs.org/docs/getting-started/installation). Ensure you select `yes` for `Would you like to use App Router?` during the setup to access all new features provided by Next.js. - Install `@tanstack/react-form` -- Install any [form validator](/form/latest/docs/framework/react/guides/validation#adapter-based-validation-zod-yup-valibot) of your choice. [Optional] +- Install any [form validator](/form/latest/docs/framework/react/guides/validation#validation-through-schema-libraries) of your choice. [Optional] ## App Router integration @@ -315,7 +315,7 @@ Here, we're using [React's `useActionState` hook](https://unicorn-utterances.com - Start a new `Remix` project, following the steps in the [Remix Documentation](https://remix.run/docs/en/main/start/quickstart). - Install `@tanstack/react-form` -- Install any [form validator](/form/latest/docs/framework/react/guides/validation#adapter-based-validation-zod-yup-valibot) of your choice. [Optional] +- Install any [form validator](/form/latest/docs/framework/react/guides/validation#validation-through-schema-libraries) of your choice. [Optional] ## Remix integration diff --git a/docs/framework/react/guides/validation.md b/docs/framework/react/guides/validation.md index 2f2a0a274..e8a9ff26f 100644 --- a/docs/framework/react/guides/validation.md +++ b/docs/framework/react/guides/validation.md @@ -413,47 +413,49 @@ This will debounce every async call with a 500ms delay. You can even override th > This will run `onChangeAsync` every 1500ms while `onBlurAsync` will run every 500ms. -## Adapter-Based Validation (Zod, Yup, Valibot) +## Validation through Schema Libraries -While functions provide more flexibility and customization over your validation, they can be a bit verbose. To help solve this, there are libraries like [Valibot](https://valibot.dev/), [Yup](https://github.com/jquense/yup), and [Zod](https://zod.dev/) that provide schema-based validation to make shorthand and type-strict validation substantially easier. +While functions provide more flexibility and customization over your validation, they can be a bit verbose. To help solve this, there are libraries that provide schema-based validation to make shorthand and type-strict validation substantially easier. You can also define a single schema for your entire form and pass it to the form level, errors will be automatically propagated to the fields. -Luckily, we support all of these libraries through official adapters: +### Standard Schema Libraries -```bash -$ npm install @tanstack/zod-form-adapter zod -# or -$ npm install @tanstack/yup-form-adapter yup -# or -$ npm install @tanstack/valibot-form-adapter valibot -``` +TanStack Form natively supports all libraries following the [Standard Schema specification](https://github.com/standard-schema/standard-schema), most notably: +- [Zod](https://zod.dev/) +- [Valibot](https://valibot.dev/) +- [ArkType](https://arktype.io/) -Once done, we can add the adapter to the `validator` property on the form or field: +*Note:* make sure to use the latest version of the schema libraries as older versions might not support Standard Schema yet. -```tsx -import { zodValidator } from '@tanstack/zod-form-adapter' -import { z } from 'zod' - -// ... +To use schemas from these libraries you can pass them to the `validators` props as you would do with a custom function: -const form = useForm({ - // Either add the validator here or on `Field` - validatorAdapter: zodValidator(), - // ... +```tsx +const userSchema = z.object({ + age: z.number().gte(13, 'You must be 13 to make an account'), }) - { - return <>{/* ... */} - }} -/> +function App() { + const form = useForm({ + defaultValues: { + age: 0, + }, + validators: { + onChange: userSchema, + }, + }) + return ( +
+ { + return <>{/* ... */} + }} + /> +
+ ) +} ``` -These adapters also support async operations using the proper property names: +Async validations on form and field level are supported as well: ```tsx ``` -### Form Level Adapter Validation +### Other Schema Libraries + +We also support [Yup](https://github.com/jquense/yup) through an official adapter: -You can also use the adapter at the form level: +```bash +$ npm install @tanstack/yup-form-adapter yup +``` + +Once done, we can add the adapter to the `validator` property on the form or field: ```tsx -import { zodValidator } from '@tanstack/zod-form-adapter' -import { z } from 'zod' +import { yupValidator } from '@tanstack/yup-form-adapter' +import * as yup from 'yup' // ... -const formSchema = z.object({ - age: z.number().gte(13, 'You must be 13 to make an account'), -}) - const form = useForm({ - validatorAdapter: zodValidator(), - validators: { - onChange: formSchema - }, + // Either add the validator here or on `Field` + validatorAdapter: yupValidator(), + // ... }) -``` - -If you use the adapter at the form level, it will pass the validation to the fields of the same name. - -This means that: - -```tsx { return <>{/* ... */} }} /> ``` -Will still display the error message from the form-level validation. - ## Preventing invalid forms from being submitted The `onChange`, `onBlur` etc... callbacks are also run when the form is submitted and the submission is blocked if the form is invalid. diff --git a/docs/framework/solid/guides/validation.md b/docs/framework/solid/guides/validation.md index 50ef40a7a..08c60857b 100644 --- a/docs/framework/solid/guides/validation.md +++ b/docs/framework/solid/guides/validation.md @@ -312,37 +312,32 @@ This will debounce every async call with a 500ms delay. You can even override th > This will run `onChangeAsync` every 1500ms while `onBlurAsync` will run every 500ms. -## Adapter-Based Validation (Zod, Yup, Valibot) +## Validation through Schema Libraries -While functions provide more flexibility and customization over your validation, they can be a bit verbose. To help solve this, there are libraries like [Valibot](https://valibot.dev/), [Yup](https://github.com/jquense/yup), and [Zod](https://zod.dev/) that provide schema-based validation to make shorthand and type-strict validation substantially easier. +While functions provide more flexibility and customization over your validation, they can be a bit verbose. To help solve this, there are libraries that provide schema-based validation to make shorthand and type-strict validation substantially easier. You can also define a single schema for your entire form and pass it to the form level, errors will be automatically propagated to the fields. -Luckily, we support all of these libraries through official adapters: +### Standard Schema Libraries -```bash -$ npm install @tanstack/zod-form-adapter zod -# or -$ npm install @tanstack/yup-form-adapter yup -# or -$ npm install @tanstack/valibot-form-adapter valibot -``` +TanStack Form natively supports all libraries following the [Standard Schema specification](https://github.com/standard-schema/standard-schema), most notably: +- [Zod](https://zod.dev/) +- [Valibot](https://valibot.dev/) +- [ArkType](https://arktype.io/) -Once done, we can add the adapter to the `validator` property on the form or field: +*Note:* make sure to use the latest version of the schema libraries as older versions might not support Standard Schema yet. + +To use schemas from these libraries you can pass them to the `validators` props as you would do with a custom function: ```tsx -import { zodValidator } from '@tanstack/zod-form-adapter' import { z } from 'zod' // ... const form = createForm(() => ({ - // Either add the validator here or on `Field` - validatorAdapter: zodValidator(), // ... })); ({ /> ``` -These adapters also support async operations using the proper property names: +Async validations on form and field level are supported as well: ```tsx ``` -### Form Level Adapter Validation +### Other Schema Libraries +We also support [Yup](https://github.com/jquense/yup) through an official adapter: + +```bash +$ npm install @tanstack/yup-form-adapter yup +``` + +Once done, we can add the adapter to the `validator` property on the form or field: -You can also use the adapter at the form level: ```tsx -import { zodValidator } from '@tanstack/zod-form-adapter' -import { z } from 'zod' +import { yupValidator } from '@tanstack/yup-form-adapter' +import * as yup from 'yup' // ... const form = createForm(() => ({ - validatorAdapter: zodValidator(), - validators: { - onChange: z.object({ - age: z.number().gte(13, 'You must be 13 to make an account'), - }), - }, -})) -``` - -If you use the adapter at the form level, it will pass the validation to the fields of the same name. - -This means that: - -```tsx + // Either add the validator here or on `Field` + validatorAdapter: yupValidator(), + // ... +})); { return <>{/* ... */} }} /> ``` -Will still display the error message from the form-level validation. - - ## Preventing invalid forms from being submitted The `onChange`, `onBlur` etc... callbacks are also run when the form is submitted and the submission is blocked if the form is invalid. diff --git a/docs/framework/vue/guides/validation.md b/docs/framework/vue/guides/validation.md index a9aea2c5f..beb3f7504 100644 --- a/docs/framework/vue/guides/validation.md +++ b/docs/framework/vue/guides/validation.md @@ -322,31 +322,27 @@ This will debounce every async call with a 500ms delay. You can even override th This will run `onChangeAsync` every 1500ms while `onBlurAsync` will run every 500ms. -## Adapter-Based Validation (Zod, Yup, Valibot) +## Validation through Schema Libraries -While functions provide more flexibility and customization over your validation, they can be a bit verbose. To help solve this, there are libraries like [Valibot](https://valibot.dev/), [Yup](https://github.com/jquense/yup), and [Zod](https://zod.dev/) that provide schema-based validation to make shorthand and type-strict validation substantially easier. +While functions provide more flexibility and customization over your validation, they can be a bit verbose. To help solve this, there are libraries that provide schema-based validation to make shorthand and type-strict validation substantially easier. You can also define a single schema for your entire form and pass it to the form level, errors will be automatically propagated to the fields. -Luckily, we support all of these libraries through official adapters: +### Standard Schema Libraries -```bash -$ npm install @tanstack/zod-form-adapter zod -# or -$ npm install @tanstack/yup-form-adapter yup -# or -$ npm install @tanstack/valibot-form-adapter valibot -``` +TanStack Form natively supports all libraries following the [Standard Schema specification](https://github.com/standard-schema/standard-schema), most notably: +- [Zod](https://zod.dev/) +- [Valibot](https://valibot.dev/) +- [ArkType](https://arktype.io/) -Once done, we can add the adapter to the `validator` property on the form or field: +*Note:* make sure to use the latest version of the schema libraries as older versions might not support Standard Schema yet. + +To use schemas from these libraries you can pass them to the `validators` props as you would do with a custom function: ```vue @@ -355,7 +351,6 @@ const form = useForm({ ``` -These adapters also support async operations using the proper property names: +Async validations on form and field level are supported as well: ```vue ``` -### Form Level Adapter Validation +### Other Schema Libraries -You can also use the adapter at the form level: +We also support [Yup](https://github.com/jquense/yup) through an official adapter: -```typescript -import { zodValidator } from '@tanstack/zod-form-adapter' -import { z } from 'zod' +```bash +$ npm install @tanstack/yup-form-adapter yup +``` + +Once done, we can add the adapter to the `validator` property on the form or field: + +```vue + -```vue ``` -Will still display the error message from the form-level validation. - ## Preventing invalid forms from being submitted The `onChange`, `onBlur` etc... callbacks are also run when the form is submitted and the submission is blocked if the form is invalid. diff --git a/docs/reference/classes/fieldapi.md b/docs/reference/classes/fieldapi.md index 49beb73f1..a5cd88a21 100644 --- a/docs/reference/classes/fieldapi.md +++ b/docs/reference/classes/fieldapi.md @@ -47,7 +47,7 @@ Initializes a new `FieldApi` instance. #### Defined in -[packages/form-core/src/FieldApi.ts:509](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L509) +[packages/form-core/src/FieldApi.ts:513](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L513) ## Properties @@ -61,7 +61,7 @@ A reference to the form API instance. #### Defined in -[packages/form-core/src/FieldApi.ts:471](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L471) +[packages/form-core/src/FieldApi.ts:475](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L475) *** @@ -75,7 +75,7 @@ The field name. #### Defined in -[packages/form-core/src/FieldApi.ts:481](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L481) +[packages/form-core/src/FieldApi.ts:485](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L485) *** @@ -89,7 +89,7 @@ The field options. #### Defined in -[packages/form-core/src/FieldApi.ts:485](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L485) +[packages/form-core/src/FieldApi.ts:489](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L489) *** @@ -103,7 +103,7 @@ The current field state. #### Defined in -[packages/form-core/src/FieldApi.ts:499](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L499) +[packages/form-core/src/FieldApi.ts:503](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L503) *** @@ -117,7 +117,7 @@ The field state store. #### Defined in -[packages/form-core/src/FieldApi.ts:495](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L495) +[packages/form-core/src/FieldApi.ts:499](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L499) *** @@ -129,7 +129,7 @@ timeoutIds: Record; #### Defined in -[packages/form-core/src/FieldApi.ts:504](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L504) +[packages/form-core/src/FieldApi.ts:508](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L508) ## Methods @@ -147,7 +147,7 @@ Gets the field information object. #### Defined in -[packages/form-core/src/FieldApi.ts:738](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L738) +[packages/form-core/src/FieldApi.ts:752](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L752) *** @@ -165,7 +165,7 @@ Gets the current field metadata. #### Defined in -[packages/form-core/src/FieldApi.ts:716](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L716) +[packages/form-core/src/FieldApi.ts:730](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L730) *** @@ -187,7 +187,7 @@ Use `field.state.value` instead. #### Defined in -[packages/form-core/src/FieldApi.ts:690](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L690) +[packages/form-core/src/FieldApi.ts:704](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L704) *** @@ -205,7 +205,7 @@ Handles the blur event. #### Defined in -[packages/form-core/src/FieldApi.ts:1090](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1090) +[packages/form-core/src/FieldApi.ts:1104](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1104) *** @@ -229,7 +229,7 @@ Handles the change event. #### Defined in -[packages/form-core/src/FieldApi.ts:1083](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1083) +[packages/form-core/src/FieldApi.ts:1097](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1097) *** @@ -264,7 +264,7 @@ Inserts a value at the specified index, shifting the subsequent values to the ri #### Defined in -[packages/form-core/src/FieldApi.ts:751](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L751) +[packages/form-core/src/FieldApi.ts:765](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L765) *** @@ -286,7 +286,7 @@ Mounts the field instance to the form. #### Defined in -[packages/form-core/src/FieldApi.ts:600](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L600) +[packages/form-core/src/FieldApi.ts:614](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L614) *** @@ -321,7 +321,7 @@ Moves the value at the first specified index to the second specified index. #### Defined in -[packages/form-core/src/FieldApi.ts:781](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L781) +[packages/form-core/src/FieldApi.ts:795](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L795) *** @@ -349,7 +349,7 @@ Pushes a new value to the field. #### Defined in -[packages/form-core/src/FieldApi.ts:743](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L743) +[packages/form-core/src/FieldApi.ts:757](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L757) *** @@ -377,7 +377,7 @@ Removes a value at the specified index. #### Defined in -[packages/form-core/src/FieldApi.ts:769](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L769) +[packages/form-core/src/FieldApi.ts:783](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L783) *** @@ -412,7 +412,7 @@ Replaces a value at the specified index. #### Defined in -[packages/form-core/src/FieldApi.ts:760](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L760) +[packages/form-core/src/FieldApi.ts:774](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L774) *** @@ -436,7 +436,7 @@ Updates the field's errorMap #### Defined in -[packages/form-core/src/FieldApi.ts:1110](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1110) +[packages/form-core/src/FieldApi.ts:1124](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1124) *** @@ -460,7 +460,7 @@ Sets the field metadata. #### Defined in -[packages/form-core/src/FieldApi.ts:732](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L732) +[packages/form-core/src/FieldApi.ts:746](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L746) *** @@ -488,7 +488,7 @@ Sets the field value and run the `change` validator. #### Defined in -[packages/form-core/src/FieldApi.ts:697](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L697) +[packages/form-core/src/FieldApi.ts:711](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L711) *** @@ -523,7 +523,7 @@ Swaps the values at the specified indices. #### Defined in -[packages/form-core/src/FieldApi.ts:775](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L775) +[packages/form-core/src/FieldApi.ts:789](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L789) *** @@ -547,7 +547,7 @@ Updates the field instance with new options. #### Defined in -[packages/form-core/src/FieldApi.ts:653](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L653) +[packages/form-core/src/FieldApi.ts:667](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L667) *** @@ -571,4 +571,4 @@ Validates the field value. #### Defined in -[packages/form-core/src/FieldApi.ts:1055](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1055) +[packages/form-core/src/FieldApi.ts:1069](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1069) diff --git a/docs/reference/classes/formapi.md b/docs/reference/classes/formapi.md index 4f268848c..2d825ae73 100644 --- a/docs/reference/classes/formapi.md +++ b/docs/reference/classes/formapi.md @@ -39,7 +39,7 @@ Constructs a new `FormApi` instance with the given form options. #### Defined in -[packages/form-core/src/FormApi.ts:386](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L386) +[packages/form-core/src/FormApi.ts:395](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L395) ## Properties @@ -53,7 +53,7 @@ A record of field information for each field in the form. #### Defined in -[packages/form-core/src/FormApi.ts:375](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L375) +[packages/form-core/src/FormApi.ts:384](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L384) *** @@ -67,7 +67,7 @@ The options for the form. #### Defined in -[packages/form-core/src/FormApi.ts:359](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L359) +[packages/form-core/src/FormApi.ts:368](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L368) *** @@ -85,7 +85,7 @@ Please use useStore(form.store) utility to subscribe to state #### Defined in -[packages/form-core/src/FormApi.ts:371](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L371) +[packages/form-core/src/FormApi.ts:380](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L380) *** @@ -99,7 +99,7 @@ A [TanStack Store instance](https://tanstack.com/store/latest/docs/reference/Sto #### Defined in -[packages/form-core/src/FormApi.ts:363](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L363) +[packages/form-core/src/FormApi.ts:372](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L372) ## Methods @@ -125,7 +125,7 @@ deleteField(field): void #### Defined in -[packages/form-core/src/FormApi.ts:1116](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1116) +[packages/form-core/src/FormApi.ts:1135](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1135) *** @@ -153,7 +153,7 @@ Gets the field info of the specified field. #### Defined in -[packages/form-core/src/FormApi.ts:1027](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1027) +[packages/form-core/src/FormApi.ts:1046](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1046) *** @@ -181,7 +181,7 @@ Gets the metadata of the specified field. #### Defined in -[packages/form-core/src/FormApi.ts:1018](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1018) +[packages/form-core/src/FormApi.ts:1037](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1037) *** @@ -209,7 +209,7 @@ Gets the value of the specified field. #### Defined in -[packages/form-core/src/FormApi.ts:1011](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1011) +[packages/form-core/src/FormApi.ts:1030](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1030) *** @@ -227,7 +227,7 @@ Handles the form submission, performs validation, and calls the appropriate onSu #### Defined in -[packages/form-core/src/FormApi.ts:952](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L952) +[packages/form-core/src/FormApi.ts:971](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L971) *** @@ -271,7 +271,7 @@ Inserts a value into an array field at the specified index, shifting the subsequ #### Defined in -[packages/form-core/src/FormApi.ts:1148](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1148) +[packages/form-core/src/FormApi.ts:1167](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1167) *** @@ -287,7 +287,7 @@ mount(): void #### Defined in -[packages/form-core/src/FormApi.ts:513](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L513) +[packages/form-core/src/FormApi.ts:532](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L532) *** @@ -331,7 +331,7 @@ Moves the value at the first specified index to the second specified index withi #### Defined in -[packages/form-core/src/FormApi.ts:1266](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1266) +[packages/form-core/src/FormApi.ts:1285](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1285) *** @@ -370,7 +370,7 @@ Pushes a value into an array field. #### Defined in -[packages/form-core/src/FormApi.ts:1130](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1130) +[packages/form-core/src/FormApi.ts:1149](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1149) *** @@ -409,7 +409,7 @@ Removes a value from an array field at the specified index. #### Defined in -[packages/form-core/src/FormApi.ts:1201](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1201) +[packages/form-core/src/FormApi.ts:1220](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1220) *** @@ -453,7 +453,7 @@ Replaces a value into an array field at the specified index. #### Defined in -[packages/form-core/src/FormApi.ts:1175](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1175) +[packages/form-core/src/FormApi.ts:1194](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1194) *** @@ -488,7 +488,7 @@ Optional options to control the reset behavior. #### Defined in -[packages/form-core/src/FormApi.ts:580](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L580) +[packages/form-core/src/FormApi.ts:599](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L599) *** @@ -514,7 +514,7 @@ resetFieldMeta(fieldMeta): Record #### Defined in -[packages/form-core/src/FormApi.ts:1061](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1061) +[packages/form-core/src/FormApi.ts:1080](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1080) *** @@ -538,7 +538,7 @@ Updates the form's errorMap #### Defined in -[packages/form-core/src/FormApi.ts:1290](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1290) +[packages/form-core/src/FormApi.ts:1309](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1309) *** @@ -570,7 +570,7 @@ Updates the metadata of the specified field. #### Defined in -[packages/form-core/src/FormApi.ts:1046](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1046) +[packages/form-core/src/FormApi.ts:1065](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1065) *** @@ -609,7 +609,7 @@ Sets the value of the specified field and optionally updates the touched state. #### Defined in -[packages/form-core/src/FormApi.ts:1085](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1085) +[packages/form-core/src/FormApi.ts:1104](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1104) *** @@ -653,7 +653,7 @@ Swaps the values at the specified indices within an array field. #### Defined in -[packages/form-core/src/FormApi.ts:1240](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1240) +[packages/form-core/src/FormApi.ts:1259](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1259) *** @@ -677,7 +677,7 @@ Updates the form options and form state. #### Defined in -[packages/form-core/src/FormApi.ts:536](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L536) +[packages/form-core/src/FormApi.ts:555](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L555) *** @@ -701,7 +701,7 @@ Validates form and all fields in using the correct handlers for a given validati #### Defined in -[packages/form-core/src/FormApi.ts:606](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L606) +[packages/form-core/src/FormApi.ts:625](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L625) *** @@ -740,7 +740,7 @@ Validates the children of a specified array in the form starting from a given in #### Defined in -[packages/form-core/src/FormApi.ts:640](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L640) +[packages/form-core/src/FormApi.ts:659](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L659) *** @@ -772,4 +772,4 @@ Validates a specified field in the form using the correct handlers for a given v #### Defined in -[packages/form-core/src/FormApi.ts:679](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L679) +[packages/form-core/src/FormApi.ts:698](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L698) diff --git a/docs/reference/functions/isstandardschemavalidator.md b/docs/reference/functions/isstandardschemavalidator.md new file mode 100644 index 000000000..46f762104 --- /dev/null +++ b/docs/reference/functions/isstandardschemavalidator.md @@ -0,0 +1,24 @@ +--- +id: isStandardSchemaValidator +title: isStandardSchemaValidator +--- + +# Function: isStandardSchemaValidator() + +```ts +function isStandardSchemaValidator(validator): validator is StandardSchema +``` + +## Parameters + +### validator + +`unknown` + +## Returns + +`validator is StandardSchema` + +## Defined in + +[packages/form-core/src/standardSchemaValidator.ts:87](https://github.com/TanStack/form/blob/main/packages/form-core/src/standardSchemaValidator.ts#L87) diff --git a/docs/reference/functions/standardschemavalidator.md b/docs/reference/functions/standardschemavalidator.md new file mode 100644 index 000000000..6e6c0f910 --- /dev/null +++ b/docs/reference/functions/standardschemavalidator.md @@ -0,0 +1,24 @@ +--- +id: standardSchemaValidator +title: standardSchemaValidator +--- + +# Function: standardSchemaValidator() + +```ts +function standardSchemaValidator(params): Validator> +``` + +## Parameters + +### params + +`Params` = `{}` + +## Returns + +`Validator`\<`unknown`, `StandardSchema`\<`any`, `any`\>\> + +## Defined in + +[packages/form-core/src/standardSchemaValidator.ts:49](https://github.com/TanStack/form/blob/main/packages/form-core/src/standardSchemaValidator.ts#L49) diff --git a/docs/reference/index.md b/docs/reference/index.md index 48e927f20..975ec41e5 100644 --- a/docs/reference/index.md +++ b/docs/reference/index.md @@ -39,4 +39,6 @@ title: "@tanstack/form-core" ## Functions - [formOptions](functions/formoptions.md) +- [isStandardSchemaValidator](functions/isstandardschemavalidator.md) - [mergeForm](functions/mergeform.md) +- [standardSchemaValidator](functions/standardschemavalidator.md) diff --git a/docs/reference/interfaces/fieldapioptions.md b/docs/reference/interfaces/fieldapioptions.md index 32032c9e7..04bfa6eeb 100644 --- a/docs/reference/interfaces/fieldapioptions.md +++ b/docs/reference/interfaces/fieldapioptions.md @@ -39,7 +39,7 @@ If `true`, always run async validation, even if there are errors emitted during #### Defined in -[packages/form-core/src/FieldApi.ts:346](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L346) +[packages/form-core/src/FieldApi.ts:350](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L350) *** @@ -57,7 +57,7 @@ The default time to debounce async validation if there is not a more specific de #### Defined in -[packages/form-core/src/FieldApi.ts:342](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L342) +[packages/form-core/src/FieldApi.ts:346](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L346) *** @@ -75,7 +75,7 @@ An optional object with default metadata for the field. #### Defined in -[packages/form-core/src/FieldApi.ts:364](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L364) +[packages/form-core/src/FieldApi.ts:368](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L368) *** @@ -93,7 +93,7 @@ An optional default value for the field. #### Defined in -[packages/form-core/src/FieldApi.ts:338](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L338) +[packages/form-core/src/FieldApi.ts:342](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L342) *** @@ -105,7 +105,7 @@ form: FormApi; #### Defined in -[packages/form-core/src/FieldApi.ts:397](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L397) +[packages/form-core/src/FieldApi.ts:401](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L401) *** @@ -123,7 +123,7 @@ A list of listeners which attach to the corresponding events #### Defined in -[packages/form-core/src/FieldApi.ts:368](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L368) +[packages/form-core/src/FieldApi.ts:372](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L372) *** @@ -141,7 +141,7 @@ The field name. The type will be `DeepKeys` to ensure your name is #### Defined in -[packages/form-core/src/FieldApi.ts:334](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L334) +[packages/form-core/src/FieldApi.ts:338](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L338) *** @@ -159,7 +159,7 @@ A validator provided by an extension, like `yupValidator` from `@tanstack/yup-fo #### Defined in -[packages/form-core/src/FieldApi.ts:350](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L350) +[packages/form-core/src/FieldApi.ts:354](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L354) *** @@ -177,4 +177,4 @@ A list of validators to pass to the field #### Defined in -[packages/form-core/src/FieldApi.ts:354](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L354) +[packages/form-core/src/FieldApi.ts:358](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L358) diff --git a/docs/reference/interfaces/fieldlisteners.md b/docs/reference/interfaces/fieldlisteners.md index 859cabd59..713096b1d 100644 --- a/docs/reference/interfaces/fieldlisteners.md +++ b/docs/reference/interfaces/fieldlisteners.md @@ -27,7 +27,7 @@ optional onBlur: FieldListenerFn` to ensure your name is #### Defined in -[packages/form-core/src/FieldApi.ts:334](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L334) +[packages/form-core/src/FieldApi.ts:338](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L338) *** @@ -119,7 +119,7 @@ A validator provided by an extension, like `yupValidator` from `@tanstack/yup-fo #### Defined in -[packages/form-core/src/FieldApi.ts:350](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L350) +[packages/form-core/src/FieldApi.ts:354](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L354) *** @@ -133,4 +133,4 @@ A list of validators to pass to the field #### Defined in -[packages/form-core/src/FieldApi.ts:354](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L354) +[packages/form-core/src/FieldApi.ts:358](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L358) diff --git a/docs/reference/interfaces/fieldvalidators.md b/docs/reference/interfaces/fieldvalidators.md index 5b1d8ff3f..7448e6d01 100644 --- a/docs/reference/interfaces/fieldvalidators.md +++ b/docs/reference/interfaces/fieldvalidators.md @@ -36,7 +36,7 @@ z.string().min(1) // if `zodAdapter` is passed #### Defined in -[packages/form-core/src/FieldApi.ts:217](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L217) +[packages/form-core/src/FieldApi.ts:221](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L221) *** @@ -57,7 +57,7 @@ z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' }) // #### Defined in -[packages/form-core/src/FieldApi.ts:230](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L230) +[packages/form-core/src/FieldApi.ts:234](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L234) *** @@ -73,7 +73,7 @@ If set to a number larger than 0, will debounce the async validation event by th #### Defined in -[packages/form-core/src/FieldApi.ts:243](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L243) +[packages/form-core/src/FieldApi.ts:247](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L247) *** @@ -87,7 +87,7 @@ An optional list of field names that should trigger this field's `onBlur` and `o #### Defined in -[packages/form-core/src/FieldApi.ts:247](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L247) +[packages/form-core/src/FieldApi.ts:251](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L251) *** @@ -108,7 +108,7 @@ z.string().min(1) // if `zodAdapter` is passed #### Defined in -[packages/form-core/src/FieldApi.ts:181](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L181) +[packages/form-core/src/FieldApi.ts:185](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L185) *** @@ -129,7 +129,7 @@ z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' }) // #### Defined in -[packages/form-core/src/FieldApi.ts:194](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L194) +[packages/form-core/src/FieldApi.ts:198](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L198) *** @@ -145,7 +145,7 @@ If set to a number larger than 0, will debounce the async validation event by th #### Defined in -[packages/form-core/src/FieldApi.ts:206](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L206) +[packages/form-core/src/FieldApi.ts:210](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L210) *** @@ -159,7 +159,7 @@ An optional list of field names that should trigger this field's `onChange` and #### Defined in -[packages/form-core/src/FieldApi.ts:210](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L210) +[packages/form-core/src/FieldApi.ts:214](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L214) *** @@ -173,7 +173,7 @@ An optional function that takes a param of `formApi` which is a generic type of #### Defined in -[packages/form-core/src/FieldApi.ts:168](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L168) +[packages/form-core/src/FieldApi.ts:172](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L172) *** @@ -194,7 +194,7 @@ z.string().min(1) // if `zodAdapter` is passed #### Defined in -[packages/form-core/src/FieldApi.ts:254](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L254) +[packages/form-core/src/FieldApi.ts:258](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L258) *** @@ -215,4 +215,4 @@ z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' }) // #### Defined in -[packages/form-core/src/FieldApi.ts:267](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L267) +[packages/form-core/src/FieldApi.ts:271](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L271) diff --git a/docs/reference/interfaces/formoptions.md b/docs/reference/interfaces/formoptions.md index 3e5252feb..af7cc1a83 100644 --- a/docs/reference/interfaces/formoptions.md +++ b/docs/reference/interfaces/formoptions.md @@ -25,7 +25,7 @@ If true, always run async validation, even when sync validation has produced an #### Defined in -[packages/form-core/src/FormApi.ts:154](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L154) +[packages/form-core/src/FormApi.ts:163](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L163) *** @@ -39,7 +39,7 @@ Optional time in milliseconds if you want to introduce a delay before firing off #### Defined in -[packages/form-core/src/FormApi.ts:158](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L158) +[packages/form-core/src/FormApi.ts:167](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L167) *** @@ -53,7 +53,7 @@ The default state for the form. #### Defined in -[packages/form-core/src/FormApi.ts:150](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L150) +[packages/form-core/src/FormApi.ts:159](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L159) *** @@ -67,7 +67,7 @@ Set initial values for your form. #### Defined in -[packages/form-core/src/FormApi.ts:146](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L146) +[packages/form-core/src/FormApi.ts:155](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L155) *** @@ -97,7 +97,7 @@ A function to be called when the form is submitted, what should happen once the #### Defined in -[packages/form-core/src/FormApi.ts:170](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L170) +[packages/form-core/src/FormApi.ts:179](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L179) *** @@ -127,7 +127,7 @@ Specify an action for scenarios where the user tries to submit an invalid form. #### Defined in -[packages/form-core/src/FormApi.ts:177](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L177) +[packages/form-core/src/FormApi.ts:186](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L186) *** @@ -139,7 +139,7 @@ optional transform: FormTransform; #### Defined in -[packages/form-core/src/FormApi.ts:181](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L181) +[packages/form-core/src/FormApi.ts:190](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L190) *** @@ -153,7 +153,7 @@ A validator adapter to support usage of extra validation types (IE: Zod, Yup, or #### Defined in -[packages/form-core/src/FormApi.ts:162](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L162) +[packages/form-core/src/FormApi.ts:171](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L171) *** @@ -167,4 +167,4 @@ A list of validators to pass to the form #### Defined in -[packages/form-core/src/FormApi.ts:166](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L166) +[packages/form-core/src/FormApi.ts:175](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L175) diff --git a/docs/reference/interfaces/formvalidators.md b/docs/reference/interfaces/formvalidators.md index 9f750dc52..bd0ad8870 100644 --- a/docs/reference/interfaces/formvalidators.md +++ b/docs/reference/interfaces/formvalidators.md @@ -23,7 +23,7 @@ Optional function that validates the form data when a field loses focus, returns #### Defined in -[packages/form-core/src/FormApi.ts:110](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L110) +[packages/form-core/src/FormApi.ts:119](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L119) *** @@ -37,7 +37,7 @@ Optional onBlur asynchronous validation method for when a field loses focus retu #### Defined in -[packages/form-core/src/FormApi.ts:114](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L114) +[packages/form-core/src/FormApi.ts:123](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L123) *** @@ -51,7 +51,7 @@ The default time in milliseconds that if set to a number larger than 0, will deb #### Defined in -[packages/form-core/src/FormApi.ts:118](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L118) +[packages/form-core/src/FormApi.ts:127](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L127) *** @@ -65,7 +65,7 @@ Optional function that checks the validity of your data whenever a value changes #### Defined in -[packages/form-core/src/FormApi.ts:98](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L98) +[packages/form-core/src/FormApi.ts:107](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L107) *** @@ -79,7 +79,7 @@ Optional onChange asynchronous counterpart to onChange. Useful for more complex #### Defined in -[packages/form-core/src/FormApi.ts:102](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L102) +[packages/form-core/src/FormApi.ts:111](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L111) *** @@ -93,7 +93,7 @@ The default time in milliseconds that if set to a number larger than 0, will deb #### Defined in -[packages/form-core/src/FormApi.ts:106](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L106) +[packages/form-core/src/FormApi.ts:115](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L115) *** @@ -107,7 +107,7 @@ Optional function that fires as soon as the component mounts. #### Defined in -[packages/form-core/src/FormApi.ts:94](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L94) +[packages/form-core/src/FormApi.ts:103](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L103) *** @@ -119,7 +119,7 @@ optional onSubmit: FormValidateOrFn; #### Defined in -[packages/form-core/src/FormApi.ts:119](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L119) +[packages/form-core/src/FormApi.ts:128](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L128) *** @@ -131,4 +131,4 @@ optional onSubmitAsync: FormAsyncValidateOrFn; #### Defined in -[packages/form-core/src/FormApi.ts:120](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L120) +[packages/form-core/src/FormApi.ts:129](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L129) diff --git a/docs/reference/type-aliases/fieldinfo.md b/docs/reference/type-aliases/fieldinfo.md index 1f11721c6..55b60f198 100644 --- a/docs/reference/type-aliases/fieldinfo.md +++ b/docs/reference/type-aliases/fieldinfo.md @@ -37,4 +37,4 @@ A record of field validation internal handling. ## Defined in -[packages/form-core/src/FormApi.ts:197](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L197) +[packages/form-core/src/FormApi.ts:206](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L206) diff --git a/docs/reference/type-aliases/fieldmeta.md b/docs/reference/type-aliases/fieldmeta.md index 8d1879752..45abbf8b9 100644 --- a/docs/reference/type-aliases/fieldmeta.md +++ b/docs/reference/type-aliases/fieldmeta.md @@ -71,4 +71,4 @@ A flag indicating whether the field is currently being validated. ## Defined in -[packages/form-core/src/FieldApi.ts:403](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L403) +[packages/form-core/src/FieldApi.ts:407](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L407) diff --git a/docs/reference/type-aliases/fieldserrormapfromvalidator.md b/docs/reference/type-aliases/fieldserrormapfromvalidator.md index a9416909d..874056b36 100644 --- a/docs/reference/type-aliases/fieldserrormapfromvalidator.md +++ b/docs/reference/type-aliases/fieldserrormapfromvalidator.md @@ -15,4 +15,4 @@ type FieldsErrorMapFromValidator: Partial, ## Defined in -[packages/form-core/src/FormApi.ts:26](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L26) +[packages/form-core/src/FormApi.ts:31](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L31) diff --git a/docs/reference/type-aliases/fieldstate.md b/docs/reference/type-aliases/fieldstate.md index eb141b621..f5d5143b7 100644 --- a/docs/reference/type-aliases/fieldstate.md +++ b/docs/reference/type-aliases/fieldstate.md @@ -35,4 +35,4 @@ The current value of the field. ## Defined in -[packages/form-core/src/FieldApi.ts:437](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L437) +[packages/form-core/src/FieldApi.ts:441](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L441) diff --git a/docs/reference/type-aliases/formstate.md b/docs/reference/type-aliases/formstate.md index c5c3f1ebb..d4c96f95f 100644 --- a/docs/reference/type-aliases/formstate.md +++ b/docs/reference/type-aliases/formstate.md @@ -179,4 +179,4 @@ The current values of the form fields. ## Defined in -[packages/form-core/src/FormApi.ts:219](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L219) +[packages/form-core/src/FormApi.ts:228](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L228) diff --git a/docs/reference/type-aliases/formvalidatefn.md b/docs/reference/type-aliases/formvalidatefn.md index 5930b139a..097d4837a 100644 --- a/docs/reference/type-aliases/formvalidatefn.md +++ b/docs/reference/type-aliases/formvalidatefn.md @@ -33,4 +33,4 @@ type FormValidateFn: (props) => FormValidationError: object; ## Defined in -[packages/form-core/src/FormApi.ts:61](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L61) +[packages/form-core/src/FormApi.ts:68](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L68) diff --git a/docs/reference/type-aliases/validationmeta.md b/docs/reference/type-aliases/validationmeta.md index d1195bde7..31eb09f9f 100644 --- a/docs/reference/type-aliases/validationmeta.md +++ b/docs/reference/type-aliases/validationmeta.md @@ -23,4 +23,4 @@ An abort controller stored in memory to cancel previous async validation attempt ## Defined in -[packages/form-core/src/FormApi.ts:187](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L187) +[packages/form-core/src/FormApi.ts:196](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L196) diff --git a/examples/angular/valibot/package.json b/examples/angular/valibot/package.json index 7dda5d64c..0ed16b8b4 100644 --- a/examples/angular/valibot/package.json +++ b/examples/angular/valibot/package.json @@ -22,7 +22,7 @@ "@tanstack/valibot-form-adapter": "^0.39.1", "rxjs": "^7.8.1", "tslib": "^2.8.1", - "valibot": "^1.0.0-beta.5", + "valibot": "^1.0.0-beta.9", "zone.js": "^0.15.0" }, "devDependencies": { diff --git a/examples/angular/zod/package.json b/examples/angular/zod/package.json index 0f0117779..62af37c98 100644 --- a/examples/angular/zod/package.json +++ b/examples/angular/zod/package.json @@ -22,7 +22,7 @@ "@tanstack/zod-form-adapter": "^0.39.1", "rxjs": "^7.8.1", "tslib": "^2.8.1", - "zod": "^3.23.8", + "zod": "^3.24.0", "zone.js": "^0.15.0" }, "devDependencies": { diff --git a/examples/react/standard-schema/.eslintrc.cjs b/examples/react/standard-schema/.eslintrc.cjs new file mode 100644 index 000000000..35853b617 --- /dev/null +++ b/examples/react/standard-schema/.eslintrc.cjs @@ -0,0 +1,11 @@ +// @ts-check + +/** @type {import('eslint').Linter.Config} */ +const config = { + extends: ['plugin:react/recommended', 'plugin:react-hooks/recommended'], + rules: { + 'react/no-children-prop': 'off', + }, +} + +module.exports = config diff --git a/examples/react/standard-schema/.gitignore b/examples/react/standard-schema/.gitignore new file mode 100644 index 000000000..4673b022e --- /dev/null +++ b/examples/react/standard-schema/.gitignore @@ -0,0 +1,27 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# production +/build + +pnpm-lock.yaml +yarn.lock +package-lock.json + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/examples/react/standard-schema/README.md b/examples/react/standard-schema/README.md new file mode 100644 index 000000000..1cf889265 --- /dev/null +++ b/examples/react/standard-schema/README.md @@ -0,0 +1,6 @@ +# Example + +To run this example: + +- `npm install` +- `npm run dev` diff --git a/examples/react/standard-schema/index.html b/examples/react/standard-schema/index.html new file mode 100644 index 000000000..ae98ae4a2 --- /dev/null +++ b/examples/react/standard-schema/index.html @@ -0,0 +1,16 @@ + + + + + + + + + TanStack Form React Standard Schema Example App + + + +
+ + + diff --git a/examples/react/standard-schema/package.json b/examples/react/standard-schema/package.json new file mode 100644 index 000000000..614285d4e --- /dev/null +++ b/examples/react/standard-schema/package.json @@ -0,0 +1,37 @@ +{ + "name": "@tanstack/form-example-react-standard-schema", + "private": true, + "type": "module", + "scripts": { + "dev": "vite --port=3001", + "build": "vite build", + "preview": "vite preview", + "test:types": "tsc" + }, + "dependencies": { + "@tanstack/react-form": "^0.39.2", + "arktype": "2.0.0-rc.23", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "valibot": "^1.0.0-beta.9", + "zod": "^3.24.0" + }, + "devDependencies": { + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0", + "@vitejs/plugin-react": "^4.3.3", + "vite": "^5.4.11" + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + } +} diff --git a/examples/react/standard-schema/public/emblem-light.svg b/examples/react/standard-schema/public/emblem-light.svg new file mode 100644 index 000000000..a58e69ad5 --- /dev/null +++ b/examples/react/standard-schema/public/emblem-light.svg @@ -0,0 +1,13 @@ + + + + emblem-light + Created with Sketch. + + + + + + + + \ No newline at end of file diff --git a/examples/react/standard-schema/src/index.tsx b/examples/react/standard-schema/src/index.tsx new file mode 100644 index 000000000..a9595cdc9 --- /dev/null +++ b/examples/react/standard-schema/src/index.tsx @@ -0,0 +1,138 @@ +import { useForm } from '@tanstack/react-form' +import { type } from 'arktype' +import * as React from 'react' +import { createRoot } from 'react-dom/client' +import * as v from 'valibot' +import { z } from 'zod' +import type { FieldApi } from '@tanstack/react-form' + +function FieldInfo({ field }: { field: FieldApi }) { + return ( + <> + {field.state.meta.isTouched && field.state.meta.errors.length ? ( + {field.state.meta.errors.join(',')} + ) : null} + {field.state.meta.isValidating ? 'Validating...' : null} + + ) +} + +// @ts-ignore - Might be unused for demo purposes +const ZodSchema = z.object({ + firstName: z + .string() + .min(3, '[Zod] You must have a length of at least 3') + .startsWith('A', "[Zod] First name must start with 'A'"), + lastName: z.string().min(3, '[Zod] You must have a length of at least 3'), +}) + +// @ts-ignore - Might be unused for demo purposes +const ValibotSchema = v.object({ + firstName: v.pipe( + v.string(), + v.minLength(3, '[Valibot] You must have a length of at least 3'), + v.startsWith('A', "[Valibot] First name must start with 'A'"), + ), + lastName: v.pipe( + v.string(), + v.minLength(3, '[Valibot] You must have a length of at least 3'), + ), +}) + +// @ts-ignore - Might be unused for demo purposes +const ArkTypeSchema = type({ + firstName: 'string >= 3', + lastName: 'string >= 3', +}) + +export default function App() { + const form = useForm({ + defaultValues: { + firstName: '', + lastName: '', + }, + validators: { + // DEMO: You can switch between schemas seamlessly + onChange: ZodSchema, + // onChange: ValibotSchema, + // onChange: ArkTypeSchema, + }, + onSubmit: async ({ value }) => { + // Do something with form data + console.log(value) + }, + // DEMO: There's no need to pass an adapter! You may use it only if you need to pass custom options. + // validatorAdapter: standardSchemaValidator(), + // validatorAdapter: standardSchemaValidator({ transformErrors: (issues) => issues.map((issue) => issue.message)[0] }), + }) + + return ( +
+

Standard Schema Form Example

+
{ + e.preventDefault() + e.stopPropagation() + form.handleSubmit() + }} + > +
+ {/* A type-safe field component*/} + { + // Avoid hasty abstractions. Render props are great! + return ( + <> + + field.handleChange(e.target.value)} + /> + + + ) + }} + /> +
+
+ ( + <> + + field.handleChange(e.target.value)} + /> + + + )} + /> +
+ [state.canSubmit, state.isSubmitting]} + children={([canSubmit, isSubmitting]) => ( + + )} + /> + +
+ ) +} + +const rootElement = document.getElementById('root')! + +createRoot(rootElement).render( + + + , +) diff --git a/examples/react/standard-schema/tsconfig.json b/examples/react/standard-schema/tsconfig.json new file mode 100644 index 000000000..22b43163b --- /dev/null +++ b/examples/react/standard-schema/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "target": "ESNext", + "lib": ["DOM", "DOM.Iterable", "ESNext"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "Bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"] +} diff --git a/examples/react/valibot/package.json b/examples/react/valibot/package.json index 32d6cbb93..dc40b4c7a 100644 --- a/examples/react/valibot/package.json +++ b/examples/react/valibot/package.json @@ -13,7 +13,7 @@ "@tanstack/valibot-form-adapter": "^0.39.1", "react": "^18.3.1", "react-dom": "^18.3.1", - "valibot": "^1.0.0-beta.5" + "valibot": "^1.0.0-beta.9" }, "devDependencies": { "@types/react": "^18.3.3", diff --git a/examples/react/zod/package.json b/examples/react/zod/package.json index 9e404853c..652c2a8d4 100644 --- a/examples/react/zod/package.json +++ b/examples/react/zod/package.json @@ -13,7 +13,7 @@ "@tanstack/zod-form-adapter": "^0.39.1", "react": "^18.3.1", "react-dom": "^18.3.1", - "zod": "^3.23.8" + "zod": "^3.24.0" }, "devDependencies": { "@types/react": "^18.3.3", diff --git a/examples/solid/valibot/package.json b/examples/solid/valibot/package.json index 1c73c2aae..4430e182a 100644 --- a/examples/solid/valibot/package.json +++ b/examples/solid/valibot/package.json @@ -12,7 +12,7 @@ "@tanstack/solid-form": "^0.39.1", "@tanstack/valibot-form-adapter": "^0.39.1", "solid-js": "^1.9.3", - "valibot": "^1.0.0-beta.5" + "valibot": "^1.0.0-beta.9" }, "devDependencies": { "typescript": "5.6.3", diff --git a/examples/solid/zod/package.json b/examples/solid/zod/package.json index a830a9205..05c4f088d 100644 --- a/examples/solid/zod/package.json +++ b/examples/solid/zod/package.json @@ -12,7 +12,7 @@ "@tanstack/solid-form": "^0.39.1", "@tanstack/zod-form-adapter": "^0.39.1", "solid-js": "^1.9.3", - "zod": "^3.23.8" + "zod": "^3.24.0" }, "devDependencies": { "typescript": "5.6.3", diff --git a/examples/vue/valibot/package.json b/examples/vue/valibot/package.json index 41fa2f999..6d08bcba3 100644 --- a/examples/vue/valibot/package.json +++ b/examples/vue/valibot/package.json @@ -12,7 +12,7 @@ "dependencies": { "@tanstack/valibot-form-adapter": "^0.39.1", "@tanstack/vue-form": "^0.39.1", - "valibot": "^1.0.0-beta.5", + "valibot": "^1.0.0-beta.9", "vue": "^3.3.4" }, "devDependencies": { diff --git a/examples/vue/zod/package.json b/examples/vue/zod/package.json index a47548027..905fd7cba 100644 --- a/examples/vue/zod/package.json +++ b/examples/vue/zod/package.json @@ -13,7 +13,7 @@ "@tanstack/vue-form": "^0.39.1", "@tanstack/zod-form-adapter": "^0.39.1", "vue": "^3.3.4", - "zod": "^3.23.8" + "zod": "^3.24.0" }, "devDependencies": { "@vitejs/plugin-vue": "^5.2.1", diff --git a/packages/form-core/package.json b/packages/form-core/package.json index 669dbf4b2..95f51092c 100644 --- a/packages/form-core/package.json +++ b/packages/form-core/package.json @@ -53,5 +53,11 @@ ], "dependencies": { "@tanstack/store": "^0.6.0" + }, + "devDependencies": { + "@standard-schema/spec": "1.0.0-beta.3", + "arktype": "2.0.0-rc.23", + "valibot": "^1.0.0-beta.9", + "zod": "^3.24.0" } } diff --git a/packages/form-core/src/FieldApi.ts b/packages/form-core/src/FieldApi.ts index 97b0ffc45..4bfb6a7c6 100644 --- a/packages/form-core/src/FieldApi.ts +++ b/packages/form-core/src/FieldApi.ts @@ -1,5 +1,9 @@ import { Store } from '@tanstack/store' import { getAsyncValidatorArray, getBy, getSyncValidatorArray } from './utils' +import { + isStandardSchemaValidator, + standardSchemaValidator, +} from './standardSchemaValidator' import type { FieldInfo, FieldsErrorMapFromValidator, FormApi } from './FormApi' import type { UpdateMetaOptions, @@ -583,7 +587,10 @@ export class FieldApi< this.options.validatorAdapter, ] as const for (const adapter of adapters) { - if (adapter && typeof props.validate !== 'function') { + if ( + adapter && + (typeof props.validate !== 'function' || '~standard' in props.validate) + ) { return adapter()[props.type]( props.value as never, props.validate, @@ -591,6 +598,13 @@ export class FieldApi< } } + if (isStandardSchemaValidator(props.validate)) { + return standardSchemaValidator()()[props.type]( + props.value, + props.validate, + ) as never + } + return (props.validate as FieldValidateFn)(props.value) as never } diff --git a/packages/form-core/src/FormApi.ts b/packages/form-core/src/FormApi.ts index 49470fbd8..102458440 100644 --- a/packages/form-core/src/FormApi.ts +++ b/packages/form-core/src/FormApi.ts @@ -8,8 +8,10 @@ import { isNonEmptyArray, setBy, } from './utils' -import type { Updater } from './utils' -import type { DeepKeys, DeepValue } from './util-types' +import { + isStandardSchemaValidator, + standardSchemaValidator, +} from './standardSchemaValidator' import type { FieldApi, FieldMeta } from './FieldApi' import type { FormValidationError, @@ -22,6 +24,9 @@ import type { ValidationSource, Validator, } from './types' +import type { DeepKeys, DeepValue } from './util-types' +import type { Updater } from './utils' +import type { v1 } from '@standard-schema/spec' export type FieldsErrorMapFromValidator = Partial< Record, ValidationErrorMap> @@ -43,8 +48,10 @@ export type FormValidateOrFn< TFormValidator extends Validator | undefined = undefined, > = TFormValidator extends Validator - ? TFN - : FormValidateFn + ? TFN | FormValidateFn + : + | FormValidateFn + | v1.StandardSchema /** * @private @@ -82,7 +89,9 @@ export type FormAsyncValidateOrFn< > = TFormValidator extends Validator ? FFN | FormValidateAsyncFn - : FormValidateAsyncFn + : + | FormValidateAsyncFn + | v1.StandardSchema export interface FormValidators< TFormData, @@ -503,10 +512,20 @@ export class FormApi< type: TType }): ReturnType>[TType]> { const adapter = this.options.validatorAdapter - if (adapter && typeof props.validate !== 'function') { + if ( + adapter && + (typeof props.validate !== 'function' || '~standard' in props.validate) + ) { return adapter()[props.type](props.value, props.validate) as never } + if (isStandardSchemaValidator(props.validate)) { + return standardSchemaValidator()()[props.type]( + props.value, + props.validate, + ) as never + } + return (props.validate as FormValidateFn)(props.value) as never } diff --git a/packages/form-core/src/index.ts b/packages/form-core/src/index.ts index e6aec68e3..e74499d9d 100644 --- a/packages/form-core/src/index.ts +++ b/packages/form-core/src/index.ts @@ -5,3 +5,4 @@ export * from './util-types' export * from './types' export * from './mergeForm' export * from './formOptions' +export * from './standardSchemaValidator' diff --git a/packages/form-core/src/standardSchemaValidator.ts b/packages/form-core/src/standardSchemaValidator.ts new file mode 100644 index 000000000..7d706229c --- /dev/null +++ b/packages/form-core/src/standardSchemaValidator.ts @@ -0,0 +1,90 @@ +import type { + ValidationError, + Validator, + ValidatorAdapterParams, +} from './types' +import type { v1 } from '@standard-schema/spec' + +type Params = ValidatorAdapterParams +type TransformFn = NonNullable + +function prefixSchemaToErrors( + issues: readonly v1.StandardIssue[], + transformErrors: TransformFn, +) { + const schema = new Map() + + for (const issue of issues) { + const path = [...(issue.path ?? [])] + .map((segment) => { + const normalizedSegment = + typeof segment === 'object' ? segment.key : segment + return typeof normalizedSegment === 'number' + ? `[${normalizedSegment}]` + : normalizedSegment + }) + .join('.') + .replace(/\.\[/g, '[') + + schema.set(path, (schema.get(path) ?? []).concat(issue)) + } + + const transformedSchema = {} as Record + + schema.forEach((value, key) => { + transformedSchema[key] = transformErrors(value) + }) + + return transformedSchema +} + +function defaultFormTransformer(transformErrors: TransformFn) { + return (issues: readonly v1.StandardIssue[]) => ({ + form: transformErrors(issues as v1.StandardIssue[]), + fields: prefixSchemaToErrors(issues, transformErrors), + }) +} + +export const standardSchemaValidator = + (params: Params = {}): Validator> => + () => { + const transformFieldErrors = + params.transformErrors ?? + ((issues: v1.StandardIssue[]) => + issues.map((issue) => issue.message).join(', ')) + + const getTransformStrategy = (validationSource: 'form' | 'field') => + validationSource === 'form' + ? defaultFormTransformer(transformFieldErrors) + : transformFieldErrors + + return { + validate({ value, validationSource }, fn) { + const result = fn['~standard'].validate(value) + + if (result instanceof Promise) { + throw new Error('async function passed to sync validator') + } + + if (!result.issues) return + + const transformer = getTransformStrategy(validationSource) + + return transformer(result.issues as v1.StandardIssue[]) + }, + async validateAsync({ value, validationSource }, fn) { + const result = await fn['~standard'].validate(value) + + if (!result.issues) return + + const transformer = getTransformStrategy(validationSource) + + return transformer(result.issues as v1.StandardIssue[]) + }, + } + } + +export const isStandardSchemaValidator = ( + validator: unknown, +): validator is v1.StandardSchema => + !!validator && '~standard' in (validator as object) diff --git a/packages/form-core/tests/FormApi.spec.ts b/packages/form-core/tests/FormApi.spec.ts index ee2b4b21d..d1b474d7c 100644 --- a/packages/form-core/tests/FormApi.spec.ts +++ b/packages/form-core/tests/FormApi.spec.ts @@ -2198,7 +2198,7 @@ describe('form api', () => { validators: { onSubmit: ({ value }) => { const fieldWithErrorIndex = value.employees.findIndex( - (v) => v.firstName === 'person-2', + (val) => val.firstName === 'person-2', ) if (fieldWithErrorIndex !== -1) { diff --git a/packages/form-core/tests/standardSchemaValidator.spec.ts b/packages/form-core/tests/standardSchemaValidator.spec.ts new file mode 100644 index 000000000..3f51fc298 --- /dev/null +++ b/packages/form-core/tests/standardSchemaValidator.spec.ts @@ -0,0 +1,376 @@ +import { describe, expect, it, vi } from 'vitest' +import * as v from 'valibot' +import { z } from 'zod' +import { type } from 'arktype' +import { FieldApi, FormApi, standardSchemaValidator } from '../src/index' +import { sleep } from './utils' + +describe('standard schema validator', () => { + describe('form', () => { + it('should detect a sync standard schema validator even without a validator adapter', async () => { + const form = new FormApi({ + defaultValues: { + firstName: '', + lastName: '', + }, + validators: { + onChange: v.object({ + firstName: v.pipe( + v.string(), + v.minLength(3, 'First name is too short'), + v.endsWith('a', 'You must end with an "a"'), + ), + lastName: v.string(), + }), + }, + }) + + const field = new FieldApi({ + form, + name: 'firstName', + }) + + field.mount() + + field.setValue('') + expect(form.state.errors).toStrictEqual([ + 'First name is too short, You must end with an "a"', + ]) + }) + + it('should support standard schema sync validation with valibot and reads adapter params', async () => { + const form = new FormApi({ + defaultValues: { + firstName: '', + lastName: '', + }, + validators: { + onChange: v.object({ + firstName: v.pipe( + v.string(), + v.minLength(3, 'First name is too short'), + v.endsWith('a', 'You must end with an "a"'), + ), + lastName: v.string(), + }), + }, + validatorAdapter: standardSchemaValidator({ + transformErrors: (issues) => issues.map((issue) => issue.message)[0], + }), + }) + + const field = new FieldApi({ + form, + name: 'firstName', + }) + + field.mount() + + field.setValue('') + expect(form.state.errors).toStrictEqual(['First name is too short']) + }) + + it('should detect an async standard schema validator even without a validator adapter', async () => { + vi.useFakeTimers() + + const form = new FormApi({ + defaultValues: { + firstName: '', + lastName: '', + }, + validators: { + onChangeAsync: v.objectAsync({ + firstName: v.pipeAsync( + v.string(), + v.checkAsync(async (val) => { + await sleep(1) + return val.length > 3 + }, 'First name is too short'), + ), + lastName: v.string(), + }), + }, + }) + + const field = new FieldApi({ + form, + name: 'firstName', + }) + + field.mount() + + field.setValue('') + await vi.runAllTimersAsync() + expect(form.state.errors).toStrictEqual(['First name is too short']) + }) + + it('should support standard schema sync validation with zod', async () => { + const form = new FormApi({ + defaultValues: { + email: '', + }, + validators: { + onChange: z.object({ + email: z.string().email('email must be an email address'), + }), + }, + validatorAdapter: standardSchemaValidator(), + }) + + const field = new FieldApi({ + form, + name: 'email', + }) + + field.mount() + + field.setValue('test') + expect(form.state.errors).toStrictEqual([ + 'email must be an email address', + ]) + }) + + it('should support standard schema async validation with zod', async () => { + vi.useFakeTimers() + + const form = new FormApi({ + defaultValues: { + email: '', + }, + validators: { + onChangeAsync: z.object({ + email: z.string().email('email must be an email address'), + }), + }, + validatorAdapter: standardSchemaValidator(), + }) + + const field = new FieldApi({ + form, + name: 'email', + }) + + field.mount() + + field.setValue('test') + await vi.runAllTimersAsync() + expect(form.state.errors).toStrictEqual([ + 'email must be an email address', + ]) + }) + + it('should support standard schema async validation with valibot', async () => { + vi.useFakeTimers() + + const form = new FormApi({ + defaultValues: { + firstName: '', + lastName: '', + }, + validators: { + onChangeAsync: v.objectAsync({ + firstName: v.pipeAsync( + v.string(), + v.checkAsync(async (val) => { + await sleep(1) + return val.length > 3 + }, 'First name is too short'), + ), + lastName: v.string(), + }), + }, + validatorAdapter: standardSchemaValidator(), + }) + + const field = new FieldApi({ + form, + name: 'firstName', + }) + + field.mount() + + field.setValue('') + await vi.runAllTimersAsync() + expect(form.state.errors).toStrictEqual(['First name is too short']) + }) + + it('should support standard schema sync validation with arktype', async () => { + const form = new FormApi({ + defaultValues: { + email: '', + }, + validators: { + onChange: type({ email: 'string.email' as 'string' }), + }, + validatorAdapter: standardSchemaValidator(), + }) + + const field = new FieldApi({ + form, + name: 'email', + }) + + field.mount() + + field.setValue('test') + expect(form.state.errors).toStrictEqual([ + 'email must be an email address (was "test")', + ]) + }) + + it("should set field errors with the form validator's onChange", () => { + const form = new FormApi({ + defaultValues: { + name: '', + surname: '', + }, + validators: { + onChange: v.object({ + name: v.pipe( + v.string(), + v.minLength(3, 'You must have a length of at least 3'), + v.endsWith('a', 'You must end with an "a"'), + ), + surname: v.pipe( + v.string(), + v.minLength(3, 'You must have a length of at least 3'), + ), + }), + }, + }) + + const nameField = new FieldApi({ + form, + name: 'name', + }) + + const surnameField = new FieldApi({ + form, + name: 'surname', + }) + + nameField.mount() + surnameField.mount() + + expect(nameField.getMeta().errors).toEqual([]) + nameField.setValue('q') + expect(nameField.getMeta().errors).toEqual([ + 'You must have a length of at least 3, You must end with an "a"', + ]) + expect(surnameField.getMeta().errors).toEqual([ + 'You must have a length of at least 3', + ]) + nameField.setValue('qwer') + expect(nameField.getMeta().errors).toEqual(['You must end with an "a"']) + nameField.setValue('qwera') + expect(nameField.getMeta().errors).toEqual([]) + }) + }) + + describe('field', () => { + it('should detect a standard schema validator even without a validator adapter', async () => { + const form = new FormApi({ + defaultValues: { + email: '', + }, + }) + + const field = new FieldApi({ + form, + name: 'email', + validators: { + onChange: type('string.email' as 'string'), + }, + }) + + field.mount() + + field.setValue('test') + expect(field.getMeta().errors).toStrictEqual([ + 'must be an email address (was "test")', + ]) + }) + + it('should support standard schema sync validation with valibot', async () => { + const form = new FormApi({ + defaultValues: { + firstName: '', + lastName: '', + }, + }) + + const field = new FieldApi({ + form, + name: 'firstName', + validators: { + onChange: v.pipe( + v.string(), + v.minLength(3, 'First name is too short'), + ), + }, + validatorAdapter: standardSchemaValidator(), + }) + + field.mount() + + field.setValue('') + expect(field.getMeta().errors).toStrictEqual(['First name is too short']) + }) + + it('should support standard schema async validation with valibot', async () => { + vi.useFakeTimers() + + const form = new FormApi({ + defaultValues: { + firstName: '', + lastName: '', + }, + }) + + const field = new FieldApi({ + form, + name: 'firstName', + validators: { + onChangeAsync: v.pipeAsync( + v.string(), + v.checkAsync(async (val) => { + await sleep(1) + return val.length > 3 + }, 'First name is too short'), + ), + }, + validatorAdapter: standardSchemaValidator(), + }) + + field.mount() + + field.setValue('') + await vi.runAllTimersAsync() + expect(field.getMeta().errors).toStrictEqual(['First name is too short']) + }) + + it('should support standard schema sync validation with arktype', async () => { + const form = new FormApi({ + defaultValues: { + email: '', + }, + }) + + const field = new FieldApi({ + form, + name: 'email', + validators: { + onChange: type('string.email' as 'string'), + }, + validatorAdapter: standardSchemaValidator(), + }) + + field.mount() + + field.setValue('test') + expect(field.getMeta().errors).toStrictEqual([ + 'must be an email address (was "test")', + ]) + }) + }) +}) diff --git a/packages/valibot-form-adapter/package.json b/packages/valibot-form-adapter/package.json index d3cb0f798..e66382db6 100644 --- a/packages/valibot-form-adapter/package.json +++ b/packages/valibot-form-adapter/package.json @@ -56,7 +56,7 @@ }, "devDependencies": { "@tanstack/react-form": "workspace:*", - "valibot": "^1.0.0-beta.5" + "valibot": "^1.0.0-beta.9" }, "peerDependencies": { "valibot": "^1.0.0 || ^1.0.0-beta.4 || ^1.0.0-rc" diff --git a/packages/zod-form-adapter/package.json b/packages/zod-form-adapter/package.json index e385a2957..b32f1c80d 100644 --- a/packages/zod-form-adapter/package.json +++ b/packages/zod-form-adapter/package.json @@ -56,7 +56,7 @@ }, "devDependencies": { "@tanstack/react-form": "workspace:*", - "zod": "^3.23.8" + "zod": "^3.24.0" }, "peerDependencies": { "zod": "^3.x" diff --git a/packages/zod-form-adapter/tests/FormApi.test-d.ts b/packages/zod-form-adapter/tests/FormApi.test-d.ts index 9e6acd3af..40fb45d39 100644 --- a/packages/zod-form-adapter/tests/FormApi.test-d.ts +++ b/packages/zod-form-adapter/tests/FormApi.test-d.ts @@ -46,12 +46,19 @@ it('should allow a Zod validator to handle the correct Zod type on async methods }) }) -it('should allow a functional onChange to be passed when using a validator', () => { +it('should allow functional validators to be passed when using a validator adapter', () => { const form = new FormApi({ defaultValues: { name: 'test', }, validatorAdapter: zodValidator(), + validators: { + onChange: z.object({ + name: z.string(), + }), + onChangeAsync: () => null, + onBlur: () => null, + }, } as const) const field = new FieldApi({ @@ -59,7 +66,7 @@ it('should allow a functional onChange to be passed when using a validator', () name: 'name', validators: { onChange: ({ value }) => { - assertType<'test'>(value) + assertType(value) return undefined }, }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e90749678..f64017abc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,7 +16,7 @@ importers: version: 0.8.10(solid-js@1.9.3) '@tanstack/config': specifier: ^0.14.2 - version: 0.14.2(@types/node@22.10.1)(esbuild@0.24.0)(eslint@9.16.0(jiti@2.4.0))(rollup@4.26.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) + version: 0.14.2(@types/node@22.10.1)(esbuild@0.24.0)(eslint@9.16.0(jiti@2.4.0))(rollup@4.26.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)) '@testing-library/jest-dom': specifier: ^6.6.3 version: 6.6.3 @@ -40,7 +40,7 @@ importers: version: 18.3.1 '@vitest/coverage-istanbul': specifier: ^2.1.4 - version: 2.1.4(vitest@2.1.4(@types/node@22.10.1)(jsdom@25.0.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) + version: 2.1.4(vitest@2.1.4(@types/node@22.10.1)(jsdom@25.0.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)) eslint: specifier: ^9.16.0 version: 9.16.0(jiti@2.4.0) @@ -55,7 +55,7 @@ importers: version: 5.39.2(@types/node@22.10.1)(typescript@5.6.3) nx: specifier: ^20.2.0 - version: 20.2.0(@swc/core@1.7.42(@swc/helpers@0.5.13)) + version: 20.2.0(@swc/core@1.7.42) prettier: specifier: ^3.4.2 version: 3.4.2 @@ -97,10 +97,10 @@ importers: version: typescript@5.5.4 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) vitest: specifier: ^2.1.4 - version: 2.1.4(@types/node@22.10.1)(jsdom@25.0.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + version: 2.1.4(@types/node@22.10.1)(jsdom@25.0.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0) vue: specifier: ^3.3.4 version: 3.5.12(typescript@5.6.3) @@ -146,7 +146,7 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: ^19.0.0 - version: 19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@swc/core@1.7.42(@swc/helpers@0.5.13))(@types/node@22.10.1)(chokidar@4.0.1)(ng-packagr@19.0.1(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(sugarss@4.0.1(postcss@8.4.49))(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) + version: 19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@swc/core@1.7.42)(@types/node@22.10.1)(chokidar@4.0.1)(ng-packagr@19.0.1(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(sugarss@4.0.1(postcss@8.4.49))(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) '@angular/cli': specifier: ^19.0.0 version: 19.0.2(@types/node@22.10.1)(chokidar@4.0.1) @@ -198,7 +198,7 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: ^19.0.0 - version: 19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@swc/core@1.7.42(@swc/helpers@0.5.13))(@types/node@22.10.1)(chokidar@4.0.1)(ng-packagr@19.0.1(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(sugarss@4.0.1(postcss@8.4.49))(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) + version: 19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@swc/core@1.7.42)(@types/node@22.10.1)(chokidar@4.0.1)(ng-packagr@19.0.1(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(sugarss@4.0.1)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)) '@angular/cli': specifier: ^19.0.0 version: 19.0.2(@types/node@22.10.1)(chokidar@4.0.1) @@ -248,15 +248,15 @@ importers: specifier: ^2.8.1 version: 2.8.1 valibot: - specifier: ^1.0.0-beta.5 - version: 1.0.0-beta.5(typescript@5.6.3) + specifier: ^1.0.0-beta.9 + version: 1.0.0-beta.9(typescript@5.6.3) zone.js: specifier: ^0.15.0 version: 0.15.0 devDependencies: '@angular-devkit/build-angular': specifier: ^19.0.0 - version: 19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@swc/core@1.7.42(@swc/helpers@0.5.13))(@types/node@22.10.1)(chokidar@4.0.1)(ng-packagr@19.0.1(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(sugarss@4.0.1(postcss@8.4.49))(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) + version: 19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@swc/core@1.7.42)(@types/node@22.10.1)(chokidar@4.0.1)(ng-packagr@19.0.1(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(sugarss@4.0.1)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)) '@angular/cli': specifier: ^19.0.0 version: 19.0.2(@types/node@22.10.1)(chokidar@4.0.1) @@ -314,7 +314,7 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: ^19.0.0 - version: 19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@swc/core@1.7.42(@swc/helpers@0.5.13))(@types/node@22.10.1)(chokidar@4.0.1)(ng-packagr@19.0.1(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(sugarss@4.0.1(postcss@8.4.49))(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) + version: 19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@swc/core@1.7.42)(@types/node@22.10.1)(chokidar@4.0.1)(ng-packagr@19.0.1(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(sugarss@4.0.1)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)) '@angular/cli': specifier: ^19.0.0 version: 19.0.2(@types/node@22.10.1)(chokidar@4.0.1) @@ -364,15 +364,15 @@ importers: specifier: ^2.8.1 version: 2.8.1 zod: - specifier: ^3.23.8 - version: 3.23.8 + specifier: ^3.24.0 + version: 3.24.0 zone.js: specifier: ^0.15.0 version: 0.15.0 devDependencies: '@angular-devkit/build-angular': specifier: ^19.0.0 - version: 19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@swc/core@1.7.42(@swc/helpers@0.5.13))(@types/node@22.10.1)(chokidar@4.0.1)(ng-packagr@19.0.1(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(sugarss@4.0.1(postcss@8.4.49))(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) + version: 19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@swc/core@1.7.42)(@types/node@22.10.1)(chokidar@4.0.1)(ng-packagr@19.0.1(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(sugarss@4.0.1)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)) '@angular/cli': specifier: ^19.0.0 version: 19.0.2(@types/node@22.10.1)(chokidar@4.0.1) @@ -394,7 +394,7 @@ importers: devDependencies: vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) examples/lit/ui-libraries: dependencies: @@ -410,7 +410,7 @@ importers: devDependencies: vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) examples/react/array: dependencies: @@ -432,10 +432,10 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0)) vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) examples/react/compiler: dependencies: @@ -457,7 +457,7 @@ importers: version: types-react-dom@19.0.0-rc.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0)) babel-plugin-react-compiler: specifier: ^19.0.0-beta-0dec889-20241115 version: 19.0.0-beta-df7b47d-20241124 @@ -466,7 +466,7 @@ importers: version: 19.0.0-beta-df7b47d-20241124(eslint@9.16.0(jiti@2.4.0)) vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) examples/react/field-errors-from-form-validators: dependencies: @@ -488,10 +488,10 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0)) vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) examples/react/next-server-actions: dependencies: @@ -547,10 +547,10 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0)) vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) examples/react/remix: dependencies: @@ -596,7 +596,7 @@ importers: version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) vite-tsconfig-paths: specifier: ^5.1.2 - version: 5.1.3(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0)) + version: 5.1.3(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)) examples/react/simple: dependencies: @@ -618,10 +618,44 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0)) vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) + + examples/react/standard-schema: + dependencies: + '@tanstack/react-form': + specifier: ^0.39.2 + version: link:../../../packages/react-form + arktype: + specifier: 2.0.0-rc.23 + version: 2.0.0-rc.23 + react: + specifier: ^18.3.1 + version: 18.3.1 + react-dom: + specifier: ^18.3.1 + version: 18.3.1(react@18.3.1) + valibot: + specifier: ^1.0.0-beta.9 + version: 1.0.0-beta.9(typescript@5.7.2) + zod: + specifier: ^3.24.0 + version: 3.24.0 + devDependencies: + '@types/react': + specifier: ^18.3.3 + version: 18.3.12 + '@types/react-dom': + specifier: ^18.3.0 + version: 18.3.1 + '@vitejs/plugin-react': + specifier: ^4.3.3 + version: 4.3.3(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0)) + vite: + specifier: ^5.4.11 + version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) examples/react/tanstack-start: dependencies: @@ -639,7 +673,7 @@ importers: version: 0.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/start': specifier: ^1.81.1 - version: 1.81.1(@types/node@22.10.1)(encoding@0.1.13)(ioredis@5.4.1)(less@4.2.0)(magicast@0.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0))(webpack-sources@3.2.3)(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)) + version: 1.81.1(@types/node@22.10.1)(encoding@0.1.13)(ioredis@5.4.1)(less@4.2.0)(magicast@0.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0))(webpack-sources@3.2.3)(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) react: specifier: ^18.3.1 version: 18.3.1 @@ -648,7 +682,7 @@ importers: version: 18.3.1(react@18.3.1) vinxi: specifier: ^0.4.3 - version: 0.4.3(@types/node@22.10.1)(encoding@0.1.13)(ioredis@5.4.1)(less@4.2.0)(magicast@0.3.5)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)(webpack-sources@3.2.3) + version: 0.4.3(@types/node@22.10.1)(encoding@0.1.13)(ioredis@5.4.1)(less@4.2.0)(magicast@0.3.5)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)(webpack-sources@3.2.3) devDependencies: '@types/node': specifier: ^22.10.1 @@ -661,16 +695,16 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) vite-tsconfig-paths: specifier: ^5.1.2 - version: 5.1.3(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) + version: 5.1.3(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)) examples/react/ui-libraries: dependencies: @@ -745,8 +779,8 @@ importers: specifier: ^18.3.1 version: 18.3.1(react@18.3.1) valibot: - specifier: ^1.0.0-beta.5 - version: 1.0.0-beta.5(typescript@5.7.2) + specifier: ^1.0.0-beta.9 + version: 1.0.0-beta.9(typescript@5.7.2) devDependencies: '@types/react': specifier: ^18.3.3 @@ -756,10 +790,10 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0)) vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) examples/react/yup: dependencies: @@ -787,10 +821,10 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0)) vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) examples/react/zod: dependencies: @@ -807,8 +841,8 @@ importers: specifier: ^18.3.1 version: 18.3.1(react@18.3.1) zod: - specifier: ^3.23.8 - version: 3.23.8 + specifier: ^3.24.0 + version: 3.24.0 devDependencies: '@types/react': specifier: ^18.3.3 @@ -818,10 +852,10 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0)) vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) examples/solid/array: dependencies: @@ -837,10 +871,10 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) vite-plugin-solid: specifier: ^2.11.0 - version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) + version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)) examples/solid/simple: dependencies: @@ -856,10 +890,10 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) vite-plugin-solid: specifier: ^2.11.0 - version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) + version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)) examples/solid/valibot: dependencies: @@ -873,18 +907,18 @@ importers: specifier: ^1.9.3 version: 1.9.3 valibot: - specifier: ^1.0.0-beta.5 - version: 1.0.0-beta.5(typescript@5.6.3) + specifier: ^1.0.0-beta.9 + version: 1.0.0-beta.9(typescript@5.6.3) devDependencies: typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) vite-plugin-solid: specifier: ^2.11.0 - version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) + version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)) examples/solid/yup: dependencies: @@ -906,10 +940,10 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) vite-plugin-solid: specifier: ^2.11.0 - version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) + version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)) examples/solid/zod: dependencies: @@ -923,18 +957,18 @@ importers: specifier: ^1.9.3 version: 1.9.3 zod: - specifier: ^3.23.8 - version: 3.23.8 + specifier: ^3.24.0 + version: 3.24.0 devDependencies: typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) vite-plugin-solid: specifier: ^2.11.0 - version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) + version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)) examples/vue/array: dependencies: @@ -947,13 +981,13 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)) + version: 5.2.1(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) vue-tsc: specifier: ^2.0.26 version: 2.1.10(typescript@5.6.3) @@ -969,13 +1003,13 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)) + version: 5.2.1(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) vue-tsc: specifier: ^2.0.26 version: 2.1.10(typescript@5.6.3) @@ -989,21 +1023,21 @@ importers: specifier: ^0.39.1 version: link:../../../packages/vue-form valibot: - specifier: ^1.0.0-beta.5 - version: 1.0.0-beta.5(typescript@5.6.3) + specifier: ^1.0.0-beta.9 + version: 1.0.0-beta.9(typescript@5.6.3) vue: specifier: ^3.3.4 version: 3.5.12(typescript@5.6.3) devDependencies: '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)) + version: 5.2.1(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) vue-tsc: specifier: ^2.0.26 version: 2.1.10(typescript@5.6.3) @@ -1025,13 +1059,13 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)) + version: 5.2.1(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) vue-tsc: specifier: ^2.0.26 version: 2.1.10(typescript@5.6.3) @@ -1048,18 +1082,18 @@ importers: specifier: ^3.3.4 version: 3.5.12(typescript@5.6.3) zod: - specifier: ^3.23.8 - version: 3.23.8 + specifier: ^3.24.0 + version: 3.24.0 devDependencies: '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)) + version: 5.2.1(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) vue-tsc: specifier: ^2.0.26 version: 2.1.10(typescript@5.6.3) @@ -1078,7 +1112,7 @@ importers: devDependencies: '@analogjs/vite-plugin-angular': specifier: ^1.10.1 - version: 1.10.1(@angular-devkit/build-angular@19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@swc/core@1.7.42(@swc/helpers@0.5.13))(@types/node@22.10.1)(chokidar@4.0.1)(ng-packagr@19.0.1(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(sugarss@4.0.1(postcss@8.4.49))(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)))(@angular/build@19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.1)(chokidar@4.0.1)(less@4.2.0)(postcss@8.4.49)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)(typescript@5.6.3)) + version: 1.10.1(@angular-devkit/build-angular@19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@swc/core@1.7.42)(@types/node@22.10.1)(ng-packagr@19.0.1(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(sugarss@4.0.1)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)))(@angular/build@19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.1)(less@4.2.0)(sugarss@4.0.1)(terser@5.36.0)(typescript@5.6.3)) '@angular/common': specifier: ^19.0.0 version: 19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) @@ -1115,6 +1149,19 @@ importers: '@tanstack/store': specifier: ^0.6.0 version: 0.6.0 + devDependencies: + '@standard-schema/spec': + specifier: 1.0.0-beta.3 + version: 1.0.0-beta.3 + arktype: + specifier: 2.0.0-rc.23 + version: 2.0.0-rc.23 + valibot: + specifier: ^1.0.0-beta.9 + version: 1.0.0-beta.9(typescript@5.7.2) + zod: + specifier: ^3.24.0 + version: 3.24.0 packages/lit-form: dependencies: @@ -1143,7 +1190,7 @@ importers: devDependencies: '@tanstack/start': specifier: ^1.81.1 - version: 1.81.1(@types/node@22.10.1)(encoding@0.1.13)(ioredis@5.4.1)(less@4.2.0)(magicast@0.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0))(webpack-sources@3.2.3)(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)) + version: 1.81.1(@types/node@22.10.1)(encoding@0.1.13)(ioredis@5.4.1)(less@4.2.0)(magicast@0.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0))(webpack-sources@3.2.3)(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) '@types/react': specifier: ^18.3.3 version: 18.3.12 @@ -1152,7 +1199,7 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0)) eslint-plugin-react-compiler: specifier: ^19.0.0-beta-0dec889-20241115 version: 19.0.0-beta-df7b47d-20241124(eslint@9.16.0(jiti@2.4.0)) @@ -1164,7 +1211,7 @@ importers: version: 18.3.1(react@18.3.1) vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) packages/solid-form: dependencies: @@ -1180,10 +1227,10 @@ importers: version: 1.9.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) vite-plugin-solid: specifier: ^2.11.0 - version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) + version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)) packages/valibot-form-adapter: dependencies: @@ -1195,8 +1242,8 @@ importers: specifier: workspace:* version: link:../react-form valibot: - specifier: ^1.0.0-beta.5 - version: 1.0.0-beta.5(typescript@5.7.2) + specifier: ^1.0.0-beta.9 + version: 1.0.0-beta.9(typescript@5.7.2) packages/vue-form: dependencies: @@ -1209,10 +1256,10 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0))(vue@3.5.12(typescript@5.7.2)) + version: 5.2.1(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0))(vue@3.5.12(typescript@5.7.2)) vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + version: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) vue: specifier: ^3.3.4 version: 3.5.12(typescript@5.7.2) @@ -1240,8 +1287,8 @@ importers: specifier: workspace:* version: link:../react-form zod: - specifier: ^3.23.8 - version: 3.23.8 + specifier: ^3.24.0 + version: 3.24.0 packages: @@ -1441,6 +1488,12 @@ packages: '@angular/platform-browser': 19.0.1 rxjs: ^6.5.3 || ^7.4.0 + '@ark/schema@0.23.0': + resolution: {integrity: sha512-406Zx0te3ICd7PkGise4XIxOfmjFzK64tEuiN5rmJDg14AqhySXygMk8QcHqHORDJ7VXhel7J41iduw8eyiFPg==} + + '@ark/util@0.23.0': + resolution: {integrity: sha512-2mb24N2leQENRh+zPqnlRJzFFf8Xr7BT+/4MJN46/G8C45davpqFfcqvOw0ZlXrjQpBi8H+ZqDQsi95lN/9oVg==} + '@babel/code-frame@7.26.2': resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} @@ -4202,6 +4255,9 @@ packages: '@solidjs/router': optional: true + '@standard-schema/spec@1.0.0-beta.3': + resolution: {integrity: sha512-0ifF3BjA1E8SY9C+nUew8RefNOIq0cDlYALPty4rhUm8Rrl6tCM8hBT4bhGhx7I7iXD0uAgt50lgo8dD73ACMw==} + '@stylistic/eslint-plugin-js@2.11.0': resolution: {integrity: sha512-btchD0P3iij6cIk5RR5QMdEhtCCV0+L6cNheGhGCd//jaHILZMTi/EOqgEDAf1s4ZoViyExoToM+S2Iwa3U9DA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -5098,6 +5154,9 @@ packages: resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} engines: {node: '>= 0.4'} + arktype@2.0.0-rc.23: + resolution: {integrity: sha512-P0e40t3J4rc3xRHzPjzyOK1CgdgKswQJOFBgFLuehSiGcjAuRx6p/9lDVPzXZ62m7q5yRUqFiX8ovN5FjWQjMQ==} + array-buffer-byte-length@1.0.1: resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} engines: {node: '>= 0.4'} @@ -10038,8 +10097,8 @@ packages: typescript: optional: true - valibot@1.0.0-beta.5: - resolution: {integrity: sha512-YrU03cSLH8+UIMMAOnYCpD9+c6k/VDlxu13aVDokt/YwtROICC6kkbQeRbamcEuh/+CbFa4pbqOptiNNbHFSog==} + valibot@1.0.0-beta.9: + resolution: {integrity: sha512-yEX8gMAZ2R1yI2uwOO4NCtVnJQx36zn3vD0omzzj9FhcoblvPukENIiRZXKZwCnqSeV80bMm8wNiGhQ0S8fiww==} peerDependencies: typescript: '>=5' peerDependenciesMeta: @@ -10498,8 +10557,8 @@ packages: peerDependencies: zod: ^3.18.0 - zod@3.23.8: - resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} + zod@3.24.0: + resolution: {integrity: sha512-Hz+wiY8yD0VLA2k/+nsg2Abez674dDGTai33SwNvMPuf9uIrBC9eFgIMQxBBbHFxVXi8W+5nX9DcAh9YNSQm/w==} zone.js@0.15.0: resolution: {integrity: sha512-9oxn0IIjbCZkJ67L+LkhYWRyAy7axphb3VgE2MBDlOqnmHMPWGYMxJxBYFueFq/JGY2GMwS0rU+UCLunEmy5UA==} @@ -10516,13 +10575,13 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - ? '@analogjs/vite-plugin-angular@1.10.1(@angular-devkit/build-angular@19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@swc/core@1.7.42(@swc/helpers@0.5.13))(@types/node@22.10.1)(chokidar@4.0.1)(ng-packagr@19.0.1(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(sugarss@4.0.1(postcss@8.4.49))(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)))(@angular/build@19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.1)(chokidar@4.0.1)(less@4.2.0)(postcss@8.4.49)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)(typescript@5.6.3))' - : dependencies: + '@analogjs/vite-plugin-angular@1.10.1(@angular-devkit/build-angular@19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@swc/core@1.7.42)(@types/node@22.10.1)(ng-packagr@19.0.1(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(sugarss@4.0.1)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)))(@angular/build@19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.1)(less@4.2.0)(sugarss@4.0.1)(terser@5.36.0)(typescript@5.6.3))': + dependencies: ts-morph: 21.0.1 vfile: 6.0.3 optionalDependencies: - '@angular-devkit/build-angular': 19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@swc/core@1.7.42(@swc/helpers@0.5.13))(@types/node@22.10.1)(chokidar@4.0.1)(ng-packagr@19.0.1(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(sugarss@4.0.1(postcss@8.4.49))(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) - '@angular/build': 19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.1)(chokidar@4.0.1)(less@4.2.0)(postcss@8.4.49)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)(typescript@5.6.3) + '@angular-devkit/build-angular': 19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@swc/core@1.7.42)(@types/node@22.10.1)(ng-packagr@19.0.1(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(sugarss@4.0.1)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)) + '@angular/build': 19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.1)(less@4.2.0)(postcss@8.4.49)(sugarss@4.0.1)(terser@5.36.0)(typescript@5.6.3) '@angular-devkit/architect@0.1900.2(chokidar@4.0.1)': dependencies: @@ -10531,11 +10590,11 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@swc/core@1.7.42(@swc/helpers@0.5.13))(@types/node@22.10.1)(chokidar@4.0.1)(ng-packagr@19.0.1(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(sugarss@4.0.1(postcss@8.4.49))(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0))': + '@angular-devkit/build-angular@19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@swc/core@1.7.42)(@types/node@22.10.1)(chokidar@4.0.1)(ng-packagr@19.0.1(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(sugarss@4.0.1(postcss@8.4.49))(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0))': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.1900.2(chokidar@4.0.1) - '@angular-devkit/build-webpack': 0.1900.2(chokidar@4.0.1)(webpack-dev-server@5.1.0(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)))(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)) + '@angular-devkit/build-webpack': 0.1900.2(chokidar@4.0.1)(webpack-dev-server@5.1.0(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)))(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) '@angular-devkit/core': 19.0.2(chokidar@4.0.1) '@angular/build': 19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.1)(chokidar@4.0.1)(less@4.2.0)(postcss@8.4.49)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)(typescript@5.6.3) '@angular/compiler-cli': 19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) @@ -10549,14 +10608,14 @@ snapshots: '@babel/preset-env': 7.26.0(@babel/core@7.26.0) '@babel/runtime': 7.26.0 '@discoveryjs/json-ext': 0.6.3 - '@ngtools/webpack': 19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)) + '@ngtools/webpack': 19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) '@vitejs/plugin-basic-ssl': 1.1.0(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) ansi-colors: 4.1.3 autoprefixer: 10.4.20(postcss@8.4.49) - babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)) + babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) browserslist: 4.24.2 - copy-webpack-plugin: 12.0.2(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)) - css-loader: 7.1.2(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)) + copy-webpack-plugin: 12.0.2(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + css-loader: 7.1.2(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) esbuild-wasm: 0.24.0 fast-glob: 3.3.2 http-proxy-middleware: 3.0.3 @@ -10564,32 +10623,32 @@ snapshots: jsonc-parser: 3.3.1 karma-source-map-support: 1.4.0 less: 4.2.0 - less-loader: 12.2.0(less@4.2.0)(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)) - license-webpack-plugin: 4.0.2(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)) + less-loader: 12.2.0(less@4.2.0)(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + license-webpack-plugin: 4.0.2(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) loader-utils: 3.3.1 - mini-css-extract-plugin: 2.9.2(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)) + mini-css-extract-plugin: 2.9.2(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) open: 10.1.0 ora: 5.4.1 picomatch: 4.0.2 piscina: 4.7.0 postcss: 8.4.49 - postcss-loader: 8.1.1(postcss@8.4.49)(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)) + postcss-loader: 8.1.1(postcss@8.4.49)(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) resolve-url-loader: 5.0.0 rxjs: 7.8.1 sass: 1.80.7 - sass-loader: 16.0.3(sass@1.80.7)(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)) + sass-loader: 16.0.3(sass@1.80.7)(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) semver: 7.6.3 - source-map-loader: 5.0.0(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)) + source-map-loader: 5.0.0(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) source-map-support: 0.5.21 terser: 5.36.0 tree-kill: 1.2.2 tslib: 2.8.1 typescript: 5.6.3 - webpack: 5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0) - webpack-dev-middleware: 7.4.2(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)) - webpack-dev-server: 5.1.0(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)) + webpack: 5.96.1(@swc/core@1.7.42)(esbuild@0.24.0) + webpack-dev-middleware: 7.4.2(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + webpack-dev-server: 5.1.0(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) webpack-merge: 6.0.1 - webpack-subresource-integrity: 5.1.0(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)) + webpack-subresource-integrity: 5.1.0(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) optionalDependencies: esbuild: 0.24.0 ng-packagr: 19.0.1(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3) @@ -10613,12 +10672,177 @@ snapshots: - vite - webpack-cli - '@angular-devkit/build-webpack@0.1900.2(chokidar@4.0.1)(webpack-dev-server@5.1.0(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)))(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0))': + '@angular-devkit/build-angular@19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@swc/core@1.7.42)(@types/node@22.10.1)(chokidar@4.0.1)(ng-packagr@19.0.1(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(sugarss@4.0.1)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0))': dependencies: + '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.1900.2(chokidar@4.0.1) + '@angular-devkit/build-webpack': 0.1900.2(chokidar@4.0.1)(webpack-dev-server@5.1.0(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)))(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + '@angular-devkit/core': 19.0.2(chokidar@4.0.1) + '@angular/build': 19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.1)(chokidar@4.0.1)(less@4.2.0)(postcss@8.4.49)(sugarss@4.0.1)(terser@5.36.0)(typescript@5.6.3) + '@angular/compiler-cli': 19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) + '@babel/core': 7.26.0 + '@babel/generator': 7.26.2 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/plugin-transform-async-generator-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-runtime': 7.25.9(@babel/core@7.26.0) + '@babel/preset-env': 7.26.0(@babel/core@7.26.0) + '@babel/runtime': 7.26.0 + '@discoveryjs/json-ext': 0.6.3 + '@ngtools/webpack': 19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + '@vitejs/plugin-basic-ssl': 1.1.0(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)) + ansi-colors: 4.1.3 + autoprefixer: 10.4.20(postcss@8.4.49) + babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + browserslist: 4.24.2 + copy-webpack-plugin: 12.0.2(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + css-loader: 7.1.2(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + esbuild-wasm: 0.24.0 + fast-glob: 3.3.2 + http-proxy-middleware: 3.0.3 + istanbul-lib-instrument: 6.0.3 + jsonc-parser: 3.3.1 + karma-source-map-support: 1.4.0 + less: 4.2.0 + less-loader: 12.2.0(less@4.2.0)(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + license-webpack-plugin: 4.0.2(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + loader-utils: 3.3.1 + mini-css-extract-plugin: 2.9.2(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + open: 10.1.0 + ora: 5.4.1 + picomatch: 4.0.2 + piscina: 4.7.0 + postcss: 8.4.49 + postcss-loader: 8.1.1(postcss@8.4.49)(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + resolve-url-loader: 5.0.0 rxjs: 7.8.1 - webpack: 5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0) - webpack-dev-server: 5.1.0(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)) + sass: 1.80.7 + sass-loader: 16.0.3(sass@1.80.7)(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + semver: 7.6.3 + source-map-loader: 5.0.0(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + source-map-support: 0.5.21 + terser: 5.36.0 + tree-kill: 1.2.2 + tslib: 2.8.1 + typescript: 5.6.3 + webpack: 5.96.1(@swc/core@1.7.42)(esbuild@0.24.0) + webpack-dev-middleware: 7.4.2(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + webpack-dev-server: 5.1.0(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + webpack-merge: 6.0.1 + webpack-subresource-integrity: 5.1.0(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + optionalDependencies: + esbuild: 0.24.0 + ng-packagr: 19.0.1(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3) + transitivePeerDependencies: + - '@angular/compiler' + - '@rspack/core' + - '@swc/core' + - '@types/node' + - bufferutil + - chokidar + - debug + - html-webpack-plugin + - lightningcss + - node-sass + - sass-embedded + - stylus + - sugarss + - supports-color + - uglify-js + - utf-8-validate + - vite + - webpack-cli + + '@angular-devkit/build-angular@19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@swc/core@1.7.42)(@types/node@22.10.1)(ng-packagr@19.0.1(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(sugarss@4.0.1)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0))': + dependencies: + '@ampproject/remapping': 2.3.0 + '@angular-devkit/architect': 0.1900.2(chokidar@4.0.1) + '@angular-devkit/build-webpack': 0.1900.2(chokidar@4.0.1)(webpack-dev-server@5.1.0(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)))(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + '@angular-devkit/core': 19.0.2(chokidar@4.0.1) + '@angular/build': 19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.1)(less@4.2.0)(postcss@8.4.49)(sugarss@4.0.1)(terser@5.36.0)(typescript@5.6.3) + '@angular/compiler-cli': 19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) + '@babel/core': 7.26.0 + '@babel/generator': 7.26.2 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/plugin-transform-async-generator-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-runtime': 7.25.9(@babel/core@7.26.0) + '@babel/preset-env': 7.26.0(@babel/core@7.26.0) + '@babel/runtime': 7.26.0 + '@discoveryjs/json-ext': 0.6.3 + '@ngtools/webpack': 19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + '@vitejs/plugin-basic-ssl': 1.1.0(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)) + ansi-colors: 4.1.3 + autoprefixer: 10.4.20(postcss@8.4.49) + babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + browserslist: 4.24.2 + copy-webpack-plugin: 12.0.2(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + css-loader: 7.1.2(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + esbuild-wasm: 0.24.0 + fast-glob: 3.3.2 + http-proxy-middleware: 3.0.3 + istanbul-lib-instrument: 6.0.3 + jsonc-parser: 3.3.1 + karma-source-map-support: 1.4.0 + less: 4.2.0 + less-loader: 12.2.0(less@4.2.0)(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + license-webpack-plugin: 4.0.2(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + loader-utils: 3.3.1 + mini-css-extract-plugin: 2.9.2(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + open: 10.1.0 + ora: 5.4.1 + picomatch: 4.0.2 + piscina: 4.7.0 + postcss: 8.4.49 + postcss-loader: 8.1.1(postcss@8.4.49)(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + resolve-url-loader: 5.0.0 + rxjs: 7.8.1 + sass: 1.80.7 + sass-loader: 16.0.3(sass@1.80.7)(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + semver: 7.6.3 + source-map-loader: 5.0.0(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + source-map-support: 0.5.21 + terser: 5.36.0 + tree-kill: 1.2.2 + tslib: 2.8.1 + typescript: 5.6.3 + webpack: 5.96.1(@swc/core@1.7.42)(esbuild@0.24.0) + webpack-dev-middleware: 7.4.2(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + webpack-dev-server: 5.1.0(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + webpack-merge: 6.0.1 + webpack-subresource-integrity: 5.1.0(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) + optionalDependencies: + esbuild: 0.24.0 + ng-packagr: 19.0.1(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3) + transitivePeerDependencies: + - '@angular/compiler' + - '@rspack/core' + - '@swc/core' + - '@types/node' + - bufferutil + - chokidar + - debug + - html-webpack-plugin + - lightningcss + - node-sass + - sass-embedded + - stylus + - sugarss + - supports-color + - uglify-js + - utf-8-validate + - vite + - webpack-cli + optional: true + + '@angular-devkit/build-webpack@0.1900.2(chokidar@4.0.1)(webpack-dev-server@5.1.0(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)))(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0))': + dependencies: + '@angular-devkit/architect': 0.1900.2(chokidar@4.0.1) + rxjs: 7.8.1 + webpack: 5.96.1(@swc/core@1.7.42)(esbuild@0.24.0) + webpack-dev-server: 5.1.0(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) transitivePeerDependencies: - chokidar @@ -10692,6 +10916,95 @@ snapshots: - supports-color - terser + '@angular/build@19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.1)(chokidar@4.0.1)(less@4.2.0)(postcss@8.4.49)(sugarss@4.0.1)(terser@5.36.0)(typescript@5.6.3)': + dependencies: + '@ampproject/remapping': 2.3.0 + '@angular-devkit/architect': 0.1900.2(chokidar@4.0.1) + '@angular/compiler': 19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)) + '@angular/compiler-cli': 19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) + '@inquirer/confirm': 5.0.2(@types/node@22.10.1) + '@vitejs/plugin-basic-ssl': 1.1.0(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)) + beasties: 0.1.0 + browserslist: 4.24.2 + esbuild: 0.24.0 + fast-glob: 3.3.2 + https-proxy-agent: 7.0.5 + istanbul-lib-instrument: 6.0.3 + listr2: 8.2.5 + magic-string: 0.30.12 + mrmime: 2.0.0 + parse5-html-rewriting-stream: 7.0.0 + picomatch: 4.0.2 + piscina: 4.7.0 + rollup: 4.26.0 + sass: 1.80.7 + semver: 7.6.3 + typescript: 5.6.3 + vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) + watchpack: 2.4.2 + optionalDependencies: + less: 4.2.0 + lmdb: 3.1.5 + postcss: 8.4.49 + transitivePeerDependencies: + - '@types/node' + - chokidar + - lightningcss + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + + '@angular/build@19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.1)(less@4.2.0)(postcss@8.4.49)(sugarss@4.0.1)(terser@5.36.0)(typescript@5.6.3)': + dependencies: + '@ampproject/remapping': 2.3.0 + '@angular-devkit/architect': 0.1900.2(chokidar@4.0.1) + '@angular/compiler': 19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)) + '@angular/compiler-cli': 19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) + '@inquirer/confirm': 5.0.2(@types/node@22.10.1) + '@vitejs/plugin-basic-ssl': 1.1.0(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)) + beasties: 0.1.0 + browserslist: 4.24.2 + esbuild: 0.24.0 + fast-glob: 3.3.2 + https-proxy-agent: 7.0.5 + istanbul-lib-instrument: 6.0.3 + listr2: 8.2.5 + magic-string: 0.30.12 + mrmime: 2.0.0 + parse5-html-rewriting-stream: 7.0.0 + picomatch: 4.0.2 + piscina: 4.7.0 + rollup: 4.26.0 + sass: 1.80.7 + semver: 7.6.3 + typescript: 5.6.3 + vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) + watchpack: 2.4.2 + optionalDependencies: + less: 4.2.0 + lmdb: 3.1.5 + postcss: 8.4.49 + transitivePeerDependencies: + - '@types/node' + - chokidar + - lightningcss + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + optional: true + '@angular/cli@19.0.2(@types/node@22.10.1)(chokidar@4.0.1)': dependencies: '@angular-devkit/architect': 0.1900.2(chokidar@4.0.1) @@ -10782,6 +11095,12 @@ snapshots: rxjs: 7.8.1 tslib: 2.8.1 + '@ark/schema@0.23.0': + dependencies: + '@ark/util': 0.23.0 + + '@ark/util@0.23.0': {} + '@babel/code-frame@7.26.2': dependencies: '@babel/helper-validator-identifier': 7.25.9 @@ -12824,11 +13143,11 @@ snapshots: '@next/swc-win32-x64-msvc@15.0.3': optional: true - '@ngtools/webpack@19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0))': + '@ngtools/webpack@19.0.2(@angular/compiler-cli@19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0))': dependencies: '@angular/compiler-cli': 19.0.1(@angular/compiler@19.0.1(@angular/core@19.0.1(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) typescript: 5.6.3 - webpack: 5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0) + webpack: 5.96.1(@swc/core@1.7.42)(esbuild@0.24.0) '@nodelib/fs.scandir@2.1.5': dependencies: @@ -13470,6 +13789,8 @@ snapshots: '@testing-library/dom': 10.4.0 solid-js: 1.9.3 + '@standard-schema/spec@1.0.0-beta.3': {} + '@stylistic/eslint-plugin-js@2.11.0(eslint@9.16.0(jiti@2.4.0))': dependencies: eslint: 9.16.0(jiti@2.4.0) @@ -13540,7 +13861,7 @@ snapshots: '@tanstack/store': 0.6.0 tslib: 2.8.1 - '@tanstack/config@0.14.2(@types/node@22.10.1)(esbuild@0.24.0)(eslint@9.16.0(jiti@2.4.0))(rollup@4.26.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0))': + '@tanstack/config@0.14.2(@types/node@22.10.1)(esbuild@0.24.0)(eslint@9.16.0(jiti@2.4.0))(rollup@4.26.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0))': dependencies: '@commitlint/parse': 19.5.0 '@eslint/js': 9.16.0 @@ -13563,9 +13884,9 @@ snapshots: typedoc-plugin-markdown: 4.3.1(typedoc@0.27.3(typescript@5.6.3)) typescript-eslint: 8.17.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.6.3) v8flags: 4.0.1 - vite-plugin-dts: 4.0.3(@types/node@22.10.1)(rollup@4.26.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) - vite-plugin-externalize-deps: 0.8.0(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) - vite-tsconfig-paths: 5.1.3(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) + vite-plugin-dts: 4.0.3(@types/node@22.10.1)(rollup@4.26.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)) + vite-plugin-externalize-deps: 0.8.0(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)) + vite-tsconfig-paths: 5.1.3(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)) transitivePeerDependencies: - '@types/node' - esbuild @@ -13626,9 +13947,9 @@ snapshots: '@tanstack/virtual-file-routes': 1.64.0 prettier: 3.4.2 tsx: 4.19.2 - zod: 3.23.8 + zod: 3.24.0 - '@tanstack/router-plugin@1.79.0(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0))(webpack-sources@3.2.3)(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0))': + '@tanstack/router-plugin@1.79.0(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0))(webpack-sources@3.2.3)(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0))': dependencies: '@babel/core': 7.26.0 '@babel/generator': 7.26.2 @@ -13647,10 +13968,10 @@ snapshots: babel-dead-code-elimination: 1.0.6 chokidar: 3.6.0 unplugin: 1.15.0(webpack-sources@3.2.3) - zod: 3.23.8 + zod: 3.24.0 optionalDependencies: - vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) - webpack: 5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0) + vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) + webpack: 5.96.1(@swc/core@1.7.42)(esbuild@0.24.0) transitivePeerDependencies: - supports-color - webpack-sources @@ -13678,25 +13999,25 @@ snapshots: transitivePeerDependencies: - supports-color - '@tanstack/start@1.81.1(@types/node@22.10.1)(encoding@0.1.13)(ioredis@5.4.1)(less@4.2.0)(magicast@0.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0))(webpack-sources@3.2.3)(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0))': + '@tanstack/start@1.81.1(@types/node@22.10.1)(encoding@0.1.13)(ioredis@5.4.1)(less@4.2.0)(magicast@0.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0))(webpack-sources@3.2.3)(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0))': dependencies: '@tanstack/react-cross-context': 1.74.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/react-router': 1.81.1(@tanstack/router-generator@1.79.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/router-generator': 1.79.0 - '@tanstack/router-plugin': 1.79.0(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0))(webpack-sources@3.2.3)(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)) + '@tanstack/router-plugin': 1.79.0(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0))(webpack-sources@3.2.3)(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) '@tanstack/start-vite-plugin': 1.79.0 '@vinxi/react': 0.2.5 - '@vinxi/react-server-dom': 0.0.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) - '@vinxi/server-components': 0.4.3(vinxi@0.4.3(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)(webpack-sources@3.2.3)) - '@vinxi/server-functions': 0.4.3(vinxi@0.4.3(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)(webpack-sources@3.2.3)) + '@vinxi/react-server-dom': 0.0.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)) + '@vinxi/server-components': 0.4.3(vinxi@0.4.3(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)(webpack-sources@3.2.3)) + '@vinxi/server-functions': 0.4.3(vinxi@0.4.3(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)(webpack-sources@3.2.3)) import-meta-resolve: 4.1.0 isbot: 5.1.17 jsesc: 3.0.2 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tiny-invariant: 1.3.3 - vinxi: 0.4.3(@types/node@22.10.1)(encoding@0.1.13)(ioredis@5.4.1)(less@4.2.0)(magicast@0.3.5)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)(webpack-sources@3.2.3) - zod: 3.23.8 + vinxi: 0.4.3(@types/node@22.10.1)(encoding@0.1.13)(ioredis@5.4.1)(less@4.2.0)(magicast@0.3.5)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)(webpack-sources@3.2.3) + zod: 3.24.0 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -14189,7 +14510,7 @@ snapshots: transitivePeerDependencies: - uWebSockets.js - '@vinxi/plugin-directives@0.4.3(vinxi@0.4.3(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)(webpack-sources@3.2.3))': + '@vinxi/plugin-directives@0.4.3(vinxi@0.4.3(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)(webpack-sources@3.2.3))': dependencies: '@babel/parser': 7.26.2 acorn: 8.14.0 @@ -14200,43 +14521,47 @@ snapshots: magicast: 0.2.11 recast: 0.23.9 tslib: 2.8.1 - vinxi: 0.4.3(@types/node@22.10.1)(encoding@0.1.13)(ioredis@5.4.1)(less@4.2.0)(magicast@0.3.5)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)(webpack-sources@3.2.3) + vinxi: 0.4.3(@types/node@22.10.1)(encoding@0.1.13)(ioredis@5.4.1)(less@4.2.0)(magicast@0.3.5)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)(webpack-sources@3.2.3) - '@vinxi/react-server-dom@0.0.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0))': + '@vinxi/react-server-dom@0.0.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0))': dependencies: acorn-loose: 8.4.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) '@vinxi/react@0.2.5': {} - '@vinxi/server-components@0.4.3(vinxi@0.4.3(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)(webpack-sources@3.2.3))': + '@vinxi/server-components@0.4.3(vinxi@0.4.3(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)(webpack-sources@3.2.3))': dependencies: - '@vinxi/plugin-directives': 0.4.3(vinxi@0.4.3(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)(webpack-sources@3.2.3)) + '@vinxi/plugin-directives': 0.4.3(vinxi@0.4.3(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)(webpack-sources@3.2.3)) acorn: 8.14.0 acorn-loose: 8.4.0 acorn-typescript: 1.4.13(acorn@8.14.0) astring: 1.9.0 magicast: 0.2.11 recast: 0.23.9 - vinxi: 0.4.3(@types/node@22.10.1)(encoding@0.1.13)(ioredis@5.4.1)(less@4.2.0)(magicast@0.3.5)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)(webpack-sources@3.2.3) + vinxi: 0.4.3(@types/node@22.10.1)(encoding@0.1.13)(ioredis@5.4.1)(less@4.2.0)(magicast@0.3.5)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)(webpack-sources@3.2.3) - '@vinxi/server-functions@0.4.3(vinxi@0.4.3(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)(webpack-sources@3.2.3))': + '@vinxi/server-functions@0.4.3(vinxi@0.4.3(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)(webpack-sources@3.2.3))': dependencies: - '@vinxi/plugin-directives': 0.4.3(vinxi@0.4.3(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)(webpack-sources@3.2.3)) + '@vinxi/plugin-directives': 0.4.3(vinxi@0.4.3(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)(webpack-sources@3.2.3)) acorn: 8.14.0 acorn-loose: 8.4.0 acorn-typescript: 1.4.13(acorn@8.14.0) astring: 1.9.0 magicast: 0.2.11 recast: 0.23.9 - vinxi: 0.4.3(@types/node@22.10.1)(encoding@0.1.13)(ioredis@5.4.1)(less@4.2.0)(magicast@0.3.5)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)(webpack-sources@3.2.3) + vinxi: 0.4.3(@types/node@22.10.1)(encoding@0.1.13)(ioredis@5.4.1)(less@4.2.0)(magicast@0.3.5)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)(webpack-sources@3.2.3) '@vitejs/plugin-basic-ssl@1.1.0(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0))': dependencies: vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + '@vitejs/plugin-basic-ssl@1.1.0(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0))': + dependencies: + vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) + '@vitejs/plugin-react-swc@3.7.1(@swc/helpers@0.5.13)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0))': dependencies: '@swc/core': 1.7.42(@swc/helpers@0.5.13) @@ -14255,28 +14580,17 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitejs/plugin-react@4.3.3(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0))': + '@vitejs/plugin-vue@5.2.1(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))': dependencies: - '@babel/core': 7.26.0 - '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) - '@types/babel__core': 7.20.5 - react-refresh: 0.14.2 - vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) - transitivePeerDependencies: - - supports-color - - '@vitejs/plugin-vue@5.2.1(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))': - dependencies: - vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) vue: 3.5.12(typescript@5.6.3) - '@vitejs/plugin-vue@5.2.1(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0))(vue@3.5.12(typescript@5.7.2))': + '@vitejs/plugin-vue@5.2.1(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0))(vue@3.5.12(typescript@5.7.2))': dependencies: - vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) vue: 3.5.12(typescript@5.7.2) - '@vitest/coverage-istanbul@2.1.4(vitest@2.1.4(@types/node@22.10.1)(jsdom@25.0.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0))': + '@vitest/coverage-istanbul@2.1.4(vitest@2.1.4(@types/node@22.10.1)(jsdom@25.0.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0))': dependencies: '@istanbuljs/schema': 0.1.3 debug: 4.3.7 @@ -14288,7 +14602,7 @@ snapshots: magicast: 0.3.5 test-exclude: 7.0.1 tinyrainbow: 1.2.0 - vitest: 2.1.4(@types/node@22.10.1)(jsdom@25.0.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + vitest: 2.1.4(@types/node@22.10.1)(jsdom@25.0.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0) transitivePeerDependencies: - supports-color @@ -14299,13 +14613,13 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.4(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0))': + '@vitest/mocker@2.1.4(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0))': dependencies: '@vitest/spy': 2.1.4 estree-walker: 3.0.3 magic-string: 0.30.12 optionalDependencies: - vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) '@vitest/pretty-format@2.1.4': dependencies: @@ -14732,6 +15046,11 @@ snapshots: aria-query@5.3.2: {} + arktype@2.0.0-rc.23: + dependencies: + '@ark/schema': 0.23.0 + '@ark/util': 0.23.0 + array-buffer-byte-length@1.0.1: dependencies: call-bind: 1.0.7 @@ -14792,12 +15111,12 @@ snapshots: transitivePeerDependencies: - supports-color - babel-loader@9.2.1(@babel/core@7.26.0)(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)): + babel-loader@9.2.1(@babel/core@7.26.0)(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)): dependencies: '@babel/core': 7.26.0 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0) + webpack: 5.96.1(@swc/core@1.7.42)(esbuild@0.24.0) babel-plugin-add-module-exports@0.2.1: {} @@ -15291,7 +15610,7 @@ snapshots: dependencies: is-what: 3.14.1 - copy-webpack-plugin@12.0.2(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)): + copy-webpack-plugin@12.0.2(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)): dependencies: fast-glob: 3.3.2 glob-parent: 6.0.2 @@ -15299,7 +15618,7 @@ snapshots: normalize-path: 3.0.0 schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0) + webpack: 5.96.1(@swc/core@1.7.42)(esbuild@0.24.0) core-js-compat@3.39.0: dependencies: @@ -15347,7 +15666,7 @@ snapshots: crossws@0.2.4: {} - css-loader@7.1.2(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)): + css-loader@7.1.2(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)): dependencies: icss-utils: 5.1.0(postcss@8.4.48) postcss: 8.4.48 @@ -15358,7 +15677,7 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.6.3 optionalDependencies: - webpack: 5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0) + webpack: 5.96.1(@swc/core@1.7.42)(esbuild@0.24.0) css-select@5.1.0: dependencies: @@ -15900,8 +16219,8 @@ snapshots: '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.0) eslint: 9.16.0(jiti@2.4.0) hermes-parser: 0.25.1 - zod: 3.23.8 - zod-validation-error: 3.4.0(zod@3.23.8) + zod: 3.24.0 + zod-validation-error: 3.4.0(zod@3.24.0) transitivePeerDependencies: - supports-color @@ -17293,8 +17612,8 @@ snapshots: strip-json-comments: 5.0.1 summary: 2.1.0 typescript: 5.6.3 - zod: 3.23.8 - zod-validation-error: 3.4.0(zod@3.23.8) + zod: 3.24.0 + zod-validation-error: 3.4.0(zod@3.24.0) knitwork@1.1.0: {} @@ -17309,11 +17628,11 @@ snapshots: dependencies: readable-stream: 2.3.8 - less-loader@12.2.0(less@4.2.0)(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)): + less-loader@12.2.0(less@4.2.0)(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)): dependencies: less: 4.2.0 optionalDependencies: - webpack: 5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0) + webpack: 5.96.1(@swc/core@1.7.42)(esbuild@0.24.0) less@4.2.0: dependencies: @@ -17334,11 +17653,11 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - license-webpack-plugin@4.0.2(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)): + license-webpack-plugin@4.0.2(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)): dependencies: webpack-sources: 3.2.3 optionalDependencies: - webpack: 5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0) + webpack: 5.96.1(@swc/core@1.7.42)(esbuild@0.24.0) liftoff@5.0.0: dependencies: @@ -17959,11 +18278,11 @@ snapshots: min-indent@1.0.1: {} - mini-css-extract-plugin@2.9.2(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)): + mini-css-extract-plugin@2.9.2(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)): dependencies: schema-utils: 4.2.0 tapable: 2.2.1 - webpack: 5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0) + webpack: 5.96.1(@swc/core@1.7.42)(esbuild@0.24.0) minimalistic-assert@1.0.1: {} @@ -18441,7 +18760,7 @@ snapshots: nwsapi@2.2.13: {} - nx@20.2.0(@swc/core@1.7.42(@swc/helpers@0.5.13)): + nx@20.2.0(@swc/core@1.7.42): dependencies: '@napi-rs/wasm-runtime': 0.2.4 '@yarnpkg/lockfile': 1.1.0 @@ -18849,14 +19168,14 @@ snapshots: optionalDependencies: postcss: 8.4.48 - postcss-loader@8.1.1(postcss@8.4.49)(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)): + postcss-loader@8.1.1(postcss@8.4.49)(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)): dependencies: cosmiconfig: 9.0.0(typescript@5.6.3) jiti: 1.21.6 postcss: 8.4.49 semver: 7.6.3 optionalDependencies: - webpack: 5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0) + webpack: 5.96.1(@swc/core@1.7.42)(esbuild@0.24.0) transitivePeerDependencies: - typescript @@ -19412,12 +19731,12 @@ snapshots: safer-buffer@2.1.2: {} - sass-loader@16.0.3(sass@1.80.7)(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)): + sass-loader@16.0.3(sass@1.80.7)(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)): dependencies: neo-async: 2.6.2 optionalDependencies: sass: 1.80.7 - webpack: 5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0) + webpack: 5.96.1(@swc/core@1.7.42)(esbuild@0.24.0) sass@1.80.7: dependencies: @@ -19715,11 +20034,11 @@ snapshots: source-map-js@1.2.1: {} - source-map-loader@5.0.0(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)): + source-map-loader@5.0.0(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)): dependencies: iconv-lite: 0.6.3 source-map-js: 1.2.1 - webpack: 5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0) + webpack: 5.96.1(@swc/core@1.7.42)(esbuild@0.24.0) source-map-support@0.5.21: dependencies: @@ -19961,14 +20280,14 @@ snapshots: mkdirp: 3.0.1 yallist: 5.0.0 - terser-webpack-plugin@5.3.10(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)): + terser-webpack-plugin@5.3.10(@swc/core@1.7.42)(esbuild@0.24.0)(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.36.0 - webpack: 5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0) + webpack: 5.96.1(@swc/core@1.7.42)(esbuild@0.24.0) optionalDependencies: '@swc/core': 1.7.42(@swc/helpers@0.5.13) esbuild: 0.24.0 @@ -20438,11 +20757,11 @@ snapshots: optionalDependencies: typescript: 5.6.3 - valibot@1.0.0-beta.5(typescript@5.6.3): + valibot@1.0.0-beta.9(typescript@5.6.3): optionalDependencies: typescript: 5.6.3 - valibot@1.0.0-beta.5(typescript@5.7.2): + valibot@1.0.0-beta.9(typescript@5.7.2): optionalDependencies: typescript: 5.7.2 @@ -20481,7 +20800,7 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vinxi@0.4.3(@types/node@22.10.1)(encoding@0.1.13)(ioredis@5.4.1)(less@4.2.0)(magicast@0.3.5)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)(webpack-sources@3.2.3): + vinxi@0.4.3(@types/node@22.10.1)(encoding@0.1.13)(ioredis@5.4.1)(less@4.2.0)(magicast@0.3.5)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)(webpack-sources@3.2.3): dependencies: '@babel/core': 7.26.0 '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) @@ -20515,8 +20834,8 @@ snapshots: unctx: 2.3.1(webpack-sources@3.2.3) unenv: 1.10.0 unstorage: 1.13.0(ioredis@5.4.1) - vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) - zod: 3.23.8 + vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) + zod: 3.24.0 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -20568,12 +20887,12 @@ snapshots: - supports-color - terser - vite-node@2.1.4(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0): + vite-node@2.1.4(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0): dependencies: cac: 6.7.14 debug: 4.3.7 pathe: 1.1.2 - vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) transitivePeerDependencies: - '@types/node' - less @@ -20585,7 +20904,7 @@ snapshots: - supports-color - terser - vite-plugin-dts@4.0.3(@types/node@22.10.1)(rollup@4.26.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)): + vite-plugin-dts@4.0.3(@types/node@22.10.1)(rollup@4.26.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)): dependencies: '@microsoft/api-extractor': 7.47.4(@types/node@22.10.1) '@rollup/pluginutils': 5.1.3(rollup@4.26.0) @@ -20599,17 +20918,17 @@ snapshots: typescript: 5.6.3 vue-tsc: 2.0.29(typescript@5.6.3) optionalDependencies: - vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-externalize-deps@0.8.0(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)): + vite-plugin-externalize-deps@0.8.0(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)): dependencies: - vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) - vite-plugin-solid@2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)): + vite-plugin-solid@2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)): dependencies: '@babel/core': 7.26.0 '@types/babel__core': 7.20.5 @@ -20617,14 +20936,14 @@ snapshots: merge-anything: 5.1.7 solid-js: 1.9.3 solid-refresh: 0.6.3(solid-js@1.9.3) - vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) - vitefu: 1.0.4(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) + vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) + vitefu: 1.0.4(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)) optionalDependencies: '@testing-library/jest-dom': 6.6.3 transitivePeerDependencies: - supports-color - vite-tsconfig-paths@5.1.3(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0)): + vite-tsconfig-paths@5.1.3(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)): dependencies: debug: 4.3.7 globrex: 0.1.2 @@ -20635,17 +20954,6 @@ snapshots: - supports-color - typescript - vite-tsconfig-paths@5.1.3(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)): - dependencies: - debug: 4.3.7 - globrex: 0.1.2 - tsconfck: 3.1.4(typescript@5.6.3) - optionalDependencies: - vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) - transitivePeerDependencies: - - supports-color - - typescript - vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0): dependencies: esbuild: 0.21.5 @@ -20672,14 +20980,14 @@ snapshots: sugarss: 4.0.1(postcss@8.4.49) terser: 5.36.0 - vitefu@1.0.4(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)): + vitefu@1.0.4(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)): optionalDependencies: - vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) - vitest@2.1.4(@types/node@22.10.1)(jsdom@25.0.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0): + vitest@2.1.4(@types/node@22.10.1)(jsdom@25.0.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0): dependencies: '@vitest/expect': 2.1.4 - '@vitest/mocker': 2.1.4(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0)) + '@vitest/mocker': 2.1.4(vite@5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0)) '@vitest/pretty-format': 2.1.4 '@vitest/runner': 2.1.4 '@vitest/snapshot': 2.1.4 @@ -20695,8 +21003,8 @@ snapshots: tinyexec: 0.3.1 tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) - vite-node: 2.1.4(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.49))(terser@5.36.0) + vite: 5.4.11(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1(postcss@8.4.48))(terser@5.36.0) + vite-node: 2.1.4(@types/node@22.10.1)(less@4.2.0)(sass@1.80.7)(sugarss@4.0.1)(terser@5.36.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.10.1 @@ -20786,7 +21094,7 @@ snapshots: webidl-conversions@7.0.0: {} - webpack-dev-middleware@7.4.2(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)): + webpack-dev-middleware@7.4.2(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)): dependencies: colorette: 2.0.20 memfs: 4.14.0 @@ -20795,9 +21103,9 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.2.0 optionalDependencies: - webpack: 5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0) + webpack: 5.96.1(@swc/core@1.7.42)(esbuild@0.24.0) - webpack-dev-server@5.1.0(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)): + webpack-dev-server@5.1.0(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -20825,10 +21133,10 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)) + webpack-dev-middleware: 7.4.2(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) ws: 8.18.0 optionalDependencies: - webpack: 5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0) + webpack: 5.96.1(@swc/core@1.7.42)(esbuild@0.24.0) transitivePeerDependencies: - bufferutil - debug @@ -20843,14 +21151,14 @@ snapshots: webpack-sources@3.2.3: {} - webpack-subresource-integrity@5.1.0(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)): + webpack-subresource-integrity@5.1.0(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)): dependencies: typed-assert: 1.0.9 - webpack: 5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0) + webpack: 5.96.1(@swc/core@1.7.42)(esbuild@0.24.0) webpack-virtual-modules@0.6.2: {} - webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0): + webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.6 @@ -20872,7 +21180,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)(webpack@5.96.1(@swc/core@1.7.42(@swc/helpers@0.5.13))(esbuild@0.24.0)) + terser-webpack-plugin: 5.3.10(@swc/core@1.7.42)(esbuild@0.24.0)(webpack@5.96.1(@swc/core@1.7.42)(esbuild@0.24.0)) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -21045,11 +21353,11 @@ snapshots: compress-commons: 6.0.2 readable-stream: 4.5.2 - zod-validation-error@3.4.0(zod@3.23.8): + zod-validation-error@3.4.0(zod@3.24.0): dependencies: - zod: 3.23.8 + zod: 3.24.0 - zod@3.23.8: {} + zod@3.24.0: {} zone.js@0.15.0: {}