Skip to content

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

Merged
aaronpowell merged 19 commits into
mainfrom
fixing-typescript-apphost-support
May 14, 2026
Merged

fix: use .csproj project references in TypeScript apphost aspire.config.json#1261
aaronpowell merged 19 commits into
mainfrom
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 223556219+Copilot@users.noreply.github.com

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 <223556219+Copilot@users.noreply.github.com>
@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 <223556219+Copilot@users.noreply.github.com>
@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 <223556219+Copilot@users.noreply.github.com>
…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
* Update Aspire version references to 13.3

Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>

* Align dependency versions for Aspire 13.3

Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>

* Overriding more packages with CVE's

* Debugging the TypeScript app host bootstrapper

* Making the nuget.config more explicit in where to find stuff
* Adding a VS Code launch command
* Verbose debugging

Tests still won't pass though

* Fixing a mistake in launching the debugger

* No idea why the API usage was the way that was, but making it correct now

* The API for getting endpoints was wrong for how 13.3 works - updated to the correct API

* Fixing a bit more surface area in activemq

* Fixing API usage in flagd apphost.ts

* Fixing API usage in goff apphost.ts

* Fixing API usage in java apphost.ts

* Fixing API usage in KurrentDB apphost.ts

* Fixing API usage in LavinMQ apphost.ts

* Fixing API usage in MailPit apphost.ts

* Fixing API usage in MeilieSearch apphost.ts

* Fixing API usage in MinIO apphost.ts

* Fixing API usage in mysql apphost.ts

* Fixing API usage in otelcollector apphost.ts

* Fixing API usage in papercut apphost.ts

* Fixing API usage in pgext apphost.ts

* Fixing API usage in sftp apphost.ts

* Fixing API usage in solr apphost.ts

* Fixing API usage in dbprojects apphost.ts

* Fixing API usage in sqlite apphost.ts

* Fixing API usage in surrealdb apphost.ts

* Fixing API usage in umami apphost.ts

* adding sqlserver to the dab ts apphost demo

* Forgot that the tests didn't wait on resources

* Updating all the aspire.config.json to include sdk version

* Moving mcp config for cli

* aspire agent skills

* Adding some fixes to the apphost.ts usage

* Removing some stuff that isn't needed, we have them in examples

* Fixing the api usage for adding params with values

* Fixing minio api usage

* Fixing api usage on otel collection

* Fixing typescript apphost for papercutsmtp

* Fixing sftp typescript apphost

* Fixing sqlite ts apphost, which was super weirdly written

* Fix TypeScript AppHost cleanup ordering

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix remaining TypeScript AppHost CI failures

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Disabling DAB on TS apphost test due to known issue

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>
Co-authored-by: David Fowler <davidfowl@gmail.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@aaronpowell
Copy link
Copy Markdown
Member Author

@copilot resolve the merge conflicts in this pull request - the playground folder has been removed and shouldn't be in this PR

Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI commented May 14, 2026

@copilot resolve the merge conflicts in this pull request - the playground folder has been removed and shouldn't be in this PR

Resolved in 635bbea. I restored the playground files from main so this PR no longer includes playground folder changes, which also clears the merge-conflict state.

@aaronpowell aaronpowell merged commit 3a5972f into main May 14, 2026
117 of 123 checks passed
@aaronpowell aaronpowell deleted the fixing-typescript-apphost-support branch May 14, 2026 05:14
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.

4 participants