Package Exports
- @soda-gql/cli
- @soda-gql/cli/package.json
Readme
@soda-gql/cli
Command-line interface for soda-gql zero-runtime GraphQL code generation.
Installation
bun add -D @soda-gql/cli @soda-gql/configUsage
Configuration
Create a soda-gql.config.ts file in your project root:
import { defineConfig } from "@soda-gql/config";
export default defineConfig({
outdir: "./src/graphql-system",
include: ["./src/**/*.ts"],
schemas: {
default: {
schema: "./schema.graphql",
inject: "./src/graphql-system/default.inject.ts",
},
},
});Commands
Generate GraphQL System
bun run soda-gql codegenThis command:
- Reads your GraphQL schema
- Generates type-safe GraphQL system module
- Outputs to the directory specified in
outdir
Scaffold Templates
For first-time setup, generate inject template with scalar and adapter definitions:
bun run soda-gql codegen --emit-inject-template ./src/graphql-system/default.inject.tsCLI Options
| Option | Description |
|---|---|
--config <path> |
Path to config file (auto-discovered if not specified) |
--emit-inject-template <path> |
Generate scaffold template for scalars and adapter definitions |
--format <type> |
Output format: human (default) or json |
Config File Discovery
The CLI automatically searches for configuration files in the following order:
soda-gql.config.tssoda-gql.config.mtssoda-gql.config.jssoda-gql.config.mjs
Example Workflow
# 1. Install dependencies
bun add @soda-gql/core @soda-gql/runtime
bun add -D @soda-gql/cli @soda-gql/config
# 2. Create config file
cat > soda-gql.config.ts << 'EOF'
import { defineConfig } from "@soda-gql/config";
export default defineConfig({
outdir: "./src/graphql-system",
include: ["./src/**/*.ts"],
schemas: {
default: {
schema: "./schema.graphql",
inject: "./src/graphql-system/default.inject.ts",
},
},
});
EOF
# 3. Generate templates (first-time only)
bun run soda-gql codegen --emit-inject-template ./src/graphql-system/default.inject.ts
# 4. Generate GraphQL system
bun run soda-gql codegenRelated Packages
- @soda-gql/config - Configuration management
- @soda-gql/codegen - Code generation engine
- @soda-gql/core - Core types and utilities
License
MIT