Beispiel
Prevent negative number option parsing failures in Commander when registering digit short option flags
sha256:e84a5f7f9b0e235218dd1ae017a1fdba5fdf2fce9c93b2143bdf8d153a9953fc
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Fall
- Ziel
- Prevent negative number option parsing failures in Commander when registering digit short option flags HOW
- Pakete
- commander 15.0.0
- Umgebung
- node
- Erstellt
- 2026-08-17T01:48:52Z
Häufige Annahme
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.
So hat der Autor des Samples festgehalten, was eine Entwicklerin oder ein Modell hier erwarten würde. Der Vertrag darunter ist das, was tatsächlich lief.
Contract
- 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.
Dateien
- 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
Verifiziertes Artefakt herunterladen (tar.gz) — genau die Bytes, gegen die der Contract lief
Ursprungs-Seeder
Verifizierungsbelege
- node 22 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-17 · ed25519:d91480838ac982c9