Methods

(async, static) bootOrder()

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

(async, static) bootPlugins()

Iterate through all plugins loaded and do:

  1. build configs
  2. ensure names & aliases uniqueness
  3. ensure dependencies are met
  4. build and attach dynamic methods
  5. collect hooks
  6. run plugins

(async, static) buildBaseConfig()

Building bajo base config. Mostly dealing with directory setups:

  • determine base directory
  • check whether data directory is valid
  • ensure data config directory is there

(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:

  • read the list of plugins from .plugins file
  • iterate through the list and build related plugins
  • 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