all files / lib/profile/ getProfile.js

50% Statements 9/18
0% Branches 0/8
0% Functions 0/2
50% Lines 9/18
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31                                           
'use strict';
 
var path = require('path');
var fs = require('graceful-fs');
var ini = require('ini');
var inquirer = require('inquirer');
 
var promisify = require('../util/promisify');
var setProfile = require('./setProfile');
var initProfile = require('./initProfile');
 
function getUserHome() {
  return process.env[('win32' === process.platform) ? 'USERPROFILE' : 'HOME'];
}
 
module.exports = function (key) {
  var profileFile = path.join(getUserHome(), '.fecomrc');
  var profile = {};
  // ~/.fecomrc not exists
  if (!fs.existsSync(profileFile)) {
    return initProfile();
  }
 
  profile = ini.parse(fs.readFileSync(profileFile, 'utf-8'));
  // ~/.fecomrc exists but key not found
  if (key && !profile.hasOwnProperty(key)) {
    return setProfile(key);
  }
 
  return promisify(profile);
};