Add a single place to initialize Flipper utilitary folders

Summary: We have several folders Flipper uses that sometimes we forget to create before Flipper starts. With this diff we have a single place to initialise the necessary folder structure.

Reviewed By: lblasa

Differential Revision: D37036601

fbshipit-source-id: f945f2bfdfc6be24ba87bd4b13c7fcef3fd74451
This commit is contained in:
Andrey Goncharov
2022-06-10 06:38:50 -07:00
committed by Facebook GitHub Bot
parent 60f9a5e8de
commit d987e36c62
4 changed files with 31 additions and 12 deletions

View File

@@ -9,9 +9,9 @@
import os from 'os';
import {resolve} from 'path';
import xdg from 'xdg-basedir';
import {Settings, Tristate} from 'flipper-common';
import {readFile, writeFile, pathExists, mkdirp} from 'fs-extra';
import {flipperSettingsFolder} from './paths';
export async function loadSettings(
settingsString: string = '',
@@ -36,21 +36,14 @@ export async function loadSettings(
}
export async function saveSettings(settings: Settings): Promise<void> {
await mkdirp(getSettingsDir());
await mkdirp(flipperSettingsFolder);
await writeFile(getSettingsFile(), JSON.stringify(settings, null, 2), {
encoding: 'utf8',
});
}
function getSettingsDir() {
return resolve(
...(xdg.config ? [xdg.config] : [os.homedir(), '.config']),
'flipper',
);
}
function getSettingsFile() {
return resolve(getSettingsDir(), 'settings.json');
return resolve(flipperSettingsFolder, 'settings.json');
}
export const DEFAULT_ANDROID_SDK_PATH = getDefaultAndroidSdkPath();