Skip to content

Conversation

@sebastienros
Copy link
Member

Summary

Adds [AspireExport] attributes to all public extension methods in Aspire.Hosting.RabbitMQ to enable polyglot (TypeScript) support.

Exported Methods

Method Export ID Description
AddRabbitMQ addRabbitMQ Adds a RabbitMQ container resource
WithDataVolume withDataVolume Adds a data volume to the RabbitMQ container
WithDataBindMount withDataBindMount Adds a data bind mount to the RabbitMQ container
WithManagementPlugin() withManagementPlugin Enables the RabbitMQ management plugin
WithManagementPlugin(int?) withManagementPluginWithPort Enables the RabbitMQ management plugin with a specific port

Validation

  • ✅ Build passes
  • ✅ Unit tests pass (52/52 non-infrastructure tests)
  • ✅ TypeScript SDK generates correctly with all exported methods
  • npx tsc --noEmit compiles successfully
  • ✅ Runtime validation: both RabbitMQ containers started successfully with management plugin enabled

Changes

  • src/Aspire.Hosting.RabbitMQ/RabbitMQBuilderExtensions.cs — Added [AspireExport] to 5 public extension methods
  • playground/polyglot/TypeScript/Aspire.Hosting.RabbitMQ/ValidationAppHost/ — TypeScript validation app host

Copilot AI review requested due to automatic review settings February 10, 2026 19:06
@github-actions
Copy link
Contributor

🚀 Dogfood this PR with:

⚠️ WARNING: Do not do this without first carefully reviewing the code of this PR to satisfy yourself it is safe.

curl -fsSL https://raw.githubusercontent.com/dotnet/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 14433

Or

  • Run remotely in PowerShell:
iex "& { $(irm https://raw.githubusercontent.com/dotnet/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 14433"

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds ATS export metadata to Aspire.Hosting.RabbitMQ extension methods so they’re available to the polyglot (TypeScript) code generator, and introduces a TypeScript ValidationAppHost to exercise the generated API surface.

Changes:

  • Added [AspireExport] attributes to 5 public RabbitMQ builder extension methods.
  • Added a new TypeScript ValidationAppHost (tsconfig/package files + apphost) for RabbitMQ polyglot validation.

Reviewed changes

Copilot reviewed 6 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/Aspire.Hosting.RabbitMQ/RabbitMQBuilderExtensions.cs Exposes RabbitMQ extension methods to ATS/polyglot via [AspireExport].
playground/polyglot/TypeScript/Aspire.Hosting.RabbitMQ/ValidationAppHost/tsconfig.json TypeScript compiler configuration for the validation apphost.
playground/polyglot/TypeScript/Aspire.Hosting.RabbitMQ/ValidationAppHost/package.json NPM project definition for the validation apphost.
playground/polyglot/TypeScript/Aspire.Hosting.RabbitMQ/ValidationAppHost/package-lock.json Locked JS dependencies for reproducible validation runs.
playground/polyglot/TypeScript/Aspire.Hosting.RabbitMQ/ValidationAppHost/apphost.ts Validation apphost exercising exported RabbitMQ capabilities.
playground/polyglot/TypeScript/Aspire.Hosting.RabbitMQ/ValidationAppHost/apphost.run.json Run profile configuration for the validation apphost.
playground/polyglot/TypeScript/Aspire.Hosting.RabbitMQ/ValidationAppHost/.aspire/settings.json Polyglot AppHost settings (language/sdk/packages/channel).
Files not reviewed (1)
  • playground/polyglot/TypeScript/Aspire.Hosting.RabbitMQ/ValidationAppHost/package-lock.json: Language not supported

{
"appHostPath": "../apphost.ts",
"language": "typescript/nodejs",
"channel": "local",
Copy link

Copilot AI Feb 10, 2026

Choose a reason for hiding this comment

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

channel is set to "local", but the CLI channel names are expected to be values like default, stable, staging, daily, or pr-*. Using an unrecognized channel can break aspire add / package resolution in this ValidationAppHost directory. Consider changing this to default (or removing the property to fall back to defaults), or setting it to an existing pr-* channel if this apphost is meant to track a PR hive.

Suggested change
"channel": "local",
"channel": "default",

Copilot uses AI. Check for mistakes.
@github-actions
Copy link
Contributor

🎬 CLI E2E Test Recordings

The following terminal recordings are available for commit 99373d7:

Test Recording
AgentCommands_AllHelpOutputs_AreCorrect ▶️ View Recording
AgentInitCommand_MigratesDeprecatedConfig ▶️ View Recording
Banner_DisplayedOnFirstRun ▶️ View Recording
Banner_DisplayedWithExplicitFlag ▶️ View Recording
CreateAndDeployToDockerCompose ▶️ View Recording
CreateAndDeployToDockerComposeInteractive ▶️ View Recording
CreateAndPublishToKubernetes ▶️ View Recording
CreateAndRunAspireStarterProject ▶️ View Recording
CreateAndRunAspireStarterProjectWithBundle ▶️ View Recording
CreateAndRunJsReactProject ▶️ View Recording
CreateAndRunPythonReactProject ▶️ View Recording
CreateEmptyAppHostProject ▶️ View Recording
CreateStartAndStopAspireProject ▶️ View Recording
CreateTypeScriptAppHostWithViteApp ▶️ View Recording
DoctorCommand_DetectsDeprecatedAgentConfig ▶️ View Recording
DoctorCommand_WithSslCertDir_ShowsTrusted ▶️ View Recording
DoctorCommand_WithoutSslCertDir_ShowsPartiallyTrusted ▶️ View Recording
LogsCommandShowsResourceLogs ▶️ View Recording
PsCommandListsRunningAppHost ▶️ View Recording
ResourcesCommandShowsRunningResources ▶️ View Recording

📹 Recordings uploaded automatically from CI run #21878666296

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