core throws a TypeError when index.json has a version semver can't read
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 78/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- javascript, node.js
Piste de recherche
Commencez dans core/index.js vers les lignes 131–139, où la version est convertie et où sa propriété major est lue ; examinez ensuite core/test/errors.js et la reproduction avec fixture-server de l’issue. Faites en sorte que les versions mal formées, comme null, soient rejetées avec une erreur indiquant la version et l’URL de index, et mettez à jour les tests pour vérifier ce message.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- JavaScript
- Étoiles
- 15
- Forks
- 2
- Merge moyen
- 1 j 1 h
- PR mergées (30 j)
- 60
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de cutenode/nodevu
-
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
fix missing 'v's in a few spots.Peut-être à nouveau libre @hemnath-hub l’a pris il y a 52 jours, et aucune pull request n’est ouverte. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
cutenode/nodevu#28 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
fix missing EOL markersPeut-être à nouveau libre @hemnath-hub l’a pris il y a 52 jours, et aucune pull request n’est ouverte. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 45/100
cutenode/nodevu#25 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
feat: filtered corePeut-être à nouveau libre @hemnath-hub l’a pris il y a 52 jours, et aucune pull request n’est ouverte. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 48/100
cutenode/nodevu#5 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de cutenode/nodevu
Issues similaires
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
ImpactMojo/ImpactMojo#1385 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Seeed-Studio/wiki-documents#5974 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
taskcluster/taskcluster#9486 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Les mainteneurs répondent en général sous 1 jour