discordjs / Commando

Official command framework for discord.js
Apache License 2.0
495 stars 242 forks source link

Registering ES6 modules as commands #371

Open PermissionError opened 3 years ago

PermissionError commented 3 years ago

When using registerCommandsIn() to register commands while using "type": "module" in package.json and coding commands as ES6 modules, Commando will not be able to register the commands. This is probably because it uses require-all which doesn't work with ES6 modules. I wrote a custom command loader to get around this, but it's not robust at all and probably isn't fit for a PR.

I'm not sure whether ESM support is in scope for Commando, but seeing as discord.js supports ESM I'm considering this issue as a bug. Feel free to correct me otherwise.

Zelzahn commented 3 years ago

I worked around this by transpiling my code whenever I save, roughly according to this guide.

ephemeralrogue commented 3 years ago

What’s keeping this package from supporting ESM altogether?

uwuLegacy commented 3 years ago

Having ES modules support would be great