Enable every Aspire AppHost language - #1638
Conversation
d0b08b8 to
e0118e6
Compare
e0118e6 to
2b8080b
Compare
There was a problem hiding this comment.
🟡 Changes recommended
Several updated unit tests use optional-chained registry lookups (?.enabled) that can silently treat missing config entries as “disabled,” weakening test correctness and diagnostics.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This PR completes the “enable every Aspire AppHost language” rollout by flipping the shared AppHost language registry bits for Python/Go/Java/Rust and aligning unit/E2E coverage and a key rendering component to follow the registry-driven enablement model across the site.
Changes:
- Enables Python, Go, Java, and Rust in the shared AppHost language registry (
apphost-languages.json). - Updates multiple unit and Playwright E2E tests to assert behavior based on the registry’s
enabledbits rather than hard-coded language assumptions. - Updates
SimpleAppHostCodeto always render viaAppHostTabsand provide limitations for unauthored language variants.
File summaries
| File | Description |
|---|---|
| src/frontend/tests/unit/update-samples.vitest.test.ts | Makes sample AppHost enablement assertions reflect registry activation. |
| src/frontend/tests/unit/custom-components.vitest.test.ts | Adjusts component rendering tests to follow registry-enabled language set and limitations behavior. |
| src/frontend/tests/unit/apphost-languages.vitest.test.ts | Updates registry unit tests and normalization/link behavior to depend on enabled bits. |
| src/frontend/tests/unit/api-markdown.vitest.test.ts | Validates API markdown headings based on enabled generated languages. |
| src/frontend/tests/e2e/pivot-selector.spec.ts | Updates pivot/tab/media E2E expectations to be registry-driven. |
| src/frontend/tests/e2e/integrations-gallery.spec.ts | Updates integration gallery language-link assertions to be registry-driven. |
| src/frontend/src/data/apphost-languages.json | Flips enabled: true for Python/Go/Java/Rust. |
| src/frontend/src/components/SimpleAppHostCode.astro | Renders code via AppHostTabs and emits limitations for missing variants. |
Review details
- Files reviewed: 8/8 changed files
- Comments generated: 3
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
2b8080b to
3346914
Compare
00f6874 to
044c860
Compare
Frontend HTML artifact readyThe latest frontend build uploaded the This comment updates automatically when a new frontend build artifact is uploaded. |
044c860 to
446d696
Compare
446d696 to
0724937
Compare
a466062 to
3af73ba
Compare
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
5f375a7 to
83dda4c
Compare
Stack 5/5. Depends on #1637.
This final activation change flips the four shared registry bits that publish Python, Go, Java, and Rust everywhere automatically. All four languages remain marked Experimental, and the single-registry-bit contract provides a one-bit rollback or toggle.
The activated registry now drives selectors, tabs, pivots, sidebar navigation, search, AppHost API routes and Markdown, integrations gallery links, project and sample pages, media, builder surfaces, homepage content, sample metadata, and container labels.
SimpleAppHostCodecontinues to render explicit limitations for unauthored language variants instead of fallback code.Validation:
git diff --checkpassed.No local production build was run.