Configuration Reference
Every configurable knob is set via defineConfig in baeta.ts. This page is the reference for the minimum setup, see Getting started → Configuration.
GraphQL options
Only schemas is required. Everything else has a sensible default:
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: {
// Add lint-disable comments at the top of generated files.
enableLintHeaders: { eslint: true, biomeV1: true },
},
},
});
For the full type signatures, see GeneratorOptions and FileOptions.
Plugins
Plugins extend the build process — code generation, watchers, command execution, etc. Order matters: the Gitignore plugin must run first, others are mostly order-independent.
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" }),
],
});
For the full list, see Plugins.