Merge pull request #594 from csduarte/bash-14

BASH-14 Set default server/team in settings
This commit is contained in:
Yuya Ochiai 2017-10-14 21:38:45 +09:00 committed by GitHub
commit e46920ee9e
2 changed files with 16 additions and 2 deletions

View file

@ -1,6 +1,8 @@
'use strict'; 'use strict';
const fs = require('fs'); const fs = require('fs');
const path = require('path');
let deepmerge = require('deepmerge').default; let deepmerge = require('deepmerge').default;
if (process.env.TEST) { if (process.env.TEST) {
deepmerge = require('deepmerge'); // eslint-disable-line deepmerge = require('deepmerge'); // eslint-disable-line
@ -14,7 +16,7 @@ function merge(base, target) {
return Object.assign({}, base, target); return Object.assign({}, base, target);
} }
function deepMergeArray(dest) { function deepMergeArray(source, dest) {
return dest; return dest;
} }
@ -27,7 +29,7 @@ function loadDefault(version, spellCheckerLocale) {
const base = baseConfig[ver] || baseConfig.default; const base = baseConfig[ver] || baseConfig.default;
const override = overrideConfig[ver] || {}; const override = overrideConfig[ver] || {};
const defaults = deepmerge(base, override, {clone: true, arrayMerge: deepMergeArray}); const defaults = deepmerge(base, override, {arrayMerge: deepMergeArray});
return Object.assign(defaults, { return Object.assign(defaults, {
spellCheckerLocale: spellCheckerLocale || defaults.spellCheckerLocale || 'en-US' spellCheckerLocale: spellCheckerLocale || defaults.spellCheckerLocale || 'en-US'
@ -87,6 +89,12 @@ module.exports = {
if (config.version != settingsVersion) { // eslint-disable-line if (config.version != settingsVersion) { // eslint-disable-line
throw new Error('version ' + config.version + ' is not equal to ' + settingsVersion); throw new Error('version ' + config.version + ' is not equal to ' + settingsVersion);
} }
const dir = path.dirname(configFile);
if (!fs.existsSync(dir)) {
fs.mkdirSync(dir);
}
var data = JSON.stringify(config, null, ' '); var data = JSON.stringify(config, null, ' ');
fs.writeFileSync(configFile, data, 'utf8'); fs.writeFileSync(configFile, data, 'utf8');
}, },

View file

@ -71,6 +71,12 @@ try {
const spellCheckerLocale = SpellChecker.getSpellCheckerLocale(app.getLocale()); const spellCheckerLocale = SpellChecker.getSpellCheckerLocale(app.getLocale());
config = settings.loadDefault(null, spellCheckerLocale); config = settings.loadDefault(null, spellCheckerLocale);
console.log('Failed to read or upgrade config.json', e); console.log('Failed to read or upgrade config.json', e);
if (!config.teams.length && config.defaultTeam) {
config.teams.push(config.defaultTeam);
const configFile = app.getPath('userData') + '/config.json';
settings.writeFileSync(configFile, config);
}
} }
ipcMain.on('update-config', () => { ipcMain.on('update-config', () => {