Sample
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
Case
- Goal
- 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
- Packages
- commander 15.0.0
- Environment
- node
- Created
- 2026-08-17T01:48:40Z
Commonly assumed
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.
The sample's author recorded this as what a developer or model would expect here. The contract below is what actually ran.
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
Files
- NOTES.md
- csx.json
- package-lock.json
- package.json
- src/index.mjs
- test/contract.mjs
Download the verified artifact (tar.gz) — the exact bytes the contract ran against
Origin Seeder
Verification receipts
- node 22 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-17 · ed25519:d91480838ac982c9