api-console-builder-templates

1.0.0 • Public • Published

api-console-builder-templates

Build Status

A npm module to manage Mulesoft's API console templates in the build process.

This module is mainly used in the api-console-builder.

API

The module exposes 2 classes:

Examples

Copy template(s) to the working dir:

const ApiConsoleTemplatesProcessor = require('api-console-builder-templates');
const options = {
  embedded: true,
  useJson: true
};
 
const processor = new ApiConsoleTemplatesProcessor('./build/', console, options);
processor.copyTemplateFiles()
.then((mainFile) => console.log('Template copied! Entry point is now: ', mainFile))
.catch(cause => console.error(cause));

Update template variables:

const raml = await produceRamlAsJson();
processor.updateTemplateVars(raml)
.then(() => console.log('RAML data updated!'))
.catch(cause => console.error(cause));

Rewrite paths to console sources if different than default:

processor.rewriteBowerPaths('components/api-console/')
.then(() => console.log('Paths updated!'))
.catch(cause => console.error(cause));

TemplateProcessorOptions

This options are compatible with api-console-builder options. See docs for options description.

Property Type Default
mainFile String undefined
raml String undefined
embedded Boolean false
useJson Boolean false
inlineJson Boolean false

ApiConsoleTemplatesProcessor

Constructor

Argument Type Description
workingDir String Path to a working directory where the console is processed.
logger Object Any logger with the interface compatible with platform's console object.
options Object or TemplateProcessorOptions Build options passed to the module.

copyTemplateFiles()

Copies template files from module's templates directory to the working location. Depending on options (embedded) it copies main application file or build file and an example of use.

This function do nothing if mainFile is set because it means that the build doesn't need a template. It is used with custom builds. The mainFile will be either index.html or example.html depending on the embedded option.

Return

Resolved promise when the templates are copied. Resolved function has a new mainFile argument with the template's main file name.

updateTemplateVars(raml)

Updates variables in the template file. It only perform the task if a template was used with this build (after calling copyTemplateFiles()).

Argument Type Description
raml Object Parsed to JavaScript object RAML data. Data should be enhanced by the raml-json-enhance-node module.
Return

Resolved promise after the template variables were set.

rewriteBowerPaths(path)

Rewrites the path to import the API console sources in the main file.

This should be used when the console's sources are in the bower_components or other directory and not in the build's root path.

Argument Type Description
path String Optional. Default to bower_components/api-console/. Path where the API console main file exists.
Return

Resolved promise when paths were updated.

Package Sidebar

Install

npm i api-console-builder-templates

Weekly Downloads

1

Version

1.0.0

License

Apache-2.0 or CC-BY-4.0

Unpacked Size

147 kB

Total Files

31

Last publish

Collaborators

  • jarrodek
  • mulesoft-npm