openapi-editor

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

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
openapi-editor
770.3.02 years ago4 years agoMinified + gzip package size for openapi-editor in KB

Readme

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.