UNPKG

runas-core

Version:

The adhesive orchestrator

34 lines (25 loc) 807 B
'use strict'; const fs = require('fs'); const path = require('path'); const _ = require('lodash'); const fsUtils = require('./fsUtils'); const runasDir = '.runas'; const runasJson = 'runas.json'; const home = process.env.HOME ? process.env.HOME : process.env.HOMEPATH; const userConfigPath = path.join(home, runasDir, runasJson); const read = () => fsUtils.readConfig(userConfigPath, true); const write = (userConfig) => { if (!fsUtils.exists(userConfigPath)) { fsUtils.createDir(path.join(home, runasDir)); } fs.writeFileSync(userConfigPath, JSON.stringify(userConfig, null, 2)); return userConfig; }; const get = (key) => _.get(read(), key, null); const set = (key, value) => write(_.set(read(), key, value)); module.exports = { read: read, write: write, get: get, set: set };