diff --git a/apps/desktop/package.json b/apps/desktop/package.json index d5108b88b..fecaa6dda 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -33,6 +33,7 @@ "compare-versions": "^6.1.1", "crypto-js": "^4.2.0", "drizzle-orm": "^0.36.4", + "electron-debug": "^4.1.0", "electron-store": "^10.0.0", "electron-updater": "^6.3.9", "element-plus": "^2.8.7", diff --git a/apps/desktop/src/main/index.ts b/apps/desktop/src/main/index.ts index 12c3e09b9..fb6aabba6 100644 --- a/apps/desktop/src/main/index.ts +++ b/apps/desktop/src/main/index.ts @@ -2,6 +2,7 @@ import { join } from 'node:path' import { electronApp, is, optimizer } from '@electron-toolkit/utils' import { eq } from 'drizzle-orm' import { app, BrowserWindow, ipcMain, shell } from 'electron' +import debug from 'electron-debug' import installExtension, { VUEJS_DEVTOOLS } from 'electron-devtools-installer' import icon from '../../resources/icon.png?asset' import { db, execute, runMigrate } from '../database/db.main' @@ -9,11 +10,18 @@ import { type SelectSettings, settings } from '../database/schemas/settings' import { useInstallCLI } from './installCLI' import { useAppUpdater } from './update' +debug() + // const IsMacOS = process.platform === 'darwin' let existingSettings: SelectSettings | undefined async function createWindow() { + if (is.dev) { + installExtension(VUEJS_DEVTOOLS) + .catch(err => console.error('An error occurred: ', err)) + } + existingSettings = await db.query.settings.findFirst() if (!existingSettings) { await db.insert(settings).values({}) @@ -52,14 +60,6 @@ async function createWindow() { mainWindow.show() }) - mainWindow.webContents.on('did-frame-finish-load', async () => { - if (is.dev) { - installExtension(VUEJS_DEVTOOLS) - .then(() => mainWindow.webContents.openDevTools()) - .catch(err => console.error('An error occurred: ', err)) - } - }) - mainWindow.on('resize', async () => { const { width, height } = mainWindow.getBounds() const data = await db.query.settings.findFirst() diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f806adec7..151c64782 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -141,6 +141,9 @@ importers: drizzle-orm: specifier: ^0.36.4 version: 0.36.4(@types/better-sqlite3@7.6.12)(better-sqlite3@11.6.0) + electron-debug: + specifier: ^4.1.0 + version: 4.1.0 electron-store: specifier: ^10.0.0 version: 10.0.0 @@ -5746,6 +5749,16 @@ packages: - supports-color dev: true + /electron-debug@4.1.0: + resolution: {integrity: sha512-rdbvmotqbaNcSuinPe1tzB5zK+JKal+4LSDbguBcqTLARNqWrGoRS/TkR1gGH4+63boYH3HUaf9r9ECAxgIe9g==} + engines: {node: '>=18'} + dependencies: + electron-is-dev: 3.0.1 + electron-localshortcut: 3.2.1 + transitivePeerDependencies: + - supports-color + dev: false + /electron-devtools-installer@3.2.1: resolution: {integrity: sha512-FaCi+oDCOBTw0gJUsuw5dXW32b2Ekh5jO8lI1NRCQigo3azh2VogsIi0eelMVrP1+LkN/bewyH3Xoo1USjO0eQ==} dependencies: @@ -5755,6 +5768,26 @@ packages: unzip-crx-3: 0.2.0 dev: true + /electron-is-accelerator@0.1.2: + resolution: {integrity: sha512-fLGSAjXZtdn1sbtZxx52+krefmtNuVwnJCV2gNiVt735/ARUboMl8jnNC9fZEqQdlAv2ZrETfmBUsoQci5evJA==} + dev: false + + /electron-is-dev@3.0.1: + resolution: {integrity: sha512-8TjjAh8Ec51hUi3o4TaU0mD3GMTOESi866oRNavj9A3IQJ7pmv+MJVmdZBFGw4GFT36X7bkqnuDNYvkQgvyI8Q==} + engines: {node: '>=18'} + dev: false + + /electron-localshortcut@3.2.1: + resolution: {integrity: sha512-DWvhKv36GsdXKnaFFhEiK8kZZA+24/yFLgtTwJJHc7AFgDjNRIBJZ/jq62Y/dWv9E4ypYwrVWN2bVrCYw1uv7Q==} + dependencies: + debug: 4.3.7 + electron-is-accelerator: 0.1.2 + keyboardevent-from-electron-accelerator: 2.0.0 + keyboardevents-areequal: 0.2.2 + transitivePeerDependencies: + - supports-color + dev: false + /electron-publish@26.0.0-alpha.4: resolution: {integrity: sha512-bl2QOjC4Sp/qaDmxSY8PD3tiO8XSLzXgYvfX9L5tFaQ5LnX3NEA/6PMw4zssw/cY60STqIPle0rZ4dpTz8YJXA==} dependencies: @@ -7854,6 +7887,14 @@ packages: setimmediate: 1.0.5 dev: true + /keyboardevent-from-electron-accelerator@2.0.0: + resolution: {integrity: sha512-iQcmNA0M4ETMNi0kG/q0h/43wZk7rMeKYrXP7sqKIJbHkTU8Koowgzv+ieR/vWJbOwxx5nDC3UnudZ0aLSu4VA==} + dev: false + + /keyboardevents-areequal@0.2.2: + resolution: {integrity: sha512-Nv+Kr33T0mEjxR500q+I6IWisOQ0lK1GGOncV0kWE6n4KFmpcu7RUX5/2B0EUtX51Cb0HjZ9VJsSY3u4cBa0kw==} + dev: false + /keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} dependencies: