Norvell's Public Machinations
Have opinions about JavaScript? We want to hear them. Take the 2018 JavaScript Ecosystem Survey »

asyncapi-node-codegen

1.3.1 • Public • Published

AsyncAPI Node.js
Code Generator

Use your AsyncAPI definition to
generate the code for your API.



The generated code features:

  • Default Node.js template, featuring:
    • ES7
    • ESLint
    • YAML config file
    • Hermes
    • No transpiling
  • Custom templates. Check --templates option in the Usage section. Kudos to @jantoniucci.

Install

To use it from the CLI:

npm install -g asyncapi-node-codegen

To use it as a module in your project:

npm install --save asyncapi-node-codegen

Usage

From the command-line interface (CLI)

  Usage: anc [options] <asyncAPI>
 
 
  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:

anc asyncapi.yaml

Specify where to put the generated code:

anc asyncapi.yaml -o ./my-api

Specify where to find the code templates:

anc asyncapi.yaml -t ../my-specific-templates-dir -o ./my-api

As a module in your project

const path = require('path');
const codegen = require('asyncapi-node-codegen');
const asyncapi = '/path/to/asyncapi.yaml'; // Or a path to a JSON file
 
codegen.process(asyncapi, path.resolve(__dirname, './my-api')).then(() => {
  console.log('Done!');
}).catch(err => {
  console.error(`Something went wrong: ${err.message}`);
});

Using async/await

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

const path = require('path');
const codegen = require('asyncapi-node-codegen');
const asyncapi = '/path/to/asyncapi.yaml'; // Or a path to a JSON file
 
try {
  await codegen.process(asyncapi, path.resolve(__dirname, './my-api'));
  console.log('Done!');
} catch (err) {
  console.error(`Something went wrong: ${err.message}`);
}

Author

Fran Méndez (@fmvilas)

install

npm i asyncapi-node-codegen

Downloadsweekly downloads

37

version

1.3.1

license

none

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability