openapi-editor
The OpenAPI Editor is a wrapper package built around the Swagger Editor tool which allows you to edit Open API specifications in YAML inside your browser and preview its documentations in real time.The OpenAPI Specification is a community-driven open specification within the OpenAPI Initiative, a Linux Foundation Collaborative Project.
OpenAPI Editor is built with swagger-editor-dist which is a dependency-free module that includes everything you need to serve Swagger Editor in a project.
Features
- Runs as a stand-alone web application in a port of your choice.
- Edit, validate and save your OpenAPI yaml file describing your project API.
Getting Started
In a typical workflow of building an API based on the Open API specifications, you would design and model your API, write the implementation code, test it and maintain it.Install
In a new or existing folder containing your project:``
npm install openapi-editor
``Usage
By default ``openapi-editor
` will run in a dynamically assigned port and will attempt to find an OpenAPI yaml file in the default path
`src/api/v1/api.yaml
``You can add an entry to the "scripts" section in package.json:
"scripts": {
"api:edit": "openapi-editor --file ./src/api/v1/api.yaml --port 10021"
}
You can also run it from the command line using ``
npx
````
npx openapi-editor --file ./src/api/v1/api.yaml --port 10021
``Or in JavaScript by importing the module
const openApiEditor = require('openapi-editor');
const options = {
file: './src/api/v1/api.yaml', // specify path as string or fully resolved path
host: '127.0.0.1', // specify ip
port: 10021, // specify port or omit for random port usage
silent: false, // invoque browser or run silently
};
openApiEditor.edit(options);
API
``--file [optional]
``
The OpenAPI specification File to edit. Defaults to ``src/api/v1/api.yaml
````--host [optional]
``
Optional ip to run. Defaults to 127.0.0.1 .``--port [optional]
``
Optional port to run. Defaults to 0 or dynamically assigned port.``--silent [optional true/false]
``
Automatically opens default browser. Defaults to true.Licence
This project is licensed under the MIT LicenseDevelopment Setup
Clone this repo ``git clone https://github.com/Codermar/openapi-editor
````
npm install
````
npm run test:watch
`` To run tests in watch mode.``
npm run build
` or
`npm run build:watch
`` To build the project.npm test
to run the tests.Docker
``cd docker
`
`docker build -t Codermar/open-api .
`
`docker run -d --name openapieditor --restart always -p 8080:8080 Codermar/open-api
``