What is @graphql-codegen/near-operation-file-preset?
@graphql-codegen/near-operation-file-preset is a preset for GraphQL Code Generator that generates TypeScript/Flow types for your GraphQL operations and fragments near the file where they are used. This helps in keeping the generated types close to the actual usage, making it easier to manage and maintain.
What are @graphql-codegen/near-operation-file-preset's main functionalities?
Generate TypeScript types for GraphQL operations
This configuration generates TypeScript types for GraphQL operations and fragments, placing the generated types near the operation files. The `baseTypesPath` specifies the path to the base types.
{
"schema": "./schema.graphql",
"documents": "./src/**/*.graphql",
"generates": {
"./src/": {
"preset": "near-operation-file",
"presetConfig": {
"baseTypesPath": "types/graphql.d.ts"
},
"plugins": [
"typescript",
"typescript-operations"
]
}
}
}
Generate Flow types for GraphQL operations
This configuration generates Flow types for GraphQL operations and fragments, placing the generated types near the operation files. The `baseTypesPath` specifies the path to the base types.
{
"schema": "./schema.graphql",
"documents": "./src/**/*.graphql",
"generates": {
"./src/": {
"preset": "near-operation-file",
"presetConfig": {
"baseTypesPath": "types/graphql.js"
},
"plugins": [
"flow",
"flow-operations"
]
}
}
}
Custom file extension for generated files
This configuration allows you to specify a custom file extension for the generated files. In this example, the generated files will have a `.generated.tsx` extension.
{
"schema": "./schema.graphql",
"documents": "./src/**/*.graphql",
"generates": {
"./src/": {
"preset": "near-operation-file",
"presetConfig": {
"extension": ".generated.tsx",
"baseTypesPath": "types/graphql.d.ts"
},
"plugins": [
"typescript",
"typescript-operations"
]
}
}
}
Other packages similar to @graphql-codegen/near-operation-file-preset
@graphql-codegen/typescript-operations
This package generates TypeScript types for your GraphQL operations and fragments. Unlike the `near-operation-file-preset`, it does not place the generated types near the operation files but rather in a single output file.
@graphql-codegen/flow-operations
This package generates Flow types for your GraphQL operations and fragments. Similar to `@graphql-codegen/typescript-operations`, it does not place the generated types near the operation files but in a single output file.
graphql-codegen-typescript-react-apollo
This package generates TypeScript types and React Apollo components for your GraphQL operations. It focuses on generating React components and hooks, rather than just types, and does not place the generated files near the operation files.