feature/IO-3725-RPS-Changes - Upgrade Electron / Related Electron packages / Sentry For Electron
This commit is contained in:
9
electron-builder.pack-check.cjs
Normal file
9
electron-builder.pack-check.cjs
Normal file
@@ -0,0 +1,9 @@
|
||||
const { build } = require("./package.json");
|
||||
|
||||
module.exports = {
|
||||
...build,
|
||||
win: {
|
||||
...build.win,
|
||||
azureSignOptions: null
|
||||
}
|
||||
};
|
||||
@@ -1,7 +1,8 @@
|
||||
const { randomUUID } = require("crypto");
|
||||
const Store = require("electron-store");
|
||||
|
||||
const store = new Store({
|
||||
let store;
|
||||
|
||||
const storeOptions = {
|
||||
defaults: {
|
||||
deviceId: randomUUID(),
|
||||
showChangeLog: true,
|
||||
@@ -11,10 +12,38 @@ const store = new Store({
|
||||
runWatcherOnStartup: true,
|
||||
polling: {
|
||||
enabled: false,
|
||||
pollingInterval: 30000,
|
||||
pollingInterval: 30000
|
||||
},
|
||||
ins_rule_set: null
|
||||
},
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
exports.store = store;
|
||||
async function initializeStore() {
|
||||
if (!store) {
|
||||
const { default: Store } = await import("electron-store");
|
||||
store = new Store(storeOptions);
|
||||
}
|
||||
|
||||
return store;
|
||||
}
|
||||
|
||||
function getStore() {
|
||||
if (!store) {
|
||||
throw new Error("Electron store was accessed before initialization.");
|
||||
}
|
||||
|
||||
return store;
|
||||
}
|
||||
|
||||
const storeProxy = new Proxy(
|
||||
{},
|
||||
{
|
||||
get(_target, prop) {
|
||||
const value = getStore()[prop];
|
||||
return typeof value === "function" ? value.bind(getStore()) : value;
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
exports.initializeStore = initializeStore;
|
||||
exports.store = storeProxy;
|
||||
|
||||
@@ -1,20 +1,26 @@
|
||||
const path = require("path");
|
||||
const { app, BrowserWindow, Tray, Menu, ipcMain, dialog, shell, globalShortcut } = require("electron");
|
||||
const isDev = require("electron-is-dev");
|
||||
const { default: ipcTypes } = require("../src/ipc.types.commonjs");
|
||||
const { store } = require("./electron-store");
|
||||
const { initializeStore, store } = require("./electron-store");
|
||||
const { autoUpdater } = require("electron-updater");
|
||||
const log = require("electron-log");
|
||||
const contextMenu = require("electron-context-menu");
|
||||
const Sentry = require("@sentry/electron/main");
|
||||
|
||||
const isDev = !app.isPackaged;
|
||||
const enableDevTools = isDev || process.env.ELECTRON_ENABLE_DEVTOOLS === "1";
|
||||
const openDevToolsOnStart = enableDevTools && process.env.ELECTRON_OPEN_DEVTOOLS === "1";
|
||||
const installReactDevTools = process.env.ELECTRON_INSTALL_REACT_DEVTOOLS === "1";
|
||||
|
||||
//const Nucleus = require("nucleus-nodejs");
|
||||
require("./ipc-main-handler");
|
||||
require("./analytics");
|
||||
let ipcHandlersInitialized = false;
|
||||
|
||||
function initializeIpcHandlers() {
|
||||
if (ipcHandlersInitialized) return;
|
||||
|
||||
require("./ipc-main-handler");
|
||||
require("./analytics");
|
||||
ipcHandlersInitialized = true;
|
||||
}
|
||||
|
||||
Sentry.init({
|
||||
dsn: "https://9840e0f304124299e379d9347e12d2e6@o492140.ingest.sentry.io/4505728058523648",
|
||||
@@ -132,7 +138,6 @@ var menu = Menu.buildFromTemplate([
|
||||
let mainWindow;
|
||||
let noticeWindow;
|
||||
let tray = null;
|
||||
contextMenu({ showInspectElement: enableDevTools });
|
||||
|
||||
function createWindow() {
|
||||
// Create the browser window.
|
||||
@@ -228,7 +233,13 @@ function createWindow() {
|
||||
// This method will be called when Electron has finished
|
||||
// initialization and is ready to create browser windows.
|
||||
// Some APIs can only be used after this event occurs.
|
||||
app.whenReady().then(() => {
|
||||
app.whenReady().then(async () => {
|
||||
await initializeStore();
|
||||
initializeIpcHandlers();
|
||||
|
||||
const { default: contextMenu } = await import("electron-context-menu");
|
||||
contextMenu({ showInspectElement: enableDevTools });
|
||||
|
||||
createWindow();
|
||||
|
||||
if (isDev) {
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
const path = require("path");
|
||||
const fs = require("fs");
|
||||
const { app } = require("electron");
|
||||
|
||||
// Loader entrypoint:
|
||||
// - In dev: run the original source (electron/main-src.js)
|
||||
// - In packaged/prod: run the bundled/minified output (dist-electron/main.cjs)
|
||||
|
||||
const distMain = path.join(__dirname, "..", "dist-electron", "main.cjs");
|
||||
const useDist = !require("electron-is-dev") && fs.existsSync(distMain);
|
||||
const useDist = app.isPackaged && fs.existsSync(distMain);
|
||||
|
||||
require(useDist ? distMain : "./main-src");
|
||||
|
||||
@@ -6,6 +6,7 @@ const fs = require("fs");
|
||||
// - In packaged/prod: run the bundled/minified output (dist-electron/preload.cjs)
|
||||
|
||||
const distPreload = path.join(__dirname, "..", "dist-electron", "preload.cjs");
|
||||
const useDist = !require("electron-is-dev") && fs.existsSync(distPreload);
|
||||
const isDev = process.defaultApp || /[\\/]electron(?:\.exe)?$/i.test(process.execPath);
|
||||
const useDist = !isDev && fs.existsSync(distPreload);
|
||||
|
||||
require(useDist ? distPreload : "./preload-src");
|
||||
|
||||
4546
package-lock.json
generated
4546
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
15
package.json
15
package.json
@@ -10,7 +10,7 @@
|
||||
"@amplitude/analytics-node": "^1.5.58",
|
||||
"@ant-design/pro-layout": "^7.22.7",
|
||||
"@apollo/client": "^3.13.4",
|
||||
"@sentry/electron": "^6.1.0",
|
||||
"@sentry/electron": "^7.13.0",
|
||||
"@vitejs/plugin-react": "^4.3.4",
|
||||
"antd": "^5.24.3",
|
||||
"apollo-link-logger": "^2.0.1",
|
||||
@@ -21,11 +21,11 @@
|
||||
"dayjs-business-days2": "^1.3.3",
|
||||
"dbffile": "^1.12.0",
|
||||
"dinero.js": "^1.9.1",
|
||||
"electron-context-menu": "^3.6.1",
|
||||
"electron-is-dev": "^2.0.0",
|
||||
"electron-context-menu": "^4.1.2",
|
||||
"electron-is-dev": "^3.0.1",
|
||||
"electron-log": "^5.4.4",
|
||||
"electron-reload": "^2.0.0-alpha.1",
|
||||
"electron-store": "^8.2.0",
|
||||
"electron-store": "^11.0.2",
|
||||
"electron-updater": "^6.8.3",
|
||||
"eslint": "^8.57.0",
|
||||
"eslint-config-react-app": "^7.0.1",
|
||||
@@ -56,7 +56,7 @@
|
||||
"build:electron": "node scripts/build-electron.mjs",
|
||||
"dev": "concurrently -k \"npm start\" \"npm:electron\"",
|
||||
"electron": "electron .",
|
||||
"pack": "electron-builder --dir",
|
||||
"pack": "electron-builder --dir --publish never --config electron-builder.pack-check.cjs",
|
||||
"dist": "npm run build && npm run build:electron && electron-builder",
|
||||
"distp": "npm run build && npm run build:electron && electron-builder --publish always",
|
||||
"distnopublish": "npm run build && npm run build:electron && electron-builder --publish never",
|
||||
@@ -81,8 +81,8 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"concurrently": "^9.1.2",
|
||||
"electron": "^35.0.1",
|
||||
"electron-builder": "^25.1.8",
|
||||
"electron": "^42.3.0",
|
||||
"electron-builder": "^26.8.1",
|
||||
"electron-devtools-installer": "^4.0.0",
|
||||
"esbuild": "^0.28.0",
|
||||
"eslint-config-react": "^1.1.7",
|
||||
@@ -126,6 +126,7 @@
|
||||
"icon": "src/icons/win/icon.ico",
|
||||
"azureSignOptions": {
|
||||
"endpoint": "https://eus.codesigning.azure.net",
|
||||
"publisherName": "ImEX Systems Inc.",
|
||||
"certificateProfileName": "ImEXRPS",
|
||||
"codeSigningAccountName": "ImEX"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user