Ensure the use of polyglot is consistent - #1559
Conversation
…definition in the glossary.
…'non-C#'. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR standardizes how “polyglot” is defined and used across the Aspire docs, adding a glossary definition and updating references to either link to that definition or use “non-C#” when the intent is to exclude C#.
Changes:
- Adds a glossary definition for “polyglot” and updates pages to link to it on first use.
- Replaces “polyglot” with “non-C#” where the content is specifically about non-C# AppHosts/APIs.
- Expands glossary examples to include TypeScript alongside C# (via language pivots).
Reviewed changes
Copilot reviewed 24 out of 24 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/frontend/src/content/docs/whats-new/aspire-13-4.mdx | Replaces “polyglot” with “non-C#” in 13.4 release notes where referring to non-C# AppHosts/SDK layout. |
| src/frontend/src/content/docs/whats-new/aspire-13-3.mdx | Links first use of “polyglot” to glossary (but one spot still uses it to mean “non-C#”). |
| src/frontend/src/content/docs/reference/cli/includes/config-settings-table.md | Updates feature-flag descriptions to say “non-C#” where appropriate. |
| src/frontend/src/content/docs/reference/cli/configuration.mdx | Adjusts example title to remove “polyglot” wording. |
| src/frontend/src/content/docs/reference/cli/commands/aspire-start.mdx | Replaces “polyglot AppHost” with “non-C# AppHost” in failure-diagnostics text. |
| src/frontend/src/content/docs/ja/extensibility/multi-language-integration-authoring.mdx | Adds an in-page definition/link clarifying “polyglot” in the Japanese translation. |
| src/frontend/src/content/docs/integrations/frameworks/go/go-host.mdx | Links “polyglot” to glossary when referring to the Go language feature flag. |
| src/frontend/src/content/docs/integrations/devtools/flagd/flagd-get-started.mdx | Links “polyglot” to glossary in OFREP note. |
| src/frontend/src/content/docs/integrations/devtools/flagd/flagd-connect.mdx | Links “polyglot” to glossary in OFREP section. |
| src/frontend/src/content/docs/integrations/devtools/dev-tunnels.mdx | Replaces “polyglot” with “non-C#” in a TypeScript API limitation note. |
| src/frontend/src/content/docs/integrations/databases/surrealdb/surrealdb-host.mdx | Replaces “polyglot TypeScript AppHost” with “non-C# TypeScript AppHost”. |
| src/frontend/src/content/docs/integrations/databases/ravendb/ravendb-host.mdx | Replaces “polyglot TypeScript AppHost” with “non-C# TypeScript AppHost”. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-virtual-network.mdx | Links “polyglot” to glossary for “polyglot-friendly helper” phrasing. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-sql-database/azure-sql-database-host.mdx | Links “polyglot” to glossary for “polyglot-friendly helper” phrasing. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-postgresql/azure-postgresql-host.mdx | Links “polyglot” to glossary for “polyglot-friendly helper” phrasing. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-log-analytics.mdx | Links “polyglot” to glossary for “polyglot-friendly helper” phrasing. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-ai-foundry/azure-ai-foundry-host.mdx | Links “polyglot” to glossary for “polyglot-friendly helper” phrasing. |
| src/frontend/src/content/docs/get-started/glossary.mdx | Adds “Polyglot” glossary entry and adds TypeScript pivots alongside C# examples. |
| src/frontend/src/content/docs/get-started/faq.mdx | Links “polyglot” to glossary in the AppHost overview answer. |
| src/frontend/src/content/docs/get-started/aspire-vscode-extension.mdx | Links “polyglot” to glossary in the intro sentence. |
| src/frontend/src/content/docs/get-started/add-aspire-existing-app.mdx | Links “polyglot” to glossary in the file-based AppHost description. |
| src/frontend/src/content/docs/extensibility/multi-language-integration-authoring.mdx | Links “polyglot” to glossary in ATS override tag description. |
| src/frontend/src/content/docs/app-host/with-terminal.mdx | Replaces “polyglot API” with “non-C# API” in a TypeScript note. |
| src/frontend/src/content/docs/app-host/executable-resources.mdx | Replaces “polyglot AppHost” with “non-C# AppHost” in 13.3 environment API note. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
|
||
| ### Polyglot | ||
|
|
||
| In this repository, **polyglot** means relating to code and applications written in multiple languages, including TypeScript, C#, Python, Go, Java, and Rust. Aspire supports polyglot code in AppHosts, generated SDKs, others projects, and related tooling. |
| ### Unified `withEnvironment` API | ||
|
|
||
| Aspire 13.3 introduces a unified `withEnvironment(name, value)` API for polyglot AppHosts (TypeScript, Java, Python, Go, Rust). The public TypeScript API accepts plain strings, reference expressions, endpoint references, parameter resources, supported resources that expose connection strings, expression values, and awaitable forms of supported values: | ||
| Aspire 13.3 introduces a unified `withEnvironment(name, value)` API for [polyglot](/get-started/glossary/#polyglot) AppHosts (TypeScript, Java, Python, Go, Rust). The public TypeScript API accepts plain strings, reference expressions, endpoint references, parameter resources, supported resources that expose connection strings, expression values, and awaitable forms of supported values: |
There was a problem hiding this comment.
This same distinction also applies to integrations/frameworks/go/go-host.mdx: the flag enables one Go AppHost language, so calling it the Go “polyglot” feature flag conflicts with the new definition.
|
|
||
| ```bash title="Enable global polyglot Go support" | ||
| ```bash title="Enable global Go support" | ||
| aspire config set features:experimentalPolyglot:go true |
Frontend HTML artifact readyThe latest frontend build uploaded the This comment updates automatically when a new frontend build artifact is uploaded. |
| | `features.experimentalPolyglot:python` | `features.experimentalPolyglot:python` | Enable or disable experimental Python language support for polyglot Aspire applications. | | ||
| | `features.experimentalPolyglot:rust` | `features.experimentalPolyglot:rust` | Enable or disable experimental Rust language support for polyglot Aspire applications. | | ||
| | `features.polyglotIntegrationFilterEnabled` | `features.polyglotIntegrationFilterEnabled` | Enable or disable filtering `aspire add`, `aspire integration list`, and `aspire integration search` results to only integrations compatible with a non-C# (polyglot) AppHost. Disabled by default because remote NuGet feeds don't reliably answer the `tags:polyglot` query used to build the compatibility allow-list. | | ||
| | `features.experimentalPolyglot:go` | `features.experimentalPolyglot:go` | Enable or disable experimental Go language support for non-C# Aspire applications. | |
There was a problem hiding this comment.
I don’t think “non-C# Aspire applications” is quite accurate here. These flags gate whether the CLI discovers the corresponding experimental AppHost language, not whether an application contains Go/Java/Python/Rust workloads. Could we say “experimental Go AppHost support” (and equivalent for the other rows)?
| ```typescript title="apphost.mts" | ||
| const db = await builder.addPostgres("db"); | ||
| await builder.addProject("api", "../Api/Api.csproj") | ||
| .withReference(db); // API now has DATABASE connection info injected |
There was a problem hiding this comment.
Could we update the surrounding heading/prose to WithReference()/withReference() now that this adds a TypeScript pivot? WaitFor does this already, but WithReference, WaitForCompletion, and WaitForStart still describe only the C# casing.
Summary
This reopens #1481 (originally targeted at the now-merged
release/13.5branch) againstmain, with merge conflicts resolved. All commits are authored by Alistair Matthews (@alistairmatthews).This PR:
Notes on retargeting to
mainThe original branch contained a
release/13.5merge ("Resolved conflicts") that reverted unrelated content. Those merge artifacts have been excluded from this reproduction, so the diff contains only the genuine polyglot-consistency edits:whats-new/aspire-13-5.mdx(its intro was rewritten onmainand no longer uses the term).data/pkgs/*.jsonchurn.azure-ai-foundry-host.mdx's hosted-agent-protocol section that the artifact merge had deleted.WithTerminalShell/validation content and the hiddenaspireSkillsRemoteFetchEnabledconfig row thatmaincurrently ships.Fixes: #1480