Other projects whose source code is private (like WikiaSpam) or too niche to be included in KockaLogger's repository (like the possibly upcoming Scribunto CI for Dev Wiki) may need integration with KockaLogger for easier and more reliable parsing. The current setup has a few issues with being made into an npm module, such as KockaLogger modules always being loaded from the modules folder, that should be looked into.
Proposed solution
Create an index.js file that exports required KockaLogger classes for public use. This includes all files from include/ and parser/ directories, as well as the Loader and Module classes.
Make sure all directories are configurable and that the location of KockaLogger's data files isn't taking the location of the module requesting it into account.
etc.
Alternative solutions
Just create an integration of KockaLogger with Lux and create a Lux service that uses the KockaLogger service for receiving and parsing messages. This also makes requesting interest information an asynchronous process instead of synchronous, further complicating KockaLogger client's structure.
Description
Other projects whose source code is private (like WikiaSpam) or too niche to be included in KockaLogger's repository (like the possibly upcoming Scribunto CI for Dev Wiki) may need integration with KockaLogger for easier and more reliable parsing. The current setup has a few issues with being made into an npm module, such as KockaLogger modules always being loaded from the
modules
folder, that should be looked into.Proposed solution
index.js
file that exports required KockaLogger classes for public use. This includes all files frominclude/
andparser/
directories, as well as the Loader and Module classes.Alternative solutions
Just create an integration of KockaLogger with Lux and create a Lux service that uses the KockaLogger service for receiving and parsing messages. This also makes requesting interest information an asynchronous process instead of synchronous, further complicating KockaLogger client's structure.