Osseus
Osseus modular web server
Install
$ npm install @colucom/osseus
after installing update package.json
to include "osseus": "~x.y.z"
instead of "osseus": "^x.y.z"
Osseus Modules
In order to use any one of those modules you should install it on your app
Usage
First, create index.js
:
const Osseus = require('osseus')
const main = async () => {
const osseus = await Osseus.init()
}
main()
Basic example using CLI configuration
$ node index.js --OSSEUS_SERVER_PORT 8888 --OSSEUS_SERVER_DEPENDENCIES ["'logger'"] --DEBUG true --OSSEUS_LOGGER_LOG_LEVEL debug
For more configuration options see osseus-config
Special module configurations
Load
Osseus modules by default are loaded when they appear in the configuration.
You can specify explicitly whether to load a module or not using the OSSEUS_<MODULE-NAME>_LOAD
configuration param which can be true
or false
(boolean)
Private
You can write your own private osseus modules which you do not wish to publish to the public npm.
In order to use them you will need to specify explicitly that they are private using the OSSEUS_<MODULE-NAME>_PRIVATE
configuration param which can be true
or false
(boolean)
Scope
You can write your own osseus modules and publish to the public npm under your own scope/organization.
In order to use them you will need to specify explicitly the scope of the module using the OSSEUS_<MODULE-NAME>_SCOPE
configuration param.
By default modules are loaded from the @colucom
organization.
Use_Trace
For debugging purposes, osseus uses trace-and-clarify-if-possible.
This module causes memory leaks so it can only be used in debug
mode. To activate this module set USE_TRACE
to true
.
Dependencies
Osseus modules by default are initialized parallely.
In order for modules to initialize after specific modules we have the "dependencies" configuration setting.
Generally speaking, if you wish for one osseus module to initialize before another you'll have to add the following configuration param: OSSEUS_<MODULE-NAME>_DEPENDENCIES: ['<other-module-name>']
For example, if we wish to have an osseus-server but make sure we have osseus-logger before that we will add to our configuration: OSSEUS_SERVER_DEPENDENCIES: ['logger']
Contributing
Please see contributing guidelines.
License
Code released under the MIT License.