mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 17:28:26 -04:00
[OpenAPI] Add redocly lint configuration (#199360)
This commit is contained in:
parent
bcfe9bf48b
commit
907d19b7b8
4 changed files with 59 additions and 12 deletions
|
@ -45,8 +45,7 @@ Besides the scripts in the `oas_docs/scripts` folder, there is an `oas_docs/make
|
|||
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `api-docs` | Builds ESS Kibana OpenAPI bundle |
|
||||
| `api-docs-serverless` | Builds Serverless Kibana OpenAPI bundle |
|
||||
| `api-docs-lint` | Lints built result bundles |
|
||||
| `api-docs-lint-errs` | Lints built result bundles for errors |
|
||||
| `api-docs-lint` | Lints built result bundles |
|
||||
| `api-docs-preview` | Generates (ESS + Serverless) Kibana OpenAPI bundles preview |
|
||||
| `api-docs-overlay` | Applies [overlays](https://docs.bump.sh/help/specification-support/overlays/) from `overlays` folder to the Kibana OpenAPI bundles and generate `*.new.yaml` files. Overlays help to fine tune the result bundles. |
|
||||
| `api-docs-overlay-preview` | Generates a preview for bundles produced by `api-docs-overlay` |
|
||||
|
|
52
oas_docs/linters/redocly.yaml
Normal file
52
oas_docs/linters/redocly.yaml
Normal file
|
@ -0,0 +1,52 @@
|
|||
extends:
|
||||
- recommended
|
||||
rules:
|
||||
# Built-in rules
|
||||
# Descriptions
|
||||
parameter-description: warn
|
||||
tag-description: warn
|
||||
operation-description: off
|
||||
# Document info
|
||||
info-contact: warn
|
||||
info-license: warn
|
||||
# Examples
|
||||
no-invalid-media-type-examples:
|
||||
severity: warn
|
||||
allowAdditionalProperties: false
|
||||
no-invalid-schema-examples:
|
||||
severity: warn
|
||||
allowAdditionalProperties: false
|
||||
# Operations
|
||||
operation-operationId: error
|
||||
operation-operationId-unique: error
|
||||
operation-operationId-url-safe: warn
|
||||
operation-summary: warn
|
||||
# Parameters
|
||||
path-parameters-defined: warn
|
||||
# Paths
|
||||
no-ambiguous-paths: warn
|
||||
no-identical-paths: error
|
||||
path-excludes-patterns:
|
||||
severity: error
|
||||
patterns:
|
||||
- ^\/internal
|
||||
# Responses
|
||||
operation-4xx-response: off
|
||||
operation-2xx-response: off
|
||||
# Schema
|
||||
spec: off
|
||||
spec-strict-refs: off
|
||||
# Tags
|
||||
operation-tag-defined: off
|
||||
tags-alphabetical: off
|
||||
operation-singular-tag: off
|
||||
# Custom rules
|
||||
rule/operation-summary-length:
|
||||
subject:
|
||||
type: Operation
|
||||
property: summary
|
||||
message: Operation summary must have a minimum of 5 and maximum of 45 characters
|
||||
severity: warn
|
||||
assertions:
|
||||
maxLength: 45
|
||||
minLength: 5
|
|
@ -27,20 +27,16 @@ api-docs-serverless: ## Generate only kibana.serverless.yaml
|
|||
@node scripts/merge_serverless_oas.js
|
||||
|
||||
.PHONY: api-docs-lint
|
||||
api-docs-lint: ## Run spectral API docs linter
|
||||
@npx @stoplight/spectral-cli lint "output/*.yaml" --ruleset ".spectral.yaml"
|
||||
|
||||
.PHONY: api-docs-lint-errs
|
||||
api-docs-lint-errs: ## Run spectral API docs linter and return only errors
|
||||
@npx @stoplight/spectral-cli lint "output/*.yaml" --ruleset ".spectral.yaml" -D
|
||||
api-docs-lint: ## Run redocly API docs linter
|
||||
@npx @redocly/cli lint "output/*.yaml" --config "linters/redocly.yaml" --format stylish --max-problems 500
|
||||
|
||||
.PHONY: api-docs-lint-stateful
|
||||
api-docs-lint-stateful: ## Run spectral API docs linter on kibana.yaml
|
||||
@npx @stoplight/spectral-cli lint "output/kibana.yaml" --ruleset ".spectral.yaml"
|
||||
api-docs-lint-stateful: ## Run redocly API docs linter on kibana.yaml
|
||||
@npx @redocly/cli lint "output/kibana.yaml" --config "linters/redocly.yaml" --format stylish --max-problems 500
|
||||
|
||||
.PHONY: api-docs-lint-serverless
|
||||
api-docs-lint-serverless: ## Run spectral API docs linter on kibana.serverless.yaml
|
||||
@npx @stoplight/spectral-cli lint "output/kibana.serverless.yaml" --ruleset ".spectral.yaml"
|
||||
api-docs-lint-serverless: ## Run redocly API docs linter on kibana.serverless.yaml
|
||||
@npx @redocly/cli lint "output/kibana.serverless.yaml" --config "linters/redocly.yaml" --format stylish --max-problems 500
|
||||
|
||||
.PHONY: api-docs-overlay
|
||||
api-docs-overlay: ## Run spectral API docs linter on kibana.serverless.yaml
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue