core throws a TypeError when index.json has a version semver can't read
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
- javascript, node.js
Línea de trabajo
Empieza en core/index.js alrededor de las líneas 131–139, donde se convierte la versión y se lee su propiedad major; después revisa core/test/errors.js y la reproducción con fixture-server del issue. Haz que las versiones malformadas, como null, se rechacen con un error que indique la versión y la URL de index, y actualiza las pruebas para verificar ese mensaje.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
When index.json has a version that semver.coerce can't read (null, a string with no digits, an object), core rejects with TypeError: Cannot read properties of null (reading 'major') from core/index.js#L139. The comment above it at L131 assumes every version parses, so nothing checks for null.
The error doesn't say which entry or which URL was the problem, and core/test/errors.js only checks that core rejects, so the TypeError passes it.
Repro, with the fixture server:
const nodevu = require('@nodevu/core');
const { at } = require('@nodevu/fixtures');
await nodevu(at('2024-01-01', {
index: [{ version: null, date: '2024-01-01', files: ['src'] }],
schedule: {},
}));
// TypeError: Cannot read properties of null (reading 'major')
fast-check finds it in its first run, shrunk to version: null in an otherwise empty index.
core should reject with an error that names the version and the index URL instead.
Found while working on #153.
- Lenguaje dominante
- JavaScript
- Estrellas
- 15
- Forks
- 2
- Merge medio
- 1 d 1 h
- PR fusionados (30 d)
- 60
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
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 cutenode/nodevu
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
fix missing 'v's in a few spots.Quizá libre de nuevo @hemnath-hub la tomó hace 52 días y no hay ningún pull request abierto. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
cutenode/nodevu#28 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
fix missing EOL markersQuizá libre de nuevo @hemnath-hub la tomó hace 52 días y no hay ningún pull request abierto. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 45/100
cutenode/nodevu#25 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
feat: filtered coreQuizá libre de nuevo @hemnath-hub la tomó hace 52 días y no hay ningún pull request abierto. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
cutenode/nodevu#5 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de cutenode/nodevu
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
ImpactMojo/ImpactMojo#1385 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Seeed-Studio/wiki-documents#5974 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
taskcluster/taskcluster#9486 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día