migrate to typescript & node.js-compatible es modules#241
migrate to typescript & node.js-compatible es modules#241zackschuster wants to merge 5 commits intoeleith:masterfrom zackschuster:master
Conversation
|
looking good. i'm also open to seeing this project move to typescript if that helps with big changes like this to prevent regressions. |
|
i wouldn't mind doing the port job to typescript. i'd also move the test suite to ava, which i have experience in using with typescript. |
|
PR is in typescript now. made a few (relatively) minor API changes (like condensing error codes into a const enum & getting rid of legacy code that said "will remove at some point"), since i'm pretty sure this will end up semver major no matter what. |
--experimental-modules
why ava vs jest? |
|
technically, they have a pretty similar feature set & both are written with current tools. the breaker for me is that jest is a facebook project, whereas ava is community-led (started by sindresorhus). |
|
also it looks like we'd have to install (coincidentally i've already tested fetch with ava) |
--experimental-modules|
esm in node will probably ship unflagged on 12.x in april. i'll try to finish this around then. |
|
i think the above might be due to changes i made during conversion. i'm going through the shipped code to repair differences. side note: node 14 today! hooray for unflagged modules! fun fact: the |
|
modules are still considered experimental, so i feel less bad about not landing this in time with the launch >D |
|
@zackschuster looking good. i've given you direct access to the project in reflection of your contribution to the project. fyi, a few of the outdated dependencies for emailjs are throwing up security alerts on github for this project, so perhaps those can get addressed during this upgrade. |
|
thank you! :D i'll see if i can move the PR from my fork to a local branch without breaking things. for |
|
depends on the effort level, if it is transparent, sure. |
|
closing in favor of #246 |

mainto either cjs rollup bundle or esm source (prob cjs)