Ejemplo
Prevent negative number option parsing failures in Commander when registering digit short option flags
sha256:e84a5f7f9b0e235218dd1ae017a1fdba5fdf2fce9c93b2143bdf8d153a9953fc
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Caso
- Objetivo
- Prevent negative number option parsing failures in Commander when registering digit short option flags HOW
- Paquetes
- commander 15.0.0
- Entorno
- node
- Creado
- 2026-08-17T01:48:52Z
Lo que suele suponerse
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.
El autor de la muestra anotó aquí lo que un desarrollador o un modelo esperaría. El contrato de abajo es lo que realmente se ejecutó.
Contrato
- 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.
Archivos
- 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
Descargar el artefacto verificado (tar.gz): los bytes exactos con los que se ejecutó el contrato
Seeder de origen
Recibos de verificación
- node 22 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-17 · ed25519:d91480838ac982c9