You can now create a file in your plugin/theme in the `api-initializers`
directory which has a simpler template than previous initializers.
Example:
```
// api-initializers/my-plugin.js
import { apiInitializer } from "discourse/lib/api";
export default apiInitializer("0.8", api => {
console.log("hello world from api initializer!");
});
```
19 lines
480 B
JavaScript
19 lines
480 B
JavaScript
import { withPluginApi } from "discourse/lib/plugin-api";
|
|
|
|
/**
|
|
* apiInitializer(version, apiCodeCallback, opts)
|
|
*
|
|
* An API to simplify the creation of initializers for plugins/themes by removing
|
|
* some of the boilerplate.
|
|
*/
|
|
let _apiInitializerId = 0;
|
|
export function apiInitializer(version, cb, opts) {
|
|
return {
|
|
name: `api-initializer${_apiInitializerId++}`,
|
|
after: "inject-objects",
|
|
initialize() {
|
|
return withPluginApi(version, cb, opts);
|
|
},
|
|
};
|
|
}
|