[release/13.4] Remove resource data from aspire ps; use aspire describe for resource streaming#17579
Conversation
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 17579Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 17579" |
There was a problem hiding this comment.
Pull request overview
Backport of #17479 to release/13.4. Removes the --resources / --include-hidden flags from aspire ps (and the associated AppHost-level resource streaming/follow plumbing), and rewires the VS Code extension to obtain per-AppHost resource data via aspire describe --follow --apphost <path> instead. Documentation, resx/xlf strings, and tests are updated accordingly.
Changes:
PsCommanddrops the--resources/--include-hiddenoptions, the resource snapshot fetch path, theResourceUpdate/resource-watcher follow plumbing, and the resource fields onAppHostDisplayInfo/PsCommandJsonContext; resx + 13 xlf files andcli-output-formats.mdupdated to match.- VS Code extension
AppHostDataRepositoryremoves the--resourcesflag +_supportsResourcesfallback, and adds a per-AppHostdescribe --followfan-out (_globalDescribeStreams, reconciliation, restart-with-backoff) for both global mode and non-selected workspace candidates, plus stale-AppHost cleanup on describe exit and a multi-candidate workspace retargeting path. Tests updated and expanded. - Build tooling (out of stated scope):
Extension.proj,extension/build.sh,extension/build.ps1switch invocations fromyarntocorepack yarn@1.22.22.
Reviewed changes
Copilot reviewed 23 out of 24 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/Aspire.Cli/Commands/PsCommand.cs | Removes --resources/--include-hidden options, resource fetch, and follow-mode resource watcher; simplifies GatherAppHostInfosAsync/ExecuteFollowAsync. |
| src/Aspire.Cli/Resources/PsCommandStrings.resx | Drops ResourcesOptionDescription; reword FollowOptionDescription. |
| src/Aspire.Cli/Resources/PsCommandStrings.Designer.cs | Removes generated ResourcesOptionDescription accessor. |
| src/Aspire.Cli/Resources/xlf/PsCommandStrings.{cs,de,es,fr,it,ja,ko,pl,pt-BR,ru,tr,zh-Hans,zh-Hant}.xlf | Mirror resx string changes across all 13 locales. |
| src/Shared/Model/Serialization/ResourceJson.cs | Comment updated to drop the aspire ps --resources reference. |
| tests/Aspire.Cli.Tests/Commands/PsCommandTests.cs | Removes the 7 --resources-specific tests; minor cleanup. |
| docs/specs/cli-output-formats.md | Drops the ps --resources example; points readers at aspire describe for resource data. |
| extension/src/views/AppHostDataRepository.ts | Removes _supportsResources fallback; adds per-AppHost describe --follow fan-out, workspace retargeting, and stale-AppHost cleanup. |
| extension/src/test/appHostDataRepository.test.ts | Updates expectations for the new ps args and adds tests for per-AppHost describe fan-out, retargeting, and stop semantics. |
| extension/Extension.proj | Switches yarn invocations to corepack yarn@1.22.22 (out of stated scope). |
| extension/build.sh | Switches yarn invocations to corepack yarn@1.22.22 (out of stated scope). |
| extension/build.ps1 | Switches yarn invocations to corepack yarn@1.22.22 (out of stated scope). |
Files not reviewed (1)
- src/Aspire.Cli/Resources/PsCommandStrings.Designer.cs: Language not supported
|
@copilot resolve the merge conflicts in this pull request |
…cribe` for resource streaming Backport of microsoft#17479 to release/13.4 Conflict resolved in extension/src/views/AppHostDataRepository.ts dispose(): kept both release/13.4's _getAppHostsProcess cleanup and the PR's _stopAllGlobalDescribes() call. Reverted the extension/package.json bump (1.0.9 -> 1.10.0) so the 13.4 extension line stays on 1.0.x. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
8f50cc6 to
09b3e65
Compare
|
Looks like this broke the build because corepack is not available internally. |
Backport of #17479 to release/13.4
/cc @mitchdenny @adamint
Customer Impact
aspire pspreviously streamed full per-AppHost resource data (with--resources/--include-hidden), which overlapped withaspire describeand re-emitted the entire resource set on every change, makingpsnoisy and not summary-like for tooling consumers. The VS Code extension's global tree depended on this behavior. This PR removes the resource-streaming surface frompsand moves the VS Code extension to per-AppHostaspire describe --apphostso resource data still flows, but through the intended API.Testing
Manual, using playground apps. Full extension test suite (564 tests) passes on the backport branch;
PsCommandunit tests pass on main.I've also tested using a couple different applications, including one in a workspace with multiple app hosts. The panel works well and as expected.
Risk
Low. Scoped to the
aspire psCLI surface (removes the--resources/--include-hiddenflags added in 13.4) and the VS Code extension's resource fetching path (now fans out per-AppHost). No public hosting/component API changes; the resource data is still available viaaspire describe.Regression?
No — the removed flag was added during 13.4 development; this restores
psto its pre-flag shape. Resource data continues to be available viaaspire describe --apphost.