Skip to main content

Built-in Plugins

@keq-request/cli provides a rich set of built-in plugins to help you generate high-quality TypeScript code from OpenAPI documents. Plugins fall into two categories: optional plugins that require manual configuration and core plugins that are automatically enabled.

Optional Plugins

The following plugins must be manually added to the configuration file to take effect. Choose based on your project needs.

Plugin NameDescription
BodyFallbackPluginAdds undefined request parameters to the request body instead of discarding them
ChineseToPinyinPluginAutomatically converts Chinese identifiers in OpenAPI documents to pinyin
EslintPluginAutomatically runs ESLint formatting (eslint --fix) after code generation
PrettierPluginAutomatically runs Prettier formatting (prettier --write) after code generation
OverwriteOperationIdPluginOverrides operationId fields in OpenAPI documents based on custom rules
OverwriteAdditionalPropertiesPluginForces object schemas without additionalProperties to set additionalProperties: false
OverwriteQueryOptionsPluginCustomizes URL query parameter formatting
LintSchemaPluginValidates Schema compliance in OpenAPI documents using JSON Schema Draft 2020-12 meta-schema
UseValibotPluginGenerates components/schema using Valibot
MockPluginInjects mock data hints into Schemas for more realistic mock data generation with keq mock
SpringdocCompatPluginFixes compatibility issues with nested extensions objects in SpringDoc-generated documents
OverwriteSchemaNamePluginRenames Schema names in components.schemas based on custom rules

Core Plugins

The following plugins are automatically enabled by the CLI based on configuration — no manual setup required. They handle core functionality like document downloading and code generation.

Plugin NameDescription
DownloadHttpFilePluginDownloads OpenAPI documents from HTTP/HTTPS URLs
DownloadLocalFilePluginLoads OpenAPI documents from the local filesystem
GenerateDeclarationPluginGenerates TypeScript type declaration files
GenerateMicroFunctionPluginGenerates function-style API calling code
GenerateNestjsModulePluginGenerates NestJS module code
InitialPluginCore plugin responsible for loading other plugins based on configuration
ShakingPluginRemoves unused Schema definitions from OpenAPI documents
TerminalSelectProvides terminal interactive selection functionality