bun.sh grpc-js :: undefined is not an object (evaluating 'error.stack.split') :: what am I missing?
vincekruger opened this issue · comments
[REQUIRED] Step 2: Describe your environment
- Operating System version: macOS 13.5.2 (22G91)
- Firebase SDK version: 11.10.1
- Firebase Product: firestore
- Node.js version: 18.17.1
- NPM version: 8.19.2
[REQUIRED] Step 3: Describe the problem
I'm testing out bun and I can't do a basic get() on a collection. What am I missing?
Steps to reproduce:
index.ts
require('dotenv').config()
import { initializeApp } from 'firebase-admin/app'
initializeApp()
import { getFirestore } from 'firebase-admin/firestore'
export const db = getFirestore()
db.collection('category').get()
Run
bun index.ts
[0.05ms] ".env"
29 | const CALL_INVOCATION_TRANSFORMER_SYMBOL = Symbol();
30 | function isFunction(arg) {
31 | return typeof arg === 'function';
32 | }
33 | function getErrorStackString(error) {
34 | return error.stack.split('\n').slice(1).join('\n');
^
TypeError: undefined is not an object (evaluating 'error.stack.split')
at getErrorStackString (/path/node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/client.js:34:11)
at onReceiveStatus (/path/node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/client.js:356:40)
at onReceiveStatus (/path/node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:323:177)
at /path/node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/resolving-call.js:94:74
at processTicksAndRejections (:1:2602)
I found a few problems with this issue:
- I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.
- This issue does not seem to follow the issue template. Make sure you provide all the required information.
I got this issue as well
I thought Bun wasn't going to work with grpc yet because of missing HTTP2 support?
Might be related to your issue.
Hope they support it soon though!
I got the same issue. Thank goodness I googled the error since the stack trace didn't point to the line of code throwing the error.
I'm getting another bun error, not 100% sure if it's related:
Import named 'firestore' not found in module '/***/node_modules/firebase-admin/lib/index.js'.
I'm having this exact same issue as well when trying to use the @google-analytics/admin
package just by doing a simple report await analyticsDataClient.runReport({...})
Firebase Admin SDK requires a full Node.js runtime and currently not supported on other alternative JS environments.
Firebase Admin SDK requires a full Node.js runtime and currently not supported on other alternative JS environments.
Yeah seems to me like this should be a bun.js issue and not here. They're the ones 'promising' full node compability.
Agreed. There is a discussion ongoing there already regarding this.
oven-sh/bun#4746
Ditto here... unable to use the firebase-admin SDK for firestore.
I'd want to use bun.sh but not being able to use firebase-admin really is blocking
Any ideas on when this might be fixed. I'm trying to use the Google Vision API but it seems like this is a problem with it to. This has totaly blocked the development of a big feature for us.
Just because this is first on google, but please do checkout the discussion on bun's repo oven-sh/bun#4746
TL;DR: Error.prototype.stack = '';
early in the program should fix this. (prevents the error but wont restore your stack trace, try-catch it yourself)
If you’re curious here is a nice rabbit hole to go down
Things are improving (with improved http2/gRPC support in bun.sh 1.0.14) but firestore snapshots are still hanging.
Still experiencing this issue using the google pubsub emulator on bun 1.0.15
same for @google-cloud/firestore
package, version 1.0.18