Skip to content

xleiy/swagger-editor

This branch is 1758 commits behind swagger-api/swagger-editor:master.

Folders and files

NameName
Last commit message
Last commit date
Aug 26, 2019
May 17, 2018
Jun 29, 2017
Jan 17, 2020
Jun 12, 2018
Aug 14, 2019
Mar 9, 2020
Nov 25, 2017
Mar 22, 2020
Jul 31, 2019
Jun 15, 2017
Jul 24, 2019
Feb 26, 2019
Mar 20, 2017
Mar 4, 2020
Sep 13, 2018
Mar 19, 2017
Jul 24, 2019
Aug 28, 2019
Jan 9, 2020
Mar 9, 2020
Aug 2, 2019
Sep 21, 2018
Apr 11, 2017
Jun 29, 2017
May 15, 2019
Mar 22, 2020
Mar 22, 2020

Repository files navigation

NPM version Build Status Code Climate Dependency Status devDependency Status Build Status

🕰️ Looking for the older version of Swagger Editor? Refer to the 2.x branch.

Swagger Editor lets you edit Swagger API specifications in YAML inside your browser and to preview documentations in real time. Valid Swagger JSON descriptions can then be generated and used with the full Swagger tooling (code generation, documentation, etc).

As a brand new version, written from the ground up, there are some known issues and unimplemented features. Check out the Known Issues section for more details.

This repository publishes to two different NPM modules:

  • swagger-editor is a traditional npm module intended for use in single-page applications that are capable of resolving dependencies (via Webpack, Browserify, etc).
  • swagger-editor-dist is a dependency-free module that includes everything you need to serve Swagger Editor in a server-side project, or a web project that can't resolve npm module dependencies.

If you're building a single-page application, using swagger-editor is strongly recommended, since swagger-editor-dist is significantly larger.

For the older version of swagger-editor, refer to the 2.x branch.

Running locally

Prerequisites
  • NPM 6.x

Generally, we recommend following guidelines from Node.js Releases to only use Active LTS or Maintenance LTS releases.

Current Node.js Active LTS:

  • Node.js 12.x
  • NPM 6.x

Current Node.js Maintenance LTS:

  • Node.js 10.x
  • NPM 6.x

Unsupported Node.js LTS that should still work:

  • Node.js 8.13.0 or greater
  • NPM 6.x

If you have Node.js and npm installed, you can run npm start to spin up a static server.

Otherwise, you can open index.html directly from your filesystem in your browser.

If you'd like to make code changes to Swagger Editor, you can start up a Webpack hot-reloading dev server via npm run dev.

Browser support

Swagger Editor works in the latest versions of Chrome, Safari, Firefox, and Edge.

Known Issues

To help with the migration, here are the currently known issues with 3.X. This list will update regularly, and will not include features that were not implemented in previous versions.

  • Everything listed in Swagger UI's Known Issues.
  • The integration with the codegen is still missing.
  • Importing specs from a URL is not implemented.

Docker

Running the image from DockerHub

There is a docker image published in DockerHub.

To use this, run the following:

docker pull swaggerapi/swagger-editor
docker run -d -p 80:8080 swaggerapi/swagger-editor

This will run Swagger Editor (in detached mode) on port 80 on your machine, so you can open it by navigating to http://localhost in your browser.

You can also provide a API document from your local machine — for example, if you have a file at ./bar/swagger.json:

docker run -d -p 80:8080 -e URL=/foo/swagger.json -v /bar:/usr/share/nginx/html/foo swaggerapi/swagger-editor

Building and running an image locally

To build and run a docker image with the code checked out on your machine, run the following from the root directory of the project:

# Install npm packages (if needed)
npm install

# Build the app
npm run build

# Build an image
docker build -t swagger-editor .

# Run the container
docker run -d -p 80:8080 swagger-editor

You can then view the app by navigating to http://localhost in your browser.

Documentation

Security contact

Please disclose any security-related issues or vulnerabilities by emailing security@swagger.io, instead of using the public issue tracker.

Packages

No packages published

Languages

  • JavaScript 96.0%
  • HTML 2.3%
  • CSS 1.1%
  • Other 0.6%