Skip to content

Layer A tracking: Aspire TypeScript-AppHost Deno toolchain resolver (closes upstream aspire#16218) #319

Description

@rickylabs

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.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions