Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

extensions: accept whitespace in engine range comparators (e.g. >= 0.4.0 < 3.0.0)

Ouverte Adaptée aux débutants
#1,635 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

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
dart, flutter
Domaine
backend

Piste de recherche

Commencez dans lib/core/extensions/harness/extension_manifest_validator.dart, au niveau de engineRangeAllows et _comparatorAllows ; examinez comment sont analysés les jetons de comparaison séparés par des espaces. Faites en sorte que des plages telles que >= 0.4.0 < 3.0.0 acceptent les espaces entre les opérateurs et les versions, puis exécutez les tests pertinents du validateur et confirmez que les plages avec et sans espaces se comportent de la même manière.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

enhancement marketplace
Problem

In lib/core/extensions/harness/extension_manifest_validator.dart, engineRangeAllows(HostVersion host, String range) splits the range string purely by whitespace:

final parts = range.trim().split(RegExp(r'\s+'));

If an extension author declares an engines.querya_desktop range with a space between the operator and the version, such as >= 0.4.0 < 3.0.0, splitting yields ['>=', '0.4.0', '<', '3.0.0'].
When _comparatorAllows evaluates ">=", c.substring(2) is empty, leading to a parse exception caught by try-catch, which returns null ("unsupported range").

Change

Normalize or tokenize comparator operators (>=, <=, >, <, =, ^) before or during parsing so that spaces between the operator and the version string are tolerated (e.g. >= 0.4.0 is treated the same as >=0.4.0).

Langage dominant
Dart
Étoiles
23
Forks
1
Merge moyen
32 min
PR mergées (30 j)
537

Préparer son environnement

Ouvrir dans Codespaces

Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de QueryaHub/Querya-Desktop

Toutes les issues de QueryaHub/Querya-Desktop

Issues similaires

Plus d'issues Dart

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.