Migrate CodeceptJS to ESM (Top-level await)

Abierto
#4,185 8 comentarios 1 reacción 2 asignados Ver en GitHub

@DenysKuchma ya está trabajando en esto.

Desde el 8/1/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

4.0
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:

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.<anonymous> (/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
Lenguaje dominante
JavaScript
Estrellas
4.2k
Forks
756
Merge medio
2 d 9 h
PR fusionados (30 d)
16

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de codeceptjs/CodeceptJS

Todos los issues de codeceptjs/CodeceptJS

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.