release runner: read Communique Markdown as CommonMark, not line by line

Abierto
#589 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
56/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
javascript, node.js
Área
release

Línea de trabajo

Start with scripts/release-please-runner.js, especially normalizeCommuniqueBody and findLineOutsideFences, then inspect the existing draft check that uses pinned commonmark.js. Reproduce the listed setext, ATX, CR-only, and HTML-comment cases with the real Communique binary, and check the frozen historical entries. Done means the cases pass and those historical outputs remain byte-identical.

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

Descripción

needs-triage

The release runner reads Communique Markdown line by line, not as CommonMark.

Verified on main with require("./scripts/release-please-runner.js").normalizeCommuniqueBody(body):

  1. A setext heading (Features over -------- or ========) and an ATX H1 (# Features) are not demoted, because the code demotes only lines that start with ## . Body "Features\n--------\n\n- A\n".
  2. The leading version-heading regex /^#{1,3} \[?v?\d[^\n]*\n*/ is LF-only. Body "## 0.4.0\r- A\r- B\r" comes back as "", so the entry becomes the placeholder "Maintenance release with no user-facing changes." and the notes are lost.
  3. A ## note line inside a multi-line HTML comment is rewritten to ### note. Body "<!--\n## note\n-->\n\n- A\n".

Also check the title finder findLineOutsideFences and CR-only heading handling in the same pass.

Planned fix. Parse the body with commonmark.js (already a pinned devDependency used by the draft check). Drop the leading version heading and demote headings by block, setext and H1 included. Replace the line-based title finder the same way. Test each case with the real Communique binary, and keep the output of the frozen historical entries byte-identical.

Owner: the next change to the release runner, with the second-pass issue filed next to this one. Deferred from the README verification run with the maintainer's agreement.


Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: high

Lenguaje dominante
Lua
Estrellas
3.2k
Forks
223
Merge medio
6 h 7 min
PR fusionados (30 d)
210

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

  • Sin Dockerfile ni archivo de Docker Compose
  • Sin plantilla de pull request
  • Sin 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 coder/claudecode.nvim

Todos los issues de coder/claudecode.nvim

Issues similares

Más issues de Lua

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.