Files
clawdbot/src/infra/wsl.ts
Peter Steinberger 534a012a4e style: apply oxfmt
2026-01-17 18:32:23 +00:00

27 lines
655 B
TypeScript

import fs from "node:fs/promises";
let wslCached: boolean | null = null;
export function isWSLEnv(): boolean {
if (process.env.WSL_INTEROP || process.env.WSL_DISTRO_NAME || process.env.WSLENV) {
return true;
}
return false;
}
export async function isWSL(): Promise<boolean> {
if (wslCached !== null) return wslCached;
if (isWSLEnv()) {
wslCached = true;
return wslCached;
}
try {
const release = await fs.readFile("/proc/sys/kernel/osrelease", "utf8");
wslCached =
release.toLowerCase().includes("microsoft") || release.toLowerCase().includes("wsl");
} catch {
wslCached = false;
}
return wslCached;
}