diff --git a/dialog.html b/dialog.html
index 016cd3eea..1d1939857 100644
--- a/dialog.html
+++ b/dialog.html
@@ -25,7 +25,7 @@
const esc = s => s.replace(/[<>&'"]/g, x => ESC[x]);
const ipc = require('node-ipc');
- const el = require('electron').remote;
+ const el = require('@electron/remote');
const bw = el.getCurrentWindow();
const [width] = bw.getSize();
const qp = require('querystring').parse(window.location.search.slice(1));
diff --git a/main.js b/main.js
index 586a3a418..fce0269b9 100644
--- a/main.js
+++ b/main.js
@@ -3,6 +3,7 @@ const rq = require;
const fs = rq('fs');
const ps = process;
const el = rq('electron');
+require('@electron/remote/main').initialize();
const D = {};
// Detect platform: https://nodejs.org/api/process.html#process_process_platform
diff --git a/package-lock.json b/package-lock.json
index 96e87659c..0ef64634a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -144,10 +144,9 @@
}
},
"@electron/remote": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/@electron/remote/-/remote-1.2.2.tgz",
- "integrity": "sha512-PfnXpQGWh4vpX866NNucJRnNOzDRZcsLcLaT32fUth9k0hccsohfxprqEDYLzRg+ZK2xRrtyUN5wYYoHimMCJg==",
- "dev": true
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.0.1.tgz",
+ "integrity": "sha512-bGX4/yB2bPZwXm1DsxgoABgH0Cz7oFtXJgkerB8VrStYdTyvhGAULzNLRn9rVmeAuC3VUDXaXpZIlZAZHpsLIA=="
},
"@eslint/eslintrc": {
"version": "0.4.3",
@@ -7495,6 +7494,12 @@
"webdriverio": "^6.9.1"
},
"dependencies": {
+ "@electron/remote": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/@electron/remote/-/remote-1.2.2.tgz",
+ "integrity": "sha512-PfnXpQGWh4vpX866NNucJRnNOzDRZcsLcLaT32fUth9k0hccsohfxprqEDYLzRg+ZK2xRrtyUN5wYYoHimMCJg==",
+ "dev": true
+ },
"@sindresorhus/is": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz",
diff --git a/package.json b/package.json
index 50cdf14b6..27b166a7f 100644
--- a/package.json
+++ b/package.json
@@ -14,6 +14,7 @@
},
"repository": ".",
"dependencies": {
+ "@electron/remote": "^2.0.1",
"jquery": "^3.6.0",
"monaco-editor": "^0.27.0",
"node-ipc": "^9.2.1",
diff --git a/src/cn.js b/src/cn.js
index 09201c921..9423548ea 100644
--- a/src/cn.js
+++ b/src/cn.js
@@ -1017,7 +1017,7 @@
&& !/Interrupt$|TreeList|Reply|FormatCode|GetAutocomplete|SaveChanges|CloseWindow|Exit/.test(x)) return;
sendEach([JSON.stringify([x, y])]);
};
- const a = rq('electron').remote.process.argv;
+ const a = rq('@electron/remote').process.argv;
const { env } = D.el.process;
const h = { // h:args by name
c: env.RIDE_CONNECT,
@@ -1026,7 +1026,7 @@
log: env.RIDE_LOG,
};
if (D.mac && env.DYALOG_SPAWN) {
- const app = rq('electron').remote.app.getAppPath();
+ const app = rq('@electron/remote').app.getAppPath();
h.s = `${app}${env.DYALOG_SPAWN}`;
}
for (let i = 1; i < a.length; i++) if (a[i][0] === '-') { h[a[i].slice(1)] = a[i + 1]; i += 1; }
@@ -1055,7 +1055,7 @@
exe: h.s,
log: h.log,
};
- const openfile = rq('electron').remote.getGlobal('open_file');
+ const openfile = rq('@electron/remote').getGlobal('open_file');
if (openfile && /(dws|dcfg)$/i.test(openfile)) {
const qt = /\s/.test(openfile) ? '"' : '';
cnf.args = `LOAD=${qt}${openfile}${qt}`;
diff --git a/src/pre_init.js b/src/pre_init.js
index 38b0ac1e9..c66470e5f 100644
--- a/src/pre_init.js
+++ b/src/pre_init.js
@@ -33,11 +33,11 @@ const J = {};
D.zoom2fs = [6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 22, 24, 26, 28, 32, 36, 42, 48];
if (typeof nodeRequire !== 'undefined') {
- D.el = nodeRequire('electron').remote;
+ D.el = nodeRequire('@electron/remote');
D.elw = D.el.getGlobal('elw');
D.ipc = nodeRequire('node-ipc');
D.ipc.config.logInColor = false;
- D = $.extend(D, nodeRequire('electron').remote.getGlobal('D'));
+ D = $.extend(D, nodeRequire('@electron/remote').getGlobal('D'));
const plt = process.platform;
D.win = /^win/i.test(plt);
D.mac = plt === 'darwin';
diff --git a/src/prf.js b/src/prf.js
index 07fc8dc68..8b51ad6c4 100644
--- a/src/prf.js
+++ b/src/prf.js
@@ -193,7 +193,7 @@ D.prf = {};
D.db = !nodeRequire ? localStorage : (function DB() {
const rq = nodeRequire;
const fs = rq('fs');
- const el = rq('electron').remote;
+ const el = rq('@electron/remote');
// file-backed storage with API similar to that of localStorage
const k = []; // keys
const v = []; // values
diff --git a/src/prf_col.js b/src/prf_col.js
index 0d18f23b5..71059d513 100644
--- a/src/prf_col.js
+++ b/src/prf_col.js
@@ -228,7 +228,7 @@
});
monaco.editor.setTheme(name);
if (D.el) {
- nodeRequire('electron').remote.getGlobal('winstate').theme = schema.theme;
+ nodeRequire('@electron/remote').getGlobal('winstate').theme = schema.theme;
}
}
function updStl() { // update global style from what's in prefs.json
diff --git a/utils/style-picker/index-init.js b/utils/style-picker/index-init.js
index b75084d03..1393c1e20 100644
--- a/utils/style-picker/index-init.js
+++ b/utils/style-picker/index-init.js
@@ -1,4 +1,4 @@
-const fs=require('fs'),remote=require('electron').remote,dialog=remote.dialog;
+const fs=require('fs'),remote=require('@electron/remote'),dialog=remote.dialog;
window.global={};
(function(global){