Skip to content

Add polyglot exports for lavinmq#1182

Merged
aaronpowell merged 6 commits into
mainfrom
dapine/polyglot-export-lavinmq
Apr 1, 2026
Merged

Add polyglot exports for lavinmq#1182
aaronpowell merged 6 commits into
mainfrom
dapine/polyglot-export-lavinmq

Conversation

@IEvangelist

Copy link
Copy Markdown
Contributor

Adds AspireExport coverage and a matching TypeScript validation apphost for lavinmq.

Copilot AI review requested due to automatic review settings March 18, 2026 15:36
@github-actions

github-actions Bot commented Mar 18, 2026

Copy link
Copy Markdown
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/CommunityToolkit/Aspire/main/eng/scripts/dogfood-pr.sh | bash -s -- 1182

Or

  • Run remotely in PowerShell:
iex "& { $(irm https://raw.githubusercontent.com/CommunityToolkit/Aspire/main/eng/scripts/dogfood-pr.ps1) } 1182"

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds Aspire ATS (polyglot) export metadata for the LavinMQ hosting integration and introduces a TypeScript ValidationAppHost to validate the generated TypeScript surface area for this package.

Changes:

  • Annotate LavinMQ extension methods/resources with [AspireExport] and suppress the experimental diagnostic.
  • Expose LavinMQ resource properties for polyglot access (ExposeProperties = true + public PrimaryEndpoint).
  • Add a TypeScript ValidationAppHost (generated .modules SDK + apphost script + Node project files).

Reviewed changes

Copilot reviewed 7 out of 9 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/CommunityToolkit.Aspire.Hosting.LavinMQ/LavinMQHostingExtension.cs Adds [AspireExport] annotations for addLavinMQ, withDataVolume, withDataBindMount and suppresses ASPIREATS001.
src/CommunityToolkit.Aspire.Hosting.LavinMQ/LavinMQContainerResource.cs Marks resource as exportable (ExposeProperties = true) and exposes PrimaryEndpoint publicly for generated property access.
playground/polyglot/TypeScript/CommunityToolkit.Aspire.Hosting.LavinMQ/ValidationAppHost/apphost.ts Validation script exercising exported APIs and exported properties.
playground/polyglot/TypeScript/CommunityToolkit.Aspire.Hosting.LavinMQ/ValidationAppHost/aspire.config.json Adds an Aspire config for running the TS apphost (currently pinned to a timestamped package version + local ports).
playground/polyglot/TypeScript/CommunityToolkit.Aspire.Hosting.LavinMQ/ValidationAppHost/apphost.run.json Run profile settings for the validation apphost.
playground/polyglot/TypeScript/CommunityToolkit.Aspire.Hosting.LavinMQ/ValidationAppHost/package.json Node/TS project definition for the validation apphost.
playground/polyglot/TypeScript/CommunityToolkit.Aspire.Hosting.LavinMQ/ValidationAppHost/package-lock.json Dependency lock for reproducible installs.
playground/polyglot/TypeScript/CommunityToolkit.Aspire.Hosting.LavinMQ/ValidationAppHost/tsconfig.json TS compiler configuration for apphost + generated modules.
playground/polyglot/TypeScript/CommunityToolkit.Aspire.Hosting.LavinMQ/ValidationAppHost/.modules/* Generated TypeScript SDK + transport layer used by the validation apphost.
playground/polyglot/TypeScript/CommunityToolkit.Aspire.Hosting.LavinMQ/ValidationAppHost/.aspire/settings.json Aspire settings for the validation apphost and local package resolution.
Files not reviewed (1)
  • playground/polyglot/TypeScript/CommunityToolkit.Aspire.Hosting.LavinMQ/ValidationAppHost/package-lock.json: Language not supported

You can also share your feedback on Copilot code review. Take the survey.

Comment on lines +6 to +7
#pragma warning disable ASPIREATS001 // AspireExport is experimental

Comment on lines +1 to +2
#pragma warning disable ASPIREATS001 // AspireExport is experimental

await bindBroker.withDataBindMount(bindMountPath);

// ---- Property access on LavinMQContainerResource (ExposeProperties = true) ----
const volumeBrokerResource = await volumeBroker;
@IEvangelist IEvangelist force-pushed the dapine/polyglot-export-lavinmq branch from f17c015 to c81b07f Compare March 25, 2026 23:28
IEvangelist and others added 5 commits March 30, 2026 09:50
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@IEvangelist IEvangelist force-pushed the dapine/polyglot-export-lavinmq branch from 1bbfa90 to 18dcd4e Compare March 30, 2026 15:43
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@aaronpowell aaronpowell merged commit 154d3bb into main Apr 1, 2026
350 of 362 checks passed
@aaronpowell aaronpowell deleted the dapine/polyglot-export-lavinmq branch April 1, 2026 00:13
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.

3 participants