async function writeTemp (file, content) {
    const destPath = path.join(tempPath, file)
    await fs.ensureDir(path.parse(destPath).dir)
    // cache write to avoid hitting the dist if it didn't change
    const cached = tempCache.get(file)
    if (cached !== content) {
      await fs.writeFile(destPath, content)
      tempCache.set(file, content)
    }
    return destPath
  }
Create a dynamic temp utility context that allow to lanuch
multiple apps with isolated context at the same time.
@param tempPath
@returns {{
 writeTemp: (function(file: string, content: string): string),
 tempPath: string
}}