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

code-metrics yaml_subset.py: quote mid-value swallows comments; duplicate key in a sequence item reports the wrong line

Cerrado Apto para principiantes
#6,699 1 comentario 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
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
78/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
python
Área
devtools

Línea de trabajo

Los dos errores están en plugins/code-metrics/scripts/yaml_subset.py, en la lógica de eliminación de comentarios (donde una comilla abre una cadena) y en la comprobación de claves duplicadas para los elementos de secuencia. El port de JavaScript en plugins/user-experience/scripts/lib/yaml-subset.mjs, corregido en el commit 1d5a3fca3f, muestra el comportamiento previsto, y sus pruebas están en plugins/user-experience/tests/yaml-subset.test.mjs. Escribe primero pruebas de Python que fallen para title: it's fine # comment y para la entrada de clave duplicada - job: a. Está terminado cuando ambas reproducen el fallo, ambas pasan tras la corrección y las pruebas existentes de yaml_subset.py siguen pasando.

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

Descripción

good first issue needs-triage priority: low

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:

  1. A quote mid-value swallows a trailing comment. stripComment treats any ' or " as the start of a quoted string, even inside a plain value, so title: it's fine # comment parses as "it's fine # comment" instead of "it's fine".
  2. 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.py tests still pass.
Lenguaje dominante
Shell
Estrellas
22
Forks
2
Merge medio
8 h 44 min
PR fusionados (30 d)
926

Preparar el entorno

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 melodic-software/claude-code-plugins

Todos los issues de melodic-software/claude-code-plugins

Issues similares

Más issues de Shell/Bash

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.