Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue: AtLeast Type Not Found in Generated GraphQL Types #217

Open
yayoamigo opened this issue Jul 31, 2024 · 1 comment
Open

Issue: AtLeast Type Not Found in Generated GraphQL Types #217

yayoamigo opened this issue Jul 31, 2024 · 1 comment

Comments

@yayoamigo
Copy link

yayoamigo commented Jul 31, 2024

Hello,

I'm encountering an issue with the prisma-nestjs-graphql library when generating GraphQL types from my Prisma schema. The generated files reference a Prisma.AtLeast type, which appears to be deprecated or not available in the latest versions of Prisma.

Steps to Reproduce
I have the following generator configuration in my schema.prisma file:

`generator client {
provider = "prisma-client-js"
output = "../apps/core-api/prisma"
}

generator nestgraphql {
provider = "node node_modules/prisma-nestjs-graphql"
output = "../apps/core-api/src/shared/prismagraphql"
reExport = "Directories"
}
`

I am using the following dependencies:

`{
"name": "@mushroomsoft-it/mad",
"version": "0.0.0",
"license": "MIT",
"scripts": {
"build": "nx run-many -t build",
"lint": "nx run-many -t lint --projects=tag:core && nx format:check --projects=tag:core",
"lint:fix": "nx run-many --all -t lint --fix --projects=tag:core && nx format --projects=tag:core",
"test": "nx run-many -t test --projects=tag:core",
"nx": "nx",
"changeset": "changeset",
"prisma": "prisma",
"core-api-prisma-generate": "pnpm prisma generate --schema 'prisma/core-api-schema.prisma'",
"core-api-prisma-migrate": "pnpm prisma migrate dev --name init --schema 'prisma/core-api-schema.prisma' migrations"
},
"private": true,
"dependencies": {
"@angular/animations": "~17.2.0",
"@angular/cdk": "^17.3.3",
"@angular/common": "~17.2.0",
"@angular/compiler": "~17.2.0",
"@angular/core": "~17.2.0",
"@angular/forms": "~17.2.0",
"@angular/material": "^17.3.3",
"@angular/platform-browser": "~17.2.0",
"@angular/platform-browser-dynamic": "~17.2.0",
"@angular/platform-server": "~17.2.0",
"@angular/router": "~17.2.0",
"@angular/ssr": "~17.2.0",
"@nestjs/common": "^10.0.2",
"@nestjs/config": "^3.2.1",
"@nestjs/core": "^10.0.2",
"@nestjs/platform-express": "^10.0.2",
"@nestjs/swagger": "^7.3.1",
"@ngrx/effects": "^17.2.0",
"@ngrx/entity": "^17.2.0",
"@ngrx/store": "^17.2.0",
"@ngrx/store-devtools": "^17.2.0",
"@prisma/client": "^5.11.0",
"axios": "^1.6.0",
"class-transformer": "^0.5.1",
"class-validator": "^0.14.1",
"express": "~4.18.2",
"graphql-type-json": "^0.3.2",
"prisma-graphql-type-decimal": "^3.0.0",
"prisma-nestjs-graphql": "^20.0.3",
"reflect-metadata": "^0.1.13",
"rxjs": "^7.8.0",
"tslib": "^2.3.0",
"zone.js": "~0.14.3"
},
"devDependencies": {
"@angular-devkit/build-angular": "~17.2.0",
"@angular-devkit/core": "~17.2.0",
"@angular-devkit/schematics": "~17.2.0",
"@angular-eslint/eslint-plugin": "~17.0.0",
"@angular-eslint/eslint-plugin-template": "~17.0.0",
"@angular-eslint/template-parser": "~17.0.0",
"@angular/cli": "~17.2.0",
"@angular/compiler-cli": "~17.2.0",
"@angular/language-service": "~17.2.0",
"@changesets/cli": "^2.27.1",
"@golevelup/ts-jest": "^0.4.0",
"@nestjs/schematics": "^10.0.1",
"@nestjs/testing": "^10.0.2",
"@nx/angular": "18.1.3",
"@nx/devkit": "18.1.3",
"@nx/eslint": "18.1.3",
"@nx/eslint-plugin": "18.1.3",
"@nx/jest": "18.1.3",
"@nx/js": "18.1.3",
"@nx/nest": "18.1.3",
"@nx/node": "18.1.3",
"@nx/playwright": "18.1.3",
"@nx/web": "18.1.3",
"@nx/webpack": "18.1.3",
"@nx/workspace": "18.1.3",
"@playwright/test": "^1.36.0",
"@schematics/angular": "~17.2.0",
"@swc-node/register": "~1.8.0",
"@swc/core": "~1.5.7",
"@swc/helpers": "~0.5.2",
"@types/express": "4.17.14",
"@types/jest": "^29.4.0",
"@types/node": "~18.16.9",
"@typescript-eslint/eslint-plugin": "^6.13.2",
"@typescript-eslint/parser": "^6.13.2",
"browser-sync": "^3.0.0",
"eslint": "~8.48.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-playwright": "^0.15.3",
"jest": "^29.4.1",
"jest-environment-jsdom": "^29.4.1",
"jest-environment-node": "^29.4.1",
"jest-preset-angular": "~14.0.3",
"nx": "18.1.3",
"prettier": "^2.6.2",
"prisma": "^5.11.0",
"ts-jest": "^29.1.0",
"ts-node": "10.9.1",
"typescript": "~5.3.2",
"verdaccio": "^5.0.4",
"webpack-cli": "^5.1.4"
},
"nx": {
"includedScripts": [],
"data": {}
}
}

Running npx prisma generate produces files that contain references to Prisma.AtLeast:
@Field(() => AppWhereUniqueInput, { nullable: true }) cursor?: Prisma.AtLeast<AppWhereUniqueInput, 'id' | 'code'>;
22

Is there an updated way to handle the functionality that Prisma.AtLeast provided in the current version of Prisma?
Should the prisma-nestjs-graphql generator be updated to reflect these changes, or is there a configuration I might be missing?
What would be the recommended approach to resolve this issue with the generated types?
Any guidance or suggestions on how to proceed would be greatly appreciated. Thank you for your support!

@grinono
Copy link

grinono commented Oct 25, 2024

Did you find a solution for this issue? I'm experiencing the same.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants