@dumbql/codegen
v1.0.5
Published
CLI code generation for DumbQL — generates TypeScript types from your GraphQL schema and typed `gql` exports from `.graphql` files.
Maintainers
Readme
@dumbql/codegen
CLI code generation for DumbQL — generates TypeScript types from your GraphQL schema and typed gql exports from .graphql files.
Install
npm install @dumbql/codegenUsage
Generate types from schema
import { generateSchemaTypes, generateSchemaFile } from '@dumbql/codegen';
const types = generateSchemaTypes(schemaIntrospectionData);
await generateSchemaFile(schema, './graphql/types.ts');Generate typed documents from .graphql files
import { findGraphqlFiles, parseGraphqlFile, generateTypedDocumentsCode } from '@dumbql/codegen';
const files = await findGraphqlFiles('src/**/*.graphql');
const ops = await Promise.all(files.map(file => parseGraphqlFile(file)));
const code = generateTypedDocumentsCode(ops, types);Merge mode
import { mergeGeneratedTypes } from '@dumbql/codegen';
// Preserves existing types, appends only new ones (avoids diff noise)
const merged = mergeGeneratedTypes('graphql/types.ts', newCode);API
| Export | Description |
|--------|-------------|
| generateSchemaTypes(schema, config?) | Generates TS interfaces/types from introspection data |
| generateSchemaFile(schema, outputPath, config?) | Writes generated types to file |
| mergeGeneratedTypes(filePath, newContent) | Appends only new types, preserves existing |
| findGraphqlFiles(pattern) | Glob‑finds .graphql files |
| parseGraphqlFile(filePath) | Parses a .graphql file into ParsedOperation[] |
| generateTypedDocumentsCode(ops, schemaTypes, prefix?, suffix?) | Generates typed gql exports |
| generateIndexCode(ops) | Generates barrel index.ts |
Dependencies
graphql, glob
