const path = require('path'); const process = require('process'); const { app } = require('electron'); const { start } = require('./base_config'); const config = require('./config'); let storageProfile; // Node makes sure all environment variables are strings const { NODE_ENV: environment, NODE_APP_INSTANCE: instance } = process.env; // We need to make sure instance is not empty const isValidInstance = typeof instance === 'string' && instance.length > 0; const isProduction = environment === 'production' && !isValidInstance; // Use seperate data directories for each different environment and app instances // We should prioritise config values first if (config.has(storageProfile)) { storageProfile = config.get('storageProfile'); } else if (!isProduction) { storageProfile = environment; if (isValidInstance) { storageProfile = storageProfile.concat(`-${instance}`); } } if (storageProfile) { const userData = path.join(app.getPath('appData'), `Session-${storageProfile}`); app.setPath('userData', userData); } console.log(`userData: ${app.getPath('userData')}`); const userDataPath = app.getPath('userData'); const targetPath = path.join(userDataPath, 'config.json'); const userConfig = start('user', targetPath); module.exports = userConfig;