This package is deprecated and maintanance has been stopped in favor of the Node.js template at github.com/asyncapi/generator.
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.
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: 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
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
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}`);
});
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}`);
}
Fran Méndez (@fmvilas)