diff --git a/package.json b/package.json index 8d2c227af..90061ea07 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "zenstack-monorepo", - "version": "2.0.0-beta.9", + "version": "2.0.0-beta.10", "description": "", "scripts": { "build": "pnpm -r build", diff --git a/packages/ide/jetbrains/build.gradle.kts b/packages/ide/jetbrains/build.gradle.kts index d7a6e1ebe..361f2e1cd 100644 --- a/packages/ide/jetbrains/build.gradle.kts +++ b/packages/ide/jetbrains/build.gradle.kts @@ -9,7 +9,7 @@ plugins { } group = "dev.zenstack" -version = "2.0.0-beta.9" +version = "2.0.0-beta.10" repositories { mavenCentral() diff --git a/packages/ide/jetbrains/package.json b/packages/ide/jetbrains/package.json index d335aaee9..8616104c3 100644 --- a/packages/ide/jetbrains/package.json +++ b/packages/ide/jetbrains/package.json @@ -1,6 +1,6 @@ { "name": "jetbrains", - "version": "2.0.0-beta.9", + "version": "2.0.0-beta.10", "displayName": "ZenStack JetBrains IDE Plugin", "description": "ZenStack JetBrains IDE plugin", "homepage": "https://zenstack.dev", diff --git a/packages/language/package.json b/packages/language/package.json index f92b25304..285fee53b 100644 --- a/packages/language/package.json +++ b/packages/language/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/language", - "version": "2.0.0-beta.9", + "version": "2.0.0-beta.10", "displayName": "ZenStack modeling language compiler", "description": "ZenStack modeling language compiler", "homepage": "https://zenstack.dev", diff --git a/packages/misc/redwood/package.json b/packages/misc/redwood/package.json index 7a122df28..1c20b2379 100644 --- a/packages/misc/redwood/package.json +++ b/packages/misc/redwood/package.json @@ -1,7 +1,7 @@ { "name": "@zenstackhq/redwood", "displayName": "ZenStack RedwoodJS Integration", - "version": "2.0.0-beta.9", + "version": "2.0.0-beta.10", "description": "CLI and runtime for integrating ZenStack with RedwoodJS projects.", "repository": { "type": "git", diff --git a/packages/plugins/openapi/package.json b/packages/plugins/openapi/package.json index d07dc6b44..748290a95 100644 --- a/packages/plugins/openapi/package.json +++ b/packages/plugins/openapi/package.json @@ -1,7 +1,7 @@ { "name": "@zenstackhq/openapi", "displayName": "ZenStack Plugin and Runtime for OpenAPI", - "version": "2.0.0-beta.9", + "version": "2.0.0-beta.10", "description": "ZenStack plugin and runtime supporting OpenAPI", "main": "index.js", "repository": { @@ -26,7 +26,6 @@ "author": "ZenStack Team", "license": "MIT", "dependencies": { - "@prisma/generator-helper": "^5.0.0", "@zenstackhq/runtime": "workspace:*", "@zenstackhq/sdk": "workspace:*", "change-case": "^4.1.2", diff --git a/packages/plugins/openapi/src/generator-base.ts b/packages/plugins/openapi/src/generator-base.ts index e033a5206..2b692dd1b 100644 --- a/packages/plugins/openapi/src/generator-base.ts +++ b/packages/plugins/openapi/src/generator-base.ts @@ -1,5 +1,11 @@ -import type { DMMF } from '@prisma/generator-helper'; -import { PluginError, PluginOptions, PluginResult, getDataModels, hasAttribute } from '@zenstackhq/sdk'; +import { + PluginError, + getDataModels, + hasAttribute, + type DMMF, + type PluginOptions, + type PluginResult, +} from '@zenstackhq/sdk'; import { Model } from '@zenstackhq/sdk/ast'; import type { OpenAPIV3_1 as OAPI } from 'openapi-types'; import semver from 'semver'; diff --git a/packages/plugins/openapi/src/rest-generator.ts b/packages/plugins/openapi/src/rest-generator.ts index b1ed77829..d248145fd 100644 --- a/packages/plugins/openapi/src/rest-generator.ts +++ b/packages/plugins/openapi/src/rest-generator.ts @@ -1,6 +1,5 @@ // Inspired by: https://github.com/omar-dulaimi/prisma-trpc-generator -import type { DMMF } from '@prisma/generator-helper'; import { analyzePolicies, getDataModels, @@ -10,6 +9,7 @@ import { isRelationshipField, requireOption, resolvePath, + type DMMF, } from '@zenstackhq/sdk'; import { DataModel, DataModelField, DataModelFieldType, Enum, isDataModel, isEnum } from '@zenstackhq/sdk/ast'; import fs from 'fs'; diff --git a/packages/plugins/openapi/src/rpc-generator.ts b/packages/plugins/openapi/src/rpc-generator.ts index 724e58839..86c7197ad 100644 --- a/packages/plugins/openapi/src/rpc-generator.ts +++ b/packages/plugins/openapi/src/rpc-generator.ts @@ -1,7 +1,6 @@ // Inspired by: https://github.com/omar-dulaimi/prisma-trpc-generator -import type { DMMF } from '@prisma/generator-helper'; -import { analyzePolicies, PluginError, requireOption, resolvePath } from '@zenstackhq/sdk'; +import { analyzePolicies, PluginError, requireOption, resolvePath, type DMMF } from '@zenstackhq/sdk'; import { DataModel, isDataModel } from '@zenstackhq/sdk/ast'; import { addMissingInputObjectTypesForAggregate, @@ -773,10 +772,7 @@ export class RPCOpenAPIGenerator extends OpenAPIGeneratorBase { outputType = this.prismaTypeToOpenAPIType(field.outputType.type, !!field.isNullable); break; case 'outputObjectTypes': - outputType = this.prismaTypeToOpenAPIType( - typeof field.outputType.type === 'string' ? field.outputType.type : field.outputType.type.name, - !!field.isNullable - ); + outputType = this.prismaTypeToOpenAPIType(field.outputType.type, !!field.isNullable); break; } field.outputType; @@ -805,7 +801,7 @@ export class RPCOpenAPIGenerator extends OpenAPIGeneratorBase { } } - private prismaTypeToOpenAPIType(type: DMMF.ArgType, nullable: boolean): OAPI.ReferenceObject | OAPI.SchemaObject { + private prismaTypeToOpenAPIType(type: string, nullable: boolean): OAPI.ReferenceObject | OAPI.SchemaObject { const result = match(type) .with('String', () => ({ type: 'string' })) .with(P.union('Int', 'BigInt'), () => ({ type: 'integer' })) diff --git a/packages/plugins/swr/package.json b/packages/plugins/swr/package.json index 4a38adbd7..aee59d227 100644 --- a/packages/plugins/swr/package.json +++ b/packages/plugins/swr/package.json @@ -1,7 +1,7 @@ { "name": "@zenstackhq/swr", "displayName": "ZenStack plugin for generating SWR hooks", - "version": "2.0.0-beta.9", + "version": "2.0.0-beta.10", "description": "ZenStack plugin for generating SWR hooks", "main": "index.js", "repository": { @@ -38,7 +38,6 @@ } }, "dependencies": { - "@prisma/generator-helper": "^5.0.0", "@zenstackhq/runtime": "workspace:*", "@zenstackhq/sdk": "workspace:*", "change-case": "^4.1.2", diff --git a/packages/plugins/swr/src/generator.ts b/packages/plugins/swr/src/generator.ts index fd8072544..ad2a51223 100644 --- a/packages/plugins/swr/src/generator.ts +++ b/packages/plugins/swr/src/generator.ts @@ -1,4 +1,3 @@ -import type { DMMF } from '@prisma/generator-helper'; import { PluginOptions, createProject, @@ -10,6 +9,7 @@ import { requireOption, resolvePath, saveProject, + type DMMF, } from '@zenstackhq/sdk'; import { DataModel, Model } from '@zenstackhq/sdk/ast'; import { paramCase } from 'change-case'; diff --git a/packages/plugins/tanstack-query/package.json b/packages/plugins/tanstack-query/package.json index eb351ee37..234cb8a16 100644 --- a/packages/plugins/tanstack-query/package.json +++ b/packages/plugins/tanstack-query/package.json @@ -1,7 +1,7 @@ { "name": "@zenstackhq/tanstack-query", "displayName": "ZenStack plugin for generating tanstack-query hooks", - "version": "2.0.0-beta.9", + "version": "2.0.0-beta.10", "description": "ZenStack plugin for generating tanstack-query hooks", "main": "index.js", "exports": { @@ -80,7 +80,6 @@ "author": "ZenStack Team", "license": "MIT", "dependencies": { - "@prisma/generator-helper": "^5.0.0", "@zenstackhq/runtime": "workspace:*", "@zenstackhq/sdk": "workspace:*", "change-case": "^4.1.2", diff --git a/packages/plugins/tanstack-query/src/generator.ts b/packages/plugins/tanstack-query/src/generator.ts index 20f8542d2..4a2e0cd8b 100644 --- a/packages/plugins/tanstack-query/src/generator.ts +++ b/packages/plugins/tanstack-query/src/generator.ts @@ -1,4 +1,3 @@ -import type { DMMF } from '@prisma/generator-helper'; import { PluginError, PluginOptions, @@ -11,6 +10,7 @@ import { requireOption, resolvePath, saveProject, + type DMMF, } from '@zenstackhq/sdk'; import { DataModel, Model } from '@zenstackhq/sdk/ast'; import { paramCase } from 'change-case'; diff --git a/packages/plugins/trpc/package.json b/packages/plugins/trpc/package.json index 2a6931f42..07c5a5905 100644 --- a/packages/plugins/trpc/package.json +++ b/packages/plugins/trpc/package.json @@ -1,7 +1,7 @@ { "name": "@zenstackhq/trpc", "displayName": "ZenStack plugin for tRPC", - "version": "2.0.0-beta.9", + "version": "2.0.0-beta.10", "description": "ZenStack plugin for tRPC", "main": "index.js", "repository": { @@ -26,7 +26,6 @@ "author": "ZenStack Team", "license": "MIT", "dependencies": { - "@prisma/generator-helper": "^5.0.0", "@zenstackhq/sdk": "workspace:*", "change-case": "^4.1.2", "lower-case-first": "^2.0.2", diff --git a/packages/plugins/trpc/src/generator.ts b/packages/plugins/trpc/src/generator.ts index 6249fbf35..cbeb8f191 100644 --- a/packages/plugins/trpc/src/generator.ts +++ b/packages/plugins/trpc/src/generator.ts @@ -1,8 +1,6 @@ -import type { DMMF } from '@prisma/generator-helper'; import { CrudFailureReason, PluginError, - PluginOptions, RUNTIME_PACKAGE, ensureEmptyDir, getPrismaClientImportSpec, @@ -10,6 +8,8 @@ import { requireOption, resolvePath, saveProject, + type DMMF, + type PluginOptions, } from '@zenstackhq/sdk'; import { Model } from '@zenstackhq/sdk/ast'; import fs from 'fs'; diff --git a/packages/plugins/trpc/src/helpers.ts b/packages/plugins/trpc/src/helpers.ts index 3580ca700..4b0030c1c 100644 --- a/packages/plugins/trpc/src/helpers.ts +++ b/packages/plugins/trpc/src/helpers.ts @@ -1,5 +1,4 @@ -import type { DMMF } from '@prisma/generator-helper'; -import { PluginError, getPrismaClientImportSpec, type PluginOptions } from '@zenstackhq/sdk'; +import { PluginError, getPrismaClientImportSpec, type DMMF, type PluginOptions } from '@zenstackhq/sdk'; import { lowerCaseFirst } from 'lower-case-first'; import { CodeBlockWriter, SourceFile } from 'ts-morph'; import { upperCaseFirst } from 'upper-case-first'; diff --git a/packages/runtime/package.json b/packages/runtime/package.json index 6021e7c6e..4b47cb1db 100644 --- a/packages/runtime/package.json +++ b/packages/runtime/package.json @@ -1,7 +1,7 @@ { "name": "@zenstackhq/runtime", "displayName": "ZenStack Runtime Library", - "version": "2.0.0-beta.9", + "version": "2.0.0-beta.10", "description": "Runtime of ZenStack for both client-side and server-side environments.", "repository": { "type": "git", diff --git a/packages/schema/package.json b/packages/schema/package.json index 8d9ae1005..794214b99 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -3,7 +3,7 @@ "publisher": "zenstack", "displayName": "ZenStack Language Tools", "description": "Build scalable web apps with minimum code by defining authorization and validation rules inside the data schema that closer to the database", - "version": "2.0.0-beta.9", + "version": "2.0.0-beta.10", "author": { "name": "ZenStack Team" }, @@ -79,7 +79,6 @@ }, "dependencies": { "@paralleldrive/cuid2": "^2.2.0", - "@prisma/generator-helper": "^5.0.0", "@zenstackhq/language": "workspace:*", "@zenstackhq/sdk": "workspace:*", "async-exit-hook": "^2.0.1", diff --git a/packages/schema/src/cli/plugin-runner.ts b/packages/schema/src/cli/plugin-runner.ts index b07a592f3..48a4d615c 100644 --- a/packages/schema/src/cli/plugin-runner.ts +++ b/packages/schema/src/cli/plugin-runner.ts @@ -1,6 +1,5 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/no-var-requires */ -import type { DMMF } from '@prisma/generator-helper'; import { isPlugin, Model, Plugin } from '@zenstackhq/language/ast'; import { createProject, @@ -12,6 +11,7 @@ import { PluginError, resolvePath, saveProject, + type DMMF, type OptionValue, type PluginDeclaredOptions, type PluginFunction, diff --git a/packages/schema/src/plugins/enhancer/enhance/index.ts b/packages/schema/src/plugins/enhancer/enhance/index.ts index 7e0f90000..108e2d17d 100644 --- a/packages/schema/src/plugins/enhancer/enhance/index.ts +++ b/packages/schema/src/plugins/enhancer/enhance/index.ts @@ -1,23 +1,23 @@ -import type { DMMF } from '@prisma/generator-helper'; import { DELEGATE_AUX_RELATION_PREFIX } from '@zenstackhq/runtime'; import { + PluginError, getAttribute, getAttributeArg, getAuthModel, - getDataModels, getDMMF, + getDataModels, getPrismaClientImportSpec, isDelegateModel, - PluginError, + type DMMF, type PluginOptions, } from '@zenstackhq/sdk'; import { DataModel, DataModelField, + ReferenceExpr, isArrayExpr, isDataModel, isReferenceExpr, - ReferenceExpr, type Model, } from '@zenstackhq/sdk/ast'; import fs from 'fs'; diff --git a/packages/schema/src/plugins/zod/generator.ts b/packages/schema/src/plugins/zod/generator.ts index 1f25606b4..baacf0f96 100644 --- a/packages/schema/src/plugins/zod/generator.ts +++ b/packages/schema/src/plugins/zod/generator.ts @@ -1,10 +1,8 @@ -import { ConnectorType, DMMF } from '@prisma/generator-helper'; import { PluginGlobalOptions, PluginOptions, ensureEmptyDir, getDataModels, - getLiteral, getPrismaClientImportSpec, hasAttribute, isEnumFieldReference, @@ -12,8 +10,9 @@ import { isFromStdlib, parseOptionAsStrings, resolvePath, + type DMMF, } from '@zenstackhq/sdk'; -import { DataModel, DataSource, EnumField, Model, isDataModel, isDataSource, isEnum } from '@zenstackhq/sdk/ast'; +import { DataModel, EnumField, Model, isDataModel, isEnum } from '@zenstackhq/sdk/ast'; import { addMissingInputObjectTypes, resolveAggregateOperationSupport } from '@zenstackhq/sdk/dmmf-helpers'; import { streamAllContents } from 'langium'; import path from 'path'; @@ -84,12 +83,6 @@ export class ZodSchemaGenerator { prismaClientDmmf.schema.enumTypes.model ?? [] ); - const dataSource = this.model.declarations.find((d): d is DataSource => isDataSource(d)); - - const dataSourceProvider = getLiteral( - dataSource?.fields.find((f) => f.name === 'provider')?.value - ) as ConnectorType; - await this.generateModelSchemas(output, excludeModels); if (this.options.modelOnly) { @@ -102,7 +95,6 @@ export class ZodSchemaGenerator { ); } else { // detailed object schemas referenced from input schemas - Transformer.provider = dataSourceProvider; addMissingInputObjectTypes(inputObjectTypes, outputObjectTypes, models); const aggregateOperationSupport = resolveAggregateOperationSupport(inputObjectTypes); await this.generateObjectSchemas(inputObjectTypes, output); diff --git a/packages/schema/src/plugins/zod/transformer.ts b/packages/schema/src/plugins/zod/transformer.ts index 0471dec3f..7ad736097 100644 --- a/packages/schema/src/plugins/zod/transformer.ts +++ b/packages/schema/src/plugins/zod/transformer.ts @@ -1,6 +1,10 @@ /* eslint-disable @typescript-eslint/ban-ts-comment */ -import type { DMMF, DMMF as PrismaDMMF } from '@prisma/generator-helper'; -import { getPrismaClientImportSpec, getPrismaVersion, type PluginOptions } from '@zenstackhq/sdk'; +import { + getPrismaClientImportSpec, + getPrismaVersion, + type PluginOptions, + type DMMF as PrismaDMMF, +} from '@zenstackhq/sdk'; import { checkModelHasModelRelation, findModelByName, isAggregateInputType } from '@zenstackhq/sdk/dmmf-helpers'; import { indentString } from '@zenstackhq/sdk/utils'; import path from 'path'; @@ -21,12 +25,11 @@ export default class Transformer { static enumNames: string[] = []; static rawOpsMap: { [name: string]: string } = {}; - static provider: string; private static outputPath = './generated'; private hasJson = false; private hasDecimal = false; private project: Project; - private inputObjectTypes: DMMF.InputType[]; + private inputObjectTypes: PrismaDMMF.InputType[]; public sourceFiles: SourceFile[] = []; constructor(params: TransformerParams) { @@ -187,7 +190,7 @@ export default class Transformer { wrapWithZodValidators( mainValidators: string | string[], field: PrismaDMMF.SchemaArg, - inputType: PrismaDMMF.SchemaArgInputType + inputType: PrismaDMMF.InputTypeRef ) { let line = ''; @@ -217,11 +220,7 @@ export default class Transformer { this.schemaImports.add(upperCaseFirst(name)); } - generatePrismaStringLine( - field: PrismaDMMF.SchemaArg, - inputType: PrismaDMMF.SchemaArgInputType, - inputsLength: number - ) { + generatePrismaStringLine(field: PrismaDMMF.SchemaArg, inputType: PrismaDMMF.InputTypeRef, inputsLength: number) { const isEnum = inputType.location === 'enumTypes'; const { isModelQueryType, modelName, queryName } = this.checkIsModelQueryType(inputType.type as string); diff --git a/packages/schema/src/plugins/zod/types.ts b/packages/schema/src/plugins/zod/types.ts index e71b3b03a..a33706e4f 100644 --- a/packages/schema/src/plugins/zod/types.ts +++ b/packages/schema/src/plugins/zod/types.ts @@ -1,4 +1,4 @@ -import { DMMF, DMMF as PrismaDMMF } from '@prisma/generator-helper'; +import type { DMMF as PrismaDMMF } from '@zenstackhq/sdk'; import { Project } from 'ts-morph'; export type TransformerParams = { @@ -11,7 +11,7 @@ export type TransformerParams = { isDefaultPrismaClientOutput?: boolean; prismaClientOutputPath?: string; project: Project; - inputObjectTypes: DMMF.InputType[]; + inputObjectTypes: PrismaDMMF.InputType[]; }; export type AggregateOperationSupport = { diff --git a/packages/sdk/package.json b/packages/sdk/package.json index b12ab8063..988b1a06e 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/sdk", - "version": "2.0.0-beta.9", + "version": "2.0.0-beta.10", "description": "ZenStack plugin development SDK", "main": "index.js", "scripts": { @@ -18,8 +18,8 @@ "author": "", "license": "MIT", "dependencies": { - "@prisma/generator-helper": "^5.0.0", - "@prisma/internals": "^5.0.0", + "@prisma/generator-helper": "5.7.0", + "@prisma/internals": "5.7.0", "@zenstackhq/language": "workspace:*", "@zenstackhq/runtime": "workspace:*", "langium": "1.3.1", diff --git a/packages/sdk/src/dmmf-helpers/aggregate-helpers.ts b/packages/sdk/src/dmmf-helpers/aggregate-helpers.ts index 662f0b8a4..b53f34260 100644 --- a/packages/sdk/src/dmmf-helpers/aggregate-helpers.ts +++ b/packages/sdk/src/dmmf-helpers/aggregate-helpers.ts @@ -1,5 +1,5 @@ -import type { DMMF } from '@prisma/generator-helper'; import { upperCaseFirst } from 'upper-case-first'; +import type { DMMF } from '../types'; import { AggregateOperationSupport } from './types'; const isAggregateOutputType = (name: string) => /(?:Count|Avg|Sum|Min|Max)AggregateOutputType$/.test(name); diff --git a/packages/sdk/src/dmmf-helpers/include-helpers.ts b/packages/sdk/src/dmmf-helpers/include-helpers.ts index 2f9bbf478..0699bca9a 100644 --- a/packages/sdk/src/dmmf-helpers/include-helpers.ts +++ b/packages/sdk/src/dmmf-helpers/include-helpers.ts @@ -1,5 +1,5 @@ -import type { DMMF } from '@prisma/generator-helper'; -import { checkIsModelRelationField, checkModelHasModelRelation, checkModelHasManyModelRelation } from './model-helpers'; +import type { DMMF } from '../types'; +import { checkIsModelRelationField, checkModelHasManyModelRelation, checkModelHasModelRelation } from './model-helpers'; export function addMissingInputObjectTypesForInclude(inputObjectTypes: DMMF.InputType[], models: DMMF.Model[]) { // generate input object types necessary to support ModelInclude with relation support @@ -52,7 +52,7 @@ function generateModelIncludeInputObjectTypes(models: DMMF.Model[]) { const shouldAddCountField = hasManyRelationToAnotherModel; if (shouldAddCountField) { - const inputTypes: DMMF.SchemaArgInputType[] = [{ isList: false, type: 'Boolean', location: 'scalar' }]; + const inputTypes: DMMF.InputTypeRef[] = [{ isList: false, type: 'Boolean', location: 'scalar' }]; inputTypes.push({ isList: false, type: `${modelName}CountOutputTypeArgs`, diff --git a/packages/sdk/src/dmmf-helpers/missing-types-helper.ts b/packages/sdk/src/dmmf-helpers/missing-types-helper.ts index e88f56db4..4e83b8590 100644 --- a/packages/sdk/src/dmmf-helpers/missing-types-helper.ts +++ b/packages/sdk/src/dmmf-helpers/missing-types-helper.ts @@ -1,4 +1,4 @@ -import type { DMMF } from '@prisma/generator-helper'; +import type { DMMF } from '../types'; import { addMissingInputObjectTypesForAggregate } from './aggregate-helpers'; import { addMissingInputObjectTypesForInclude } from './include-helpers'; import { addMissingInputObjectTypesForModelArgs } from './modelArgs-helpers'; diff --git a/packages/sdk/src/dmmf-helpers/model-helpers.ts b/packages/sdk/src/dmmf-helpers/model-helpers.ts index 902bd5401..f249d7c20 100644 --- a/packages/sdk/src/dmmf-helpers/model-helpers.ts +++ b/packages/sdk/src/dmmf-helpers/model-helpers.ts @@ -1,4 +1,4 @@ -import type { DMMF } from '@prisma/generator-helper'; +import type { DMMF } from '../types'; export function checkModelHasModelRelation(model: DMMF.Model) { const { fields: modelFields } = model; diff --git a/packages/sdk/src/dmmf-helpers/modelArgs-helpers.ts b/packages/sdk/src/dmmf-helpers/modelArgs-helpers.ts index 549dec3ab..444f2ce90 100644 --- a/packages/sdk/src/dmmf-helpers/modelArgs-helpers.ts +++ b/packages/sdk/src/dmmf-helpers/modelArgs-helpers.ts @@ -1,4 +1,4 @@ -import type { DMMF } from '@prisma/generator-helper'; +import type { DMMF } from '../types'; import { checkModelHasModelRelation } from './model-helpers'; export function addMissingInputObjectTypesForModelArgs(inputObjectTypes: DMMF.InputType[], models: DMMF.Model[]) { diff --git a/packages/sdk/src/dmmf-helpers/select-helpers.ts b/packages/sdk/src/dmmf-helpers/select-helpers.ts index 36403e61a..74b13de55 100644 --- a/packages/sdk/src/dmmf-helpers/select-helpers.ts +++ b/packages/sdk/src/dmmf-helpers/select-helpers.ts @@ -1,4 +1,4 @@ -import type { DMMF } from '@prisma/generator-helper'; +import type { DMMF } from '../types'; import { checkIsModelRelationField, checkModelHasManyModelRelation } from './model-helpers'; export function addMissingInputObjectTypesForSelect( @@ -108,7 +108,7 @@ function generateModelSelectInputObjectTypes(models: DMMF.Model[]) { }; if (isRelationField) { - const schemaArgInputType: DMMF.SchemaArgInputType = { + const schemaArgInputType: DMMF.InputTypeRef = { isList: false, type: isList ? `${type}FindManyArgs` : `${type}Args`, location: 'inputObjectTypes', diff --git a/packages/sdk/src/dmmf-helpers/types.ts b/packages/sdk/src/dmmf-helpers/types.ts index a02b9ca7c..83858ba02 100644 --- a/packages/sdk/src/dmmf-helpers/types.ts +++ b/packages/sdk/src/dmmf-helpers/types.ts @@ -1,11 +1,11 @@ -import { DMMF as PrismaDMMF } from '@prisma/generator-helper'; +import type { DMMF } from '../types'; export type TransformerParams = { - enumTypes?: PrismaDMMF.SchemaEnum[]; - fields?: PrismaDMMF.SchemaArg[]; + enumTypes?: DMMF.SchemaEnum[]; + fields?: DMMF.SchemaArg[]; name?: string; - models?: PrismaDMMF.Model[]; - modelOperations?: PrismaDMMF.ModelMapping[]; + models?: DMMF.Model[]; + modelOperations?: DMMF.ModelMapping[]; aggregateOperationSupport?: AggregateOperationSupport; isDefaultPrismaClientOutput?: boolean; prismaClientOutputPath?: string; diff --git a/packages/sdk/src/types.ts b/packages/sdk/src/types.ts index a6a4b8629..7ba72807d 100644 --- a/packages/sdk/src/types.ts +++ b/packages/sdk/src/types.ts @@ -93,3 +93,5 @@ export class PluginError extends Error { super(message); } } + +export type { DMMF } from '@prisma/generator-helper'; diff --git a/packages/server/package.json b/packages/server/package.json index fae6f5e22..1c0e0016d 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/server", - "version": "2.0.0-beta.9", + "version": "2.0.0-beta.10", "displayName": "ZenStack Server-side Adapters", "description": "ZenStack server-side adapters", "homepage": "https://zenstack.dev", diff --git a/packages/testtools/package.json b/packages/testtools/package.json index 40645e383..54ec4cad3 100644 --- a/packages/testtools/package.json +++ b/packages/testtools/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/testtools", - "version": "2.0.0-beta.9", + "version": "2.0.0-beta.10", "description": "ZenStack Test Tools", "main": "index.js", "private": true, @@ -19,7 +19,6 @@ "author": "", "license": "MIT", "dependencies": { - "@prisma/generator-helper": "^5.0.0", "@zenstackhq/language": "workspace:*", "@zenstackhq/runtime": "workspace:*", "@zenstackhq/sdk": "workspace:*", diff --git a/packages/testtools/src/schema.ts b/packages/testtools/src/schema.ts index 5742645a8..9e19ab1b6 100644 --- a/packages/testtools/src/schema.ts +++ b/packages/testtools/src/schema.ts @@ -1,6 +1,5 @@ /* eslint-disable @typescript-eslint/no-var-requires */ /* eslint-disable @typescript-eslint/no-explicit-any */ -import type { DMMF } from '@prisma/generator-helper'; import type { Model } from '@zenstackhq/language/ast'; import { DEFAULT_RUNTIME_LOAD_PATH, @@ -9,7 +8,7 @@ import { type EnhancementKind, type EnhancementOptions, } from '@zenstackhq/runtime'; -import { getDMMF } from '@zenstackhq/sdk'; +import { getDMMF, type DMMF } from '@zenstackhq/sdk'; import { execSync } from 'child_process'; import * as fs from 'fs'; import json from 'json5'; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ed2414ddb..8f14f0dee 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -122,9 +122,6 @@ importers: packages/plugins/openapi: dependencies: - '@prisma/generator-helper': - specifier: ^5.0.0 - version: 5.0.0 '@zenstackhq/runtime': specifier: workspace:* version: link:../../runtime/dist @@ -190,9 +187,6 @@ importers: packages/plugins/swr: dependencies: - '@prisma/generator-helper': - specifier: ^5.0.0 - version: 5.0.0 '@zenstackhq/runtime': specifier: workspace:* version: link:../../runtime/dist @@ -252,9 +246,6 @@ importers: packages/plugins/tanstack-query: dependencies: - '@prisma/generator-helper': - specifier: ^5.0.0 - version: 5.0.0 '@zenstackhq/runtime': specifier: workspace:* version: link:../../runtime/dist @@ -347,9 +338,6 @@ importers: packages/plugins/trpc: dependencies: - '@prisma/generator-helper': - specifier: ^5.0.0 - version: 5.0.0 '@zenstackhq/sdk': specifier: workspace:* version: link:../../sdk/dist @@ -477,9 +465,6 @@ importers: '@paralleldrive/cuid2': specifier: ^2.2.0 version: 2.2.0 - '@prisma/generator-helper': - specifier: ^5.0.0 - version: 5.0.0 '@zenstackhq/language': specifier: workspace:* version: link:../language/dist @@ -624,10 +609,10 @@ importers: packages/sdk: dependencies: '@prisma/generator-helper': - specifier: ^5.0.0 - version: 5.0.0 + specifier: 5.7.0 + version: 5.7.0 '@prisma/internals': - specifier: ^5.0.0 + specifier: 5.7.0 version: 5.7.0 '@zenstackhq/language': specifier: workspace:* @@ -753,9 +738,6 @@ importers: packages/testtools: dependencies: - '@prisma/generator-helper': - specifier: ^5.0.0 - version: 5.0.0 '@zenstackhq/language': specifier: workspace:* version: link:../language/dist @@ -3844,16 +3826,6 @@ packages: optional: true dev: true - /@prisma/debug@5.0.0: - resolution: {integrity: sha512-3q/M/KqlQ01/HJXifU/zCNOHkoTWu24kGelMF/IBrRxm7njPqTTbwfnT1dh4JK+nuWM5/Dg1Lv00u2c0l7AHxg==} - dependencies: - '@types/debug': 4.1.8 - debug: 4.3.4 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - supports-color - dev: false - /@prisma/debug@5.12.0: resolution: {integrity: sha512-wK3fQLxPLMqf5riT5ZIhl8NffPSzFUwtzFX5CH7z/oI9Swmo9UhQlUgZABIVgdXSJ5OAlmRcDZtDKaMApIl8sg==} @@ -3902,17 +3874,6 @@ packages: '@prisma/get-platform': 5.7.0 dev: false - /@prisma/generator-helper@5.0.0: - resolution: {integrity: sha512-pufQ1mhoH6WzKNtzL79HZDoW4Ql3Lf8QEKVmBoW8e3Tdb50bxpYBYue5LBqp9vNW1xd1pgZO53cNiRfLX2d4Zg==} - dependencies: - '@prisma/debug': 5.0.0 - '@types/cross-spawn': 6.0.2 - cross-spawn: 7.0.3 - kleur: 4.1.5 - transitivePeerDependencies: - - supports-color - dev: false - /@prisma/generator-helper@5.7.0: resolution: {integrity: sha512-Fn4hJHKGJ49+E8sxpfslRauB3Goa3RAENJ/W25NMR754B9KxvmbCJyE3MT/lIZxML2nGgIdXYUtoDHZHnRaKDw==} dependencies: @@ -4756,18 +4717,6 @@ packages: resolution: {integrity: sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==} dev: true - /@types/cross-spawn@6.0.2: - resolution: {integrity: sha512-KuwNhp3eza+Rhu8IFI5HUXRP0LIhqH5cAjubUvGXXthh4YYBuP2ntwEX+Cz8GJoZUHlKo247wPWOfA9LYEq4cw==} - dependencies: - '@types/node': 18.0.0 - dev: false - - /@types/debug@4.1.8: - resolution: {integrity: sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==} - dependencies: - '@types/ms': 0.7.31 - dev: false - /@types/estree@1.0.1: resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} dev: true @@ -4880,10 +4829,6 @@ packages: resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} dev: true - /@types/ms@0.7.31: - resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} - dev: false - /@types/node@12.20.55: resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} dev: true @@ -10318,6 +10263,7 @@ packages: /kleur@4.1.5: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} + dev: true /klona@2.0.6: resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==}