CLI
Command-line utility for converting OpenAPI (formerly Swagger) definitions to TypeScript.
Installation
Using NPM:
npm i -D @harnessio/oats-cli
Using Yarn:
yarn add -D @harnessio/oats-cli
You can run the commands shown below using npx
(which is bundled with npm
).
For example npx oats import --config oats.config.ts
.
Usage
Usage: oats <cmd> [args]
Commands:
oats import Import OpenAPI specification and output TypeScript code
Options:
--version Show version number [boolean]
--help Show help [boolean]
Available commands
import
oats import
Import OpenAPI specification and output TypeScript code
Options:
--version Show version number [boolean]
--help Show help [boolean]
--file Path to OpenAPI spec file. Can be either a JSON or YAML fil
e. [string]
--url URL to remote OpenAPI spec file. [string]
-o, --output Location for the output. [string]
-c, --config Location for the config file.
[string] [default: "oats.config.ts"]
--clean Remove the output directory before generating service.
[boolean] [default: false]
--service Pick the services to generate from a config file. All the s
ervices will generated by default. [array] [default: []]
--genOnlyUsed By default, all types defined in spec are generated. Pass
this flag to, only generate types, which are referenced in
paths.
[boolean] [default: false]
--verbose Shows verbose output [boolean]
Config
Config can also be provided to the cli using a config file. By default, the cli
will look for oats.config.ts
file in the current directory. This can be changed
using the --config
flag. Using a TypeScript file for config is recommended.
import { defineConfig } from '@harnessio/oats-cli/config';
export default defineConfig({
plugins: [],
services: {
myservice: {
output: './path/to/output/folder',
file: string,
url: string,
genOnlyUsed: boolean,
transformer: (spec) => spec;
plugins: Plugin[];
},
},
});
License
MIT.