Summary
The current TypeScript/polyglot Docker Compose surface appears narrower than the underlying .NET API, which makes compose publishing scenarios fall back to workarounds.
Likely missing exports
DockerComposeEnvironmentExtensions.ConfigureComposeFile(...)
DockerComposeServiceExtensions.AsEnvironmentPlaceholder(...) helpers
- possibly
DockerComposeEnvironmentResource.GetHostAddressExpression(...) if that is intended to be polyglot-usable
Inconsistent projection
ConfigureEnvFile(...) looks especially suspicious: the C# API metadata still marks it as ignored / not ATS-compatible, but TypeScript publish tests use compose.configureEnvFile(...) successfully.
Why this matters
TypeScript AppHosts can already use addDockerComposeEnvironment(...) and publishAsDockerComposeService(...), but without the missing compose helpers the publish surface is incomplete for real-world compose customization.
Pointers
src/Aspire.Hosting.Docker/DockerComposeEnvironmentExtensions.cs
src/Aspire.Hosting.Docker/DockerComposeServiceExtensions.cs
src/Aspire.Hosting.Docker/api/Aspire.Hosting.Docker.cs
tests/Aspire.Cli.EndToEnd.Tests/TypeScriptPublishTests.cs
tests/PolyglotAppHosts/Aspire.Hosting.Docker/TypeScript/apphost.ts
Summary
The current TypeScript/polyglot Docker Compose surface appears narrower than the underlying .NET API, which makes compose publishing scenarios fall back to workarounds.
Likely missing exports
DockerComposeEnvironmentExtensions.ConfigureComposeFile(...)DockerComposeServiceExtensions.AsEnvironmentPlaceholder(...)helpersDockerComposeEnvironmentResource.GetHostAddressExpression(...)if that is intended to be polyglot-usableInconsistent projection
ConfigureEnvFile(...)looks especially suspicious: the C# API metadata still marks it as ignored / not ATS-compatible, but TypeScript publish tests usecompose.configureEnvFile(...)successfully.Why this matters
TypeScript AppHosts can already use
addDockerComposeEnvironment(...)andpublishAsDockerComposeService(...), but without the missing compose helpers the publish surface is incomplete for real-world compose customization.Pointers
src/Aspire.Hosting.Docker/DockerComposeEnvironmentExtensions.cssrc/Aspire.Hosting.Docker/DockerComposeServiceExtensions.cssrc/Aspire.Hosting.Docker/api/Aspire.Hosting.Docker.cstests/Aspire.Cli.EndToEnd.Tests/TypeScriptPublishTests.cstests/PolyglotAppHosts/Aspire.Hosting.Docker/TypeScript/apphost.ts