Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

129
Vistas
¿Cómo puedo conservar los comentarios en mi complemento Prettier personalizado?

Estoy tratando de escribir un complemento Prettier y ya tengo varias piezas de la lógica para reconstruir el código del AST y algunos bits de formato funcionan. Sin embargo, en este momento me está costando mucho entender cómo manejar los comentarios, y parece que no puedo darme cuenta de lo que estoy haciendo mal.

El analizador que estoy usando no conserva los comentarios, así que estoy usando una versión modificada de esta máquina de estado para extraer y adjuntar los comentarios manualmente.

Mi mayor problema es que, si bien los comentarios aparentemente se adjuntan correctamente a los nodos AST según core.js::attachComments() , dicho método también elimina la matriz de comments del nodo raíz AST. Sin embargo, más adelante en comments.js::printCommentsSeparately() , el código verifica si la raíz AST pasada tiene una matriz de comments , y si no, omite cualquier lógica de impresión.

En contexto, eso tiene sentido (en el sentido de "¿por qué intentar imprimir cosas que no están ahí?"), pero mirando el flujo del programa que he rastreado hasta ahora, no entiendo por qué sucede esto o qué puedo hacer. hacer para que mis comentarios se mantengan y lleguen al código de impresión real. En este momento, todo lo que recibo es "Comment xyz was not printed. Please report this error!" excepciones

El orden de llamada que he estado ejecutando:

 core.js::coreFormat() > core.js::attachComments() // removes ast.comments > ast-to-doc.js::printAstToDoc() > ast-to-doc.js::mainPrint() > ast-to-doc.js::mainPrintInternal() > ast-to-doc.js::callPluginPrintFunction() > comments.js::printComments() > comments.js::printCommentsSeparately() // checks for ast.comments

¿Qué me estoy perdiendo? La documentación para el desarrollo de complementos no está exactamente detallada, y no he encontrado ninguna discusión o tema útil en mis búsquedas.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda