codeceptjs / codeceptjs/CodeceptJS

Migrate CodeceptJS to ESM (Top-level await)

Abierto
#4,185 8 comentarios 1 reacción 2 asignados Reclamado por @DenysKuchma Ver en GitHub
4.0
Lenguaje dominante
JavaScript
Estrellas
4.2k
Forks
757
Merge medio
2 d 9 h
PR fusionados (30 d)
16

Descripción

#### What are you trying to achieve?
I need to use top-level `await` to retrieve config from AWS and other APIs but CodeceptJS seems completely incompatible with ES modules. Top-level await is simply not possible in CommonJS. Are there any plans to support ES modules?

#### What do you get instead?

If you set `"type": "module"` in `package.json` you get this error:

```bash
Error [ERR_REQUIRE_ESM]: require() of ES Module /Users/REDACTED/config/codecept.conf.js from /Users/REDACTED/node_modules/codeceptjs/lib/config.js not supported.
Instead change the require of codecept.conf.js in /Users/REDACTED/node_modules/codeceptjs/lib/config.js to a dynamic import() which is available in all CommonJS modules.
at loadConfigFile (/Users/REDACTED/node_modules/codeceptjs/lib/config.js:160:26)
at Config.load (/Users/REDACTED/node_modules/codeceptjs/lib/config.js:91:14)
at module.exports.getConfig (/Users/REDACTED/node_modules/codeceptjs/lib/command/utils.js:14:33)
at module.exports (/Users/REDACTED/node_modules/codeceptjs/lib/command/run.js:18:16)
at Command. (/Users/REDACTED/node_modules/codeceptjs/bin/codecept.js:9:11)
```

### Details

* CodeceptJS version: 3.5.13-beta.3
* NodeJS Version: v20.10.0
* Operating System: MacOS Ventura

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.