CLI: an empty numeric flag value is read as 0
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 83/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- node.js, typescript
- Área
- cli
Línea de trabajo
Empieza por parseFlagValue en src/cli/parser/args.ts, donde el issue identifica Number(value) y la comprobación de números finitos como la causa. Compara cómo se manejan las entradas vacías con el comportamiento existente para valores ausentes y con booleanOrString. El trabajo estará terminado cuando se rechacen los valores numéricos vacíos de las flags con el mensaje esperado de que se requiere un valor, mientras que los valores numéricos válidos sigan analizándose correctamente.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What happens
An int or number flag given an empty or blank value is accepted as 0. For flags with a minimum of 0, the command runs with no error:
agent-device test ./suite --retries= # runs with retries 0
agent-device test ./suite --retries "" # same
RETRIES= ; agent-device test ./suite --retries="$RETRIES"
The same applies to --hold-ms, --delay-ms, --pause-ms, --interval-ms, --duration-ms, --jitter-px, and --settle-quiet. For flags with a minimum of 1 or more, such as --count=, the error is Invalid count: with an empty value, which does not name the cause.
Expected
The parser refuses the flag with Flag --retries requires a value., as it already does for a missing value and for an empty booleanOrString inline value.
Cause
parseFlagValue in src/cli/parser/args.ts converts the value with Number(value) and checks only Number.isFinite. Number('') and Number(' ') are 0.
Environment
main at 6e8c2a0, Node 22.22.0, Linux.
- Lenguaje dominante
- TypeScript
- Estrellas
- 5k
- Forks
- 334
- Merge medio
- 12 h 2 min
- PR fusionados (30 d)
- 706
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de callstack/agent-device
-
macOS helper audio-probe always reports -90 dBFS: AVAudioPCMBuffer frameLength set after the copyAbiertobug ready-for-agent
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
callstack/agent-device#3771 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
callstack/agent-device#1869 ·
Los mantenedores suelen responder en 1 día
-
ready-for-agent refactor
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
callstack/agent-device#3794 ·
Los mantenedores suelen responder en 1 día
-
bug in-progress ready-for-agent
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
callstack/agent-device#3787 ·
Los mantenedores suelen responder en 1 día
-
Daemon startup: wait for a live daemon instead of a fixed 15 s deadline on slow or overloaded hostsPosiblemente ocupada @thymikee la tomó hoy. Abiertoneeds-triage
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
callstack/agent-device#3782 ·
Los mantenedores suelen responder en 1 día
Todos los issues de callstack/agent-device
Issues similares
-
The inspector never shows the instances field, so scaling out is unreachablePosiblemente ocupada @Mrkewl la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
xevrion/breakscale#96 ·
Los mantenedores suelen responder en 4 días
-
Object parameters lose their structure when resources is enabledPosiblemente ocupada @asts-top la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
rossant/awesome-math#199 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
jaegertracing/jaeger-ui#4618 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
mifi/lossless-cut#3125 ·
Los mantenedores suelen responder en 1 día