Use promise API for compilers