plugin() & getPlugins()
plugin()
Section titled “plugin()”Signature
Section titled “Signature”app.plugin(fn, [options])Parameters
Section titled “Parameters”| Name | Type | Description |
|---|---|---|
fn | Function | Plugin function with signature (app, options) => void. |
options | Object | Optional configuration passed to the plugin. |
Returns: app (for chaining).
Examples
Section titled “Examples”function greetPlugin(app) { app.addRoute("/greet", { get: (req, res) => res.json({ hello: "world" }), });}
app.plugin(greetPlugin);
// With optionsapp.plugin(corsPlugin, { origin: "https://mysite.com" });
// Chainingapp .plugin(authPlugin) .plugin(loggingPlugin) .start(3000);Naming & Deduplication
Section titled “Naming & Deduplication”Kaelum uses fn.name or fn.pluginName for dedup:
app.plugin(authPlugin);app.plugin(authPlugin); // ❌ throws — already registeredAnonymous plugins (arrow functions without names) can be registered multiple times.
getPlugins()
Section titled “getPlugins()”Signature
Section titled “Signature”app.getPlugins()Returns: string[] — list of registered plugin names.
Example
Section titled “Example”app.plugin(authPlugin);app.plugin(loggingPlugin);
console.log(app.getPlugins());// ["authPlugin", "loggingPlugin"]