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

Ouverte
#589 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
56/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
javascript, node.js
Domaine
release

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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

Langage dominant
Lua
Étoiles
3.2k
Forks
223
Merge moyen
6 h 7 min
PR mergées (30 j)
210

Préparer son environnement

Ouvrir dans Codespaces

Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.

  • Aucun Dockerfile ni fichier Docker Compose
  • Aucun modèle de pull request
  • Aucun guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de coder/claudecode.nvim

Toutes les issues de coder/claudecode.nvim

Issues similaires

Plus d'issues Lua

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.