@sigilry/cli
@sigilry/cli generates TypeScript types from DAML DAR files using dpm codegen-alpha-typescript.
Install
Section titled “Install”yarn add -D @sigilry/cliInitialize config
Section titled “Initialize config”sigilry initThis creates a sigilry.config.ts file:
import { defineConfig } from "@sigilry/cli/config";
export default defineConfig({ dars: ["./path/to/your.dar"], output: "./src/generated", cleanup: true, watch: false,});Using Splice DARs
Section titled “Using Splice DARs”For Canton Network / Splice development, use @sigilry/splice-dars instead of managing DAR files manually:
import { defineConfig } from "@sigilry/cli/config";import { spliceDars } from "@sigilry/splice-dars";
export default defineConfig({ dars: [spliceDars.amulet, spliceDars.apiTokenHolding], output: "./src/generated",});Generate types
Section titled “Generate types”sigilry codegenWatch mode
Section titled “Watch mode”sigilry codegen --watchConfiguration reference
Section titled “Configuration reference”SigilryConfig supports:
dars: array of DAR paths (required).output: output directory (default./src/generated).cleanup: clean output directory before generation (defaulttrue).watch: enable watch mode (defaultfalse).
Programmatic API
Section titled “Programmatic API”import { generateTypes, loadConfig } from "@sigilry/cli";
async function generate() { const { config } = await loadConfig(); const result = await generateTypes(config);
if (!result.success) { throw new Error(result.error); }
return result;}
generate();Requirements
Section titled “Requirements”- Node.js 18.19+.
- DAML SDK installed so
dpmis available in PATH.