open-design/apps/packaged/src/launch.ts

29 lines
984 B
TypeScript
Raw Normal View History

import { mkdir } from "node:fs/promises";
import { app } from "electron";
import type { PackagedNamespacePaths } from "./paths.js";
export async function ensurePackagedNamespacePaths(
paths: PackagedNamespacePaths,
): Promise<void> {
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);
}