This repository has been archived by the owner on Oct 5, 2022. It is now read-only.
/
electron.js
66 lines (54 loc) 路 1.58 KB
/
electron.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
'use strict'
const path = require('path')
require('dotenv').config({ path: path.resolve(__dirname, '../.env') })
const { app } = require('electron')
const isDev = require('electron-is-dev')
const os = require('os')
const Raven = require('raven')
const { createWindow } = require('./main/main-window.js')
const { createClient } = require('./main/client')
const config = require('./config')
const initContextMenu = require('./contextMenu')
const initMenu = require('./menu')
const logger = require('./logger')
if (isDev) {
// Development
app.on('ready', function () {
require('electron-debug')({ enabled: true })
const {
default: installExtension,
REACT_DEVELOPER_TOOLS,
REDUX_DEVTOOLS
} = require('electron-devtools-installer')
installExtension([REACT_DEVELOPER_TOOLS, REDUX_DEVTOOLS])
.then(extName => logger.debug(`Added Extension: ${extName}`))
.catch(err => logger.debug('An error occurred: ', err))
})
} else {
// Production
if (config.sentryDsn) {
Raven.config(config.sentryDsn, {
captureUnhandledRejections: true,
release: app.getVersion(),
tags: {
process: process.type,
electron: process.versions.electron,
chrome: process.versions.chrome,
platform: os.platform(),
platform_release: os.release()
}
}).install()
}
}
app.on('window-all-closed', function () {
if (process.platform !== 'darwin') {
app.quit()
}
})
createWindow()
app.on('ready', function () {
logger.info('App ready, initializing...')
initMenu()
initContextMenu()
createClient(config)
})