diff --git a/TODO.md b/TODO.md index f472535a..4a861b4f 100644 --- a/TODO.md +++ b/TODO.md @@ -3,6 +3,9 @@ - [ ] CLI - [x] generate - [x] migrate + - [ ] db + - [x] push + - [ ] seed - [x] info - [x] init - [x] validate @@ -106,5 +109,5 @@ - [ ] Databases - [x] SQLite - [x] PostgreSQL - - [ ] Multi-schema + - [x] Multi-schema - [ ] MySQL diff --git a/package.json b/package.json index 0230dc0c..d32549d3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "zenstack-v3", - "version": "3.0.0-beta.21", + "version": "3.0.0-beta.22", "description": "ZenStack", "packageManager": "pnpm@10.20.0", "scripts": { diff --git a/packages/cli/package.json b/packages/cli/package.json index 3f2187eb..7fc902f5 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -3,7 +3,7 @@ "publisher": "zenstack", "displayName": "ZenStack CLI", "description": "FullStack database toolkit with built-in access control and automatic API generation.", - "version": "3.0.0-beta.21", + "version": "3.0.0-beta.22", "type": "module", "author": { "name": "ZenStack Team" diff --git a/packages/clients/tanstack-query/package.json b/packages/clients/tanstack-query/package.json index ea0cfee4..d4bb2c4b 100644 --- a/packages/clients/tanstack-query/package.json +++ b/packages/clients/tanstack-query/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/tanstack-query", - "version": "3.0.0-beta.21", + "version": "3.0.0-beta.22", "description": "TanStack Query Client for consuming ZenStack v3's CRUD service", "main": "index.js", "type": "module", diff --git a/packages/clients/tanstack-query/src/react.ts b/packages/clients/tanstack-query/src/react.ts index a8f55b9c..b5763ce3 100644 --- a/packages/clients/tanstack-query/src/react.ts +++ b/packages/clients/tanstack-query/src/react.ts @@ -31,13 +31,13 @@ import type { CreateManyArgs, DeleteArgs, DeleteManyArgs, - FindArgs, + FindFirstArgs, + FindManyArgs, FindUniqueArgs, GroupByArgs, GroupByResult, - ModelResult, - SelectIncludeOmit, SelectSubset, + SimplifiedModelResult, Subset, UpdateArgs, UpdateManyAndReturnArgs, @@ -126,13 +126,13 @@ export type ModelMutationResult = UseMutationResult, - TArgs extends SelectIncludeOmit, + TArgs, Array extends boolean = false, -> = Omit, TArgs>, 'mutateAsync'> & { +> = Omit, TArgs>, 'mutateAsync'> & { mutateAsync( args: T, - options?: ModelMutationOptions, T>, - ): Promise[] : ModelResult>; + options?: ModelMutationOptions, T>, + ): Promise>; }; export type ClientHooks = { @@ -145,108 +145,108 @@ export type ModelQueryHooks>( + useFindUnique>( args: SelectSubset>, - options?: ModelQueryOptions | null>, - ): ModelQueryResult | null>; + options?: ModelQueryOptions | null>, + ): ModelQueryResult | null>; - useSuspenseFindUnique>( + useSuspenseFindUnique>( args: SelectSubset>, - options?: ModelSuspenseQueryOptions | null>, - ): ModelSuspenseQueryResult | null>; - - useFindFirst>( - args?: SelectSubset>, - options?: ModelQueryOptions | null>, - ): ModelQueryResult | null>; - - useSuspenseFindFirst>( - args?: SelectSubset>, - options?: ModelSuspenseQueryOptions | null>, - ): ModelSuspenseQueryResult | null>; - - useFindMany>( - args?: SelectSubset>, - options?: ModelQueryOptions[]>, - ): ModelQueryResult[]>; - - useSuspenseFindMany>( - args?: SelectSubset>, - options?: ModelSuspenseQueryOptions[]>, - ): ModelSuspenseQueryResult[]>; - - useInfiniteFindMany>( - args?: SelectSubset>, - options?: ModelInfiniteQueryOptions[]>, - ): ModelInfiniteQueryResult[]>>; - - useSuspenseInfiniteFindMany>( - args?: SelectSubset>, - options?: ModelSuspenseInfiniteQueryOptions[]>, - ): ModelSuspenseInfiniteQueryResult[]>>; - - useCreate>( - options?: ModelMutationOptions, T>, + options?: ModelSuspenseQueryOptions | null>, + ): ModelSuspenseQueryResult | null>; + + useFindFirst>( + args?: SelectSubset>, + options?: ModelQueryOptions | null>, + ): ModelQueryResult | null>; + + useSuspenseFindFirst>( + args?: SelectSubset>, + options?: ModelSuspenseQueryOptions | null>, + ): ModelSuspenseQueryResult | null>; + + useFindMany>( + args?: SelectSubset>, + options?: ModelQueryOptions[]>, + ): ModelQueryResult[]>; + + useSuspenseFindMany>( + args?: SelectSubset>, + options?: ModelSuspenseQueryOptions[]>, + ): ModelSuspenseQueryResult[]>; + + useInfiniteFindMany>( + args?: SelectSubset>, + options?: ModelInfiniteQueryOptions[]>, + ): ModelInfiniteQueryResult[]>>; + + useSuspenseInfiniteFindMany>( + args?: SelectSubset>, + options?: ModelSuspenseInfiniteQueryOptions[]>, + ): ModelSuspenseInfiniteQueryResult[]>>; + + useCreate>( + options?: ModelMutationOptions, T>, ): ModelMutationModelResult; - useCreateMany>( + useCreateMany>( options?: ModelMutationOptions, ): ModelMutationResult; - useCreateManyAndReturn>( - options?: ModelMutationOptions[], T>, + useCreateManyAndReturn>( + options?: ModelMutationOptions[], T>, ): ModelMutationModelResult; - useUpdate>( - options?: ModelMutationOptions, T>, + useUpdate>( + options?: ModelMutationOptions, T>, ): ModelMutationModelResult; - useUpdateMany>( + useUpdateMany>( options?: ModelMutationOptions, ): ModelMutationResult; - useUpdateManyAndReturn>( - options?: ModelMutationOptions[], T>, + useUpdateManyAndReturn>( + options?: ModelMutationOptions[], T>, ): ModelMutationModelResult; - useUpsert>( - options?: ModelMutationOptions, T>, + useUpsert>( + options?: ModelMutationOptions, T>, ): ModelMutationModelResult; - useDelete>( - options?: ModelMutationOptions, T>, + useDelete>( + options?: ModelMutationOptions, T>, ): ModelMutationModelResult; - useDeleteMany>( + useDeleteMany>( options?: ModelMutationOptions, ): ModelMutationResult; - useCount>( + useCount>( args?: Subset>, options?: ModelQueryOptions>, ): ModelQueryResult>; - useSuspenseCount>( + useSuspenseCount>( args?: Subset>, options?: ModelSuspenseQueryOptions>, ): ModelSuspenseQueryResult>; - useAggregate>( + useAggregate>( args: Subset>, options?: ModelQueryOptions>, ): ModelQueryResult>; - useSuspenseAggregate>( + useSuspenseAggregate>( args: Subset>, options?: ModelSuspenseQueryOptions>, ): ModelSuspenseQueryResult>; - useGroupBy>( + useGroupBy>( args: Subset>, options?: ModelQueryOptions>, ): ModelQueryResult>; - useSuspenseGroupBy>( + useSuspenseGroupBy>( args: Subset>, options?: ModelSuspenseQueryOptions>, ): ModelSuspenseQueryResult>; diff --git a/packages/clients/tanstack-query/src/svelte.ts b/packages/clients/tanstack-query/src/svelte.ts index 3cd81476..e05840a2 100644 --- a/packages/clients/tanstack-query/src/svelte.ts +++ b/packages/clients/tanstack-query/src/svelte.ts @@ -27,13 +27,13 @@ import type { CreateManyArgs, DeleteArgs, DeleteManyArgs, - FindArgs, + FindFirstArgs, + FindManyArgs, FindUniqueArgs, GroupByArgs, GroupByResult, - ModelResult, - SelectIncludeOmit, SelectSubset, + SimplifiedModelResult, Subset, UpdateArgs, UpdateManyAndReturnArgs, @@ -114,14 +114,17 @@ export type ModelMutationResult = CreateMutationResult, - TArgs extends SelectIncludeOmit, + TArgs, Array extends boolean = false, > = Readable< - Omit, TArgs>>, 'mutateAsync'> & { + Omit< + UnwrapStore, TArgs>>, + 'mutateAsync' + > & { mutateAsync( args: T, - options?: ModelMutationOptions, T>, - ): Promise[] : ModelResult>; + options?: ModelMutationOptions, T>, + ): Promise>; } >; @@ -135,73 +138,73 @@ export type ModelQueryHooks>( + useFindUnique>( args: SelectSubset>, - options?: ModelQueryOptions | null>, - ): ModelQueryResult | null>; - - useFindFirst>( - args?: SelectSubset>, - options?: ModelQueryOptions | null>, - ): ModelQueryResult | null>; - - useFindMany>( - args?: SelectSubset>, - options?: ModelQueryOptions[]>, - ): ModelQueryResult[]>; - - useInfiniteFindMany>( - args?: SelectSubset>, - options?: ModelInfiniteQueryOptions[]>, - ): ModelInfiniteQueryResult[]>>; - - useCreate>( - options?: ModelMutationOptions, T>, + options?: ModelQueryOptions | null>, + ): ModelQueryResult | null>; + + useFindFirst>( + args?: SelectSubset>, + options?: ModelQueryOptions | null>, + ): ModelQueryResult | null>; + + useFindMany>( + args?: SelectSubset>, + options?: ModelQueryOptions[]>, + ): ModelQueryResult[]>; + + useInfiniteFindMany>( + args?: SelectSubset>, + options?: ModelInfiniteQueryOptions[]>, + ): ModelInfiniteQueryResult[]>>; + + useCreate>( + options?: ModelMutationOptions, T>, ): ModelMutationModelResult; - useCreateMany>( + useCreateMany>( options?: ModelMutationOptions, ): ModelMutationResult; - useCreateManyAndReturn>( - options?: ModelMutationOptions[], T>, + useCreateManyAndReturn>( + options?: ModelMutationOptions[], T>, ): ModelMutationModelResult; - useUpdate>( - options?: ModelMutationOptions, T>, + useUpdate>( + options?: ModelMutationOptions, T>, ): ModelMutationModelResult; - useUpdateMany>( + useUpdateMany>( options?: ModelMutationOptions, ): ModelMutationResult; - useUpdateManyAndReturn>( - options?: ModelMutationOptions[], T>, + useUpdateManyAndReturn>( + options?: ModelMutationOptions[], T>, ): ModelMutationModelResult; - useUpsert>( - options?: ModelMutationOptions, T>, + useUpsert>( + options?: ModelMutationOptions, T>, ): ModelMutationModelResult; - useDelete>( - options?: ModelMutationOptions, T>, + useDelete>( + options?: ModelMutationOptions, T>, ): ModelMutationModelResult; - useDeleteMany>( + useDeleteMany>( options?: ModelMutationOptions, ): ModelMutationResult; - useCount>( + useCount>( args?: Subset>, options?: ModelQueryOptions>, ): ModelQueryResult>; - useAggregate>( + useAggregate>( args: Subset>, options?: ModelQueryOptions>, ): ModelQueryResult>; - useGroupBy>( + useGroupBy>( args: Subset>, options?: ModelQueryOptions>, ): ModelQueryResult>; diff --git a/packages/clients/tanstack-query/src/vue.ts b/packages/clients/tanstack-query/src/vue.ts index 2623f014..5c71f319 100644 --- a/packages/clients/tanstack-query/src/vue.ts +++ b/packages/clients/tanstack-query/src/vue.ts @@ -25,13 +25,13 @@ import type { CreateManyArgs, DeleteArgs, DeleteManyArgs, - FindArgs, + FindFirstArgs, + FindManyArgs, FindUniqueArgs, GroupByArgs, GroupByResult, - ModelResult, - SelectIncludeOmit, SelectSubset, + SimplifiedModelResult, Subset, UpdateArgs, UpdateManyAndReturnArgs, @@ -103,13 +103,13 @@ export type ModelMutationResult = UseMutationReturnType, - TArgs extends SelectIncludeOmit, + TArgs, Array extends boolean = false, -> = Omit, TArgs>, 'mutateAsync'> & { +> = Omit, TArgs>, 'mutateAsync'> & { mutateAsync( args: T, - options?: ModelMutationOptions, T>, - ): Promise[] : ModelResult>; + options?: ModelMutationOptions, T>, + ): Promise>; }; export type ClientHooks = { @@ -122,73 +122,73 @@ export type ModelQueryHooks>( + useFindUnique>( args: SelectSubset>, - options?: ModelQueryOptions | null>, - ): ModelQueryResult | null>; - - useFindFirst>( - args?: SelectSubset>, - options?: ModelQueryOptions | null>, - ): ModelQueryResult | null>; - - useFindMany>( - args?: SelectSubset>, - options?: ModelQueryOptions[]>, - ): ModelQueryResult[]>; - - useInfiniteFindMany>( - args?: SelectSubset>, - options?: ModelInfiniteQueryOptions[]>, - ): ModelInfiniteQueryResult[]>>; - - useCreate>( - options?: ModelMutationOptions, T>, + options?: ModelQueryOptions | null>, + ): ModelQueryResult | null>; + + useFindFirst>( + args?: SelectSubset>, + options?: ModelQueryOptions | null>, + ): ModelQueryResult | null>; + + useFindMany>( + args?: SelectSubset>, + options?: ModelQueryOptions[]>, + ): ModelQueryResult[]>; + + useInfiniteFindMany>( + args?: SelectSubset>, + options?: ModelInfiniteQueryOptions[]>, + ): ModelInfiniteQueryResult[]>>; + + useCreate>( + options?: ModelMutationOptions, T>, ): ModelMutationModelResult; - useCreateMany>( + useCreateMany>( options?: ModelMutationOptions, ): ModelMutationResult; - useCreateManyAndReturn>( - options?: ModelMutationOptions[], T>, + useCreateManyAndReturn>( + options?: ModelMutationOptions[], T>, ): ModelMutationModelResult; - useUpdate>( - options?: ModelMutationOptions, T>, + useUpdate>( + options?: ModelMutationOptions, T>, ): ModelMutationModelResult; - useUpdateMany>( + useUpdateMany>( options?: ModelMutationOptions, ): ModelMutationResult; - useUpdateManyAndReturn>( - options?: ModelMutationOptions[], T>, + useUpdateManyAndReturn>( + options?: ModelMutationOptions[], T>, ): ModelMutationModelResult; - useUpsert>( - options?: ModelMutationOptions, T>, + useUpsert>( + options?: ModelMutationOptions, T>, ): ModelMutationModelResult; - useDelete>( - options?: ModelMutationOptions, T>, + useDelete>( + options?: ModelMutationOptions, T>, ): ModelMutationModelResult; - useDeleteMany>( + useDeleteMany>( options?: ModelMutationOptions, ): ModelMutationResult; - useCount>( + useCount>( args?: Subset>, options?: ModelQueryOptions>, ): ModelQueryResult>; - useAggregate>( + useAggregate>( args: Subset>, options?: ModelQueryOptions>, ): ModelQueryResult>; - useGroupBy>( + useGroupBy>( args: Subset>, options?: ModelQueryOptions>, ): ModelQueryResult>; diff --git a/packages/clients/tanstack-query/test/react-query.test.tsx b/packages/clients/tanstack-query/test/react-query.test.tsx index e9ea8295..9a178f48 100644 --- a/packages/clients/tanstack-query/test/react-query.test.tsx +++ b/packages/clients/tanstack-query/test/react-query.test.tsx @@ -25,7 +25,7 @@ describe('React Query Test', () => { const Provider = QuerySettingsProvider; const wrapper = ({ children }: { children: React.ReactNode }) => ( - {children} + {children} ); return { queryClient, wrapper }; diff --git a/packages/common-helpers/package.json b/packages/common-helpers/package.json index 421b8306..083bcccf 100644 --- a/packages/common-helpers/package.json +++ b/packages/common-helpers/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/common-helpers", - "version": "3.0.0-beta.21", + "version": "3.0.0-beta.22", "description": "ZenStack Common Helpers", "type": "module", "scripts": { diff --git a/packages/config/eslint-config/package.json b/packages/config/eslint-config/package.json index 411d7649..57aa5298 100644 --- a/packages/config/eslint-config/package.json +++ b/packages/config/eslint-config/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/eslint-config", - "version": "3.0.0-beta.21", + "version": "3.0.0-beta.22", "type": "module", "private": true, "license": "MIT" diff --git a/packages/config/typescript-config/package.json b/packages/config/typescript-config/package.json index 8854ce61..7810277e 100644 --- a/packages/config/typescript-config/package.json +++ b/packages/config/typescript-config/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/typescript-config", - "version": "3.0.0-beta.21", + "version": "3.0.0-beta.22", "private": true, "license": "MIT" } diff --git a/packages/config/vitest-config/package.json b/packages/config/vitest-config/package.json index 7c479951..a510270d 100644 --- a/packages/config/vitest-config/package.json +++ b/packages/config/vitest-config/package.json @@ -1,7 +1,7 @@ { "name": "@zenstackhq/vitest-config", "type": "module", - "version": "3.0.0-beta.21", + "version": "3.0.0-beta.22", "private": true, "license": "MIT", "exports": { diff --git a/packages/create-zenstack/package.json b/packages/create-zenstack/package.json index 2ca35a0e..25360740 100644 --- a/packages/create-zenstack/package.json +++ b/packages/create-zenstack/package.json @@ -1,6 +1,6 @@ { "name": "create-zenstack", - "version": "3.0.0-beta.21", + "version": "3.0.0-beta.22", "description": "Create a new ZenStack project", "type": "module", "scripts": { diff --git a/packages/dialects/sql.js/package.json b/packages/dialects/sql.js/package.json index 74028a95..47f332c9 100644 --- a/packages/dialects/sql.js/package.json +++ b/packages/dialects/sql.js/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/kysely-sql-js", - "version": "3.0.0-beta.21", + "version": "3.0.0-beta.22", "description": "Kysely dialect for sql.js", "type": "module", "scripts": { diff --git a/packages/language/package.json b/packages/language/package.json index 7bc7408d..a7595a09 100644 --- a/packages/language/package.json +++ b/packages/language/package.json @@ -1,7 +1,7 @@ { "name": "@zenstackhq/language", "description": "ZenStack ZModel language specification", - "version": "3.0.0-beta.21", + "version": "3.0.0-beta.22", "license": "MIT", "author": "ZenStack Team", "files": [ diff --git a/packages/orm/package.json b/packages/orm/package.json index fb1975f5..e72272ef 100644 --- a/packages/orm/package.json +++ b/packages/orm/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/orm", - "version": "3.0.0-beta.21", + "version": "3.0.0-beta.22", "description": "ZenStack ORM", "type": "module", "scripts": { diff --git a/packages/orm/src/client/contract.ts b/packages/orm/src/client/contract.ts index e9383162..7f1fd48c 100644 --- a/packages/orm/src/client/contract.ts +++ b/packages/orm/src/client/contract.ts @@ -14,12 +14,14 @@ import type { CreateManyArgs, DeleteArgs, DeleteManyArgs, - FindArgs, + FindFirstArgs, + FindManyArgs, FindUniqueArgs, GroupByArgs, GroupByResult, ModelResult, SelectSubset, + SimplifiedModelResult, Subset, UpdateArgs, UpdateManyAndReturnArgs, @@ -323,9 +325,9 @@ export type AllModelOperations>( - args?: SelectSubset>, - ): ZenStackPromise>[]>; + findMany>( + args?: SelectSubset>, + ): ZenStackPromise[]>; /** * Returns a uniquely identified entity. @@ -333,9 +335,9 @@ export type AllModelOperations>( + findUnique>( args: SelectSubset>, - ): ZenStackPromise> | null>; + ): ZenStackPromise | null>; /** * Returns a uniquely identified entity or throws `NotFoundError` if not found. @@ -343,9 +345,9 @@ export type AllModelOperations>( + findUniqueOrThrow>( args: SelectSubset>, - ): ZenStackPromise>>; + ): ZenStackPromise>; /** * Returns the first entity. @@ -353,9 +355,9 @@ export type AllModelOperations>( - args?: SelectSubset>, - ): ZenStackPromise> | null>; + findFirst>( + args?: SelectSubset>, + ): ZenStackPromise | null>; /** * Returns the first entity or throws `NotFoundError` if not found. @@ -363,9 +365,9 @@ export type AllModelOperations>( - args?: SelectSubset>, - ): ZenStackPromise>>; + findFirstOrThrow>( + args?: SelectSubset>, + ): ZenStackPromise>; /** * Creates a new entity. @@ -419,9 +421,9 @@ export type AllModelOperations>( + create>( args: SelectSubset>, - ): ZenStackPromise>>; + ): ZenStackPromise>; /** * Creates multiple entities. Only scalar fields are allowed. @@ -448,7 +450,7 @@ export type AllModelOperations>( + createMany>( args?: SelectSubset>, ): ZenStackPromise; @@ -470,9 +472,9 @@ export type AllModelOperations>( + createManyAndReturn>( args?: SelectSubset>, - ): ZenStackPromise>[]>; + ): ZenStackPromise[]>; /** * Updates a uniquely identified entity. @@ -591,9 +593,9 @@ export type AllModelOperations>( + update>( args: SelectSubset>, - ): ZenStackPromise>>; + ): ZenStackPromise>; /** * Updates multiple entities. @@ -615,7 +617,7 @@ export type AllModelOperations>( + updateMany>( args: Subset>, ): ZenStackPromise; @@ -641,9 +643,9 @@ export type AllModelOperations>( + updateManyAndReturn>( args: Subset>, - ): ZenStackPromise>[]>; + ): ZenStackPromise[]>; /** * Creates or updates an entity. @@ -665,9 +667,9 @@ export type AllModelOperations>( + upsert>( args: SelectSubset>, - ): ZenStackPromise>>; + ): ZenStackPromise>; /** * Deletes a uniquely identifiable entity. @@ -688,9 +690,9 @@ export type AllModelOperations>( + delete>( args: SelectSubset>, - ): ZenStackPromise>>; + ): ZenStackPromise>; /** * Deletes multiple entities. @@ -711,7 +713,7 @@ export type AllModelOperations>( + deleteMany>( args?: Subset>, ): ZenStackPromise; @@ -733,7 +735,7 @@ export type AllModelOperations>( + count>( args?: Subset>, ): ZenStackPromise>>; @@ -754,7 +756,7 @@ export type AllModelOperations>( + aggregate>( args: Subset>, ): ZenStackPromise>>; @@ -791,7 +793,7 @@ export type AllModelOperations>( + groupBy>( args: Subset>, ): ZenStackPromise>>; }; diff --git a/packages/orm/src/client/crud-types.ts b/packages/orm/src/client/crud-types.ts index fd9714ed..e1af448f 100644 --- a/packages/orm/src/client/crud-types.ts +++ b/packages/orm/src/client/crud-types.ts @@ -39,6 +39,7 @@ import type { Optional, OrArray, Simplify, + SimplifyIf, ValueOfPotentialTuple, WrapType, XOR, @@ -135,7 +136,7 @@ type SelectCountResult export type ModelResult< Schema extends SchemaDef, Model extends GetModels, - Args extends SelectIncludeOmit = {}, + Args = {}, Optional = false, Array = false, > = WrapType< @@ -181,7 +182,7 @@ export type ModelResult< export type SimplifiedModelResult< Schema extends SchemaDef, Model extends GetModels, - Args extends SelectIncludeOmit = {}, + Args = {}, Optional = false, Array = false, > = Simplify>; @@ -663,33 +664,64 @@ export type FindArgs< (AllowFilter extends true ? FilterArgs : {}) & SelectIncludeOmit; -export type FindManyArgs> = FindArgs; -export type FindFirstArgs> = FindArgs; +export type FindManyArgs< + Schema extends SchemaDef, + Model extends GetModels, + Simplify extends boolean = false, +> = SimplifyIf, Simplify>; -export type FindUniqueArgs> = { - where?: WhereUniqueInput; -} & SelectIncludeOmit; +export type FindFirstArgs< + Schema extends SchemaDef, + Model extends GetModels, + Simplify extends boolean = false, +> = SimplifyIf, Simplify>; + +export type FindUniqueArgs< + Schema extends SchemaDef, + Model extends GetModels, + Simplify extends boolean = false, +> = SimplifyIf< + { + where?: WhereUniqueInput; + } & SelectIncludeOmit, + Simplify +>; //#endregion //#region Create args -export type CreateArgs> = { - data: CreateInput; - select?: SelectInput; - include?: IncludeInput; - omit?: OmitInput; -}; +export type CreateArgs< + Schema extends SchemaDef, + Model extends GetModels, + Simplify extends boolean = false, +> = SimplifyIf< + { + data: CreateInput; + select?: SelectInput; + include?: IncludeInput; + omit?: OmitInput; + }, + Simplify +>; -export type CreateManyArgs> = CreateManyInput; +export type CreateManyArgs< + Schema extends SchemaDef, + Model extends GetModels, + Simplify extends boolean = false, +> = SimplifyIf, Simplify>; -export type CreateManyAndReturnArgs> = CreateManyInput< - Schema, - Model -> & { - select?: SelectInput; - omit?: OmitInput; -}; +export type CreateManyAndReturnArgs< + Schema extends SchemaDef, + Model extends GetModels, + Simplify extends boolean = false, +> = SimplifyIf< + CreateManyInput & { + select?: SelectInput; + omit?: OmitInput; + }, + Simplify +>; type OptionalWrap, T extends object> = Optional< T, @@ -707,17 +739,20 @@ type CreateScalarPayload; +// For unknown reason toplevel `Simplify` can't simplify this type, so we added an extra layer +// to make it work type ScalarCreatePayload< Schema extends SchemaDef, Model extends GetModels, Field extends ScalarFields, -> = +> = Simplify< | MapModelFieldType | (FieldIsArray extends true ? { set?: MapModelFieldType; } - : never); + : never) +>; type CreateFKPayload> = OptionalWrap< Schema, @@ -812,26 +847,38 @@ type NestedCreateManyInput< // #region Update args -export type UpdateArgs> = { - data: UpdateInput; - where: WhereUniqueInput; - select?: SelectInput; - include?: IncludeInput; - omit?: OmitInput; -}; - -export type UpdateManyArgs> = UpdateManyPayload< - Schema, - Model +export type UpdateArgs< + Schema extends SchemaDef, + Model extends GetModels, + Simplify extends boolean = false, +> = SimplifyIf< + { + data: UpdateInput; + where: WhereUniqueInput; + select?: SelectInput; + include?: IncludeInput; + omit?: OmitInput; + }, + Simplify >; -export type UpdateManyAndReturnArgs> = UpdateManyPayload< - Schema, - Model -> & { - select?: SelectInput; - omit?: OmitInput; -}; +export type UpdateManyArgs< + Schema extends SchemaDef, + Model extends GetModels, + Simplify extends boolean = false, +> = SimplifyIf, Simplify>; + +export type UpdateManyAndReturnArgs< + Schema extends SchemaDef, + Model extends GetModels, + Simplify extends boolean = false, +> = SimplifyIf< + UpdateManyPayload & { + select?: SelectInput; + omit?: OmitInput; + }, + Simplify +>; type UpdateManyPayload, Without extends string = never> = { data: OrArray>; @@ -839,14 +886,21 @@ type UpdateManyPayload limit?: number; }; -export type UpsertArgs> = { - create: CreateInput; - update: UpdateInput; - where: WhereUniqueInput; - select?: SelectInput; - include?: IncludeInput; - omit?: OmitInput; -}; +export type UpsertArgs< + Schema extends SchemaDef, + Model extends GetModels, + Simplify extends boolean = false, +> = SimplifyIf< + { + create: CreateInput; + update: UpdateInput; + where: WhereUniqueInput; + select?: SelectInput; + include?: IncludeInput; + omit?: OmitInput; + }, + Simplify +>; type UpdateScalarInput< Schema extends SchemaDef, @@ -958,38 +1012,54 @@ type ToOneRelationUpdateInput< // #region Delete args -export type DeleteArgs> = { - where: WhereUniqueInput; - select?: SelectInput; - include?: IncludeInput; - omit?: OmitInput; -}; +export type DeleteArgs< + Schema extends SchemaDef, + Model extends GetModels, + Simplify extends boolean = false, +> = SimplifyIf< + { + where: WhereUniqueInput; + select?: SelectInput; + include?: IncludeInput; + omit?: OmitInput; + }, + Simplify +>; -export type DeleteManyArgs> = { - where?: WhereInput; - limit?: number; -}; +export type DeleteManyArgs< + Schema extends SchemaDef, + Model extends GetModels, + Simplify extends boolean = false, +> = SimplifyIf< + { + where?: WhereInput; + limit?: number; + }, + Simplify +>; // #endregion // #region Count args -export type CountArgs> = Omit< - FindArgs, - 'select' | 'include' | 'distinct' | 'omit' -> & { - select?: CountAggregateInput | true; -}; +export type CountArgs< + Schema extends SchemaDef, + Model extends GetModels, + Simplify extends boolean = false, +> = SimplifyIf< + Omit, 'select' | 'include' | 'distinct' | 'omit'> & { + select?: CountAggregateInput | true; + }, + Simplify +>; type CountAggregateInput> = { [Key in NonRelationFields]?: true; } & { _all?: true }; -export type CountResult< - Schema extends SchemaDef, - Model extends GetModels, - Args extends CountArgs, -> = Args extends { select: infer S } +export type CountResult, Args> = Args extends { + select: infer S; +} ? S extends true ? number : { @@ -1001,21 +1071,28 @@ export type CountResult< // #region Aggregate -export type AggregateArgs> = { - where?: WhereInput; - skip?: number; - take?: number; - orderBy?: OrArray>; -} & { - _count?: true | CountAggregateInput; - _min?: MinMaxInput; - _max?: MinMaxInput; -} & (NumericFields extends never - ? {} - : { - _avg?: SumAvgInput; - _sum?: SumAvgInput; - }); +export type AggregateArgs< + Schema extends SchemaDef, + Model extends GetModels, + Simplify extends boolean = false, +> = SimplifyIf< + { + where?: WhereInput; + skip?: number; + take?: number; + orderBy?: OrArray>; + } & { + _count?: true | CountAggregateInput; + _min?: MinMaxInput; + _max?: MinMaxInput; + } & (NumericFields extends never + ? {} + : { + _avg?: SumAvgInput; + _sum?: SumAvgInput; + }), + Simplify +>; type NumericFields> = keyof { [Key in GetModelFields as GetModelFieldType extends @@ -1041,11 +1118,9 @@ type MinMaxInput, Valu : Key]?: ValueType; }; -export type AggregateResult< - Schema extends SchemaDef, - Model extends GetModels, - Args extends AggregateArgs, -> = (Args extends { _count: infer Count } +export type AggregateResult, Args> = (Args extends { + _count: infer Count; +} ? { _count: AggCommonOutput; } @@ -1088,29 +1163,36 @@ type GroupByHaving> = '$expr' >; -export type GroupByArgs> = { - where?: WhereInput; - orderBy?: OrArray>; - by: NonRelationFields | NonEmptyArray>; - having?: GroupByHaving; - take?: number; - skip?: number; - // aggregations - _count?: true | CountAggregateInput; - _min?: MinMaxInput; - _max?: MinMaxInput; -} & (NumericFields extends never - ? {} - : { - // aggregations specific to numeric fields - _avg?: SumAvgInput; - _sum?: SumAvgInput; - }); +export type GroupByArgs< + Schema extends SchemaDef, + Model extends GetModels, + Simplify extends boolean = false, +> = SimplifyIf< + { + where?: WhereInput; + orderBy?: OrArray>; + by: NonRelationFields | NonEmptyArray>; + having?: GroupByHaving; + take?: number; + skip?: number; + // aggregations + _count?: true | CountAggregateInput; + _min?: MinMaxInput; + _max?: MinMaxInput; + } & (NumericFields extends never + ? {} + : { + // aggregations specific to numeric fields + _avg?: SumAvgInput; + _sum?: SumAvgInput; + }), + Simplify +>; export type GroupByResult< Schema extends SchemaDef, Model extends GetModels, - Args extends GroupByArgs, + Args extends { by: unknown }, > = Array< { [Key in NonRelationFields as Key extends ValueOfPotentialTuple diff --git a/packages/orm/src/client/crud/validator/index.ts b/packages/orm/src/client/crud/validator/index.ts index 4cd9c584..dc3e9f5f 100644 --- a/packages/orm/src/client/crud/validator/index.ts +++ b/packages/orm/src/client/crud/validator/index.ts @@ -65,14 +65,18 @@ export class InputValidator { return this.client.$options.validateInput !== false; } - validateFindArgs(model: GetModels, args: unknown, options: { unique: boolean; findOne: boolean }) { + validateFindArgs( + model: GetModels, + args: unknown, + options: { unique: boolean; findOne: boolean }, + ): FindArgs, true> | undefined { return this.validate< FindArgs, true> | undefined, Parameters[1] >(model, 'find', options, (model, options) => this.makeFindSchema(model, options), args); } - validateCreateArgs(model: GetModels, args: unknown) { + validateCreateArgs(model: GetModels, args: unknown): CreateArgs> { return this.validate>>( model, 'create', @@ -82,8 +86,8 @@ export class InputValidator { ); } - validateCreateManyArgs(model: GetModels, args: unknown) { - return this.validate>, undefined>( + validateCreateManyArgs(model: GetModels, args: unknown): CreateManyArgs> { + return this.validate>>( model, 'createMany', undefined, @@ -92,7 +96,10 @@ export class InputValidator { ); } - validateCreateManyAndReturnArgs(model: GetModels, args: unknown) { + validateCreateManyAndReturnArgs( + model: GetModels, + args: unknown, + ): CreateManyAndReturnArgs> | undefined { return this.validate> | undefined>( model, 'createManyAndReturn', @@ -102,7 +109,7 @@ export class InputValidator { ); } - validateUpdateArgs(model: GetModels, args: unknown) { + validateUpdateArgs(model: GetModels, args: unknown): UpdateArgs> { return this.validate>>( model, 'update', @@ -112,7 +119,7 @@ export class InputValidator { ); } - validateUpdateManyArgs(model: GetModels, args: unknown) { + validateUpdateManyArgs(model: GetModels, args: unknown): UpdateManyArgs> { return this.validate>>( model, 'updateMany', @@ -122,8 +129,11 @@ export class InputValidator { ); } - validateUpdateManyAndReturnArgs(model: GetModels, args: unknown) { - return this.validate> | undefined>( + validateUpdateManyAndReturnArgs( + model: GetModels, + args: unknown, + ): UpdateManyAndReturnArgs> { + return this.validate>>( model, 'updateManyAndReturn', undefined, @@ -132,7 +142,7 @@ export class InputValidator { ); } - validateUpsertArgs(model: GetModels, args: unknown) { + validateUpsertArgs(model: GetModels, args: unknown): UpsertArgs> { return this.validate>>( model, 'upsert', @@ -142,7 +152,7 @@ export class InputValidator { ); } - validateDeleteArgs(model: GetModels, args: unknown) { + validateDeleteArgs(model: GetModels, args: unknown): DeleteArgs> { return this.validate>>( model, 'delete', @@ -152,7 +162,10 @@ export class InputValidator { ); } - validateDeleteManyArgs(model: GetModels, args: unknown) { + validateDeleteManyArgs( + model: GetModels, + args: unknown, + ): DeleteManyArgs> | undefined { return this.validate> | undefined>( model, 'deleteMany', @@ -162,8 +175,8 @@ export class InputValidator { ); } - validateCountArgs(model: GetModels, args: unknown) { - return this.validate> | undefined, undefined>( + validateCountArgs(model: GetModels, args: unknown): CountArgs> | undefined { + return this.validate> | undefined>( model, 'count', undefined, @@ -172,8 +185,8 @@ export class InputValidator { ); } - validateAggregateArgs(model: GetModels, args: unknown) { - return this.validate>, undefined>( + validateAggregateArgs(model: GetModels, args: unknown): AggregateArgs> { + return this.validate>>( model, 'aggregate', undefined, @@ -182,8 +195,8 @@ export class InputValidator { ); } - validateGroupByArgs(model: GetModels, args: unknown) { - return this.validate>, undefined>( + validateGroupByArgs(model: GetModels, args: unknown): GroupByArgs> { + return this.validate>>( model, 'groupBy', undefined, diff --git a/packages/orm/src/utils/type-utils.ts b/packages/orm/src/utils/type-utils.ts index e5cd1f33..47b4e095 100644 --- a/packages/orm/src/utils/type-utils.ts +++ b/packages/orm/src/utils/type-utils.ts @@ -16,6 +16,8 @@ export type Simplify = D extends 0 : { [K in keyof T]: Simplify } & {} : T; +export type SimplifyIf = Condition extends true ? Simplify : T; + export type WrapType = Array extends true ? Optional extends true ? T[] | null diff --git a/packages/plugins/policy/package.json b/packages/plugins/policy/package.json index 2bebee97..aae1be4d 100644 --- a/packages/plugins/policy/package.json +++ b/packages/plugins/policy/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/plugin-policy", - "version": "3.0.0-beta.21", + "version": "3.0.0-beta.22", "description": "ZenStack Policy Plugin", "type": "module", "scripts": { diff --git a/packages/schema/package.json b/packages/schema/package.json index b80e9429..38f08f60 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/schema", - "version": "3.0.0-beta.21", + "version": "3.0.0-beta.22", "description": "ZenStack Runtime Schema", "type": "module", "scripts": { diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 2348bdc1..476776a7 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/sdk", - "version": "3.0.0-beta.21", + "version": "3.0.0-beta.22", "description": "ZenStack SDK", "type": "module", "scripts": { diff --git a/packages/server/package.json b/packages/server/package.json index f08bb23b..c2da2eea 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/server", - "version": "3.0.0-beta.21", + "version": "3.0.0-beta.22", "description": "ZenStack automatic CRUD API handlers and server adapters", "type": "module", "scripts": { @@ -125,7 +125,7 @@ "@zenstackhq/orm": "workspace:*", "decimal.js": "catalog:", "superjson": "^2.2.3", - "ts-japi": "^1.12.0", + "ts-japi": "^1.12.1", "ts-pattern": "catalog:", "url-pattern": "^1.0.3", "zod-validation-error": "catalog:" diff --git a/packages/server/src/adapter/next/app-route-handler.ts b/packages/server/src/adapter/next/app-route-handler.ts index 23087865..38ed9d89 100644 --- a/packages/server/src/adapter/next/app-route-handler.ts +++ b/packages/server/src/adapter/next/app-route-handler.ts @@ -1,5 +1,5 @@ import type { SchemaDef } from '@zenstackhq/orm/schema'; -import { NextRequest, NextResponse } from 'next/server'; +import type { NextRequest } from 'next/server'; import type { AppRouteRequestHandlerOptions } from '.'; import { logInternalError } from '../common'; @@ -13,11 +13,11 @@ type Context = { params: Promise<{ path: string[] }> }; */ export default function factory( options: AppRouteRequestHandlerOptions, -): (req: NextRequest, context: Context) => Promise { +): (req: NextRequest, context: Context) => Promise { return async (req: NextRequest, context: Context) => { const client = await options.getClient(req); if (!client) { - return NextResponse.json({ message: 'unable to get ZenStackClient from request context' }, { status: 500 }); + return Response.json({ message: 'unable to get ZenStackClient from request context' }, { status: 500 }); } let params: Awaited; @@ -27,11 +27,11 @@ export default function factory( try { params = await context.params; } catch { - return NextResponse.json({ message: 'Failed to resolve request parameters' }, { status: 500 }); + return Response.json({ message: 'Failed to resolve request parameters' }, { status: 500 }); } if (!params.path) { - return NextResponse.json( + return Response.json( { message: 'missing path parameter' }, { status: 400, @@ -57,10 +57,10 @@ export default function factory( requestBody, client, }); - return NextResponse.json(r.body, { status: r.status }); + return Response.json(r.body, { status: r.status }); } catch (err) { logInternalError(options.apiHandler.log, err); - return NextResponse.json({ message: 'An internal server error occurred' }, { status: 500 }); + return Response.json({ message: 'An internal server error occurred' }, { status: 500 }); } }; } diff --git a/packages/testtools/package.json b/packages/testtools/package.json index 7ae44ce3..2b83ae0c 100644 --- a/packages/testtools/package.json +++ b/packages/testtools/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/testtools", - "version": "3.0.0-beta.21", + "version": "3.0.0-beta.22", "description": "ZenStack Test Tools", "type": "module", "scripts": { diff --git a/packages/zod/package.json b/packages/zod/package.json index 36dace1a..aa4bc7b9 100644 --- a/packages/zod/package.json +++ b/packages/zod/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/zod", - "version": "3.0.0-beta.21", + "version": "3.0.0-beta.22", "description": "", "type": "module", "main": "index.js", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 23f034f4..5f2fdc5a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -537,8 +537,8 @@ importers: specifier: ^2.2.3 version: 2.2.3 ts-japi: - specifier: ^1.12.0 - version: 1.12.0 + specifier: ^1.12.1 + version: 1.12.1 ts-pattern: specifier: 'catalog:' version: 5.7.1 @@ -599,7 +599,7 @@ importers: version: 16.0.1(@babel/core@7.28.5)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) nuxt: specifier: ^4.2.0 - version: 4.2.0(@parcel/watcher@2.5.1)(@types/node@20.19.24)(@vue/compiler-sfc@3.5.22)(better-sqlite3@12.2.0)(db0@0.3.4(better-sqlite3@12.2.0))(eslint@9.29.0(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.5.0)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(tsx@4.20.3)(typescript@5.8.3)(vite@7.1.12(@types/node@20.19.24)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.3)(yaml@2.8.1))(yaml@2.8.1) + version: 4.2.0(@parcel/watcher@2.5.1)(@types/node@20.19.24)(@vue/compiler-sfc@3.5.22)(better-sqlite3@12.2.0)(db0@0.3.4(better-sqlite3@12.2.0))(eslint@9.29.0(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(tsx@4.20.3)(typescript@5.8.3)(vite@7.1.12(@types/node@20.19.24)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.3)(yaml@2.8.1))(yaml@2.8.1) supertest: specifier: ^7.1.4 version: 7.1.4 @@ -864,8 +864,8 @@ importers: packages: - '@acemir/cssom@0.9.19': - resolution: {integrity: sha512-Pp2gAQXPZ2o7lt4j0IMwNRXqQ3pagxtDj5wctL5U2Lz4oV0ocDNlkgx4DpxfyKav4S/bePuI+SMqcBSUHLy9kg==} + '@acemir/cssom@0.9.23': + resolution: {integrity: sha512-2kJ1HxBKzPLbmhZpxBiTZggjtgCwKg1ma5RHShxvd6zgqhDEdEkzpiwe7jLkI2p2BrZvFCXIihdoMkl1H39VnA==} '@alloc/quick-lru@5.2.0': resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} @@ -1047,8 +1047,8 @@ packages: peerDependencies: '@csstools/css-tokenizer': ^3.0.4 - '@csstools/css-syntax-patches-for-csstree@1.0.15': - resolution: {integrity: sha512-q0p6zkVq2lJnmzZVPR33doA51G7YOja+FBvRdp5ISIthL0MtFCgYHHhR563z9WFGxcOn0WfjSkPDJ5Qig3H3Sw==} + '@csstools/css-syntax-patches-for-csstree@1.0.16': + resolution: {integrity: sha512-2SpS4/UaWQaGpBINyG5ZuCHnUDeVByOhvbkARwfmnfxDvTaj80yOI1cD8Tw93ICV5Fx4fnyDKWQZI1CDtcWyUg==} engines: {node: '>=18'} '@csstools/css-tokenizer@3.0.4': @@ -2604,8 +2604,8 @@ packages: '@swc/helpers@0.5.15': resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} - '@swc/types@0.1.23': - resolution: {integrity: sha512-u1iIVZV9Q0jxY+yM2vw/hZGDNudsN85bBpTqzAQ9rzkxW9D+e3aEM4Han+ow518gSewkXgjmEK0BD79ZcNVgPw==} + '@swc/types@0.1.25': + resolution: {integrity: sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g==} '@tailwindcss/node@4.1.16': resolution: {integrity: sha512-BX5iaSsloNuvKNHRN3k2RcCuTEgASTo77mofW0vmeHkfrDWaoFAFvNHpEgtu0eqyypcyiBkDWzSMxJhp3AUVcw==} @@ -3802,8 +3802,8 @@ packages: resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} - cssstyle@5.3.2: - resolution: {integrity: sha512-zDMqXh8Vs1CdRYZQ2M633m/SFgcjlu8RB8b/1h82i+6vpArF507NSYIWJHGlJaTWoS+imcnctmEz43txhbVkOw==} + cssstyle@5.3.3: + resolution: {integrity: sha512-OytmFH+13/QXONJcC75QNdMtKpceNk3u8ThBjyyYjkEcy/ekBwR1mMAuNvi3gdBPW3N5TlCzQ0WZw8H0lN/bDw==} engines: {node: '>=20'} csstype@3.1.3: @@ -3868,6 +3868,15 @@ packages: supports-color: optional: true + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decimal.js@10.6.0: resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==} @@ -6798,8 +6807,8 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - ts-japi@1.12.0: - resolution: {integrity: sha512-mmATC0x9lYXbD5ziSdi1c+E+7tmzh/F5dJlZTpvXYjMyI4LJa0WMtAH/Go4Dsnm8vxSLTct1gdkk2b83MxfHZg==} + ts-japi@1.12.1: + resolution: {integrity: sha512-wATSiA26LAMXe9fEBm+UjuORWjqLhShBEgRw00ORAv5Lcq3OwdOpHnbqKuNGU077pit8p2MUga0fomBYBk39WA==} engines: {node: '>=10'} ts-pattern@5.7.1: @@ -7519,7 +7528,7 @@ packages: snapshots: - '@acemir/cssom@0.9.19': + '@acemir/cssom@0.9.23': optional: true '@alloc/quick-lru@5.2.0': {} @@ -7759,16 +7768,16 @@ snapshots: '@csstools/css-tokenizer': 3.0.4 optional: true - '@csstools/css-syntax-patches-for-csstree@1.0.15': + '@csstools/css-syntax-patches-for-csstree@1.0.16': optional: true '@csstools/css-tokenizer@3.0.4': optional: true - '@dxup/nuxt@0.2.0(magicast@0.5.0)': + '@dxup/nuxt@0.2.0(magicast@0.3.5)': dependencies: '@dxup/unimport': 0.1.0 - '@nuxt/kit': 4.2.0(magicast@0.5.0) + '@nuxt/kit': 4.2.0(magicast@0.3.5) chokidar: 4.0.3 pathe: 2.0.3 tinyglobby: 0.2.15 @@ -8263,9 +8272,9 @@ snapshots: '@nolyfill/is-core-module@1.0.39': {} - '@nuxt/cli@3.29.3(magicast@0.5.0)': + '@nuxt/cli@3.29.3(magicast@0.3.5)': dependencies: - c12: 3.3.1(magicast@0.5.0) + c12: 3.3.1(magicast@0.3.5) citty: 0.1.6 clipboardy: 5.0.0 confbox: 0.2.2 @@ -8383,35 +8392,9 @@ snapshots: transitivePeerDependencies: - magicast - '@nuxt/kit@3.20.0(magicast@0.5.0)': - dependencies: - c12: 3.3.1(magicast@0.5.0) - consola: 3.4.2 - defu: 6.1.4 - destr: 2.0.5 - errx: 0.1.0 - exsolve: 1.0.7 - ignore: 7.0.5 - jiti: 2.6.1 - klona: 2.0.6 - knitwork: 1.2.0 - mlly: 1.8.0 - ohash: 2.0.11 - pathe: 2.0.3 - pkg-types: 2.3.0 - rc9: 2.1.2 - scule: 1.3.0 - semver: 7.7.3 - tinyglobby: 0.2.15 - ufo: 1.6.1 - unctx: 2.4.1 - untyped: 2.0.0 - transitivePeerDependencies: - - magicast - - '@nuxt/kit@4.2.0(magicast@0.5.0)': + '@nuxt/kit@4.2.0(magicast@0.3.5)': dependencies: - c12: 3.3.1(magicast@0.5.0) + c12: 3.3.1(magicast@0.3.5) consola: 3.4.2 defu: 6.1.4 destr: 2.0.5 @@ -8434,10 +8417,10 @@ snapshots: transitivePeerDependencies: - magicast - '@nuxt/nitro-server@4.2.0(better-sqlite3@12.2.0)(db0@0.3.4(better-sqlite3@12.2.0))(ioredis@5.8.2)(magicast@0.5.0)(nuxt@4.2.0(@parcel/watcher@2.5.1)(@types/node@20.19.24)(@vue/compiler-sfc@3.5.22)(better-sqlite3@12.2.0)(db0@0.3.4(better-sqlite3@12.2.0))(eslint@9.29.0(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.5.0)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(tsx@4.20.3)(typescript@5.8.3)(vite@7.1.12(@types/node@20.19.24)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.3)(yaml@2.8.1))(yaml@2.8.1))(typescript@5.8.3)': + '@nuxt/nitro-server@4.2.0(better-sqlite3@12.2.0)(db0@0.3.4(better-sqlite3@12.2.0))(ioredis@5.8.2)(magicast@0.3.5)(nuxt@4.2.0(@parcel/watcher@2.5.1)(@types/node@20.19.24)(@vue/compiler-sfc@3.5.22)(better-sqlite3@12.2.0)(db0@0.3.4(better-sqlite3@12.2.0))(eslint@9.29.0(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(tsx@4.20.3)(typescript@5.8.3)(vite@7.1.12(@types/node@20.19.24)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.3)(yaml@2.8.1))(yaml@2.8.1))(typescript@5.8.3)': dependencies: '@nuxt/devalue': 2.0.2 - '@nuxt/kit': 4.2.0(magicast@0.5.0) + '@nuxt/kit': 4.2.0(magicast@0.3.5) '@unhead/vue': 2.0.19(vue@3.5.22(typescript@5.8.3)) '@vue/shared': 3.5.22 consola: 3.4.2 @@ -8452,7 +8435,7 @@ snapshots: klona: 2.0.6 mocked-exports: 0.1.1 nitropack: 2.12.9(better-sqlite3@12.2.0) - nuxt: 4.2.0(@parcel/watcher@2.5.1)(@types/node@20.19.24)(@vue/compiler-sfc@3.5.22)(better-sqlite3@12.2.0)(db0@0.3.4(better-sqlite3@12.2.0))(eslint@9.29.0(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.5.0)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(tsx@4.20.3)(typescript@5.8.3)(vite@7.1.12(@types/node@20.19.24)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.3)(yaml@2.8.1))(yaml@2.8.1) + nuxt: 4.2.0(@parcel/watcher@2.5.1)(@types/node@20.19.24)(@vue/compiler-sfc@3.5.22)(better-sqlite3@12.2.0)(db0@0.3.4(better-sqlite3@12.2.0))(eslint@9.29.0(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(tsx@4.20.3)(typescript@5.8.3)(vite@7.1.12(@types/node@20.19.24)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.3)(yaml@2.8.1))(yaml@2.8.1) pathe: 2.0.3 pkg-types: 2.3.0 radix3: 1.1.2 @@ -8506,9 +8489,9 @@ snapshots: pkg-types: 2.3.0 std-env: 3.10.0 - '@nuxt/telemetry@2.6.6(magicast@0.5.0)': + '@nuxt/telemetry@2.6.6(magicast@0.3.5)': dependencies: - '@nuxt/kit': 3.20.0(magicast@0.5.0) + '@nuxt/kit': 3.20.0(magicast@0.3.5) citty: 0.1.6 consola: 3.4.2 destr: 2.0.5 @@ -8523,9 +8506,9 @@ snapshots: transitivePeerDependencies: - magicast - '@nuxt/vite-builder@4.2.0(@types/node@20.19.24)(eslint@9.29.0(jiti@2.6.1))(lightningcss@1.30.2)(magicast@0.5.0)(nuxt@4.2.0(@parcel/watcher@2.5.1)(@types/node@20.19.24)(@vue/compiler-sfc@3.5.22)(better-sqlite3@12.2.0)(db0@0.3.4(better-sqlite3@12.2.0))(eslint@9.29.0(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.5.0)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(tsx@4.20.3)(typescript@5.8.3)(vite@7.1.12(@types/node@20.19.24)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.3)(yaml@2.8.1))(yaml@2.8.1))(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(tsx@4.20.3)(typescript@5.8.3)(vue@3.5.22(typescript@5.8.3))(yaml@2.8.1)': + '@nuxt/vite-builder@4.2.0(@types/node@20.19.24)(eslint@9.29.0(jiti@2.6.1))(lightningcss@1.30.2)(magicast@0.3.5)(nuxt@4.2.0(@parcel/watcher@2.5.1)(@types/node@20.19.24)(@vue/compiler-sfc@3.5.22)(better-sqlite3@12.2.0)(db0@0.3.4(better-sqlite3@12.2.0))(eslint@9.29.0(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(tsx@4.20.3)(typescript@5.8.3)(vite@7.1.12(@types/node@20.19.24)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.3)(yaml@2.8.1))(yaml@2.8.1))(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(tsx@4.20.3)(typescript@5.8.3)(vue@3.5.22(typescript@5.8.3))(yaml@2.8.1)': dependencies: - '@nuxt/kit': 4.2.0(magicast@0.5.0) + '@nuxt/kit': 4.2.0(magicast@0.3.5) '@rollup/plugin-replace': 6.0.3(rollup@4.52.5) '@vitejs/plugin-vue': 6.0.1(vite@7.1.12(@types/node@20.19.24)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.3)(yaml@2.8.1))(vue@3.5.22(typescript@5.8.3)) '@vitejs/plugin-vue-jsx': 5.1.1(vite@7.1.12(@types/node@20.19.24)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.3)(yaml@2.8.1))(vue@3.5.22(typescript@5.8.3)) @@ -8543,7 +8526,7 @@ snapshots: magic-string: 0.30.21 mlly: 1.8.0 mocked-exports: 0.1.1 - nuxt: 4.2.0(@parcel/watcher@2.5.1)(@types/node@20.19.24)(@vue/compiler-sfc@3.5.22)(better-sqlite3@12.2.0)(db0@0.3.4(better-sqlite3@12.2.0))(eslint@9.29.0(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.5.0)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(tsx@4.20.3)(typescript@5.8.3)(vite@7.1.12(@types/node@20.19.24)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.3)(yaml@2.8.1))(yaml@2.8.1) + nuxt: 4.2.0(@parcel/watcher@2.5.1)(@types/node@20.19.24)(@vue/compiler-sfc@3.5.22)(better-sqlite3@12.2.0)(db0@0.3.4(better-sqlite3@12.2.0))(eslint@9.29.0(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(tsx@4.20.3)(typescript@5.8.3)(vite@7.1.12(@types/node@20.19.24)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.3)(yaml@2.8.1))(yaml@2.8.1) pathe: 2.0.3 pkg-types: 2.3.0 postcss: 8.5.6 @@ -9085,7 +9068,7 @@ snapshots: '@sveltejs/vite-plugin-svelte-inspector@5.0.1(@sveltejs/vite-plugin-svelte@6.2.1(svelte@5.43.3)(vite@7.1.12(@types/node@20.19.24)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.3)(yaml@2.8.1)))(svelte@5.43.3)(vite@7.1.12(@types/node@20.19.24)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.3)(yaml@2.8.1))': dependencies: '@sveltejs/vite-plugin-svelte': 6.2.1(svelte@5.43.3)(vite@7.1.12(@types/node@20.19.24)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.3)(yaml@2.8.1)) - debug: 4.4.1 + debug: 4.4.3 svelte: 5.43.3 vite: 7.1.12(@types/node@20.19.24)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.3)(yaml@2.8.1) transitivePeerDependencies: @@ -9094,7 +9077,7 @@ snapshots: '@sveltejs/vite-plugin-svelte@6.2.1(svelte@5.43.3)(vite@7.1.12(@types/node@20.19.24)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.3)(yaml@2.8.1))': dependencies: '@sveltejs/vite-plugin-svelte-inspector': 5.0.1(@sveltejs/vite-plugin-svelte@6.2.1(svelte@5.43.3)(vite@7.1.12(@types/node@20.19.24)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.3)(yaml@2.8.1)))(svelte@5.43.3)(vite@7.1.12(@types/node@20.19.24)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.3)(yaml@2.8.1)) - debug: 4.4.1 + debug: 4.4.3 deepmerge: 4.3.1 magic-string: 0.30.21 svelte: 5.43.3 @@ -9136,7 +9119,7 @@ snapshots: '@swc/core@1.12.5': dependencies: '@swc/counter': 0.1.3 - '@swc/types': 0.1.23 + '@swc/types': 0.1.25 optionalDependencies: '@swc/core-darwin-arm64': 1.12.5 '@swc/core-darwin-x64': 1.12.5 @@ -9157,7 +9140,7 @@ snapshots: dependencies: tslib: 2.8.1 - '@swc/types@0.1.23': + '@swc/types@0.1.25': dependencies: '@swc/counter': 0.1.3 optional: true @@ -9280,7 +9263,7 @@ snapshots: '@tokenizer/inflate@0.2.7': dependencies: - debug: 4.4.1 + debug: 4.4.3 fflate: 0.8.2 token-types: 6.1.1 transitivePeerDependencies: @@ -10536,10 +10519,10 @@ snapshots: dependencies: css-tree: 2.2.1 - cssstyle@5.3.2: + cssstyle@5.3.3: dependencies: '@asamuzakjp/css-color': 4.0.5 - '@csstools/css-syntax-patches-for-csstree': 1.0.15 + '@csstools/css-syntax-patches-for-csstree': 1.0.16 css-tree: 3.1.0 optional: true @@ -10583,6 +10566,10 @@ snapshots: dependencies: ms: 2.1.3 + debug@4.4.3: + dependencies: + ms: 2.1.3 + decimal.js@10.6.0: {} decompress-response@6.0.0: @@ -10914,7 +10901,7 @@ snapshots: eslint: 9.29.0(jiti@2.6.1) eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.46.2(eslint@9.29.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.29.0(jiti@2.6.1)))(eslint@9.29.0(jiti@2.6.1)) - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.46.2(eslint@9.29.0(jiti@2.6.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.46.2(eslint@9.29.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.29.0(jiti@2.6.1)))(eslint@9.29.0(jiti@2.6.1)))(eslint@9.29.0(jiti@2.6.1)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.46.2(eslint@9.29.0(jiti@2.6.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.29.0(jiti@2.6.1)) eslint-plugin-jsx-a11y: 6.10.2(eslint@9.29.0(jiti@2.6.1)) eslint-plugin-react: 7.37.5(eslint@9.29.0(jiti@2.6.1)) eslint-plugin-react-hooks: 7.0.1(eslint@9.29.0(jiti@2.6.1)) @@ -10947,7 +10934,7 @@ snapshots: tinyglobby: 0.2.15 unrs-resolver: 1.11.1 optionalDependencies: - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.46.2(eslint@9.29.0(jiti@2.6.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.46.2(eslint@9.29.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.29.0(jiti@2.6.1)))(eslint@9.29.0(jiti@2.6.1)))(eslint@9.29.0(jiti@2.6.1)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.46.2(eslint@9.29.0(jiti@2.6.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.29.0(jiti@2.6.1)) transitivePeerDependencies: - supports-color @@ -10962,7 +10949,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.46.2(eslint@9.29.0(jiti@2.6.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.46.2(eslint@9.29.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.29.0(jiti@2.6.1)))(eslint@9.29.0(jiti@2.6.1)))(eslint@9.29.0(jiti@2.6.1)): + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.46.2(eslint@9.29.0(jiti@2.6.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.29.0(jiti@2.6.1)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.9 @@ -11588,7 +11575,7 @@ snapshots: http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.4 - debug: 4.4.1 + debug: 4.4.3 transitivePeerDependencies: - supports-color optional: true @@ -11899,9 +11886,9 @@ snapshots: jsdom@27.1.0: dependencies: - '@acemir/cssom': 0.9.19 + '@acemir/cssom': 0.9.23 '@asamuzakjp/dom-selector': 6.7.4 - cssstyle: 5.3.2 + cssstyle: 5.3.3 data-urls: 6.0.0 decimal.js: 10.6.0 html-encoding-sniffer: 4.0.0 @@ -12500,19 +12487,19 @@ snapshots: dependencies: boolbase: 1.0.0 - nuxt@4.2.0(@parcel/watcher@2.5.1)(@types/node@20.19.24)(@vue/compiler-sfc@3.5.22)(better-sqlite3@12.2.0)(db0@0.3.4(better-sqlite3@12.2.0))(eslint@9.29.0(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.5.0)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(tsx@4.20.3)(typescript@5.8.3)(vite@7.1.12(@types/node@20.19.24)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.3)(yaml@2.8.1))(yaml@2.8.1): + nuxt@4.2.0(@parcel/watcher@2.5.1)(@types/node@20.19.24)(@vue/compiler-sfc@3.5.22)(better-sqlite3@12.2.0)(db0@0.3.4(better-sqlite3@12.2.0))(eslint@9.29.0(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(tsx@4.20.3)(typescript@5.8.3)(vite@7.1.12(@types/node@20.19.24)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.3)(yaml@2.8.1))(yaml@2.8.1): dependencies: - '@dxup/nuxt': 0.2.0(magicast@0.5.0) - '@nuxt/cli': 3.29.3(magicast@0.5.0) + '@dxup/nuxt': 0.2.0(magicast@0.3.5) + '@nuxt/cli': 3.29.3(magicast@0.3.5) '@nuxt/devtools': 2.7.0(vite@7.1.12(@types/node@20.19.24)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.3)(yaml@2.8.1))(vue@3.5.22(typescript@5.8.3)) - '@nuxt/kit': 4.2.0(magicast@0.5.0) - '@nuxt/nitro-server': 4.2.0(better-sqlite3@12.2.0)(db0@0.3.4(better-sqlite3@12.2.0))(ioredis@5.8.2)(magicast@0.5.0)(nuxt@4.2.0(@parcel/watcher@2.5.1)(@types/node@20.19.24)(@vue/compiler-sfc@3.5.22)(better-sqlite3@12.2.0)(db0@0.3.4(better-sqlite3@12.2.0))(eslint@9.29.0(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.5.0)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(tsx@4.20.3)(typescript@5.8.3)(vite@7.1.12(@types/node@20.19.24)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.3)(yaml@2.8.1))(yaml@2.8.1))(typescript@5.8.3) + '@nuxt/kit': 4.2.0(magicast@0.3.5) + '@nuxt/nitro-server': 4.2.0(better-sqlite3@12.2.0)(db0@0.3.4(better-sqlite3@12.2.0))(ioredis@5.8.2)(magicast@0.3.5)(nuxt@4.2.0(@parcel/watcher@2.5.1)(@types/node@20.19.24)(@vue/compiler-sfc@3.5.22)(better-sqlite3@12.2.0)(db0@0.3.4(better-sqlite3@12.2.0))(eslint@9.29.0(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(tsx@4.20.3)(typescript@5.8.3)(vite@7.1.12(@types/node@20.19.24)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.3)(yaml@2.8.1))(yaml@2.8.1))(typescript@5.8.3) '@nuxt/schema': 4.2.0 - '@nuxt/telemetry': 2.6.6(magicast@0.5.0) - '@nuxt/vite-builder': 4.2.0(@types/node@20.19.24)(eslint@9.29.0(jiti@2.6.1))(lightningcss@1.30.2)(magicast@0.5.0)(nuxt@4.2.0(@parcel/watcher@2.5.1)(@types/node@20.19.24)(@vue/compiler-sfc@3.5.22)(better-sqlite3@12.2.0)(db0@0.3.4(better-sqlite3@12.2.0))(eslint@9.29.0(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.5.0)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(tsx@4.20.3)(typescript@5.8.3)(vite@7.1.12(@types/node@20.19.24)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.3)(yaml@2.8.1))(yaml@2.8.1))(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(tsx@4.20.3)(typescript@5.8.3)(vue@3.5.22(typescript@5.8.3))(yaml@2.8.1) + '@nuxt/telemetry': 2.6.6(magicast@0.3.5) + '@nuxt/vite-builder': 4.2.0(@types/node@20.19.24)(eslint@9.29.0(jiti@2.6.1))(lightningcss@1.30.2)(magicast@0.3.5)(nuxt@4.2.0(@parcel/watcher@2.5.1)(@types/node@20.19.24)(@vue/compiler-sfc@3.5.22)(better-sqlite3@12.2.0)(db0@0.3.4(better-sqlite3@12.2.0))(eslint@9.29.0(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(tsx@4.20.3)(typescript@5.8.3)(vite@7.1.12(@types/node@20.19.24)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.3)(yaml@2.8.1))(yaml@2.8.1))(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(tsx@4.20.3)(typescript@5.8.3)(vue@3.5.22(typescript@5.8.3))(yaml@2.8.1) '@unhead/vue': 2.0.19(vue@3.5.22(typescript@5.8.3)) '@vue/shared': 3.5.22 - c12: 3.3.1(magicast@0.5.0) + c12: 3.3.1(magicast@0.3.5) chokidar: 4.0.3 compatx: 0.2.0 consola: 3.4.2 @@ -14083,7 +14070,7 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-japi@1.12.0: {} + ts-japi@1.12.1: {} ts-pattern@5.7.1: {} diff --git a/samples/next.js/package.json b/samples/next.js/package.json index 6c65bc1f..cf9cc000 100644 --- a/samples/next.js/package.json +++ b/samples/next.js/package.json @@ -1,6 +1,6 @@ { "name": "next.js", - "version": "3.0.0-beta.21", + "version": "3.0.0-beta.22", "private": true, "scripts": { "generate": "zen generate --lite", diff --git a/samples/orm/package.json b/samples/orm/package.json index 9e7c56a3..360dfed6 100644 --- a/samples/orm/package.json +++ b/samples/orm/package.json @@ -1,6 +1,6 @@ { "name": "sample-blog", - "version": "3.0.0-beta.21", + "version": "3.0.0-beta.22", "description": "", "main": "index.js", "private": true, diff --git a/tests/e2e/package.json b/tests/e2e/package.json index de46284e..9748209c 100644 --- a/tests/e2e/package.json +++ b/tests/e2e/package.json @@ -1,6 +1,6 @@ { "name": "e2e", - "version": "3.0.0-beta.21", + "version": "3.0.0-beta.22", "private": true, "type": "module", "scripts": { diff --git a/tests/regression/package.json b/tests/regression/package.json index d59f39e5..f2475f5f 100644 --- a/tests/regression/package.json +++ b/tests/regression/package.json @@ -1,6 +1,6 @@ { "name": "regression", - "version": "3.0.0-beta.21", + "version": "3.0.0-beta.22", "private": true, "type": "module", "scripts": {