Skip to main content
Version: Next (2.x)

Configuration Reference

All configuration is done through baeta.ts using defineConfig.

GraphQL Options

Only schemas is required:

import { defineConfig } from "@baeta/cli";

export default defineConfig({
graphql: {
// Glob pattern(s) to locate GraphQL schema files (required)
schemas: ["src/**/*.gql"],

// Root directory where GraphQL modules are defined (default: "src/modules")
modulesDir: "src/modules",

// Output path for generated type files (default: "${modulesDir}/../__generated__/")
typesDir: "src/__generated__",

// Filename for the generated module definition file (default: "typedef")
moduleDefinitionName: "typedef",

// File extension for generated imports (default: ".ts")
// Set to ".js" for bundler compatibility or false to omit
importExtension: ".ts",

// Options for generated files
fileOptions: {
disableEslintHeader: true,
disableBiomeV1Header: true,
},
},
});

For all available options, see the GeneratorOptions and FileOptions API references.

Plugins

Add plugins to extend the build process:

import { defineConfig } from "@baeta/cli";
import { federationPlugin } from "@baeta/plugin-federation";
import { prismaPlugin } from "@baeta/plugin-prisma";

export default defineConfig({
graphql: {
schemas: ["src/**/*.gql"],
},
plugins: [
federationPlugin(),
prismaPlugin({ prismaSchema: "schema.prisma" }),
],
});

See the Plugins section for available plugins and their options.