Hi, wouldn't it be better to have this lib use something modern like TS and dual build to cjs and esm? I wouldn't mind sending the PR for this.