this repo has no description
at v1.0.4 1.2 kB view raw
1import { Config } from "@moonlight-mod/types"; 2import requireImport from "./util/import"; 3import { getConfigPath } from "./util/data"; 4 5const defaultConfig: Config = { 6 extensions: { 7 moonbase: true, 8 disableSentry: true, 9 noTrack: true, 10 noHideToken: true 11 }, 12 repositories: ["https://moonlight-mod.github.io/extensions-dist/repo.json"] 13}; 14 15export function writeConfig(config: Config) { 16 const fs = requireImport("fs"); 17 const configPath = getConfigPath(); 18 fs.writeFileSync(configPath, JSON.stringify(config, null, 2)); 19} 20 21function readConfigNode(): Config { 22 const fs = requireImport("fs"); 23 const configPath = getConfigPath(); 24 25 if (!fs.existsSync(configPath)) { 26 writeConfig(defaultConfig); 27 return defaultConfig; 28 } 29 30 let config: Config = JSON.parse(fs.readFileSync(configPath, "utf8")); 31 32 // Assign the default values if they don't exist (newly added) 33 config = { ...defaultConfig, ...config }; 34 writeConfig(config); 35 36 return config; 37} 38 39export function readConfig(): Config { 40 webPreload: { 41 return moonlightNode.config; 42 } 43 44 nodePreload: { 45 return readConfigNode(); 46 } 47 48 injector: { 49 return readConfigNode(); 50 } 51 52 throw new Error("Called readConfig() in an impossible environment"); 53}