68 lines
2.5 KiB
JavaScript
68 lines
2.5 KiB
JavaScript
'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;
|
|
}
|