import { mkdir } from "node:fs/promises"; import { app } from "electron"; import type { PackagedNamespacePaths } from "./paths.js"; export async function ensurePackagedNamespacePaths( paths: PackagedNamespacePaths, ): Promise { await Promise.all([ mkdir(paths.namespaceRoot, { recursive: true }), mkdir(paths.cacheRoot, { recursive: true }), mkdir(paths.dataRoot, { recursive: true }), mkdir(paths.logsRoot, { recursive: true }), mkdir(paths.desktopLogsRoot, { recursive: true }), mkdir(paths.runtimeRoot, { recursive: true }), mkdir(paths.electronUserDataRoot, { recursive: true }), mkdir(paths.electronSessionDataRoot, { recursive: true }), ]); } export function applyPackagedElectronPathOverrides( paths: PackagedNamespacePaths, ): void { app.setPath("userData", paths.electronUserDataRoot); app.setPath("sessionData", paths.electronSessionDataRoot); app.setPath("logs", paths.desktopLogsRoot); }