Oxlip is a high-level functional programming language for designing OpenAPI definitions. As an Interface Description Language, it is not general purpose. The motivation is to alleviate the pain of managing OpenAPI in JSON or YAML by hand and at scale. Oxlip defines algebraic abstractions over REST concepts, not too dissimilar to Sass/SCSS over CSS.
There are pros and cons to both API-design-first and OpenAPI generated from implementation. As OpenAPI is better produced or consumed by machines rather than humans, Oxlip tries to help API-design-first teams with better tooling.
This step requires a local Rust and Cargo installation.
make install
Optional: a VSCode language extension is available for syntax highlighting and IDE capabilities.
oal-cli [OPTIONS]
OPTIONS:
-b, --base <BASE> The relative URL to a base OpenAPI description
-c, --conf <CONFIG> The path to the configuration file
-h, --help Print help information
-m, --main <MAIN> The relative URL to the main program
-t, --target <TARGET> The relative URL to the target OpenAPI description
oal-cli --conf examples/oal.toml
Release to WebAssembly requires the installation of wasm-pack
.
make wasm