A npm module to manage Mulesoft's API console templates in the build process.
This module is mainly used in the api-console-builder.
The module exposes 2 classes:
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));
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 |
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. |
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.
Resolved promise when the templates are copied. Resolved function has a new mainFile
argument with the template's main file name.
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. |
Resolved promise after the template variables were set.
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. |
Resolved promise when paths were updated.