Skip to content
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

BREAKING: use Deno tooling #111

Open
wants to merge 11 commits into
base: main
Choose a base branch
from

Conversation

williamhorning
Copy link
Contributor

@williamhorning williamhorning commented Mar 14, 2025

This pull request changes a lot about revolt.js, mostly in terms of dependencies and how to build it. Most of the changes here are done to both remove dependencies and support Deno more.

This includes changes from #112, #113, and #114 as well as the following:

  • BREAKING: use Deno tooling
  • chore: add support for both npm and JSR publishing

In addition to these changes, insertish/oapi#3 removes the axios and lodash.defaultsdeep dependencies from oapi and revolt-api by proxy.

That combined with this PR should make for both Node, Deno, and browser support while publishing to both npm and JSR with just three dependencies:

  • @vladfrangu/async_event_emitter
  • revolt-api
  • ulid

This fixes #34


Please make sure to check the following tasks before opening and submitting a PR

  • I understand and have followed the contribution guide
  • I have tested my changes locally and they are working as intended

This commit changes revolt.js so that there is no longer a CJS build.
CJS users of revolt.js can still import it using versions of Node.js
after nodejs/node#51977 was merged.

The dependencies on the isomorphic-ws and ws packages were also
removed. This does make the minimum supported version the latest
LTS, Node.js 22. In browsers and Deno, nothing should change.

The dependencies on Solid.js were also removed, making a breaking
change for users who used the reactivity from the Solid.js wrappers.

Import paths throughout the project were rewritten to import from
the original source files everywhere. Prettier, ESLint, and
Typescript were all updated to their latest versions as well.

Signed-off-by: Jersey <[email protected]>
@Rexogamer
Copy link
Contributor

I think it'd be a decent idea to split this up if possible? some of these changes look smaller/easier to merge

@williamhorning
Copy link
Contributor Author

yeah, i'm going to work on splitting this up into a few other PRs. i'll keep this one open until i'm done with that

@williamhorning williamhorning changed the title BREAKING: remove CJS build, polyfills, dependencies, and use Deno tooling BREAKING: use Deno tooling Mar 14, 2025
@williamhorning
Copy link
Contributor Author

i've split some of the changes from this into #112, #113, and #114 but I'm still keeping this pr for specifically the Deno tooling since git has been driving me insane

@williamhorning williamhorning marked this pull request as ready for review March 14, 2025 21:33
@williamhorning
Copy link
Contributor Author

since two of the split up prs have been merged, this and #114 (which this should be based on) have quite a lot of merge conflicts but i'll try and resolve those on my end

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 🆕 Untriaged
Development

Successfully merging this pull request may close these issues.

Deno compatibility
2 participants