diff --git a/packages/electron/index.ts b/packages/electron/index.ts index 120ce11..bf4bbbd 100644 --- a/packages/electron/index.ts +++ b/packages/electron/index.ts @@ -16,11 +16,7 @@ import { createTray, YPMTray } from './tray' import { IpcChannels } from '@/shared/IpcChannels' import { createTaskbar, Thumbar } from './windowsTaskbar' import { Store as State, initialState } from '@/shared/store' - -const isWindows = process.platform === 'win32' -const isMac = process.platform === 'darwin' -const isLinux = process.platform === 'linux' -const isDev = process.env.NODE_ENV === 'development' +import { isDev, isWindows, isLinux, isMac } from './utils' export interface TypedElectronStore { window: { diff --git a/packages/electron/log.ts b/packages/electron/log.ts index 47c263f..dcc44a3 100644 --- a/packages/electron/log.ts +++ b/packages/electron/log.ts @@ -7,12 +7,14 @@ import log from 'electron-log' import pc from 'picocolors' +import { isDev } from './utils' Object.assign(console, log.functions) log.variables.process = 'main' -log.transports.console.format = `[{process}] ${pc.dim( - '{h}:{i}:{s}{scope}' -)} {level} › {text}` +if (log.transports.ipc) log.transports.ipc.level = false +log.transports.console.format = `${ + isDev ? '' : pc.dim('{h}:{i}:{s}{scope} ') +}{level} › {text}` log.transports.file.level = 'info' log.info( diff --git a/packages/electron/preload.ts b/packages/electron/preload.ts index 7e46490..7c6cb37 100644 --- a/packages/electron/preload.ts +++ b/packages/electron/preload.ts @@ -1,9 +1,7 @@ import log from './log' import path from 'path' import { app } from 'electron' -import { createDirIfNotExist } from './utils' - -const isDev = process.env.NODE_ENV === 'development' +import { createDirIfNotExist, isDev } from './utils' if (isDev) { const devUserDataPath = path.resolve(process.cwd(), '../../tmp/userData') diff --git a/packages/electron/rendererPreload.ts b/packages/electron/rendererPreload.ts index 1fca785..d920c51 100644 --- a/packages/electron/rendererPreload.ts +++ b/packages/electron/rendererPreload.ts @@ -1,15 +1,12 @@ /* eslint-disable @typescript-eslint/no-var-requires */ import { IpcChannels } from '@/shared/IpcChannels' +import { isLinux, isMac, isWindows } from './utils' const { contextBridge, ipcRenderer } = require('electron') const log = require('electron-log') -const isDev = process.env.NODE_ENV === 'development' - log.transports.file.level = 'info' +log.transports.ipc.level = false log.variables.process = 'renderer' -log.transports.console.format = isDev - ? `[{process}] {text}` - : `[{process}] {h}:{i}:{s}{scope} {level} › {text}` contextBridge.exposeInMainWorld('log', log) contextBridge.exposeInMainWorld('ipcRenderer', { @@ -30,7 +27,7 @@ contextBridge.exposeInMainWorld('env', { isElectron: true, isEnableTitlebar: process.platform === 'win32' || process.platform === 'linux', - isLinux: process.platform === 'linux', - isMac: process.platform === 'darwin', - isWin: process.platform === 'win32', + isLinux, + isMac, + isWindows, }) diff --git a/packages/electron/scripts/build.sqlite3.js b/packages/electron/scripts/build.sqlite3.js index c8cb88f..b923e4e 100644 --- a/packages/electron/scripts/build.sqlite3.js +++ b/packages/electron/scripts/build.sqlite3.js @@ -8,6 +8,7 @@ const pkg = require(`${process.cwd()}/package.json`) const axios = require('axios') const { execSync } = require('child_process') const path = require('path') +const { isLinux, isWindows, isMac } = require('../utils') const electronVersion = pkg.devDependencies.electron.replaceAll('^', '') const betterSqlite3Version = pkg.dependencies['better-sqlite3'].replaceAll( @@ -18,9 +19,6 @@ const electronModuleVersion = releases.find(r => r.version.includes(electronVersion) )?.deps?.modules const argv = minimist(process.argv.slice(2)) -const isWin = process.platform === 'win32' -const isMac = process.platform === 'darwin' -const isLinux = process.platform === 'linux' const projectDir = path.resolve(process.cwd(), '../../') @@ -119,7 +117,7 @@ const main = async () => { if (argv.arm64) await build('arm64') if (argv.arm) await build('arm') } else { - if (isWin || isMac) { + if (isWindows || isMac) { await build('x64') await build('arm64') } else if (isLinux) { diff --git a/packages/electron/server.ts b/packages/electron/server.ts index a0b9e32..b1e7306 100644 --- a/packages/electron/server.ts +++ b/packages/electron/server.ts @@ -11,9 +11,7 @@ import { app } from 'electron' import type { FetchAudioSourceResponse } from '@/shared/api/Track' import UNM from '@unblockneteasemusic/rust-napi' import { APIs as CacheAPIs } from '../shared/CacheAPIs' - -const isDev = process.env.NODE_ENV === 'development' -const isProd = process.env.NODE_ENV === 'production' +import { isProd } from 'utils' class Server { port = Number( diff --git a/packages/electron/utils.ts b/packages/electron/utils.ts index fb7391a..aa82106 100644 --- a/packages/electron/utils.ts +++ b/packages/electron/utils.ts @@ -13,3 +13,10 @@ export const createFileIfNotExist = (file: string) => { fs.writeFileSync(file, '') } } + +export const isDev = process.env.NODE_ENV === 'development' +export const isProd = process.env.NODE_ENV === 'production' +export const isWindows = process.platform === 'win32' +export const isMac = process.platform === 'darwin' +export const isLinux = process.platform === 'linux' +export const dirname = isDev ? process.cwd() : __dirname diff --git a/packages/web/components/TitleBar.tsx b/packages/web/components/TitleBar.tsx index 1cffd94..045927a 100644 --- a/packages/web/components/TitleBar.tsx +++ b/packages/web/components/TitleBar.tsx @@ -90,7 +90,7 @@ const Linux = () => { const TitleBar = () => { return (