29 lines
984 B
TypeScript
29 lines
984 B
TypeScript
|
|
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);
|
||
|
|
}
|