From a6d41916bffca972aae435af3f69676897943eac Mon Sep 17 00:00:00 2001 From: Ethan Davidson <31261035+EthanThatOneKid@users.noreply.github.com> Date: Tue, 13 Oct 2026 11:17:56 -0700 Subject: [PATCH 1/2] feat: run the engine on Node through JSR npm-compat, off Deno globals MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Port every `Deno.*` call in `src/` to a single runtime edge, `src/runtime.ts`, so JSR's npm-compatibility package executes on Node with no wrapper and no compiled binary. `npx jsr add @wazoo/workspace` already needed no Deno and Node 24 already loaded the whole module graph; the only blocker was `ReferenceError: Deno is not defined`. - `src/runtime.ts` is the only module permitted to import `node:*`. It uses `node:child_process`, `node:fs/promises`, `node:os` and `node:process`, and preserves `Deno.Command#output()` semantics that callers depend on: it resolves for every exit code, and rejects only when the binary cannot be spawned, which is how `createGitHubRepoWithFallback` reports a missing `gh`. - Host differences are normalised once, never at call sites: `isWindows()` (`Deno.build.os` says "windows", `process.platform` says "win32"), `cliArgs()` (`process.argv.slice(2)`, correct for `deno run`, a compiled binary, and `node