From 48869266e47d04327b989eff178cb4cfc19b7e5f Mon Sep 17 00:00:00 2001 From: qier222 Date: Fri, 13 May 2022 01:47:55 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E5=B0=86=E9=83=A8=E5=88=86=E9=80=9A?= =?UTF-8?q?=E7=94=A8=E5=8F=98=E9=87=8F=E7=A7=BB=E5=8A=A8=E5=88=B0utils.ts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/electron/index.ts | 6 +----- packages/electron/log.ts | 8 +++++--- packages/electron/preload.ts | 4 +--- packages/electron/rendererPreload.ts | 13 +++++-------- packages/electron/scripts/build.sqlite3.js | 6 ++---- packages/electron/server.ts | 4 +--- packages/electron/utils.ts | 7 +++++++ packages/web/components/TitleBar.tsx | 2 +- packages/web/global.d.ts | 2 +- packages/web/store.ts | 5 ----- 10 files changed, 24 insertions(+), 33 deletions(-) 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 (
- {window.env?.isWin ? : } + {window.env?.isWindows ? : }
) } diff --git a/packages/web/global.d.ts b/packages/web/global.d.ts index bd31a40..8fc1bc6 100644 --- a/packages/web/global.d.ts +++ b/packages/web/global.d.ts @@ -27,7 +27,7 @@ declare global { isEnableTitlebar: boolean isLinux: boolean isMac: boolean - isWin: boolean + isWindows: boolean } log?: ElectronLog } diff --git a/packages/web/store.ts b/packages/web/store.ts index 91c50b3..d1f5e93 100644 --- a/packages/web/store.ts +++ b/packages/web/store.ts @@ -1,5 +1,4 @@ import { proxy, subscribe } from 'valtio' -import { devtools } from 'valtio/utils' import { Player } from '@/web/utils/player' import { merge } from 'lodash-es' import { IpcChannels } from '@/shared/IpcChannels' @@ -34,7 +33,3 @@ subscribe(player, () => { if (import.meta.env.DEV) { ;(window as any).player = player } - -// Devtools -devtools(state, 'state') -devtools(player, 'player')