Package Exports
- @mearie/codegen
Readme
@mearie/codegen
Code generation utilities for Mearie GraphQL client.
This package provides the core code generation logic that can be reused across different build tool integrations (Vite, Webpack, Rollup, etc.).
Features
- Scanner: Scans files for GraphQL operations
- Generator: Generates TypeScript types from GraphQL operations and schema
- Writer: Writes generated types to the filesystem
Usage
import { runCodegen, scanDocuments, generateTypes, writeTypes } from '@mearie/codegen';
// High-level API
await runCodegen({
schema: 'schema.graphql',
documents: 'src/**/*.ts',
cwd: process.cwd(),
});
// Low-level API for custom workflows
const operations = await scanDocuments(
{
include: 'src/**/*.ts',
exclude: 'node_modules/**',
},
process.cwd(),
);
const { types, augmentation } = await generateTypes(operations, schemaContent);
await writeTypes({ types, augmentation });API
runCodegen(config: CodegenConfig): Promise<void>
Runs the complete code generation pipeline.
scanDocuments(patterns: ScanPatterns, cwd: string): Promise<ExtractedDocument[]>
Scans files for GraphQL operations.
generateTypes(operations: ExtractedDocument[], schema: string): Promise<GeneratedCode>
Generates TypeScript types from operations and schema.
writeTypes(code: GeneratedCode, outputDir?: string): Promise<WrittenFiles>
Writes generated types to the filesystem.