Code Generation Tools
Introduction
A powerful code generation package that creates GraphQL schemas, resolvers, and admin interfaces from Prisma schema definitions. Supports multiple GraphQL architectures including Nexus, SDL-first, and GraphQL Modules.
Installation
Main Classes
Generator
The main class that orchestrates code generation based on the specified generator type.
Constructor Parameters:
generator- Configuration object with generator name and schema pathoptions- Optional generator options for customization
Methods:
run()- Execute the code generation process
GenerateNexus
Generates Nexus GraphQL schema with type-safe resolvers and input types.
Generated Files:
types.ts- Nexus object type definitionsinputs.ts- Input type definitionsqueries.ts- Query field definitionsmutations.ts- Mutation field definitionsindex.ts- Combined exports
Key Methods:
run()- Generate all Nexus filescreateTypes()- Generate object typescreateInputs()- Generate input typescreateQueries()- Generate query fieldscreateMutations()- Generate mutation fields
GenerateSdl
Generates Schema Definition Language (SDL) files with resolver functions.
Generated Files:
typeDefs.ts- GraphQL type definitionsresolvers.ts- Resolver implementationsindex.ts- Combined exports
Key Methods:
run()- Generate all SDL filescreateTypes()- Generate type definitionscreateResolvers()- Generate resolver functionscreateMaster()- Create index files
GenerateModules
Generates GraphQL Modules architecture with modular schema organization.
Generated Files:
modules/- Individual model modulesinputs/- Shared input typesapp.ts- Application module configuration
Key Methods:
run()- Generate all module filescreateModules()- Generate individual modulescreateInputs()- Generate input typescreateApp()- Generate application module
UIGenerator
Generates admin UI components and pages for Prisma models.
Key Methods:
generateAdminPages()- Generate admin interface pagesmergeSchemas()- Merge multiple schemas for multi-database support
Usage Examples
Basic Nexus Generation
SDL Generation with Custom Configuration
GraphQL Modules Generation
Admin UI Generation
Configuration Options
Generator Options
Admin Options
Generated Code Examples
Nexus Object Types
SDL Type Definitions
GraphQL Modules
Advanced Features
Multi-Schema Support
Custom Filters
Conditional Generation
Features
- Multiple GraphQL Architectures: Support for Nexus, SDL-first, and GraphQL Modules
- Type Safety: Full TypeScript support with proper type inference
- Flexible Configuration: Extensive options for customizing generation
- Admin Interface: Automatic admin page generation
- Multi-Schema Support: Handle multiple Prisma schemas
- Field Filtering: Exclude sensitive or unnecessary fields
- Custom Templates: Support for custom code templates
- Incremental Generation: Generate only what you need
- Production Ready: Optimized for production environments