This changes the constructor of Runtimes to be async as sub classes now add an static async createRuntime function that handles setting up the config and passes that to the constructor which now expects a non Partial Config.
Then an initial port is chosen at random between 0-10000, then port checker finds the next available port. Lastly the homedir now doesn't rely on port and is now created as an uuid.
This changes the constructor of Runtimes to be async as sub classes now add an static async
createRuntime
function that handles setting up the config and passes that to the constructor which now expects a non PartialConfig
.Then an initial port is chosen at random between 0-10000, then port checker finds the next available port. Lastly the homedir now doesn't rely on port and is now created as an uuid.