WarpJS base plugin
npm install @warp-works/warpjs-pluginBase class for WarpJS plugins.
A plugin allows you to extend the functionality of WarpJS by adding a set of
endpoints to the server.
NOTE: If you need to use @warp-works/warpjs-plugins in your library, make
sure to include it in devDependencies and peerDependencies instead ofdependencies.
A plugin configuration to be added to .warp-works-warpjsrc:
{
"name": "string",
"moduleName": "@some/module",
"path": "/endpoints/base/path",
"type": "optional type",
"auth": "value",
}
- name Name of the plugin. This is distinct from the plugin itself as it could
be used multiple times.
- moduleName is the npm package that will be require().
- path is the mounting path of the application on the expressJS server.
- type is optional. You can define your own types. See a list of
RESERVED_PLUGIN_TYPES that are affecting
Studio and Content.
- auth is optional. You can define if auth is needed. The value can be
"admin", "content", true, or false. Default value is false. When
admin or content is used, the user must be logged in, and in that
group. A user in admin is allowed to access content. When true, any
logged in user can access it.
When defining your own type, make sure that the same API is exposed, as plugins
will expect a given API when interacting with the plugin.
Poor's man check for if it's class-based plugin or module-based (the old way).
Get the WarpjsPluginError.
Gets the different reserved types.
Getter for the converted basename from package.json's name.
Getter for the package.json's version.
Getter for a combination of basename and version.
You must implement this method to get the application. This must return a
function that takes (baseUrl, staticUrl) that will return an initialized
expressJs application.
- baseUrl is the base path under which the application will run.
- staticUrl is the static url of the main application.
Getter to get a unique identifier for the plugin. The default implementation is
to generate the value from package.json's name.
{
"name": "@warp-works/warpjs-plugin",
...
}
will return warp-works-warpjs-plugin.
Getter to see if the plugin is configured with authentication. If so, is theadmin role required to access this application.
Getter to see if the plugin is configured with authentication. If so, is thecontent role required to access this application.
Getter to see if the plugin is configured with authentication. Any truthy value.
Gets a JSON representation of the plugin.
Gets basic constants for the given package.json file.