Skip to Content
vovk generate

vovk generate

Quick CLI Ref
$ npx vovk generate --help Usage: vovk generate|g [options] Generate RPC client from schema Options: --composed-only generate only composed client even if segmented client is enabled --out, --composed-out <path> path to output directory for composed client --from, --composed-from <templates...> client template names for composed client --include, --composed-include-segments <segments...> include segments in composed client --exclude, --composed-exclude-segments <segments...> exclude segments in composed client --segmented-only generate only segmented client even if composed client is enabled --segmented-out <path> path to output directory for segmented client --segmented-from <templates...> client template names for segmented client --segmented-include-segments <segments...> include segments in segmented client --segmented-exclude-segments <segments...> exclude segments in segmented client --prettify prettify output files --schema, --schema-path <path> path to schema folder (default: ./.vovk-schema) --config, --config-path <config> path to config file --origin <url> set the origin URL for the generated client --watch <s> watch for changes in schema or openapi spec and regenerate client; accepts a number in seconds to throttle the watcher or make an HTTP request to the OpenAPI spec URL --openapi, --openapi-spec <openapi_path_or_urls...> use OpenAPI schema for client generation --openapi-module-name, --openapi-get-module-name <names...> module names corresponding to the index of --openapi option --openapi-method-name, --openapi-get-method-name <names...> method names corresponding to the index of --openapi option --openapi-root-url <urls...> root URLs corresponding to the index of --openapi option --openapi-mixin-name <names...> mixin names corresponding to the index of --openapi option --openapi-fallback <paths...> save OpenAPI spec and use it as a fallback if URL is not available --log-level <level> set the log level -h, --help display help for command

The vovk generate command creates TypeScript, Rust, and Python RPC clients from existing schema files, which are in .vovk-schema by default. You can change this via the config file or override it with CLI flags. Relevant configuration spans several options and documentation pages, including:

See the config page for details.

Available Flags

Composed Client Flags

  • --composed-only β€” generate only the composed client, even if the segmented client is enabled.
  • --out, --composed-out <path> β€” override composedClient.outDir.
  • --from, --composed-from <templates...> β€” override composedClient.templates.
  • --include, --composed-include-segments <segments...> β€” override composedClient.includeSegments.
  • --exclude, --composed-exclude-segments <segments...> β€” override composedClient.excludeSegments.

Segmented Client Flags

  • --segmented-only β€” generate only the segmented client, even if the composed client is enabled.
  • --segmented-out <path> β€” override segmentedClient.outDir.
  • --segmented-from <templates...> β€” override segmentedClient.templates.
  • --segmented-include-segments <segments...> β€” override segmentedClient.includeSegments.
  • --segmented-exclude-segments <segments...> β€” override segmentedClient.excludeSegments.

OpenAPI Mixin Flags

Mixins extend the schema with additional endpoints defined in one or more OpenAPI specs. See OpenAPI Mixins.

  • --openapi, --openapi-spec <openapi_path_or_urls...> β€” use one or more OpenAPI specs (local paths or URLs). For URLs, the command fetches the spec via HTTP GET. Mirrors outputConfig.segments.mixinName.openAPIMixin.source.url (remote) or .source.file (local).
  • --openapi-module-name, --openapi-get-module-name <names...> β€” module names aligned by index with --openapi. Mirrors outputConfig.segments.mixinName.openAPIMixin.getModuleName.
  • --openapi-method-name, --openapi-get-method-name <names...> β€” method names aligned by index with --openapi. Mirrors outputConfig.segments.mixinName.openAPIMixin.getMethodName.
  • --openapi-root-url <urls...> β€” root URLs aligned by index with --openapi. Mirrors outputConfig.segments.mixinName.openAPIMixin.apiRoot.
  • --openapi-mixin-name <names...> β€” mixin names aligned by index with --openapi. In config, serves as the key in outputConfig.segments.
  • --openapi-fallback <paths...> β€” save OpenAPI specs to the specified paths and use them as a fallback if the URL is unavailable. Paths align by index with --openapi.
  • --watch <s> β€” watch the schema or OpenAPI spec and regenerate the client. Accepts a throttle interval in seconds. For remote specs, performs an HTTP request every s seconds; for local files, regenerates on change.

Other Flags

  • --prettify β€” prettify output files with PrettierΒ . Mirrors composedClient.prettifyClient and segmentedClient.prettifyClient.
  • --schema, --schema-path <path> β€” override the schema folder defined by schemaOutDir.
  • --config, --config-path <config> β€” override the config file path. By default, all supported filenames are checked; a warning is shown if multiple are found.
  • --origin <url> β€” override outputConfig.origin.
  • --log-level <level> β€” set log level: trace, debug, info, warn, error, fatal (default: info).
  • -h, --help β€” show help.
Last updated on