For a NodeJS server application i need to implement dynamic extendability with a plugin-like system. Goal is to be able, to hook in extended calculations by simple plugins, which select when and how to run by events they register for at the main app.
- Within a folder "./plugins" each plugin should live in a subfolder.
- The plugins should be loaded by the application automatically at startup.
- No change at the application code is allowed for introducing a new plugin.
- Plugins should be able to register for events in main application.
- Communication between the plugins should be possible in some way
Is there any ready to use framwork for this requirement or are there any rock solid architecture approaches for this?
Regards
Boxson