GraphQL Enhancement Plugins
Introduction
GraphQL plugins for Prisma that provide automatic field selection optimization and SDL input type generation. This package helps optimize GraphQL queries by automatically selecting only the fields requested in the GraphQL query, reducing database load and improving performance.
Installation
Peer Dependencies
This package requires the following peer dependencies:
@prisma/client
^6graphql
^15 || ^16
Main Exports
PrismaSelect
The main class that analyzes GraphQL queries and generates optimized Prisma select objects.
typescript
sdlInputs
Function that generates SDL input types from Prisma DMMF.
typescript
PrismaSelect Configuration
PrismaSelectOptions Interface
typescript
Usage Examples
Basic Field Selection
typescript
With Default Fields
typescript
With Field Exclusion
typescript
Function-Based Configuration
typescript
Multi-Schema Support
typescript
SDL Input Types Generation
Basic Usage
typescript
Generated Input Types
The sdlInputs
function generates comprehensive input types:
graphql
Advanced Usage
Apollo Server Integration
typescript
GraphQL Yoga Integration
typescript
Custom Middleware
typescript
Dynamic Field Selection
typescript
Performance Benefits
Before PrismaSelect
typescript
After PrismaSelect
typescript
Error Handling
typescript
Features
- Automatic Field Selection: Optimizes database queries based on GraphQL field selection
- SDL Input Generation: Generates comprehensive GraphQL input types from Prisma schema
- Multi-Schema Support: Works with multiple Prisma schemas and databases
- Function-Based Configuration: Dynamic field selection and exclusion based on context
- Performance Optimization: Dramatically reduces database load and improves response times
- Type Safety: Full TypeScript support with proper type inference
- Framework Agnostic: Works with any GraphQL server implementation
- Production Ready: Battle-tested in high-traffic production environments
- Easy Integration: Simple to integrate into existing GraphQL APIs