Skip to content

[Automated] Update yarn CLI Options - #4563

Merged
thomhurst merged 2 commits into
mainfrom
automated/update-cli-options-yarn
Sep 3, 2026
Merged

thomhurst merged 2 commits into
mainfrom
automated/update-cli-options-yarn

Conversation

@thomhurst

@thomhurst thomhurst commented Sep 3, 2026

Copy link
Copy Markdown
Owner

Summary

This PR contains automatically generated updates to yarn CLI options classes.

The generator scraped the latest CLI help output from the installed tool.

Changes

  • Updated options classes to reflect latest CLI documentation
  • Added new commands if any were detected
  • Updated option types and descriptions

Command coverage

Command coverage report:

  • yarn (4.18.0): 52 commands, tree e257eecd91b494ea27b85879a1fe8297c96a2747f7308e7455a4d7479c2a0132
    • Baseline comparison: 52 commands at 4.18.0 -> 52 commands at 4.18.0

Verification

  • Solution builds successfully

🤖 Generated with ModularPipelines.OptionsGenerator

Summary by CodeRabbit

  • New Features

    • Added Yarn support for running package binaries with dlx.
    • Added Yarn workspace command support with dedicated configuration options.
    • Expanded configuration accessors across Yarn command options.
  • Breaking Changes

    • Yarn execution, patching, patch commit, and dependency explanation commands now require explicit options.
    • Parameterless construction was removed for several Yarn option types; provide the required options when invoking these commands.

@thomhurst thomhurst added automated dependencies Pull requests that update a dependency file labels Sep 3, 2026
@coderabbitai

coderabbitai Bot commented Sep 3, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: f325b594-7a37-403d-80f0-c8791c142a99

📥 Commits

Reviewing files that changed from the base of the PR and between 14a6569 and 0c2b132.

⛔ Files ignored due to path filters (1)
  • src/ModularPipelines.Yarn/Generated/Yarn.Generation.json is excluded by !**/generated/**
📒 Files selected for processing (2)
  • src/ModularPipelines.Yarn/PublicAPI.Shipped.txt
  • src/ModularPipelines.Yarn/PublicAPI.Unshipped.txt

Included review availability: Your plan provides up to 4 included reviews per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The Yarn public API listings update option constructors, properties, record types, generated members, and IYarn method signatures. New DLX and workspace methods are listed, and several command methods now require non-null options.

Changes

Yarn public API

Layer / File(s) Summary
Align shipped API entries
src/ModularPipelines.Yarn/PublicAPI.Shipped.txt
The shipped listing removes three parameterless constructors and reorders Yarn option declarations and generated members.
Update Yarn option contracts
src/ModularPipelines.Yarn/PublicAPI.Unshipped.txt
The unshipped listing removes four parameterless constructors, adds properties across Yarn option types, and introduces YarnDlxOptions and YarnWorkspaceOptions.
Update Yarn service signatures
src/ModularPipelines.Yarn/PublicAPI.Unshipped.txt
The listing adds DlxAsync and WorkspaceAsync. It makes ExecAsync, PatchAsync, PatchCommitAsync, and WhyAsync require options.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to 0c2b1

This updates Yarn public API tracking for current CLI option contracts and command signatures. No concrete current-head issue remains that blocks merge.

Poem

A rabbit checks the Yarn API line
New option records fit just fine
Constructors hop away
Methods require their say
Clones and equals fall in line

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: updating Yarn CLI option classes and related commands.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (2 skipped: 2 unsupported.)

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch automated/update-cli-options-yarn

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This PR only touches tracking/metadata files for the Yarn tool integration: a new src/ModularPipelines.Yarn/Generated/Yarn.Generation.json provenance manifest, plus updates to PublicAPI.Shipped.txt / PublicAPI.Unshipped.txt. No .cs source is changed here — the generated Options/*.Generated.cs and Services/IYarn.Generated.cs files were already updated in an earlier commit (dfb29c9012, "Refresh stale generated integration pull requests (#4445)"); this PR simply catches the public-API-tracking files up to match that already-committed code.

Verified:

  • Every *REMOVED*/added entry in PublicAPI.Unshipped.txt corresponds exactly to what's declared in the current .cs files (checked YarnExecOptions, YarnPatchCommitOptions, YarnPatchOptions, YarnWhyOptions, YarnDlxOptions, YarnWorkspaceOptions.Generated.cs).
  • No duplicate lines, no symbol present in both Shipped and Unshipped simultaneously.
  • Both PublicAPI.Shipped.txt and PublicAPI.Unshipped.txt remain fully alphabetically sorted after the edit.
  • Yarn.Generation.json's commandTreeSha256/toolVersion match Yarn.CommandCoverage.json exactly.
  • No in-repo call sites invoke the now-required-parameter methods (ExecAsync, PatchAsync, PatchCommitAsync, WhyAsync) with null/omitted options, so tightening optional→required options parameters breaks nothing internally, and this kind of breaking change from regenerated tool output is explicitly sanctioned by this repo's CLAUDE.md guidance ("Current tool output is the sole source of truth for generated options, even when regeneration causes breaking API changes").

