Skip to content

fix: isolate options between parse calls - #67

Open
blueDaydreaming725 wants to merge 1 commit into
lukeed:masterfrom
blueDaydreaming725:fix/isolate-command-options
Open

blueDaydreaming725 wants to merge 1 commit into
lukeed:masterfrom
blueDaydreaming725:fix/isolate-command-options

Conversation

@blueDaydreaming725

Copy link
Copy Markdown

Parsing a command currently merges its defaults and aliases into the global options. A later parse of a different command can therefore inherit those options, and a one-off override persists into later calls. Short aliases can also disappear because mri consumes their arrays.

Merge into fresh option objects and copy alias arrays before handing them to mri. The Deno entry gets the same object-isolation fix. This keeps the existing precedence without restoring mutable state after each parse.

Regression tests fail on the original implementation and pass after the fix. The complete Tape suite passes 602 assertions on Node 20.11.1; build and independent CJS/ESM public-entry checks pass. Deno and the oldest supported Node versions were not run.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant