first commit

This commit is contained in:
lucasdpt
2026-06-14 12:32:29 +02:00
commit cc4f90e840
32 changed files with 9729 additions and 0 deletions
+23
View File
@@ -0,0 +1,23 @@
import { readFile, writeFile } from 'fs/promises'
import { paths } from './paths'
import { DEFAULT_SETTINGS, type UserSettings } from '../shared/ipc'
/** Lecture des réglages persistés (fusionnés avec les valeurs par défaut). */
export async function getSettings(): Promise<UserSettings> {
try {
const raw = await readFile(paths.settingsFile, 'utf-8')
return { ...DEFAULT_SETTINGS, ...(JSON.parse(raw) as Partial<UserSettings>) }
} catch {
return { ...DEFAULT_SETTINGS }
}
}
/** Écriture des réglages (validés/clampés). */
export async function setSettings(next: UserSettings): Promise<UserSettings> {
const clean: UserSettings = {
maxMemoryMb: Math.max(2048, Math.min(32768, Math.round(next.maxMemoryMb || DEFAULT_SETTINGS.maxMemoryMb))),
extraJvmArgs: Array.isArray(next.extraJvmArgs) ? next.extraJvmArgs : []
}
await writeFile(paths.settingsFile, JSON.stringify(clean, null, 2))
return clean
}