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