type-graphql
type-graphql copied to clipboard
Generated Resolvers Output file names are undefined for some model names
Describe the Bug
When using the npx prisma generate command, file names become undefined for models containing 'Integration' or 'Integrate' in their names at generated/type-graphql/resolvers/outputs/.
To Reproduce
- Create a Prisma model with a name containing 'Integration' or 'Integrate'.
(e.g. UserIntegration) - Run the
npx prisma generatecommand. - Check the generated resolvers output or export files in the path
generated/type-graphql/resolvers/outputs/index.ts.
Expected Behavior The output files should have properly defined names for models containing 'Integration' or 'Integrate'.
Logs If you create 2 models models with names containing 'Integration' or 'Integrate', during runtime, typescript throws a "duplicate identifier" error for exports. Otherwise you do not get any error.
Environment (please complete the following information):
- OS: Windows 11
- Node v20.12.0
- Package version 2.0.0-rc.1, 2.0.0-beta.6 (both tested)
- TypeScript version 5.4.5
Additional Context This bug seems to affect the generation process under specific circumstances, particularly when model names include certain keywords like 'Integration' or 'Integrate'. Especially if there is more than one model name fitting this scenario, it can lead to issues.
Encountering this issue primarily with specific model names suggests the potential for similar occurrences with other model names.
I am having the same issue. In my case, the entity name is "Company."
src/graphql/generated/resolvers/outputs/CreateManyApplicationAndReturnOutputType.ts:5:25 - error TS2307: Cannot find module '../outputs/Company' or its corresponding type declarations.
Please show a minimal reproducible Prisma schema for this issue
Hey @MichalLytek you can try with this repo. It has the same issue.
@MichalLytek I've also submitted an issue in typegraphql-prisma https://github.com/MichalLytek/typegraphql-prisma/issues/450
According to @jessekrubin s comment and the changelog for the new prisma release, a new, top-level Prisma Client query, createManyAndReturn(), has been implemented.
The result is that the generator will try to create an import for an output type for that resolver from resolvers/outputs/. However that output type file is never generated. I'm assuming that it's similar to the type in models/ and the fix would be to either change the path for the import or write a file in the resolvers/outputs/ dir that exports form models/ but i'm not familiar enough with the code to write the PR myself.
Edit: although the issues seem similar, the timing on is a bit off, @BilalGumus wrote the issue before the 5.14.0 release was out, so his problem might be completely unrelated.
Just add override on your package.json until the corretion of typegraphql
"overrides": {
"typegraphql-prisma": {
"@prisma/generator-helper": "<=5.13.0",
"@prisma/internals": "<=5.13.0"
}
}
If anyone stumbles upon this -- this comment here is what worked for me (I use yarn): https://github.com/MichalLytek/typegraphql-prisma/issues/450#issuecomment-2163621491