load out of tree services
ssube opened this issue · 1 comments
ssube commented
Summary
Supporting out of tree services (plugins) will allow developers to create new services without rebuilding the bot or even needing to fork it. Should greatly decrease the learning curve and maintenance.
Scope
- define necessary data to load (module, export name, etc)
- config segment to list modules
- require listed modules during init
- instantiate and pass to DI
- example project and service
- schema stubs for external services
- document it -- a lot
- write tests
- figure out isolex/noicejs exports
Use Case
Developing a new service without rebuilding the whole bot.
ssube commented
Wrote an example service in vanilla JS: https://github.com/ssube/isolex-oot-example
This requires webpack to export isolex as a variable/library, and requires isolex to re-export a variety of DI variables, which is not ideal.
Once I sort that out and write docs, including a readme for the example service repo, this will be done.