1.0.1 • Published 3 years ago

codegen-swagger-express v1.0.1

Weekly downloads
4
License
MIT
Repository
github
Last release
3 years ago

The generated code features:

  • ES7
  • ESLint
  • YAML config file
  • Express
  • No transpiling

Install

To use it from the CLI:

npm install -g codegen-swagger-express

To use it as a module in your project:

npm install --save codegen-swagger-express

Requirements

  • Node.js v7.6+

Usage

From the command-line interface (CLI)

  Usage: cse [options] <swaggerFile>


  Options:

    -V, --version                  output the version number
    -o, --output <outputDir>       directory where to put the generated files (defaults to current directory)
    -t, --templates <templateDir>  directory where templates are located (defaults to internal nodejs templates)
    -h, --help                     output usage information

Examples

The shortest possible syntax:

cse swagger.yaml

Specify where to put the generated code:

cse swagger.yaml -o ./my-api

As a module in your project

const path = require('path');
const codegen = require('codegen-swagger-express');
const swagger = require('./swagger.json');

codegen.generate({
  swagger,
  target_dir: path.resolve(__dirname, './my-api')
}).then(() => {
  console.log('Done!');
}).catch(err => {
  console.error(`Something went wrong: ${err.message}`);
});

The swagger parameter can be either JSON or a path pointing to a JSON or YAML file.

const path = require('path');
const codegen = require('codegen-swagger-express');

codegen.generate({
  swagger: path.resolve(__dirname, './swagger.yml'),
  target_dir: path.resolve(__dirname, './my-api')
}).then(() => {
  console.log('Done!');
}).catch(err => {
  console.error(`Something went wrong: ${err.message}`);
});

Using async/await

The function codegen.generate returns a Promise, so it means you can use async/await:

const path = require('path');
const codegen = require('codegen-swagger-express');

try {
  await codegen.generate({
    swagger: path.resolve(__dirname, './swagger.yml'),
    target_dir: path.resolve(__dirname, './my-api')
  });
  console.log('Done!');
} catch (err) {
  console.error(`Something went wrong: ${err.message}`);
}

API Documentation

Modules

codegen

This module generates a code skeleton for an API using OpenAPI/Swagger.

generate ⇒ Promise

Generates a code skeleton for an API given an OpenAPI/Swagger file.

ParamTypeDescription
configObjectConfiguration options
config.swaggerObject | StringOpenAPI/Swagger JSON or a string pointing to an OpenAPI/Swagger file.
config.target_dirStringPath to the directory where the files will be generated.
config.templatesStringPath to the directory where custom templates are (optional).

Templates

You can create your own templates.

Authors

  • AndreOneti