Layer A tracking — Aspire TypeScript-AppHost Deno toolchain resolver
Part of the Deno-on-Aspire dogfood proof (umbrella: #295). This issue tracks Layer A only, which
is independently shippable and closes the upstream demand microsoft/aspire#16218.
Feature
Fork rickylabs/aspire branch feat/deno-typescript-apphost-toolchain adds a Deno branch to the
CLI's TypeScript-AppHost toolchain resolver so apphost.mts runs under Deno (mirrors the existing Bun
path). Detection keys on deno.lock / deno.json(c). Vectors: deno install, deno check {f},
deno run -A {f}, deno run -A --check --watch {f}, deno task --cwd <dir> <script>. Diff +47/-1.
Proof (dogfooded against NetScript)
NetScript's scaffolder was swapped to emit aspire/deno.json ("unstable":["sloppy-imports"]) and no
package.json, which makes the fork resolver select the Deno path. Verified on dogfood branch
dogfood/aspire-deno-runtime (commit b704d839): aspire/deno.json present + aspire/package.json
absent; deno check apphost.mts exit 0; aspire ps reports the AppHost running under the fork build
(sdkVersion=13.5.0-dev). Re-runnable targeted harness .llm/tools/dogfood/prove-aspire-deno-runtime.ts
(commit cb2c3e98) asserts the Layer-A conditions — 12/12 PASS.
Independence
Ship Layer A first (closes #16218). Does not depend on Layer B (AddDenoApp, tracked in the sibling
issue). Merge order: Layer A → Layer B.
Guardrails
Evidence-only. Do NOT open the upstream Aspire PR without explicit user go.
Layer A tracking — Aspire TypeScript-AppHost Deno toolchain resolver
Part of the Deno-on-Aspire dogfood proof (umbrella: #295). This issue tracks Layer A only, which
is independently shippable and closes the upstream demand
microsoft/aspire#16218.Feature
Fork
rickylabs/aspirebranchfeat/deno-typescript-apphost-toolchainadds a Deno branch to theCLI's TypeScript-AppHost toolchain resolver so
apphost.mtsruns under Deno (mirrors the existing Bunpath). Detection keys on
deno.lock/deno.json(c). Vectors:deno install,deno check {f},deno run -A {f},deno run -A --check --watch {f},deno task --cwd <dir> <script>. Diff +47/-1.pr-body-layer-a.md.Proof (dogfooded against NetScript)
NetScript's scaffolder was swapped to emit
aspire/deno.json("unstable":["sloppy-imports"]) and nopackage.json, which makes the fork resolver select the Deno path. Verified on dogfood branchdogfood/aspire-deno-runtime(commitb704d839):aspire/deno.jsonpresent +aspire/package.jsonabsent;
deno check apphost.mtsexit 0;aspire psreports the AppHost running under the fork build(
sdkVersion=13.5.0-dev). Re-runnable targeted harness.llm/tools/dogfood/prove-aspire-deno-runtime.ts(commit
cb2c3e98) asserts the Layer-A conditions — 12/12 PASS.Independence
Ship Layer A first (closes #16218). Does not depend on Layer B (
AddDenoApp, tracked in the siblingissue). Merge order: Layer A → Layer B.
Guardrails
Evidence-only. Do NOT open the upstream Aspire PR without explicit user go.