All Projects → Redocly → Openapi Cli

Redocly / Openapi Cli

Licence: mit
⚒️ OpenAPI 3 CLI toolbox with rich validation and bundling features.

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Openapi Cli

Pode
Pode is a Cross-Platform PowerShell web framework for creating REST APIs, Web Sites, and TCP/SMTP servers
Stars: ✭ 329 (+94.67%)
Mutual labels:  swagger, openapi, hacktoberfest
Schemathesis
A modern API testing tool for web applications built with Open API and GraphQL specifications.
Stars: ✭ 768 (+354.44%)
Mutual labels:  swagger, openapi, hacktoberfest
Loopback Next
LoopBack makes it easy to build modern API applications that require complex integrations.
Stars: ✭ 3,972 (+2250.3%)
Mutual labels:  swagger, openapi, hacktoberfest
Redoc
📘 OpenAPI/Swagger-generated API Reference Documentation
Stars: ✭ 15,935 (+9328.99%)
Mutual labels:  swagger, openapi, hacktoberfest
Swagger Combine
Combines multiple Swagger schemas into one dereferenced schema.
Stars: ✭ 102 (-39.64%)
Mutual labels:  swagger, openapi, hacktoberfest
Mockoon
Mockoon is the easiest and quickest way to run mock APIs locally. No remote deployment, no account required, open source.
Stars: ✭ 3,448 (+1940.24%)
Mutual labels:  swagger, openapi, hacktoberfest
Swagger Ui
Swagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.
Stars: ✭ 21,279 (+12491.12%)
Mutual labels:  swagger, openapi, hacktoberfest
Openapi Backend
Build, Validate, Route, Authenticate and Mock using OpenAPI
Stars: ✭ 216 (+27.81%)
Mutual labels:  swagger, openapi, hacktoberfest
Express Jsdoc Swagger
Swagger OpenAPI 3.x generator
Stars: ✭ 69 (-59.17%)
Mutual labels:  swagger, openapi, hacktoberfest
Openapi Spring Webflux Validator
🌱 A friendly kotlin library to validate API endpoints using an OpenApi 3.0 and Swagger 2.0 specification
Stars: ✭ 67 (-60.36%)
Mutual labels:  swagger, openapi, hacktoberfest
Goa
Design-based APIs and microservices in Go
Stars: ✭ 4,493 (+2558.58%)
Mutual labels:  swagger, hacktoberfest, openapi
Openapi Client Axios
JavaScript client library for consuming OpenAPI-enabled APIs with axios
Stars: ✭ 168 (-0.59%)
Mutual labels:  swagger, openapi, hacktoberfest
Apispec
A pluggable API specification generator. Currently supports the OpenAPI Specification (f.k.a. the Swagger specification)..
Stars: ✭ 831 (+391.72%)
Mutual labels:  swagger, openapi, hacktoberfest
Netcoreblockly
.NET Core API to Blockly - generate from WebAPI, Swagger, OData, GraphQL =>
Stars: ✭ 121 (-28.4%)
Mutual labels:  swagger, openapi, hacktoberfest
Mentorship Backend
Mentorship System is an application that matches women in tech to mentor each other, on career development, through 1:1 relations during a certain period of time. This is the backend of this system.
Stars: ✭ 132 (-21.89%)
Mutual labels:  swagger, openapi, hacktoberfest
Terraform Provider Openapi
OpenAPI Terraform Provider that configures itself at runtime with the resources exposed by the service provider (defined in a swagger file)
Stars: ✭ 134 (-20.71%)
Mutual labels:  swagger, openapi
Rapipdf
PDF generation from OpenAPI / Swagger Spec
Stars: ✭ 132 (-21.89%)
Mutual labels:  swagger, openapi
Prance
Resolving Swagger/OpenAPI 2.0 and 3.0 Parser
Stars: ✭ 133 (-21.3%)
Mutual labels:  swagger, openapi
Gemini
Model Driven REST framework to automatically generate CRUD APIs
Stars: ✭ 138 (-18.34%)
Mutual labels:  swagger, openapi
Graphql Mesh
GraphQL Mesh — Query anything, run anywhere
Stars: ✭ 2,114 (+1150.89%)
Mutual labels:  swagger, openapi

OpenAPI CLI toolset

OpenAPI CLI toolbox with rich validation and bundling features.

Travis (.org) npm (scoped) NPM

OpenAPI 3 CLI toolset

Features

Currently, @redocly/openapi-cli supports these features:

  • [x] Multifile validation. No need to bundle your file before validation.
  • [x] Lightning-fast validation. Lint a 1 Mb file in less than one second.
  • [x] Built-in rules for common validations.
  • [x] Configurable severity levels for each rule.
  • [x] Human-readable error messages with codeframes and stylish format options.
  • [x] Intuitive suggestions for misspelled types or references.
  • [x] Easy to implement custom rules.
  • [x] Bundle a multifile definition into a single file.
  • [x] Decorators to modify a validated definition during bundling.
  • [x] Preview reference docs for local development.
  • [x] Support for OpenAPI 2 (fka Swagger) and OpenAPI 3.0.
  • [ ] Support for OpenAPI 3.1 (coming soon).

What makes this tool different

Unlike other OpenAPI linters, @redocly/openapi-cli defines the possible type tree of a valid OpenAPI definition and then traverses it. This approach is very similar to how linters for programming languages work and results in major performance benefits over other approaches. Extend functionality at different points in the lifecycle with preprocessors, rules, and decorators.

Usage

Node

npx @redocly/openapi-cli lint path-to-root-file.yaml

Docker

To give the docker container access to the OpenAPI definition files, you need to mount the containing directory as a volume. Assuming the OAS definition is rooted in the current working directory, you need the following command:

docker run --rm -v $PWD:/spec redocly/openapi-cli lint path-to-root-file.yaml

To build and run with a local image, run the following from the project root:

docker build -t openapi-cli .
docker run --rm -v $PWD:/spec openapi-cli lint path-to-root-file.yaml

Read the docs

Credits

Thanks to graphql-js and eslint for inspiration of the definition traversal approach and to Swagger, Spectral, and OAS-Kit for inspiring the ruleset.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].