Can a strapi plugin express a dependency on another strapi plugin

Hi,

Can a strapi plugin express a dependency on another strapi plugin? If yes, what needs to be done to make this work? I cannot seem to find anything about this in the plugin documentation.

Eg. if I want to develop a plugin that uses the documentation json that is generated by the documentation plugin (or if I want to call a service method from the documentation plugin), what do I need to do (in my plugin, as a plugin developer) to ensure that the documentation plugin is also installed, and further, that it is loaded before my plugin?

Currently, the only way I can think of is -

  • make the documentation plugin package as a (peer) dependency of my plugin
  • document the dependency in the README and require strapi developers to explicitly install the documentation plugin and enable it in the strapi plugins configuration. But even with this, I’m not sure what determines the order of loading for the enabled plugins - is it the order of the keys in the plugins.ts?

Is there another/better way? Any help/guidance is appreciated!

thanks and regards,
Chetan