firebase / firebase/firebase-admin-node

CJS vs ESM import issue?

Open
#2,914 0 comments 3 reactions 0 assignees View on GitHub
api: storage
Dominant language
TypeScript
Stars
1.7k
Forks
419
Avg merge
3d 10h
Merged PRs (30d)
16

Description

### [READ] Step 1: Are you in the right place?
Yes

### [REQUIRED] Step 2: Describe your environment

* Operating System version: MacOS 15.4.1
* Firebase SDK version: firebase-admin 12.5.0
* Firebase Product: storage
* Node.js version: 20.13.1
* NPM version: 10.8.0

### [REQUIRED] Step 3: Describe the problem
Basically what happened [here](https://github.com/firebase/firebase-admin-node/discussions/2639). It's just there has been no answer to that, only workaround, so I post it here.

Happened to me when importing:
```ts
import type { File } from "@google-cloud/storage";
```

It says:
```console
TS2322: Type
import("/WebstormProjects/firebase/functions/node_modules/@google-cloud/storage/build/cjs/src/file").File
is not assignable to type
import("/WebstormProjects/firebase/functions/node_modules/@google-cloud/storage/build/esm/src/file", { with: { "resolution-mode": "import" } }).File
Property #private in type File refers to a different member that cannot be accessed from within type File
```

#### Steps to reproduce:

Create Firebase Cloud Functions project using typescript and ESM.

#### Relevant Code:
tsconfig:
```json
"module": "Node16",
"moduleResolution": "Node16",
"target": "es2020",
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.