feat(core): upgrade to electron 16

This commit is contained in:
Alexey Kasyanchuk
2022-01-02 02:29:09 +03:00
parent e598048389
commit 30a6901077
8 changed files with 7099 additions and 6813 deletions

13823
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -105,34 +105,35 @@
"buildweb": "node src/background/webpack.js" "buildweb": "node src/background/webpack.js"
}, },
"dependencies": { "dependencies": {
"@electron/remote": "^2.0.1",
"ansi-256-colors": "^1.1.0", "ansi-256-colors": "^1.1.0",
"bencode": "^2.0.1", "bencode": "^2.0.2",
"bitfield": "^3.0.0", "bitfield": "^3.0.0",
"cheerio": "^1.0.0-rc.10", "cheerio": "^1.0.0-rc.10",
"compare-versions": "^3.6.0", "compare-versions": "^4.1.2",
"create-torrent": "3.33.0", "create-torrent": "3.33.0",
"debug": "^4.3.1", "debug": "^4.3.3",
"detect-onebyte-encoding": "^1.0.3", "detect-onebyte-encoding": "^1.0.3",
"electron-context-menu": "^3.1.1", "electron-context-menu": "^3.1.1",
"electron-log": "^4.3.5", "electron-log": "^4.4.4",
"electron-updater": "^4.3.9", "electron-updater": "^4.6.1",
"fs-jetpack": "^4.1.0", "fs-jetpack": "^4.3.0",
"glob": "^7.1.7", "glob": "^7.2.0",
"google": "^2.1.0", "google": "^2.1.0",
"iconv-lite": "^0.6.3", "iconv-lite": "^0.6.3",
"ipaddr.js": "^2.0.0", "ipaddr.js": "^2.0.1",
"is-running": "^2.1.0", "is-running": "^2.1.0",
"json-socket": "github:DEgITx/node-json-socket", "json-socket": "github:DEgITx/node-json-socket",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"material-ui": "^0.20.2", "material-ui": "^0.20.2",
"mime": "^2.5.2", "mime": "^3.0.0",
"mkdirp": "^1.0.4", "mkdirp": "^1.0.4",
"moment": "^2.29.1", "moment": "^2.29.1",
"mysql": "^2.18.1", "mysql": "^2.18.1",
"nat-upnp": "^1.1.1", "nat-upnp": "^1.1.1",
"node-fetch": "^2.6.1", "node-fetch": "^2.6.1",
"object-hash": "^2.2.0", "object-hash": "^2.2.0",
"parse-torrent": "^9.1.3", "parse-torrent": "^9.1.4",
"react": "17.0.2", "react": "17.0.2",
"react-dom": "17.0.2", "react-dom": "17.0.2",
"react-input-range": "^1.3.0", "react-input-range": "^1.3.0",
@ -144,35 +145,35 @@
"webtorrent": "github:DEgITx/webtorrent" "webtorrent": "github:DEgITx/webtorrent"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.14.3", "@babel/core": "^7.16.7",
"@babel/plugin-proposal-class-properties": "^7.13.0", "@babel/plugin-proposal-class-properties": "^7.16.7",
"@babel/preset-env": "^7.14.4", "@babel/preset-env": "^7.16.7",
"@babel/preset-react": "^7.13.13", "@babel/preset-react": "^7.16.7",
"@semantic-release/changelog": "^5.0.1", "@semantic-release/changelog": "^6.0.1",
"@semantic-release/exec": "^5.0.0", "@semantic-release/exec": "^6.0.3",
"@semantic-release/git": "^9.0.0", "@semantic-release/git": "^10.0.1",
"@semantic-release/npm": "^7.1.3", "@semantic-release/npm": "^8.0.3",
"babel-eslint": "^10.1.0", "babel-eslint": "^10.1.0",
"babel-loader": "^8.2.2", "babel-loader": "^8.2.3",
"chai": "^4.3.4", "chai": "^4.3.4",
"copy-webpack-plugin": "^9.0.0", "copy-webpack-plugin": "^10.2.0",
"css-loader": "^5.2.6", "css-loader": "^6.5.1",
"electron": "13.1.6", "electron": "16.0.5",
"electron-builder": "22.11.7", "electron-builder": "22.14.5",
"eslint": "^7.28.0", "eslint": "^8.6.0",
"eslint-plugin-react": "^7.24.0", "eslint-plugin-react": "^7.28.0",
"express": "^4.17.1", "express": "^4.17.2",
"html-webpack-plugin": "^5.3.1", "html-webpack-plugin": "^5.5.0",
"md5-file": "^5.0.0", "md5-file": "^5.0.0",
"mocha": "^8.2.1", "mocha": "^9.1.3",
"socket.io": "^2.4.0", "socket.io": "^2.4.0",
"source-map-support": "^0.5.19", "source-map-support": "^0.5.21",
"spectron": "15.0.0", "spectron": "15.0.0",
"style-loader": "^2.0.0", "style-loader": "^3.3.1",
"sw-precache-webpack-plugin": "^1.0.0", "sw-precache-webpack-plugin": "^1.0.0",
"url-loader": "^4.1.1", "url-loader": "^4.1.1",
"webpack": "^5.38.1", "webpack": "^5.65.0",
"webpack-cli": "^4.7.2", "webpack-cli": "^4.9.1",
"webpack-merge": "^5.8.0", "webpack-merge": "^5.8.0",
"webpack-node-externals": "^3.0.0" "webpack-node-externals": "^3.0.0"
} }

