Skip to content

Add link to ursa-purejs to readme#140

Open
yousefamar wants to merge 1 commit intoJoshKaufman:masterfrom
yousefamar:patch-1
Open

Add link to ursa-purejs to readme#140
yousefamar wants to merge 1 commit intoJoshKaufman:masterfrom
yousefamar:patch-1

Conversation

@yousefamar
Copy link
Copy Markdown

I've been having a hard time with an app that uses ursa in a Docker container because of the OpenSSL dependency (specifically nan was giving me issues) so I switched it out for ursa-purejs, so I don't need to rewrite everything to work with node-rsa.

Anyway, ursa-purejs was somehow surprisingly difficult to find, so I figure a link in the "other repos of interest" section would be in order, for anybody finding themselves in a similar predicament.

@quartzjer
Copy link
Copy Markdown
Collaborator

Nice, never knew about this!

Hey @roblabla any chance you'd like to take over the ursa repo/module and just merge it w/ yours, so that the compiled dependencies can be optional?

@roblabla
Copy link
Copy Markdown

Hey guys, It's cool to hear people are using ursa-purejs. I'm surprised anyone found out about it, I even had trouble finding my own repo through google XD.

I'm not really using URSA nowadays, and wouldn't really have the time to maintain it. I suppose merging ursa-purejs could be a good idea. Looking at the code of my port, it looks like I modified ursa.js directly. That said, it shouldn't be too hard to rewrite it as a shim of ursaNative.cc. I'll try to take some time to do that over the week-end and submit a pull request :).

@yousefamar
Copy link
Copy Markdown
Author

Good stuff! Beyond having native libs be swapped out if a dependency is not available at install-time (maybe with something like this) one other useful thing to be able to do is to not use native libs -- even if they are available -- when you're targeting browsers.

You probably already know this but there are some non-spec package.json fields supported by major client-side bundlers (browserify, webpack, etc.) that you could make use of described here.

Using those, a node lib can switch out parts of itself depending on if the target is a browser or not. (I've seen it mainly used to replace storing things in the file system with instead storing things in the browser via localStorage or whatever, but that extends just as easily to anything else).

I'm using ursa/ursa-purejs in a pretty big project that will likely outlive my involvement in it, so I'll be watching both repos. 👍

@roblabla
Copy link
Copy Markdown

I personally use ursa-purejs for both browser and avoid the compile step on windows already :). https://github.com/PrismarineJS/node-minecraft-protocol/blob/master/src/ursa.js is how I handle the switch though.

@quartzjer
Copy link
Copy Markdown
Collaborator

I'm looking for a new maintainer: https://github.com/quartzjer/ursa#maintainer-needed

@rzr
Copy link
Copy Markdown

rzr commented Jul 11, 2018

Is there a procedure for collaborative maintenance on this module ?
Updating npm package would help too.

@rzr rzr mentioned this pull request Jul 11, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants