-
-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Deno compatibility #34
Comments
On your last point, you can join the Revolt Lounge server and discuss this in the Revolt Development channel. |
Ok, this seems to be more work than I initially expected: To maintain compatibility with Node, I tried to make a global deps.ts file with import()'s so that we could use URLs for Deno and NPM packages for Node. It ended up being a mess, with every module declaration being lost. That's not a fault of Deno; that's a fault of mine, because I have NO idea how to organize anything. Also, while '.ts' is required in Deno, it would absolutely break Node. We'd have to use |
This should be a little easier once Node 18+ becomes the norm/more widespread as it supports built-in fetch via undici |
I was told the dev team didn't want to replace axios, so we'll see what happens with that. |
A lot of dependencies on Axios have been untied and it's likely going to be stripped out in the near future, it pretty much entirely on lives within the |
Alright, I'll have to join the Revolt channel again and discuss this. It's been a while since I've been on Revolt, either way, because this was one of the big factors for me. |
Currently halting on denoland/deno#7296 so we don't get the monstrosity that is the comment I made above: #34 (comment) |
Hm, so with Deno getting official NPM support and skypack, it may be worthwhile to reconsider whether this is needed or not. Obviously nothing will replace a decentralized module that wouldnt run through a compat layer, but it may be more work than its worth to introduce cross Node and Deno compatibility. I personally no longer use Revolt, simply because the servers that were initially pro-Revolt decided against having a bridge, meaning im stuck on a different platform. |
For what it's worth, if the lib isn't compatible with Deno yet I'm still in favour of compatibility |
So I just discovered the hard way that it is not compatible with Deno yet! Keep up the good work! ❤️ |
On the first point, I plan to drop axios in the near future: insertish/oapi#2 |
Importing revolt.js using Deno's npm compatibility almost works, but it's broken due to #83. Fixing the second point mentioned in this issue is possible if we use esbuild instead of tsc to build Node releases. Dropping Axios support would be nice as that'd allow revolt.js to run without the compatibility layer included in Deno but that'd take a bit more work. |
It would be nice if we could use this within Deno. Here are the things that would have to occur if we were to proceed with this:
There are many reasons to use Deno over Node, including the built-in TypeScript support, Permission system and much more
Is there a Revolt channel I could use to discuss revolt.js? It would be best for fast communication
The text was updated successfully, but these errors were encountered: