Skip to content

apigee-127/swagger-converter

Repository files navigation

Swagger Converter

NPM version Build status Coverage Status Dependency status devDependency status

Join the chat at https://gitter.im/apigee-127/swagger-converter

Converts Swagger documents from version 1.x to version 2.0

Installation

Use npm

npm install swagger-converter --save

Usage

It's recommended to use command line tools like swagger-tools or swagger-spec-converter for converting your spec. This module will not handle validation and if your spec is not valid can produce invalid spec.

convert function

convert accept accept following arguments:

  • resourceListing(required) is Swagger 1.x entry point file.
  • apiDeclarations(required) is a map with paths from resourceListing as keys and resources as values
  • options(optional) - See options for the full list of options
var swaggerConverter = require('swagger-converter');

var resourceListing = require('/path/to/petstore/index.json');

var apiDeclarations = {
  '/pet': require('/path/to/petstore/pet.json'),
  '/user': require('/path/to/petstore/user.json'),
  '/store': require('/path/to/petstore/store.json'),
};

var swagger2Document = swaggerConverter.convert(
  resourceListing,
  apiDeclarations,
);

console.log(JSON.stringify(swagger2Document, null, 2));
listApiDeclarations function

listApiDeclarations function accept following arguments:

  • sourceUrl(required) - source URL for root Swagger 1.x document
  • resourceListing(required) - root Swagger 1.x document
var swaggerConverter = require('swagger-converter');

var resourceListing = require('/path/to/petstore/index.json');

var apiDeclarations = swaggerConverter.listApiDeclarations(
  'http://test.com/api-docs',
  resourceListing,
);

console.log(JSON.stringify(apiDeclarations, null, 2));
/*
{
  "/pet": "http://test.com/api-docs/pet",
  "/user": "http://test.com/api-docs/user",
  "/store": "http://test.com/api-docs/store"
}
*/

Options

  • collectionFormat[string] - assigned to every array parameter.
  • buildTagsFromPaths[bool] - ignore resourcePath and buid tags from resource path. Default: false.

Development

Install dependencies with npm install command and use npm test to run the test. Tests will fail if you break coding style.

Building for browser

Just run this command to make a new browser.js

npm run build

License

MIT. See LICENSE