swagger-to-raml-object

0.0.6 • Public • Published

Swagger To RAML Object

NPM version Build status Test coverage

Takes a swagger spec and converts it into a RAML JavaScript object, usually for conversion to RAML with the raml-object-to-raml module.

Installation

npm install swagger-to-raml-object --save

Usage

Quickly get started converting swagger to RAML in your command line:

# Make sure node and npm are installed before continuing. 
 
npm install swagger-to-raml-object -g
npm install raml-object-to-raml -g
 
# Convert a swagger spec into a raml object. 
swagger-to-raml-object http://petstore.swagger.wordnik.com/api/api-docs
 
# Pipe the result of that into the raml object to raml converter. 
swagger-to-raml-object http://petstore.swagger.wordnik.com/api/api-docs | raml-object-to-raml
 
# You can then output the result of that to a file. 
swagger-to-raml-object http://petstore.swagger.wordnik.com/api/api-docs | raml-object-to-raml > output.raml

CLI

The CLI accepts a single swagger file to load and will recursively compile the spec into a single RAML object representation before printing the JSON to stdout.

swagger-to-raml-object resources.json > raml.json

JavaScript

The module exports a single function for converting Swagger specifications. It accepts three arguments, the root resource listing, a file reader function and a callback for when parsing is complete. The callback is called with an error (if something occured) and the resulting RAML object.

var converter = require('swagger-to-raml-object');
 
converter(rootFile, function (filename, done) {
  return fs.readFile(filename, 'utf8', done);
}, function (err, ramlObject) {
  if (err) {
    console.error(err);
  }
 
  console.log(ramlObject);
  // {
  //   "title": "Example API",
  //   "resources": [{ ... }],
  //   ...
  // }
});
 

Features and Limitations

  • Works with Swagger 1.2 (not 2.0 yet)
  • Loads from any resource structure given a file reader function
  • Does not parse XML bodies into schemas yet (only JSON and form)
  • Does not do any RAML documentation optimisations such as resourceTypes, traits or global schemas
  • Currently only does single file output

License

Apache 2.0

Readme

Keywords

Package Sidebar

Install

npm i swagger-to-raml-object

Weekly Downloads

1

Version

0.0.6

License

Apache 2.0

Last publish

Collaborators

  • mulesoft-npm
  • christianvogel
  • juan.coen
  • cesaraugustogarcia