Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Node 12 "async" annotations are lost when using this package

Abierto
#243 3 comentarios 6 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
38/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
javascript, node.js
Área
devtools

Línea de trabajo

Comienza con la reproducción en Node 12 del issue y sigue la ruta de formateo del stack trace de source-map-support para encontrar dónde se elimina la anotación async. Se considera terminado cuando los stack traces mapeados conservan el marcador async mostrado por Node, con pruebas que cubran el ejemplo proporcionado y el comportamiento existente de los stack traces.

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

Descripción

bug help wanted

Node 12 added some limited support for async stack traces. I'm impressed that this package supports them, but it removes a useful annotation from them:

Given this file:

function p() {
  return new Promise(resolve => setTimeout(resolve, 0))
}

async function f() {
  await p()
  throw Error("")
}

async function main() {
  await f()
}

main()
  .catch(console.error)

The stack traces without registering source-map-support is:

Error
    at f (/private/tmp/async-stack-traces/index.js:9:9)
    at async main (/private/tmp/async-stack-traces/index.js:13:3)

With source-map-support registered is:

Error:
    at f (/private/tmp/async-stack-traces/index.js:9:9)
    at main (/private/tmp/async-stack-traces/index.js:13:3)

I think the async annotation there is useful, as this stack trace is not the actual one as seen by v8, but an augmented one. This augmentation doesn't always work, and it would be surprising to the user if they look like normal stack traces.

Lenguaje dominante
JavaScript
Estrellas
2.2k
Forks
221
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

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 evanw/node-source-map-support

Todos los issues de evanw/node-source-map-support

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.