Skip to content

fix: use .csproj project references in TypeScript apphost aspire.config.json#1261

Open
aaronpowell wants to merge 11 commits intomainfrom
fixing-typescript-apphost-support
Open

fix: use .csproj project references in TypeScript apphost aspire.config.json#1261
aaronpowell wants to merge 11 commits intomainfrom
fixing-typescript-apphost-support

Conversation

@aaronpowell
Copy link
Copy Markdown
Member

Replace empty/version string package references with relative .csproj paths so the Aspire CLI builds integrations from local source instead of trying to pull from NuGet. This follows the local development with project references pattern documented at aspire.dev.

Co-authored-by: Copilot [email protected]

Closes #<ISSUE_NUMBER>

PR Checklist

  • Created a feature/dev branch in your fork (vs. submitting directly from a commit on main)
  • Based off latest main branch of toolkit
  • PR doesn't include merge commits (always rebase on top of our main, if needed)
  • New integration
    • Docs are written
    • Added description of major feature to project description for NuGet package (4000 total character limit, so don't push entire description over that)
  • Tests for the changes have been added (for bug fixes / features) (if applicable)
  • Contains NO breaking changes
  • Every new API (including internal ones) has full XML docs
  • Code follows all style conventions

Other information

…ig.json

Replace empty/version string package references with relative .csproj paths
so the Aspire CLI builds integrations from local source instead of trying
to pull from NuGet. This follows the local development with project
references pattern documented at aspire.dev.

Co-authored-by: Copilot <[email protected]>
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 2, 2026

🚀 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 -- 1261

Or

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

@aaronpowell aaronpowell marked this pull request as ready for review April 2, 2026 06:40
Copilot AI review requested due to automatic review settings April 2, 2026 06:40
Copy link
Copy Markdown
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

Updates TypeScript AppHost aspire.config.json files in examples/ to use local .csproj project references for CommunityToolkit packages, enabling Aspire CLI local builds instead of NuGet/package-version resolution.

Changes:

  • Replaced CommunityToolkit package entries that were "" (or a version string) with relative paths to the corresponding src/**/**.csproj.
  • Kept non-CommunityToolkit Aspire package entries (e.g., Aspire.Hosting.*) as empty placeholders where present.

Reviewed changes

Copilot reviewed 39 out of 39 changed files in this pull request and generated no comments.

Show a summary per file
File Description
examples/activemq/CommunityToolkit.Aspire.Hosting.ActiveMQ.AppHost.TypeScript/aspire.config.json Use local .csproj reference for ActiveMQ hosting package.
examples/adminer/CommunityToolkit.Aspire.Hosting.Adminer.AppHost.TypeScript/aspire.config.json Use local .csproj reference for Adminer hosting package.
examples/bun/CommunityToolkit.Aspire.Hosting.Bun.AppHost.TypeScript/aspire.config.json Use local .csproj reference for Bun hosting package.
examples/data-api-builder/CommunityToolkit.Aspire.Hosting.Azure.DataApiBuilder.AppHost.TypeScript/aspire.config.json Use local .csproj reference for Azure Data API Builder hosting package.
examples/dbgate/CommunityToolkit.Aspire.Hosting.DbGate.AppHost.TypeScript/aspire.config.json Use local .csproj reference for DbGate hosting package.
examples/deno/CommunityToolkit.Aspire.Hosting.Deno.AppHost.TypeScript/aspire.config.json Use local .csproj reference for Deno hosting package.
examples/elasticsearch-ext/CommunityToolkit.Aspire.Hosting.Elasticsearch.Extensions.AppHost.TypeScript/aspire.config.json Use local .csproj reference for Elasticsearch Extensions hosting package.
examples/flagd/CommunityToolkit.Aspire.Hosting.Flagd.AppHost.TypeScript/aspire.config.json Use local .csproj reference for Flagd hosting package.
examples/flyway/CommunityToolkit.Aspire.Hosting.Flyway.AppHost.TypeScript/aspire.config.json Use local .csproj reference for Flyway hosting package.
examples/goff/CommunityToolkit.Aspire.Hosting.GoFeatureFlag.AppHost.TypeScript/aspire.config.json Use local .csproj reference for GoFeatureFlag hosting package.
examples/golang/CommunityToolkit.Aspire.Hosting.Golang.AppHost.TypeScript/aspire.config.json Use local .csproj reference for Golang hosting package.
examples/java/CommunityToolkit.Aspire.Hosting.Java.AppHost.TypeScript/aspire.config.json Use local .csproj reference for Java hosting package.
examples/javascript-ext/CommunityToolkit.Aspire.Hosting.JavaScript.Extensions.AppHost.TypeScript/aspire.config.json Use local .csproj reference for JavaScript Extensions hosting package.
examples/k6/CommunityToolkit.Aspire.Hosting.k6.AppHost.TypeScript/aspire.config.json Use local .csproj reference for k6 hosting package.
examples/keycloak-postgres/CommunityToolkit.Aspire.Hosting.Keycloak.Extensions.AppHost.TypeScript/aspire.config.json Use local .csproj reference for Keycloak Extensions hosting package.
examples/kurrentdb/CommunityToolkit.Aspire.Hosting.KurrentDB.AppHost.TypeScript/aspire.config.json Use local .csproj reference for KurrentDB hosting package.
examples/lavinmq/CommunityToolkit.Aspire.Hosting.LavinMQ.AppHost.TypeScript/aspire.config.json Use local .csproj reference for LavinMQ hosting package.
examples/mailpit/CommunityToolkit.Aspire.Hosting.MailPit.AppHost.TypeScript/aspire.config.json Use local .csproj reference for MailPit hosting package.
examples/mcp-inspector/CommunityToolkit.Aspire.Hosting.McpInspector.AppHost.TypeScript/aspire.config.json Use local .csproj reference for McpInspector hosting package.
examples/meilisearch/CommunityToolkit.Aspire.Hosting.Meilisearch.AppHost.TypeScript/aspire.config.json Use local .csproj reference for Meilisearch hosting package.
examples/minio/CommunityToolkit.Aspire.Hosting.Minio.AppHost.TypeScript/aspire.config.json Use local .csproj reference for Minio hosting package.
examples/mongodb-ext/CommunityToolkit.Aspire.Hosting.MongoDB.Extensions.AppHost.TypeScript/aspire.config.json Use local .csproj reference for MongoDB Extensions hosting package.
examples/mysql-ext/CommunityToolkit.Aspire.Hosting.MySql.Extensions.AppHost.TypeScript/aspire.config.json Use local .csproj reference for MySql Extensions hosting package.
examples/ngrok/CommunityToolkit.Aspire.Hosting.Ngrok.AppHost.TypeScript/aspire.config.json Use local .csproj reference for Ngrok hosting package.
examples/opentelemetry-collector/CommunityToolkit.Aspire.Hosting.OpenTelemetryCollector.AppHost.TypeScript/aspire.config.json Use local .csproj reference for OpenTelemetryCollector hosting package.
examples/papercut/CommunityToolkit.Aspire.Hosting.PapercutSmtp.AppHost.TypeScript/aspire.config.json Use local .csproj reference for PapercutSmtp hosting package.
examples/postgres-ext/CommunityToolkit.Aspire.Hosting.PostgreSQL.Extensions.AppHost.TypeScript/aspire.config.json Use local .csproj reference for PostgreSQL Extensions hosting package.
examples/python/CommunityToolkit.Aspire.Hosting.Python.Extensions.AppHost.TypeScript/aspire.config.json Use local .csproj reference for Python Extensions hosting package.
examples/redis-ext/CommunityToolkit.Aspire.Hosting.Redis.Extensions.AppHost.TypeScript/aspire.config.json Use local .csproj reference for Redis Extensions hosting package.
examples/rust/CommunityToolkit.Aspire.Hosting.Rust.AppHost.TypeScript/aspire.config.json Use local .csproj reference for Rust hosting package.
examples/sftp/CommunityToolkit.Aspire.Hosting.Sftp.AppHost.TypeScript/aspire.config.json Use local .csproj reference for Sftp hosting package.
examples/solr/CommunityToolkit.Aspire.Hosting.Solr.AppHost.TypeScript/aspire.config.json Use local .csproj reference for Solr hosting package.
examples/sql-database-projects/CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects.AppHost.TypeScript/aspire.config.json Use local .csproj reference for SqlDatabaseProjects hosting package.
examples/sqlite/CommunityToolkit.Aspire.Hosting.Sqlite.AppHost.TypeScript/aspire.config.json Use local .csproj reference for Sqlite hosting package.
examples/sqlserver-ext/CommunityToolkit.Aspire.Hosting.SqlServer.Extensions.AppHost.TypeScript/aspire.config.json Use local .csproj reference for SqlServer Extensions hosting package.
examples/stripe/CommunityToolkit.Aspire.Hosting.Stripe.AppHost.TypeScript/aspire.config.json Use local .csproj reference for Stripe hosting package.
examples/surrealdb/CommunityToolkit.Aspire.Hosting.SurrealDb.AppHost.TypeScript/aspire.config.json Use local .csproj reference for SurrealDb hosting package.
examples/umami/CommunityToolkit.Aspire.Hosting.Umami.AppHost.TypeScript/aspire.config.json Use local .csproj reference for Umami hosting package.
examples/zitadel/CommunityToolkit.Aspire.Hosting.Zitadel.AppHost.TypeScript/aspire.config.json Use local .csproj reference for Zitadel hosting package.

aaronpowell and others added 3 commits April 2, 2026 06:56
Add a -Secrets parameter to validate-typescript-apphost.ps1 that accepts
key=value pairs. The script calls 'aspire secret set' for each pair
before starting the apphost, and cleans them up via 'aspire secret delete'
in the finally block.

Update TypeScriptAppHostTest.Run() with an optional secrets dictionary
parameter that forwards to the PowerShell script.

Update the McpInspector TypeScript test to pass the required proxy-token
secret parameter.

Co-authored-by: Copilot <[email protected]>
@github-actions github-actions bot added the Stale label Apr 8, 2026
@github-actions github-actions bot closed this Apr 10, 2026
@aaronpowell aaronpowell reopened this Apr 13, 2026
@aaronpowell aaronpowell removed the Stale label Apr 13, 2026
aaronpowell and others added 7 commits April 13, 2026 04:19
…alidation

The validate-typescript-apphost.ps1 script now uses dotnet msbuild
-getItem:ProjectReference to discover CommunityToolkit.* project
references from the integration being tested. Each discovered dependency
is packed into the temp NuGet source and added to aspire.config.json
alongside the main package.

This fixes TypeScript apphost validation for integrations like
MongoDB.Extensions, MySql.Extensions, PostgreSQL.Extensions,
Redis.Extensions, and SqlServer.Extensions which depend on local
packages like DbGate, Adminer, and Flyway.

Co-authored-by: Copilot <[email protected]>
…grok account to be setup, which can be done locally but not for CI
…y it was defined and would cause the apphost to fail
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