With the introduction of AdminJS Marketplace, members of the AdminJS community can now publish their created plugins there, either for free or for a fee. In this article, we will describe how you can write your own plugin and what steps to take to make it appear in the AdminJS Marketplace at https://cloud.adminjs.co.
There are various categories of addons that you can develop, but most fall into the following classifications:
- Adapters: These are libraries that establish a connection between your AdminJS panel and a database, either directly or through an ORM/ODM.
- Plugins: These libraries enable you to configure an AdminJS panel using different frameworks, facilitating the setup of API endpoints and views.
- Features: Libraries categorized as features extend resource configuration to offer built-in functionalities, such as upload logic or generic actions.
- Themes: Themes can range from a simple recoloring of the default AdminJS panel to a complete overhaul of its visual appearance.
- Authentication Providers: Introduced in version 7.4.0 of the
adminjs
package, authentication providers simplify and broaden the possibilities for authenticating into AdminJS.
If you're keen on participating in the development of AdminJS, we recommend reviewing the following articles within this documentation:
{% content-ref url="basics/resource.md" %} resource.md {% endcontent-ref %}
{% content-ref url="basics/action.md" %} action.md {% endcontent-ref %}
{% content-ref url="basics/property.md" %} property.md {% endcontent-ref %}
{% content-ref url="basics/features/writing-your-own-features.md" %} writing-your-own-features.md {% endcontent-ref %}
{% content-ref url="ui-customization/writing-your-own-components.md" %} writing-your-own-components.md {% endcontent-ref %}
{% content-ref url="basics/themes.md" %} themes.md {% endcontent-ref %}
{% content-ref url="basics/authentication/" %} authentication {% endcontent-ref %}
In case the articles above are not sufficient, feel free to reach out to us via our official Discord server, and we will be happy to assist you.
As addons are published on official AdminJS channels, there are several guidelines that each addon must adhere to in order to be published on the Marketplace:
- Usage of Typescript to maintain the readability of the code,
- Usage of ESLint to keep the code clean,
- Compatibility with the latest versions of AdminJS packages and building ESM output,
Every submitted addons will also have to be reviewed and tested by an AdminJS developer.
To publish your addon, please contact us through the contact form or Discord. In the future, the process of adding addons will be automated.