aboutsummaryrefslogtreecommitdiffstats
path: root/packages/main/src/index.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/main/src/index.ts')
-rw-r--r--packages/main/src/index.ts9
1 files changed, 6 insertions, 3 deletions
diff --git a/packages/main/src/index.ts b/packages/main/src/index.ts
index 605c17c..8055ce2 100644
--- a/packages/main/src/index.ts
+++ b/packages/main/src/index.ts
@@ -32,6 +32,7 @@ import {
32 watch, 32 watch,
33 writeFile, 33 writeFile,
34} from 'fs/promises'; 34} from 'fs/promises';
35import JSON5 from 'json5';
35import { autorun } from 'mobx'; 36import { autorun } from 'mobx';
36import { 37import {
37 applySnapshot, 38 applySnapshot,
@@ -127,7 +128,7 @@ nativeTheme.on('updated', () => {
127}); 128});
128 129
129const userDataDir = app.getPath('userData'); 130const userDataDir = app.getPath('userData');
130const configFileName = 'config.json'; 131const configFileName = 'config.json5';
131const configPath = join(userDataDir, configFileName); 132const configPath = join(userDataDir, configFileName);
132let loadingConfig = false; 133let loadingConfig = false;
133let savingConfig = false; 134let savingConfig = false;
@@ -146,7 +147,7 @@ async function loadConfig(): Promise<void> {
146 } 147 }
147 let configSnapshot: unknown; 148 let configSnapshot: unknown;
148 try { 149 try {
149 configSnapshot = JSON.parse(configStr); 150 configSnapshot = JSON5.parse(configStr);
150 } catch (err) { 151 } catch (err) {
151 console.error('Invalid config file', configPath, err); 152 console.error('Invalid config file', configPath, err);
152 return; 153 return;
@@ -162,7 +163,9 @@ async function loadConfig(): Promise<void> {
162} 163}
163 164
164async function saveConfig(configSnapshot: ConfigSnapshotOut): Promise<void> { 165async function saveConfig(configSnapshot: ConfigSnapshotOut): Promise<void> {
165 const configJson = JSON.stringify(configSnapshot, null, 2); 166 const configJson = JSON5.stringify(configSnapshot, {
167 space: 2,
168 });
166 savingConfig = true; 169 savingConfig = true;
167 try { 170 try {
168 await writeFile(configPath, configJson, 'utf8'); 171 await writeFile(configPath, configJson, 'utf8');