'use strict'; const os = require('os'); const path = require('path'); const fs = require('fs'); exports.load_config = function () { console.log('CWD: '+process.cwd()); let home_directory = require('os').homedir(); console.log('Home: '+home_directory); let tmp_directory = require('os').tmpdir(); console.log('Temporary: '+tmp_directory); let config = null; let config_directory = null; let default_config_path = path.join(process.cwd(),'config.json.default'); let config_path = null; if (os.platform == 'darwin') { config_directory = path.join(home_directory, 'Library/Application Support/OSIT'); console.log('macOS config directory: '+config_directory); } else if (os.platform == 'linux') { config_directory = path.join(home_directory, '.config/OSIT'); console.log('Linux config directory: '+config_directory); } if (fs.existsSync(config_directory)) { console.log('Config: '+config_directory); config_path = path.join(config_directory, 'config.json'); } else { fs.mkdirSync(config_directory); console.log('Config directory created: '+config_directory); //default_config_path = path.join(process.cwd(),'config.json.default'); config_path = path.join(config_directory, 'config.json'); fs.copyFileSync(default_config_path, config_path); console.log('Default config file copied: '+config_directory); } if (fs.existsSync(config_path)) { console.log('Config path: '+config_path); console.log('Config file (config.json) found under '+config_directory+'.'); config = JSON.parse(fs.readFileSync(config_path)); console.log('Config file read.'); } else if (!fs.existsSync(config_path)) { fs.copyFileSync(default_config_path, config_path); console.log('Default config file copied: '+config_directory); config = JSON.parse(fs.readFileSync(config_path)); console.log('Config file read.'); } else if (fs.existsSync('config.json')) { //fs.copyFileSync(default_config_path, config_path); //console.log('Default config file copied: '+config_directory); config = JSON.parse(fs.readFileSync('config.json')); console.log('Config file (config.json) not found under '+config_directory+'. Using config in CWD.'); console.log('Config file read.'); //console.log('Config file (config.json) not found under '+config_directory+'. Using config in CWD.'); //config = JSON.parse(fs.readFileSync('config.json')); } else { //close(); } return config; }