guide config graphql codegen - wwwsolutions/nestjs-starter-kit GitHub Wiki
Implements code generator.
- generate-apollo-angular-components
- generate-resolvers-signature
- generate-schema-types
npm i -D @graphql-codegen/add @graphql-codegen/cli @graphql-codegen/introspection @graphql-codegen/schema-ast @graphql-codegen/typescript @graphql-codegen/typescript-apollo-angular @graphql-codegen/typescript-operations @graphql-codegen/typescript-resolvers
// libs/api/integration/graphql-prisma/project.json
"generate-resolvers-signature": {
"executor": "@nrwl/workspace:run-commands",
"options": {
"parallel": false,
"commands": [
"npx graphql-codegen --config libs/api/integration/graphql-prisma/src/lib/codegen/generate-resolvers-signature.yaml"
]
}
},
"generate-apollo-angular-components": {
"executor": "@nrwl/workspace:run-commands",
"options": {
"parallel": false,
"commands": [
"npx graphql-codegen --config libs/api/integration/graphql-prisma/src/lib/codegen/generate-apollo-angular-components.yaml"
]
}
},
"generate-schema-types": {
"executor": "@nrwl/workspace:run-commands",
"options": {
"parallel": false,
"commands": [
"npx graphql-codegen --config libs/api/integration/graphql-prisma/src/lib/codegen/generate-schema-types.yaml"
]
}
},
"generate": {
"executor": "@nrwl/workspace:run-commands",
"options": {
"parallel": false,
"commands": [
"npx nx run api-integration-graphql-prisma:generate-resolvers-signature",
"npx nx run api-integration-graphql-prisma:generate-generate-apollo-angular-components",
"npx nx run api-integration-graphql-prisma:generate-schema-types"
]
}
}
},
# libs/api/integration/graphql-prisma/src/lib/codegen/generate-apollo-angular-components.yaml
overwrite: true
schema:
- libs/api/data-access/models/src/lib/generated/schema.graphql
generates:
libs/api/data-access/models/src/lib/generated/apollo-angular-components.ts:
hooks:
afterOneFileWrite:
- prettier --write
plugins:
- add:
content: '/* eslint-disable @typescript-eslint/ban-types,@typescript-eslint/no-explicit-any */'
- add:
content: '// WARNING: This file is automatically generated. Do not edit.'
- add:
content: import {Prisma} from '@prisma/client'
- typescript
- typescript-resolvers
- typescript-apollo-angular
config:
useIndexSignature: true
noSchemaStitching: true
scalars:
DateTime: Date
JSON: Prisma.JsonValue
schema.json:
plugins:
- introspection
config:
minify: true
# libs/api/integration/graphql-prisma/src/lib/codegen/generate-resolvers-signature.yaml
overwrite: true
schema:
- libs/api/data-access/models/src/lib/generated/schema.graphql
generates:
libs/api/data-access/models/src/lib/generated/resolvers-signature.ts:
hooks:
afterOneFileWrite:
- prettier --write
plugins:
- add:
content: '/* eslint-disable @typescript-eslint/ban-types,@typescript-eslint/no-explicit-any */'
- add:
content: '// WARNING: This file is automatically generated. Do not edit.'
- add:
content: import {Prisma} from '@prisma/client'
- typescript
- typescript-resolvers
config:
useIndexSignature: true
noSchemaStitching: true
scalars:
DateTime: Date
JSON: Prisma.JsonValue
schema.json:
plugins:
- introspection
config:
minify: true
# libs/api/integration/graphql-prisma/src/lib/codegen/generate-schema-types.yaml
overwrite: true
schema:
- libs/api/data-access/models/src/lib/generated/schema.graphql
generates:
libs/api/data-access/models/src/lib/generated/schema-types.ts:
hooks:
afterOneFileWrite:
- prettier --write
plugins:
- add:
content: '/* eslint-disable @typescript-eslint/ban-types,@typescript-eslint/no-explicit-any */'
- add:
content: '// WARNING: This file is automatically generated. Do not edit.'
- add:
content: import {Prisma} from '@prisma/client'
- typescript
config:
useIndexSignature: true
noSchemaStitching: true
scalars:
DateTime: Date
JSON: Prisma.JsonValue
schema.json:
plugins:
- introspection
config:
minify: true