Internal helpers called by Bajo that only used once for bootstrapping. It should remains hidden and not to be imported by any program.

Methods

(async, static) bootOrder()

Setup plugins boot orders by reading plugin's .bootorder file if provided.

(async, static) bootPlugins()

(async, static) 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 project dir
  • ensure data config directory is there
  • ensure tmp dir is there
  • read the list of plugins from .plugins file

(async, static) buildExtConfig()

Bajo extra config:

  • reading config file
  • merge config with arguments & environments values
  • Set environment (dev or prod)

(async, static) 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

(async, static) collectConfigHandlers()

Collect all config handlers, including the one provided by plugins

(async, static) exitHandler()

Attach plugins exit handlers and make sure the app shutdowns gracefully

(async, static) runAsApplet()

If app is in applet mode, this little helper should take care plugin's applet boot process