No correctness, design, or convention issues found. Nothing actionable to flag.

@thomhurst

Copy link
Copy Markdown
Owner Author

Ubuntu failure is unrelated to this Yarn metadata-only diff: RunCoreUnitTestsModule hung for ~20 minutes in Timeout_Fault_During_Grace_Period_Counts_As_Response, then hangdump timeout ended the run. Same post-fix recurrence occurred on #4548 and #4558; reopened #4472 with evidence. Per flaky-test policy, not rerunning merely for green.

@thomhurst
thomhurst force-pushed the automated/update-cli-options-yarn branch from 3927b3a to fc7de01 Compare September 3, 2026 13:36

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

Same scope as the previous review of this PR: only tracking/metadata files for the Yarn tool integration change — src/ModularPipelines.Yarn/Generated/Yarn.Generation.json (new provenance manifest) plus PublicAPI.Shipped.txt / PublicAPI.Unshipped.txt updates. No .cs source is touched in this diff; it just catches the public-API-tracking files up to the already-generated code.

Re-verified against current main + this branch's head:

  • PublicAPI.Shipped.txt and PublicAPI.Unshipped.txt are both fully alphabetically sorted, and no symbol appears in both files simultaneously.
  • Every *REMOVED*/added entry (e.g. YarnExecOptions, YarnPatchOptions, YarnPatchCommitOptions, YarnWhyOptions losing their parameterless constructors; new YarnDlxOptions/YarnWorkspaceOptions) matches exactly what's declared in the current Options/*.Generated.cs and Services/IYarn.Generated.cs files (ExecAsync, PatchAsync, PatchCommitAsync, WhyAsync, DlxAsync, WorkspaceAsync all take required, non-nullable options parameters in the generated interface, matching the tracking file).
  • Yarn.Generation.json's toolVersion/commandTreeSha256 match Yarn.CommandCoverage.json exactly.
  • Tightening these options parameters from optional→required is a breaking change from regenerated tool output, which is explicitly sanctioned by this repo's CLAUDE.md ("Current tool output is the sole source of truth for generated options, even when regeneration causes breaking API changes").

No correctness, design, or convention issues found. Nothing actionable to flag.

@thomhurst

Copy link
Copy Markdown
Owner Author

Synced current main at exact head $(0c2b132.Substring(0,10)). Yarn provenance still matches the generator on HEAD; \git diff --check\ passes. @claude please re-review this exact head.

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

Re-reviewed at the current head as requested. This PR's diff against main is unchanged in substance from the two prior reviews of this PR — it still only touches Yarn tracking/metadata files:

  • src/ModularPipelines.Yarn/Generated/Yarn.Generation.json (new provenance manifest)
  • src/ModularPipelines.Yarn/PublicAPI.Shipped.txt
  • src/ModularPipelines.Yarn/PublicAPI.Unshipped.txt

The 14 commits added since the last review (fc7de010c2b132) are unrelated automated tool updates (flux, shellcheck, trivy, nbgv, winget, pnpm, minikube, grype, ansible, terraform, flyway) plus a docs: tweak and a chore(terraform) cleanup, merged in from main — none of them touch anything under src/ModularPipelines.Yarn/. gh pr diff confirms the file set is still exactly the three files above.

Re-verified:

  • PublicAPI.Shipped.txt and PublicAPI.Unshipped.txt remain fully alphabetically sorted, and no symbol appears in both files simultaneously.
  • Every *REMOVED*/added entry (parameterless constructors dropped for YarnExecOptions, YarnPatchCommitOptions, YarnPatchOptions, YarnWhyOptions; new YarnDlxOptions/YarnWorkspaceOptions; ExecAsync/PatchAsync/PatchCommitAsync/WhyAsync/DlxAsync/WorkspaceAsync gaining required, non-nullable options parameters) matches the already-committed generated .cs source from the earlier "Refresh stale generated integration pull requests" commit — this PR is solely catching the tracking files up to code that already exists on main.
  • Yarn.Generation.json's commandTreeSha256/toolVersion match the PR description's command-coverage report (e257eecd9..., yarn 4.18.0).
  • The optional→required parameter tightening is a breaking change from regenerated tool output, which is explicitly sanctioned by this repo's CLAUDE.md ("Current tool output is the sole source of truth for generated options, even when regeneration causes breaking API changes").

No correctness, design, or convention issues found. Nothing actionable to flag.

@thomhurst
thomhurst merged commit 1f01f91 into main Sep 3, 2026
4 checks passed
@thomhurst
thomhurst deleted the automated/update-cli-options-yarn branch September 3, 2026 16:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automated dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant