denoland / denoland/deploy_feedback

[Bug]: Firestore does not work on Deno Deploy

Open
#917 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
79
Forks
5
PR merge metrics
No merged PRs in 30d

Description

### Problem description

I can use Firebase's Firestore on local deno instances, but it fails on Deno Deploy.

### Steps to reproduce

My code:
```json
{
"imports": {
"@firebase-admin": "npm:firebase-admin@^11.0.0", // Using later versions causes problems with https://github.com/denoland/deno/issues/28566
"@firestore": "npm:firebase-admin@^11.0.0/firestore"
}
}
```

```javascript
import admin from "@firebase-admin";
import { getFirestore } from "@firestore";

const serviceAccount = {
"type": "service_account",

// This JSON comes from https://console.firebase.google.com/project/MY_PROJECT_NAME/settings/serviceaccounts/adminsdk

};
const app = admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
});

const db = getFirestore(app);
console.log("Firestore connected via service account.");

const docRef = db.collection("test-collection").doc("test");
const result = await docRef.get();
console.log(result.data()); // Should return useful data or undefined.

```

### Expected behavior

Running locally works as expected:
```bash
> deno run --allow-env --allow-net main.ts
Firestore connected via service account.
{ a: "b" }
```

But Deno Deploy fails:
```bash
> deployctl deploy --include=. --entrypoint=main.ts
...
✔ Uploaded 1 new asset.
✖ Deployment failed.
error: The deployment failed: UNCAUGHT_EXCEPTION

TypeError: addressList.filter is not a function
at file:///node_modules/.deno/@grpc+grpc-js@1.8.22/node_modules/@grpc/grpc-js/build/src/resolver-dns.js:167:50
at Object.runMicrotasks (ext:core/01_core.js:692:26)
at Array.processTicksAndRejections (ext:deno_node/_next_tick.ts:59:10)
at eventLoopTick (ext:core/01_core.js:175:29)
```

### Environment

Deno v2.5.6 and Deno Deploy Classic

### Possible solution

_No response_

### Additional context

The problematic code is a https://github.com/grpc/grpc-node/blob/master/packages/grpc-js/src/resolver-dns.ts#L193

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.