UNPKG

refraction-cli

Version:
39 lines (27 loc) 955 B
/* eslint-disable n/no-sync, import/no-nodejs-modules */ import os from 'node:os'; import path from 'node:path'; import fs from 'node:fs'; type Config = { userId: string; teamId: string; }; const homeDir = process.env.XDG_CONFIG_HOME ? process.env.XDG_CONFIG_HOME : os.homedir(); const configFile = path.join(homeDir, 'refraction-config.json'); if (!fs.existsSync(configFile)) { const newConfig: Config = { userId: '', teamId: '' }; fs.writeFileSync(configFile, JSON.stringify(newConfig)); } export const getConfig = (str: keyof Config): string => { const config = fs.readFileSync(configFile, 'utf-8'); const parsed = JSON.parse(config) as Config; return parsed[str]; }; export const setConfig = (str: keyof Config, value: string): void => { const config = fs.readFileSync(configFile, 'utf-8'); const parsed = JSON.parse(config) as Config; parsed[str] = value; fs.writeFileSync(configFile, JSON.stringify(parsed)); };