1.0.0 • Published 6 years ago

api-console-builder-templates v1.0.0

Weekly downloads
34
License
Apache-2.0 or CC-...
Repository
github
Last release
6 years ago

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.

PropertyTypeDefault
mainFileStringundefined
ramlStringundefined
embeddedBooleanfalse
useJsonBooleanfalse
inlineJsonBooleanfalse

ApiConsoleTemplatesProcessor

Constructor

ArgumentTypeDescription
workingDirStringPath to a working directory where the console is processed.
loggerObjectAny logger with the interface compatible with platform's console object.
optionsObject or TemplateProcessorOptionsBuild 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()).

ArgumentTypeDescription
ramlObjectParsed 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.

ArgumentTypeDescription
pathStringOptional. Default to bower_components/api-console/. Path where the API console main file exists.
Return

Resolved promise when paths were updated.