Configuration File

Bundle all CLI options into a single config file for consistent, reproducible formatting.

Using --configFile

Terminal
npx openapi-format openapi.json --configFile openapi-format-options.json

Inline Configuration

Define sort, filter, casing, and generate options directly in the config:

openapi-format-options.json
{
  "sort": true,
  "output": "openapi-formatted.yaml",
  "casingSet": {
    "operationId": "camelCase",
    "properties": "snake_case"
  },
  "filterSet": {
    "tags": ["internal", "beta"]
  },
  "generateSet": {
    "operationIdTemplate": "<method>_<pathPart2>_Handler"
  }
}

External File References

Reference separate files for each configuration set:

openapi-format-options.json
{
  "sortFile": "customSort.json",
  "casingFile": "casing-rules.json",
  "filterFile": "filter-rules.json",
  "generateFile": "generate-rules.json"
}

Configuration Properties

Inline File Description
sortSet sortFile Custom field ordering rules
casingSet casingFile Casing conventions for elements
filterSet filterFile Filter rules for stripping items
generateSet generateFile Auto-generation templates

File references override inline configurations when both are present.

Using .openapiformatrc

openapi-format automatically loads a .openapiformatrc file from the current directory. CLI options override these settings.

.openapiformatrc
{
  "output": "openapi-final.yaml",
  "sort": true,
  "filterSet": {
    "tags": ["internal", "beta"]
  }
}