@soda-gql/cli
v0.1.0
Published
[](https://www.npmjs.com/package/@soda-gql/cli) [](https://opensource.org/licenses/MIT)
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",
runtimeAdapter: "./src/graphql-system/runtime-adapter.ts",
scalars: "./src/graphql-system/scalars.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 scalar and runtime adapter templates:
bun run soda-gql codegen --emit-inject-template ./src/graphql-system/inject.tsCLI Options
| Option | Description |
|--------|-------------|
| --config <path> | Path to config file (auto-discovered if not specified) |
| --emit-inject-template <path> | Generate scaffold templates for scalars and runtime adapter |
| --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",
runtimeAdapter: "./src/graphql-system/runtime-adapter.ts",
scalars: "./src/graphql-system/scalars.ts",
},
},
});
EOF
# 3. Generate templates (first-time only)
bun run soda-gql codegen --emit-inject-template ./src/graphql-system/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
