The install channel this process is running from — the one thing upgrade must get right,
since only one of them can replace itself.
import * as Channel from './channel.ts'; const channel: Channel.InstallChannel = Channel.detect({ execPath: '/home/u/.qunitx/qunitx' }); channel.kind; // 'standalone' — the only channel that owns its own binary
{ kind: "standalone"; flavor: "sea" | "deno"; binaryPath: string; }
| { kind: "jsr-launcher"; binaryPath: string; version: string; }
| { kind: "npm-global"; prefix: string; }
| { kind: "npm-local"; projectRoot: string; manifest: string; }
| { kind: "deno-project"; projectRoot: string; manifest: string; }
| { kind: "deno-cache"; entry: string; }
| { kind: "source"; entry: string; }