Add TypeScript AppHost example for Squad integration - #1434
Merged
aaronpowell merged 2 commits intoJul 8, 2026
Merged
Conversation
Contributor
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/CommunityToolkit/Aspire/main/eng/scripts/dogfood-pr.sh | bash -s -- 1434Or
iex "& { $(irm https://raw.githubusercontent.com/CommunityToolkit/Aspire/main/eng/scripts/dogfood-pr.ps1) } 1434" |
tamirdresher
force-pushed
the
feat/squad-typescript-apphost
branch
from
June 27, 2026 08:53
22f07d2 to
5c1412f
Compare
10 tasks
Contributor
Author
|
@bradygaster TypeScript AppHost example for Squad — shows both research-squad and dev-squad resources running with properties, commands, and lifecycle. Based on #1394. |
Contributor
|
@tamirdresher This PR appears to be also adding the whole hosting integration for Squad, which is already on main. Did you forget to rebase your branch perhaps? |
Adds a TypeScript-based AppHost example (apphost.mts) demonstrating the Squad hosting integration alongside the existing C# AppHost example, plus an end-to-end validation test that runs the example and waits for the research-squad and dev-squad resources to come up. Also hardens eng/testing/validate-typescript-apphost.ps1 against a transient Windows corepack activation crash (STATUS_DLL_INIT_FAILED, 0xC0000142) by wrapping corepack invocations in a small retry helper (3 attempts, 3s backoff) that rethrows the original error on final failure. Rebuilt on top of latest upstream/main: the original Squad hosting integration (PR CommunityToolkit#1394) is already squash-merged upstream, so this branch now carries only the genuine net-new delta (TS example + test + CI fix). Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
tamirdresher
force-pushed
the
feat/squad-typescript-apphost
branch
from
July 6, 2026 07:53
51d77d2 to
ab2f508
Compare
The test waited for the `research-squad` and `dev-squad` resources to reach status `up` (running), but Squad resources are logical dashboard/resource-graph entries by design: they transition Configured -> Spawning -> Active -> Finished and never run a server process, so they never reach a running/up/healthy state. `aspire wait --status up` therefore always timed out at 180s (exit 17), failing CI on both Ubuntu and Windows. Pass an empty waitForResources list so the test validates the meaningful path: the TypeScript AppHost restores, compiles (tsc --noEmit), starts, and reports its resources via `aspire describe`. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Contributor
Author
|
Good catch! Thanks. I've rebased onto latest main, so the Squad hosting integration no longer shows in the diff. The PR is now scoped to just the TypeScript AppHost example, its validation script tweak, and one test. Should be clean now, thanks for flagging it! |
jmezach
reviewed
Jul 6, 2026
aaronpowell
approved these changes
Jul 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a TypeScript AppHost example for the Squad hosting integration, following the same pattern as existing integrations (Bun, Deno).
What's included
examples/squad/CommunityToolkit.Aspire.Hosting.Squad.AppHost.TypeScript/)apphost.mts— TypeScript translation of the C# Squad AppHost (two squads: research + dev)aspire.config.json— Aspire SDK config with local package referencetsconfig.json,eslint.config.mjs,package.json,package-lock.json— Standard TS AppHost boilerplatetests/CommunityToolkit.Aspire.Hosting.Squad.Tests/TypeScriptAppHostTests.cs)TypeScriptAppHostTest.Run()helperPattern followed
Follows the Bun TypeScript AppHost example pattern exactly:
examples/aspire.config.jsonformat with local package referenceTypeScriptAppHostTestRelated