62 lines
1.6 KiB
JavaScript
62 lines
1.6 KiB
JavaScript
|
const { join } = require('path');
|
||
|
const NodeModule = require('module');
|
||
|
const { app } = require('electron');
|
||
|
|
||
|
const requireNative = require('./utils/requireNative');
|
||
|
const paths = require('./paths');
|
||
|
const buildInfo = require('./utils/buildInfo');
|
||
|
|
||
|
// Just required for startup
|
||
|
const appSettings = require('./appSettings');
|
||
|
const GPUSettings = require('./GPUSettings');
|
||
|
const crashReporterSetup = require('./crashReporterSetup');
|
||
|
const splashScreen = require('./splash/splashScreen');
|
||
|
const Constants = require('./Constants');
|
||
|
const autoStart = require('./autoStart');
|
||
|
|
||
|
const updater = require('./updater/updater');
|
||
|
const moduleUpdater = require('./updater/moduleUpdater');
|
||
|
const appUpdater = require('./updater/appUpdater');
|
||
|
|
||
|
let desktopCore;
|
||
|
const startCore = () => {
|
||
|
desktopCore = requireNative('discord_desktop_core');
|
||
|
log('Bootstrap', 'Required desktop_core:', desktopCore);
|
||
|
|
||
|
desktopCore.startup({
|
||
|
paths,
|
||
|
splashScreen,
|
||
|
moduleUpdater,
|
||
|
autoStart,
|
||
|
buildInfo,
|
||
|
appSettings,
|
||
|
Constants,
|
||
|
GPUSettings,
|
||
|
updater,
|
||
|
crashReporterSetup
|
||
|
});
|
||
|
};
|
||
|
|
||
|
const startUpdate = () => {
|
||
|
appUpdater.update(false, () => {
|
||
|
startCore();
|
||
|
}, () => {
|
||
|
desktopCore.setMainWindowVisible(true);
|
||
|
});
|
||
|
};
|
||
|
|
||
|
module.exports = () => {
|
||
|
// Paths logging
|
||
|
log('Paths', `Init! Returns:
|
||
|
getUserData: ${paths.getUserData()}
|
||
|
getUserDataVersioned: ${paths.getUserDataVersioned()}
|
||
|
getResources: ${paths.getResources()}
|
||
|
getModuleDataPath: ${paths.getModuleDataPath()}
|
||
|
getInstallPath: ${paths.getInstallPath()}`);
|
||
|
|
||
|
if (app.isReady()) {
|
||
|
startUpdate();
|
||
|
} else {
|
||
|
app.once('ready', startUpdate);
|
||
|
}
|
||
|
};
|