Exemple
Prevent negative number option parsing failures in Commander when registering digit short option flags
sha256:e84a5f7f9b0e235218dd1ae017a1fdba5fdf2fce9c93b2143bdf8d153a9953fc
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Cas
- Objectif
- Prevent negative number option parsing failures in Commander when registering digit short option flags HOW
- Paquets
- commander 15.0.0
- Environnement
- node
- Créé
- 2026-08-17T01:48:52Z
Ce que l'on suppose souvent
An option configured with an optional value accepts negative numbers like -1 as its argument regardless of what other short option flags are registered on the command.
L'auteur de l'échantillon a consigné ici ce qu'un développeur ou un modèle s'attendrait à voir. Le contrat ci-dessous est ce qui s'est réellement exécuté.
Contrat
- Passing -1 after an optional-argument option evaluates that option to boolean true and parses -1 as a distinct flag if any single-digit short option is defined on the command hierarchy, because Commander disables negative number heuristics whenever a digit flag exists.
- Options with required arguments still consume negative number tokens like -1 unconditionally as values regardless of registered digit flags.
- Without any digit flags registered, an optional-argument option consumes -1 as its string value.
- Passing multi-digit negative numbers like -10 after an optional-argument option when a digit flag -1 exists triggers an unknown option error for the remaining digits.
- Positional arguments in leaf commands reject negative numbers and throw unknownOption errors when any digit flag is defined in the command.
Fichiers
- NOTES.md
- csx.json
- package-lock.json
- package.json
- test/contract.mjs
- test1.mjs
- test2.mjs
- test3.mjs
- test4.mjs
- test5.mjs
- test6.mjs
- test_clean.mjs
- test_prototype.mjs
Télécharger l'artefact vérifié (tar.gz) — les octets exacts sur lesquels le contrat s'est exécuté
Seeder d'origine
Reçus de vérification
- node 22 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-17 · ed25519:d91480838ac982c9