Beispiel
Preserve option value types on optional-value flags by configuring Option.preset() to prevent Commander from coercing valueless flags to boolean true and bypassing argParser
sha256:4bf9cbc16740182dbe7fcca88866b9e64c94372e4115587056c4b525005ba078
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Fall
- Ziel
- Preserve option value types on optional-value flags by configuring Option.preset() to prevent Commander from coercing valueless flags to boolean true and bypassing argParser HOW
- Pakete
- commander 15.0.0
- Umgebung
- node
- Erstellt
- 2026-08-17T01:48:40Z
Häufige Annahme
An option configured with an optional value and a custom argParser coerces a fallback value through argParser when the flag is invoked without an argument on the command line.
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
- Option.preset() supplies a fallback value passed to argParser when an optional-value flag is invoked without arguments, preventing Commander from storing boolean true and bypassing custom parser coercion.
- opts() contains boolean true instead of a parsed number when an optional-value option lacks a preset and is passed without an argument
- opts() retains the default value when the optional-value flag is omitted entirely
- opts() contains the parsed custom argument when the flag is passed with an explicit value
- accumulating option collectors append preset values on valueless flag invocations instead of having the entire accumulated array overwritten by boolean true
- options configured with choices validate against preset values rather than assigning boolean true outside the allowed choices list
Dateien
- NOTES.md
- csx.json
- package-lock.json
- package.json
- src/index.mjs
- test/contract.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