Fix incompatibility between ES6 Promise and Bluebird in Typescript definitions
Fix incompatibility between ES6 Promise and Bluebird in Typescript definitions

Typescript gives error with the following code:

async started() {
    this.server.listen(this.settings.port);
},
async stopped() {
    this.server.close();
},

Here is the ts error:

Type '() => Promise<void>' is not assignable to type '() => Bluebird<void>'.
  Type 'Promise<void>' is not assignable to type 'Bluebird<void>'.
    Property 'caught' is missing in type 'Promise<void>'.

Bluebird itself implements PromiseLike interface, so I thought It would be good choice to use PromiseLike instead of Bluebird to remove incompatibility. Or we could use union type, maybe?

ice-services/moleculer