Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I don't know why base64 is so hard in js. My recommendation would be to use https://github.com/paulmillr/scure-base, but lmk your thoughts. (btw, if you ever want to add algorithms also for client, there's https://github.com/paulmillr/noble-curves from the same author).
I have node18 on my system, when I added the new dependency it seems it made additional changes to the package.json and lock file. If you can share what version of node you're using, I can probably fix that.
All tests pass on my machine. Interestingly enough, using scure I found some extra spaces in some base64 encodings (scure is more strict).