Skip to content

Set up oxa-types Rust crates.io package #11

@nokome

Description

@nokome

Set up the Rust package for OXA types using typify for code generation from JSON Schema. Create packages/oxa-types-rs/ with:

Cargo.toml

  • Package name: oxa-types
  • Dependencies: serde, serde_json

src/lib.rs (generated)

  • Rust types generated from JSON Schema using typify
  • Proper serde attributes for JSON serialization
  • Tagged enums for Block/Inline union types

Codegen integration

  • Implement scripts/lib/generate-rs.ts to invoke the generate-rs binary
  • The scripts/lib/generate-rs.rs binary uses typify to generate Rust code. Avoid having Rust as a hard dependency (skip if not available)
  • Register in scripts/codegen.ts generators array
  • Add pnpm codegen rs command

Tasks

  • Create packages/oxa-types-rs/Cargo.toml
  • Create placeholder packages/oxa-types-rs/src/lib.rs
  • Implement scripts/lib/generate-rs.ts to invoke Rust binary
  • Complete scripts/lib/generate-rs.rs typify implementation
  • Register Rust generator in scripts/codegen.ts
  • Run pnpm codegen rs and verify generated types
  • Verify cargo build succeeds for the package

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions