Skip to content

OpenAPI Editor is a wrapper for Swagger-Editor 3.x

Notifications You must be signed in to change notification settings

Codermar/openapi-editor

Repository files navigation

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 License

Development 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

Contributing

Keep it simple. Keep it minimal.