nodejs / nodejs/node

`esm_loader` should use a primordial to get `cwd`

Abierto
#44,742 2 comentarios 2 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

loaders never-stale
Lenguaje dominante
JavaScript
Estrellas
122k
Forks
37.3k
Merge medio
4 d 2 h
PR fusionados (30 d)
283

Descripción

Version

v18.9.0

Platform

Linux vhost1 5.18.10-76051810-generic #202207071639~1657252310~22.04~7d5e891 SMP PREEMPT_DYNAMIC Fri J x86_64 x86_64 x86_64 GNU/Linux

Subsystem

esm_loader

What steps will reproduce the bug?
process.cwd = () => {
    (async () => {
        await import('.');
    })();
};

await import('.');
How often does it reproduce? Is there a required condition?

Always.

What is the expected behavior?

No RangeErrors.

What do you see instead?
Exception in PromiseRejectCallback:
node:internal/modules/esm/resolve:1110
  };

RangeError: Maximum call stack size exceeded
Exception in PromiseRejectCallback:
node:internal/modules/esm/loader:163
      const output = await hook(arg0, meta.context, nextNextHook);
Additional information

No response

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.

Línea de trabajo

Ejecuta la reproducción proporcionada en Node.js v18.9.0 y, a continuación, inspecciona node:internal/modules/esm/resolve.js y node:internal/modules/esm/loader.js en las ubicaciones del stack trace. Traza cómo esm_loader obtiene cwd y actualízalo para que use el primordial solicitado; se considera terminado cuando la reproducción se completa sin RangeErrors.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
javascript
Área
backend
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Tranquilo
Claridad
Bastante claro
Aptitud para principiantes
55/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.