firebase / firebase/firebase-tools-ui

ERR_REQUIRE_ESM error when starting emulator ui

Open
#1,014 24 comments 12 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
291
Forks
74
PR merge metrics
No merged PRs in 30d

Description

**Describe the bug**
When I start the emulators with emulators start command, all, but ui starts. This is the error log:

```
node:internal/modules/cjs/loader:1163
throw err;
^

Error [ERR_REQUIRE_ESM]: require() of ES Module /home/misi/.cache/firebase/emulators/ui-v1.11.7/server/server.js not supported.
server.js is treated as an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which declares all .js files in that package scope as ES modules.
Instead rename server.js to end in .cjs, change the requiring code to use dynamic import() which is available in all CommonJS modules, or change "type": "module" to "type": "commonjs" in /home/misi/package.json to treat all .js files as CommonJS (using .mjs for all ES modules instead).

at Function.runMain (pkg/prelude/bootstrap.js:1979:12) {
code: 'ERR_REQUIRE_ESM'
}

Node.js v18.5.0

```

I don't know where node v18.5.0 comes from, I haven't found this version on my PC, my node version is 21.1.0, which is available in $PATH. Also, once I could see v20 after `nvm use v20...` and deleting firebase cache, but the next run it was v18.5.0 again.

**To Reproduce**
Steps to reproduce the behavior:

1. `firebase emulators:start`
4. See error
```
~/projects/wish-list/frontend (WSH-17-calendar) $ firebase emulators:start
i emulators: Starting emulators: auth, firestore, database, storage
⚠ firestore: Cloud Firestore rules file /home/misi/projects/wish-list/frontend/firestore.rules specified in firebase.json does not exist.
⚠ firestore: The emulator will default to allowing all reads and writes. Learn more about this option: https://firebase.google.com/docs/emulator-suite/install_and_configure#security_rules_configuration.
i firestore: downloading cloud-firestore-emulator-v1.18.2.jar...
Progress: ================================================================================================================================================================================> (100% of 64MB)
i firestore: Firestore Emulator logging to firestore-debug.log
✔ firestore: Firestore Emulator UI websocket is running on 9150.
⚠ database: Did not find a Realtime Database rules file specified in a firebase.json config file. The emulator will default to allowing all reads and writes. Learn more about this option: https://firebase.google.com/docs/emulator-suite/install_and_configure#security_rules_configuration.
i database: downloading firebase-database-emulator-v4.11.2.jar...
Progress: ================================================================================================================================================================================> (100% of 35MB)
i database: Database Emulator logging to database-debug.log
i storage: downloading cloud-storage-rules-runtime-v1.1.3.jar...
Progress: ================================================================================================================================================================================> (100% of 53MB)
i ui: downloading ui-v1.11.7.zip...
Progress: =================================================================================================================================================================================> (100% of 4MB)
i ui: Emulator UI logging to ui-debug.log
⚠ ui: Fatal error occurred:
Emulator UI has exited with code: 1,
stopping all running emulators
i ui: Stopping Emulator UI
i database: Stopping Database Emulator
i firestore: Stopping Firestore Emulator
i auth: Stopping Authentication Emulator
i storage: Stopping Storage Emulator
i hub: Stopping emulator hub
i logging: Stopping Logging Emulator
```

**Expected behavior**
It should be running.

**Desktop:**

- OS: Windows ( WSL 2.0 Ubuntu )
- Browser -
- Version Ubuntu 22.04.3 LTS

**Additional context**
Add any other context about the problem here.

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.