View File

@ -30,7 +30,8 @@ if(typeof WEB !== 'undefined')
} }
else else
{ {
const { ipcRenderer, remote } = require('electron'); const { ipcRenderer } = require('electron');
const remote = require('@electron/remote')
window.currentWindow = remote.getCurrentWindow() window.currentWindow = remote.getCurrentWindow()
window.torrentSocket = {} window.torrentSocket = {}

View File

@ -11,7 +11,7 @@ import SvgIcon from 'material-ui/SvgIcon';
import fs from 'fs' import fs from 'fs'
let dialog let dialog
if(typeof WEB === 'undefined') if(typeof WEB === 'undefined')
dialog = require('electron').remote.dialog dialog = require('@electron/remote').dialog
export default class ConfigPage extends Page { export default class ConfigPage extends Page {
constructor(props) { constructor(props) {

View File

@ -3,7 +3,7 @@ import ContextMenu from './context-menu'
let dialog let dialog
if(typeof WEB === 'undefined') if(typeof WEB === 'undefined')
dialog = require('electron').remote.dialog dialog = require('@electron/remote').dialog
export default (props) => { export default (props) => {
return ( return (

View File

@ -12,7 +12,7 @@ if(typeof WEB === 'undefined')
import fs from 'fs' import fs from 'fs'
let dialog let dialog
if(typeof WEB === 'undefined') if(typeof WEB === 'undefined')
dialog = require('electron').remote.dialog dialog = require('@electron/remote').dialog
class Header extends React.Component { class Header extends React.Component {
constructor(props) constructor(props)
{ {

View File

@ -147,6 +147,8 @@ autoUpdater.on('update-downloaded', () => {
let tray = undefined let tray = undefined
require('@electron/remote/main').initialize();
app.on("ready", async () => { app.on("ready", async () => {
let rootPath; let rootPath;
({ sphinx, rootPath } = await startSphinx(() => { ({ sphinx, rootPath } = await startSphinx(() => {
@ -224,6 +226,8 @@ app.on("ready", async () => {
tray.setContextMenu(contextMenu) tray.setContextMenu(contextMenu)
tray.setToolTip('Rats on The Boat search') tray.setToolTip('Rats on The Boat search')
require("@electron/remote/main").enable(mainWindow.webContents);
mainWindow.webContents.on('will-navigate', (e, url) => { mainWindow.webContents.on('will-navigate', (e, url) => {
e.preventDefault() e.preventDefault()
shell.openExternal(url) shell.openExternal(url)

View File

@ -25,6 +25,7 @@ export const aboutMenuTemplateFunc = () => ({
protocol: "file:", protocol: "file:",
slashes: true slashes: true
})) }))
require("@electron/remote/main").enable(win.webContents);
win.webContents.on('did-finish-load', () => { win.webContents.on('did-finish-load', () => {
logT('changelog', "finish load page, open changlog") logT('changelog', "finish load page, open changlog")
setTimeout(() => win.send('url', '/changelog'), 0) setTimeout(() => win.send('url', '/changelog'), 0)