parse-server icon indicating copy to clipboard operation
parse-server copied to clipboard

Trying to run with bun runtime

Open kishanio opened this issue 2 years ago • 3 comments
trafficstars

New Issue Checklist

Issue Description

Trying to run inside bun runtime? Why? Because it has first class typescript support.

Error TypeError: The "original" argument must be of type Function

Cause of above error - auth adapters uses jwks-rsa library that uses jose internally. google, facebook and apple.

Both the above libraries have updated. Jose is also a universal dependency now and is no longer dependent on node crypto.

Steps to reproduce

run inside bun

Actual Outcome

wasn't able to bootup the server. but upon commenting above 3 auth adapters i was able to get past the error and boot the server. hooray.

Expected Outcome

can we update dependencies? please guide me about what would you like me todo? E.g. update dependencies and create PR / tests etc?

Environment

Server

  • Parse Server version: 6.3.0
  • Operating system: Ubuntu 18 LTS
  • Local or remote host (AWS, Azure, Google Cloud, Heroku, Digital Ocean, etc): Local

Logs

$ bun src/index.ts
[0.03ms] ".env"
360 |   var keys = Object.keys(add), i = keys.length;
361 |   while (i--)
362 |     origin[keys[i]] = add[keys[i]];
363 |   return origin;
364 | 
365 | }, kCustomPromisifiedSymbol = Symbol.for("util.promisify.custom"), promisify = function promisify2(original) {
                                                                                                                                                                                                       ^
TypeError: The "original" argument must be of type Function
      at promisify2 (node:util:365:196)
      at /home/kishanio/rookie/server/node_modules/parse-server/node_modules/jwks-rsa/node_modules/jose/lib/jwk/key/rsa.js:13:24
      at globalThis (/home/kishanio/rookie/server/node_modules/parse-server/node_modules/jwks-rsa/node_modules/jose/lib/jwk/key/rsa.js:117:17)
      at require (:1:20)
      at /home/kishanio/rookie/server/node_modules/parse-server/node_modules/jwks-rsa/node_modules/jose/lib/jwk/import.js:7:6
      at globalThis (/home/kishanio/rookie/server/node_modules/parse-server/node_modules/jwks-rsa/node_modules/jose/lib/jwk/import.js:134:17)
      at require (:1:20)
      at /home/kishanio/rookie/server/node_modules/parse-server/node_modules/jwks-rsa/node_modules/jose/lib/help/get_key.js:3:6
      at globalThis (/home/kishanio/rookie/server/node_modules/parse-server/node_modules/jwks-rsa/node_modules/jose/lib/help/get_key.js:33:27)
      at require (:1:20)
      at /home/kishanio/rookie/server/node_modules/parse-server/node_modules/jwks-rsa/node_modules/jose/lib/jwe/encrypt.js:6:6
      at globalThis (/home/kishanio/rookie/server/node_modules/parse-server/node_modules/jwks-rsa/node_modules/jose/lib/jwe/encrypt.js:214:17)
      at require (:1:20)
      at /home/kishanio/rookie/server/node_modules/parse-server/node_modules/jwks-rsa/node_modules/jose/lib/jwe/index.js:1:6
      at globalThis (/home/kishanio/rookie/server/node_modules/parse-server/node_modules/jwks-rsa/node_modules/jose/lib/jwe/index.js:15:25)
      at require (:1:20)
      at /home/kishanio/rookie/server/node_modules/parse-server/node_modules/jwks-rsa/node_modules/jose/lib/index.js:2:2
      at globalThis (/home/kishanio/rookie/server/node_modules/parse-server/node_modules/jwks-rsa/node_modules/jose/lib/index.js:8:0)
      at require (:1:20)
      at /home/kishanio/rookie/server/node_modules/parse-server/node_modules/jwks-rsa/src/utils.js:1:6
      at globalThis (/home/kishanio/rookie/server/node_modules/parse-server/node_modules/jwks-rsa/src/utils.js:19:0)
      at require (:1:20)
      at /home/kishanio/rookie/server/node_modules/parse-server/node_modules/jwks-rsa/src/JwksClient.js:2:8
      at globalThis (/home/kishanio/rookie/server/node_modules/parse-server/node_modules/jwks-rsa/src/JwksClient.js:91:0)
      at require (:1:20)
      at /home/kishanio/rookie/server/node_modules/parse-server/node_modules/jwks-rsa/src/index.js:1:8
      at globalThis (/home/kishanio/rookie/server/node_modules/parse-server/node_modules/jwks-rsa/src/index.js:22:35)
      at require (:1:20)
      at /home/kishanio/rookie/server/node_modules/parse-server/lib/Adapters/Auth/apple.js:7:6
      at globalThis (/home/kishanio/rookie/server/node_modules/parse-server/lib/Adapters/Auth/apple.js:80:0)
      at require (:1:20)
      at /home/kishanio/rookie/server/node_modules/parse-server/lib/Adapters/Auth/index.js:7:6
error: script "dev" exited with code 1 (SIGHUP)

kishanio avatar Sep 24 '23 13:09 kishanio

Thanks for opening this issue!

  • 🚀 You can help us to fix this issue faster by opening a pull request with a failing test. See our Contribution Guide for how to make a pull request, or read our New Contributor's Guide if this is your first time contributing.

Hello, I am having the same issue and already posted it on bun github. It is due to jose library, more info in the issue itself.

talensjr avatar Sep 25 '23 10:09 talensjr

Is this a bug fix or feature request? The issue description is not clear on that.

mtrezza avatar Sep 26 '23 00:09 mtrezza