Internal helpers called by Bajo and other classes. It should remains hidden and not to be imported by any program.
- Source
Methods
(async, static) exports.bootOrder()
Setup plugins boot orders by reading plugin's .bootorder file if provided.
- Source
(async, static) exports.bootPlugins()
Iterate through all plugins loaded and do:
- build configs
- ensure names & aliases uniqueness
- ensure dependencies are met
- collect hooks
- run plugins
- Source
(async, static) exports.buildBaseConfig()
Building bajo base config. Mostly dealing with directory setups:
- determine base directory
- check whether data directory is valid. If not exist, create one inside app dir
- ensure data config directory is there
- ensure tmp dir is there
- read the list of plugins from
.pluginsfile
- Source
(async, static) exports.buildConfigs()
Build configurations
- Source
(async, static) exports.buildExtConfig()
Bajo extra config:
- reading config file
- merge config with arguments & environments values
- Set environment (
devorprod)
- Source
(async, static) exports.buildPlugins()
Building all plugins:
- load from app's pluginPkgs
- iterate through the list and build related plugins
- making sure main plugin is there. If not, create from template
- attach these plugins to the app instance
- Source
(async, static) exports.checkDependencies()
Ensure dependencies are met
- Source
(async, static) exports.checkNameAliases()
Ensure for names and aliases to be unique and no clashes with other plugins
- Source
(async, static) exports.collectConfigHandlers()
Collect all config handlers, including the one provided by plugins
- Source
(async, static) exports.collectHooks()
Collect and build hooks and push them to the bajo's hook system
- Source
(async, static) exports.exitHandler()
Attach plugins exit handlers and make sure the app shutdowns gracefully
- Source
(async, static) exports.run()
Finally, run all plugins
- Source
(async, static) exports.runAsApplet()
If app is in applet mode, this little helper should take care plugin's applet boot process
- Source
- event:{ns}:beforeAppletRun
- event:{ns}:afterAppletRun
Type Definitions
TAppLib
- Object
| Name | Type | Description |
|---|---|---|
_ | Object | Access to lodash. |
fs | Object | Access to fs-extra. |
fastGlob | Object | Access to fast-glob. |
sprintf | Object | Access to sprintf. |
aneka | Object | Access to aneka. |
outmatch | Object | Access to outmatch. |
dayjs | Object | Access to dayjs with utc & customParseFormat plugin already applied. |
freeze | Object | |
findDeep | Object |
- Source
- See