code-metrics yaml_subset.py: quote mid-value swallows comments; duplicate key in a sequence item reports the wrong line
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 78/100
Direzione di ricerca
I due bug si trovano in plugins/code-metrics/scripts/yaml_subset.py, nella logica di rimozione dei commenti (dove un apice apre una stringa) e nel controllo delle chiavi duplicate per gli elementi di sequenza. Il port JavaScript in plugins/user-experience/scripts/lib/yaml-subset.mjs, corretto nel commit 1d5a3fca3f, mostra il comportamento previsto, e i suoi test si trovano in plugins/user-experience/tests/yaml-subset.test.mjs. Scrivi prima test Python che falliscono per title: it's fine # comment e per l'input con chiave duplicata - job: a. È completato quando entrambi riproducono l'errore, entrambi passano dopo la correzione e i test esistenti di yaml_subset.py continuano a passare.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
No related issue: found while porting the parser for #6306 (PR #6669).
Problem
plugins/code-metrics/scripts/yaml_subset.py likely has two bugs that its JavaScript port in plugins/user-experience/scripts/lib/yaml-subset.mjs had and fixed in #6669:
- A quote mid-value swallows a trailing comment.
stripCommenttreats any'or"as the start of a quoted string, even inside a plain value, sotitle: it's fine # commentparses as"it's fine # comment"instead of"it's fine". - A duplicate key inside a sequence item is reported on the wrong line. For
- job: a\n id: x\n job: b\n, the error names line 1 (the dash line) instead of line 3.
The port fixed both in 1d5a3fca3f: a quote opens only where a value starts (line start, after : , - , [ or ,), and the sequence item's first key is passed into the mapping so the duplicate check fires on its own line. See the tests "quotes and comments in plain values" and "a duplicate key in a sequence-item mapping is reported on its own line" in plugins/user-experience/tests/yaml-subset.test.mjs.
Unverified against the Python: confirm each with a failing test first.
Acceptance criteria
- A failing test reproduces each bug against
yaml_subset.py, then passes after the fix. - Existing
yaml_subset.pytests still pass.
- Lingua principale
- Shell
- Stelle
- 22
- Fork
- 2
- Merge medio
- 6h 42m
- PR unite (30g)
- 902
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di melodic-software/claude-code-plugins
-
needs-triage priority: medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
melodic-software/claude-code-plugins#7288 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
knowledge: docpage-digest dual verification defines no verdict vocabulary or pass/fail thresholdApertaneeds-human needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
melodic-software/claude-code-plugins#7286 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
needs-triage priority: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
melodic-software/claude-code-plugins#7282 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
needs-triage priority: medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
melodic-software/claude-code-plugins#7273 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
needs-human needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 79/100
melodic-software/claude-code-plugins#7232 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di melodic-software/claude-code-plugins
Issue simili
-
Install software-properties-common before adding the Suricata PPAForse già presa @himanishpuri l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
Ergane-Foundation/vajra#55 · 2 commenti ·
I maintainer di solito rispondono entro 2 giorni
-
[cifuzz] "Minimizing crashes reduces fuzzing time" is logged for every batch run, even with minimize-crashes offForse già presa @martinfrancois l’ha presa oggi. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
alunduil/alunduil-chezmoi#914 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
obra/superpowers#2505 ·
I maintainer di solito rispondono entro 3 giorni
-
cao-evolution cao-evolution:compiler-security
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
githubnext/gh-aw-cao#17586 ·
I maintainer di solito rispondono entro 1 giorno