Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refactor: configs are now fully resolved ahead of time in one pass
This turned out to be a pretty big refactor. The key changes made are: - The context for template strings is much more clearly defined and documented. - The context is now the same for every module and is fully prepared on startup instead of needing multiple passes and having different keys depending on when/where it is used. This does mean that some existing template strings needed to be changed, but they were not a properly supported feature anyway. - Some functionality has now been moved out of the PluginContext and back to the Garden class. In turn, Command actions are now passed a Garden instance. - Module and Service are now interfaces instead of classes, so they are now simple objects that are passed around. This cleans up the API for plugins, and also paves the way for out-of-process plugins. - ServiceConfigs and TestConfigs are now attached directly to ModuleConfig objects.
- Loading branch information