I'd like to leave this decision to the rethinkdb team -- rather than wasting time discussing the merits of one over the other -- I'm happy to help with either a TS or a ESnext conversion. Ultimately they'll be working with it the most, so they've gotta be comfortable with the language choice.
I proposed TS as the better alternative, since the team is in the process of converting horizon's client to TypeScript (there's a WIP PR by @deontologician), so it seemed natural that the rethinkdb driver would move to TypeScript too.
@joaojeronimo async/await is not TypeScript. It is a stage-3 proposal that will ship as official JS, most likely in the ES2017 standard, and most of the major browsers already have implementations ready, in fact Chrome ships with await/async enabled by default.
While it might sound contradictory, contributing to a TS codebase is much easier than to a JS one, because of things like self-documentation through types and autocompletion. You can dive into the code and understand it much quicker than a raw JS codebase.
Plus, it's easy to refrain from using any TS-specific features in the code (actually, the only TS-specific feature are public/private fields in class constructors, the rest is all standard JS + some stage-3 ECMA proposals).
I'm not going to speak about TS vs JS anymore in this topic, since many things were said about that on the internet and it just seems like a pointless flame war -- also -- there are 19 participants to this topic, so lets respect their time and their email inboxes. 🐧