提交 a000dba0 作者: 方治民

feat: 完成 electron dev/preview/build

上级 2dd65128
......@@ -2,7 +2,7 @@
VITE_USE_MOCK = true
# public path
VITE_PUBLIC_PATH = /
VITE_PUBLIC_PATH = ./
# Cross-domain proxy, you can configure multiple
# Please note that no line breaks
......
......@@ -2,7 +2,7 @@
VITE_USE_MOCK = false
# public path
VITE_PUBLIC_PATH = /
VITE_PUBLIC_PATH = ./
# Delete console
VITE_DROP_CONSOLE = true
......@@ -17,7 +17,7 @@ VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE = false
# Basic interface address SPA
# VITE_GLOB_API_URL=/basic-api
VITE_GLOB_API_URL=http://192.168.0.156:17181
VITE_GLOB_API_URL=http://192.168.0.156:8081
# Interface prefix
# VITE_GLOB_API_URL_PREFIX=
......
......@@ -2,7 +2,7 @@
VITE_USE_MOCK = false
# public path
VITE_PUBLIC_PATH = /
VITE_PUBLIC_PATH = ./
# Delete console
VITE_DROP_CONSOLE = true
......
......@@ -18,7 +18,7 @@ export function isReportMode(): boolean {
}
// Read all environment variable configuration files to process.env
export function wrapperEnv(envConf: Recordable): ViteEnv {
export function wrapperEnv(envConf: Recordable, includePort = false): ViteEnv {
const ret: any = {}
for (const envName of Object.keys(envConf)) {
......@@ -27,6 +27,9 @@ export function wrapperEnv(envConf: Recordable): ViteEnv {
if (envName === 'VITE_PORT') {
realName = Number(realName)
if (includePort) {
process.env[envName] = realName
}
}
if (envName === 'VITE_PROXY' && realName) {
try {
......
......@@ -22,7 +22,7 @@ export function createProxy(list: ProxyList = []) {
// https://github.com/http-party/node-http-proxy#options
ret[prefix] = {
target: target,
target,
changeOrigin: true,
ws: true,
rewrite: (path) => path.replace(new RegExp(`^${prefix}`), ''),
......
appId: com.yiring.basic.electron.app
productName: Basic Electron App
productName: 'Basic Electron App'
directories:
buildResources: build
output: release/${version}
files:
- '!**/.vscode/*'
- '!src/*'
- '!electron/*'
- '!tests/*'
- '!types/*'
- '!mock/*'
- '!electron.vite.config.{js,ts,mjs,cjs}'
- '!{.eslintignore,.eslintrc.cjs,.prettierignore,.prettierrc.yaml,dev-app-update.yml,CHANGELOG.md,README.md}'
- '!{tsconfig.json,tsconfig.node.json,tsconfig.web.json}'
- 'out'
- 'build/electron'
asarUnpack:
- '**/*.{node,dll}'
afterSign: build/electron/notarize.js
win:
executableName: basic-electron-app
nsis:
artifactName: ${name}-${version}-setup.${ext}
artifactName: ${productName}_${version}.${ext}
shortcutName: ${productName}
uninstallDisplayName: ${productName}
createDesktopShortcut: always
oneClick: false
perMachine: false
allowToChangeInstallationDirectory: true
deleteAppDataOnUninstall: false
mac:
entitlementsInherit: build/electron/entitlements.mac.plist
extendInfo:
......
import { resolve } from 'node:path'
import { merge } from 'lodash-es'
import { defineConfig, defineViteConfig, externalizeDepsPlugin } from 'electron-vite'
import type { ConfigEnv, UserConfig } from 'vite'
import { loadEnv } from 'vite'
import { wrapperEnv } from './build/utils'
export default defineConfig({
main: {
main: defineViteConfig(({ command, mode }: ConfigEnv) => {
// The boolean type read by loadEnv is a string. This function can be converted to boolean type
const viteEnv = wrapperEnv(loadEnv(mode, process.cwd()), true)
if (command === 'serve') {
process.env.ELECTRON_RENDERER_URL = `http://localhost:${viteEnv.VITE_PORT}`
}
return {
plugins: [externalizeDepsPlugin()],
envPrefix: ['MAIN_VITE_', 'VITE_', 'ELECTRON_'],
build: {
rollupOptions: {
input: {
index: resolve(__dirname, 'electron/main/index.ts'),
},
index: resolve(__dirname, 'src-electron/main/index.ts'),
},
},
},
}
}),
preload: {
plugins: [externalizeDepsPlugin()],
build: {
rollupOptions: {
input: {
index: resolve(__dirname, 'electron/preload/index.ts'),
index: resolve(__dirname, 'src-electron/preload/index.ts'),
},
},
},
},
renderer: defineViteConfig(async (env) => {
const renderConfig = (await import('./vite.config')).default
const config = renderConfig(env)
renderer: defineViteConfig(async (env): Promise<UserConfig> => {
// 设置运行时环境,用于减少一些不必要的构建处理
process.env.RUNTIME = 'electron'
return merge(config, {
const defaultConfig = (await import('./vite.config')).default(env)
const config: UserConfig = {
envPrefix: 'VITE_',
build: {
target: 'chrome80',
rollupOptions: {
......@@ -36,6 +50,8 @@ export default defineConfig({
},
},
},
})
}
return merge(defaultConfig, config)
}),
})
......@@ -27,9 +27,11 @@
"serve": "npm run dev",
"dev": "vite",
"dev:app": "electron-vite dev",
"build": "cross-env NODE_ENV=production vite build && esno ./build/script/postBuild.ts",
"build:test": "cross-env vite build --mode test && esno ./build/script/postBuild.ts",
"build:preview": "cross-env vite build --mode preview && esno ./build/script/postBuild.ts",
"preview:app": "electron-vite preview",
"build:app": "electron-vite build",
"build": "vite build",
"build:test": "vite build --mode test",
"build:preview": "vite build --mode preview",
"build:no-cache": "pnpm clean:cache && npm run build",
"report": "cross-env REPORT=true npm run build",
"type:check": "vue-tsc --noEmit --skipLibCheck",
......@@ -48,7 +50,11 @@
"test:br": "npx http-server dist --cors --brotli -c-1",
"reinstall": "rimraf pnpm-lock.yaml && rimraf package.lock.json && rimraf node_modules && npm run bootstrap",
"prepare": "husky install",
"gen:icon": "esno ./build/generate/icon/index.ts"
"gen:icon": "esno ./build/generate/icon/index.ts",
"postinstall": "electron-builder install-app-deps",
"build:win": "npm run build:app && electron-builder --win --config",
"build:mac": "npm run build:app && electron-builder --mac --config",
"build:linux": "npm run build:app && electron-builder --linux --config"
},
"config": {
"commitizen": {
......@@ -63,6 +69,7 @@
"@iconify/iconify": "^3.1.0",
"@logicflow/core": "^1.2.1",
"@logicflow/extension": "^1.2.1",
"@purge-icons/generated": "^0.9.0",
"@stomp/stompjs": "^7.0.0",
"@vue/runtime-core": "^3.2.47",
"@vue/shared": "^3.2.47",
......@@ -109,13 +116,12 @@
"@electron-toolkit/tsconfig": "^1.0.1",
"@electron/notarize": "^1.2.3",
"@iconify/json": "^2.2.40",
"@purge-icons/generated": "^0.9.0",
"@types/codemirror": "^5.60.7",
"@types/crypto-js": "^4.1.1",
"@types/fs-extra": "^11.0.1",
"@types/inquirer": "^9.0.3",
"@types/intro.js": "^5.1.1",
"@types/lodash": "^4.14.191",
"@types/lodash": "^4.14.192",
"@types/lodash-es": "^4.17.7",
"@types/mockjs": "^1.0.7",
"@types/node": "^18.15.10",
......@@ -126,8 +132,8 @@
"@types/sockjs-client": "^1.5.1",
"@types/sortablejs": "^1.15.1",
"@types/stompjs": "^2.3.5",
"@typescript-eslint/eslint-plugin": "^5.56.0",
"@typescript-eslint/parser": "^5.56.0",
"@typescript-eslint/eslint-plugin": "^5.57.0",
"@typescript-eslint/parser": "^5.57.0",
"@vitejs/plugin-legacy": "^4.0.2",
"@vitejs/plugin-vue": "^4.1.0",
"@vitejs/plugin-vue-jsx": "^3.0.1",
......
......@@ -21,7 +21,7 @@ specifiers:
'@types/fs-extra': ^11.0.1
'@types/inquirer': ^9.0.3
'@types/intro.js': ^5.1.1
'@types/lodash': ^4.14.191
'@types/lodash': ^4.14.192
'@types/lodash-es': ^4.17.7
'@types/mockjs': ^1.0.7
'@types/node': ^18.15.10
......@@ -32,8 +32,8 @@ specifiers:
'@types/sockjs-client': ^1.5.1
'@types/sortablejs': ^1.15.1
'@types/stompjs': ^2.3.5
'@typescript-eslint/eslint-plugin': ^5.56.0
'@typescript-eslint/parser': ^5.56.0
'@typescript-eslint/eslint-plugin': ^5.57.0
'@typescript-eslint/parser': ^5.57.0
'@vitejs/plugin-legacy': ^4.0.2
'@vitejs/plugin-vue': ^4.1.0
'@vitejs/plugin-vue-jsx': ^3.0.1
......@@ -143,6 +143,7 @@ dependencies:
'@iconify/iconify': 3.1.0
'@logicflow/core': 1.2.1
'@logicflow/extension': 1.2.1
'@purge-icons/generated': 0.9.0
'@stomp/stompjs': 7.0.0
'@vue/runtime-core': 3.2.47
'@vue/shared': 3.2.47
......@@ -189,13 +190,12 @@ devDependencies:
'@electron-toolkit/tsconfig': 1.0.1_@types+node@18.15.10
'@electron/notarize': 1.2.3
'@iconify/json': 2.2.40
'@purge-icons/generated': 0.9.0
'@types/codemirror': 5.60.7
'@types/crypto-js': 4.1.1
'@types/fs-extra': 11.0.1
'@types/inquirer': 9.0.3
'@types/intro.js': 5.1.1
'@types/lodash': 4.14.191
'@types/lodash': 4.14.192
'@types/lodash-es': 4.17.7
'@types/mockjs': 1.0.7
'@types/node': 18.15.10
......@@ -206,8 +206,8 @@ devDependencies:
'@types/sockjs-client': 1.5.1
'@types/sortablejs': 1.15.1
'@types/stompjs': 2.3.5
'@typescript-eslint/eslint-plugin': 5.56.0_iskin7c6dxqunwflhstekcjqmq
'@typescript-eslint/parser': 5.56.0_vgl77cfdswitgr47lm5swmv43m
'@typescript-eslint/eslint-plugin': 5.57.0_5t5646cukn2kik5kiydglap3vi
'@typescript-eslint/parser': 5.57.0_vgl77cfdswitgr47lm5swmv43m
'@vitejs/plugin-legacy': 4.0.2_terser@5.16.8+vite@4.2.1
'@vitejs/plugin-vue': 4.1.0_vite@4.2.1+vue@3.2.47
'@vitejs/plugin-vue-jsx': 3.0.1_vite@4.2.1+vue@3.2.47
......@@ -312,7 +312,7 @@ packages:
vue: 3.2.47
dev: false
/@antfu/eslint-config-basic/0.37.0_cpj4tv3hntrcia52vnrrg3eslq:
/@antfu/eslint-config-basic/0.37.0_5z3ieoz5pmsbyy3n7745rp57wi:
resolution: {integrity: sha512-iBj6qjAOQr+WMhK38lfR2/xdIY81qUk4i6tHhwmcxXi4GEf2HF6I4Cgeu9SyIlTxOw8AP1CVqdUNzUbmYSaMZg==}
peerDependencies:
eslint: '>=7.4.0'
......@@ -321,14 +321,14 @@ packages:
eslint-plugin-antfu: 0.37.0_vgl77cfdswitgr47lm5swmv43m
eslint-plugin-eslint-comments: 3.2.0_eslint@8.36.0
eslint-plugin-html: 7.1.0
eslint-plugin-import: 2.27.5_cnkxirszkzb4o6ts7gbclno24e
eslint-plugin-import: 2.27.5_74llxljztmzze2ez7aakaiqyti
eslint-plugin-jsonc: 2.7.0_eslint@8.36.0
eslint-plugin-markdown: 3.0.0_eslint@8.36.0
eslint-plugin-n: 15.6.1_eslint@8.36.0
eslint-plugin-no-only-tests: 3.1.0
eslint-plugin-promise: 6.1.1_eslint@8.36.0
eslint-plugin-unicorn: 46.0.0_eslint@8.36.0
eslint-plugin-unused-imports: 2.0.0_pjgbsoxltfjhart6hcjsvw66hu
eslint-plugin-unused-imports: 2.0.0_bh3gacn4tk2wj6fu7gisfablcy
eslint-plugin-yml: 1.5.0_eslint@8.36.0
jsonc-eslint-parser: 2.2.0
yaml-eslint-parser: 1.2.0
......@@ -347,11 +347,11 @@ packages:
eslint: '>=7.4.0'
typescript: '>=3.9'
dependencies:
'@antfu/eslint-config-basic': 0.37.0_cpj4tv3hntrcia52vnrrg3eslq
'@typescript-eslint/eslint-plugin': 5.56.0_iskin7c6dxqunwflhstekcjqmq
'@typescript-eslint/parser': 5.56.0_vgl77cfdswitgr47lm5swmv43m
'@antfu/eslint-config-basic': 0.37.0_5z3ieoz5pmsbyy3n7745rp57wi
'@typescript-eslint/eslint-plugin': 5.57.0_5t5646cukn2kik5kiydglap3vi
'@typescript-eslint/parser': 5.57.0_vgl77cfdswitgr47lm5swmv43m
eslint: 8.36.0
eslint-plugin-jest: 27.2.1_t2az3euonckxht7o3xjedcge5q
eslint-plugin-jest: 27.2.1_p24d35jmojvkpl4oqhbfa2kcmq
typescript: 4.9.5
transitivePeerDependencies:
- eslint-import-resolver-typescript
......@@ -360,12 +360,12 @@ packages:
- supports-color
dev: true
/@antfu/eslint-config-vue/0.37.0_cpj4tv3hntrcia52vnrrg3eslq:
/@antfu/eslint-config-vue/0.37.0_5z3ieoz5pmsbyy3n7745rp57wi:
resolution: {integrity: sha512-d7n4+7f6YMizE1HDEOtIBJGruFuIeqrNF+ZjHM8o6+isMrJkvdjVx6nHtHVtoWNYW6jiRJ5AW+nkfo2aoNGUyA==}
peerDependencies:
eslint: '>=7.4.0'
dependencies:
'@antfu/eslint-config-basic': 0.37.0_cpj4tv3hntrcia52vnrrg3eslq
'@antfu/eslint-config-basic': 0.37.0_5z3ieoz5pmsbyy3n7745rp57wi
'@antfu/eslint-config-ts': 0.37.0_vgl77cfdswitgr47lm5swmv43m
eslint: 8.36.0
eslint-plugin-vue: 9.10.0_eslint@8.36.0
......@@ -385,13 +385,13 @@ packages:
peerDependencies:
eslint: '>=7.4.0'
dependencies:
'@antfu/eslint-config-vue': 0.37.0_cpj4tv3hntrcia52vnrrg3eslq
'@typescript-eslint/eslint-plugin': 5.56.0_iskin7c6dxqunwflhstekcjqmq
'@typescript-eslint/parser': 5.56.0_vgl77cfdswitgr47lm5swmv43m
'@antfu/eslint-config-vue': 0.37.0_5z3ieoz5pmsbyy3n7745rp57wi
'@typescript-eslint/eslint-plugin': 5.57.0_5t5646cukn2kik5kiydglap3vi
'@typescript-eslint/parser': 5.57.0_vgl77cfdswitgr47lm5swmv43m
eslint: 8.36.0
eslint-plugin-eslint-comments: 3.2.0_eslint@8.36.0
eslint-plugin-html: 7.1.0
eslint-plugin-import: 2.27.5_cnkxirszkzb4o6ts7gbclno24e
eslint-plugin-import: 2.27.5_74llxljztmzze2ez7aakaiqyti
eslint-plugin-jsonc: 2.7.0_eslint@8.36.0
eslint-plugin-n: 15.6.1_eslint@8.36.0
eslint-plugin-promise: 6.1.1_eslint@8.36.0
......@@ -2146,7 +2146,7 @@ packages:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
dependencies:
eslint: 8.36.0
eslint-visitor-keys: 3.3.0
eslint-visitor-keys: 3.4.0
dev: true
/@eslint-community/regexpp/4.4.1:
......@@ -2520,7 +2520,6 @@ packages:
resolution: {integrity: sha512-s2t+1oVtGDV6KtqfCXtUOhxfeYvOdDF90IVm+nMs/6bUP0HeGZLslguuL/AibpwtfL4FA/oCsIu/RhwapgAdJw==}
dependencies:
'@iconify/iconify': 3.1.0
dev: true
/@rollup/plugin-babel/5.3.1_hqhlikriuul7byjexqnpgcmenu:
resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
......@@ -2793,11 +2792,11 @@ packages:
/@types/lodash-es/4.17.7:
resolution: {integrity: sha512-z0ptr6UI10VlU6l5MYhGwS4mC8DZyYer2mCoyysZtSF7p26zOX8UpbrV0YpNYLGS8K4PUFIyEr62IMFFjveSiQ==}
dependencies:
'@types/lodash': 4.14.191
'@types/lodash': 4.14.192
dev: true
/@types/lodash/4.14.191:
resolution: {integrity: sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==}
/@types/lodash/4.14.192:
resolution: {integrity: sha512-km+Vyn3BYm5ytMO13k9KTp27O75rbQ0NFw+U//g+PX7VZyjCioXaRFisqSIJRECljcTv73G3i6BpglNGHgUQ5A==}
dev: true
/@types/mdast/3.0.11:
......@@ -2948,8 +2947,8 @@ packages:
resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==}
dev: true
/@types/yargs/17.0.23:
resolution: {integrity: sha512-yuogunc04OnzGQCrfHx+Kk883Q4X0aSwmYZhKjI21m+SVYzjIbrWl8dOOwSv5hf2Um2pdCOXWo9isteZTNXUZQ==}
/@types/yargs/17.0.24:
resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==}
dependencies:
'@types/yargs-parser': 21.0.0
dev: true
......@@ -2961,8 +2960,8 @@ packages:
'@types/node': 18.15.10
optional: true
/@typescript-eslint/eslint-plugin/5.56.0_iskin7c6dxqunwflhstekcjqmq:
resolution: {integrity: sha512-ZNW37Ccl3oMZkzxrYDUX4o7cnuPgU+YrcaYXzsRtLB16I1FR5SHMqga3zGsaSliZADCWo2v8qHWqAYIj8nWCCg==}
/@typescript-eslint/eslint-plugin/5.57.0_5t5646cukn2kik5kiydglap3vi:
resolution: {integrity: sha512-itag0qpN6q2UMM6Xgk6xoHa0D0/P+M17THnr4SVgqn9Rgam5k/He33MA7/D7QoJcdMxHFyX7U9imaBonAX/6qA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
'@typescript-eslint/parser': ^5.0.0
......@@ -2973,10 +2972,10 @@ packages:
optional: true
dependencies:
'@eslint-community/regexpp': 4.4.1
'@typescript-eslint/parser': 5.56.0_vgl77cfdswitgr47lm5swmv43m
'@typescript-eslint/scope-manager': 5.56.0
'@typescript-eslint/type-utils': 5.56.0_vgl77cfdswitgr47lm5swmv43m
'@typescript-eslint/utils': 5.56.0_vgl77cfdswitgr47lm5swmv43m
'@typescript-eslint/parser': 5.57.0_vgl77cfdswitgr47lm5swmv43m
'@typescript-eslint/scope-manager': 5.57.0
'@typescript-eslint/type-utils': 5.57.0_vgl77cfdswitgr47lm5swmv43m
'@typescript-eslint/utils': 5.57.0_vgl77cfdswitgr47lm5swmv43m
debug: 4.3.4
eslint: 8.36.0
grapheme-splitter: 1.0.4
......@@ -2989,8 +2988,8 @@ packages:
- supports-color
dev: true
/@typescript-eslint/parser/5.56.0_vgl77cfdswitgr47lm5swmv43m:
resolution: {integrity: sha512-sn1OZmBxUsgxMmR8a8U5QM/Wl+tyqlH//jTqCg8daTAmhAk26L2PFhcqPLlYBhYUJMZJK276qLXlHN3a83o2cg==}
/@typescript-eslint/parser/5.57.0_vgl77cfdswitgr47lm5swmv43m:
resolution: {integrity: sha512-orrduvpWYkgLCyAdNtR1QIWovcNZlEm6yL8nwH/eTxWLd8gsP+25pdLHYzL2QdkqrieaDwLpytHqycncv0woUQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
......@@ -2999,9 +2998,9 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/scope-manager': 5.56.0
'@typescript-eslint/types': 5.56.0
'@typescript-eslint/typescript-estree': 5.56.0_typescript@4.9.5
'@typescript-eslint/scope-manager': 5.57.0
'@typescript-eslint/types': 5.57.0
'@typescript-eslint/typescript-estree': 5.57.0_typescript@4.9.5
debug: 4.3.4
eslint: 8.36.0
typescript: 4.9.5
......@@ -3009,16 +3008,16 @@ packages:
- supports-color
dev: true
/@typescript-eslint/scope-manager/5.56.0:
resolution: {integrity: sha512-jGYKyt+iBakD0SA5Ww8vFqGpoV2asSjwt60Gl6YcO8ksQ8s2HlUEyHBMSa38bdLopYqGf7EYQMUIGdT/Luw+sw==}
/@typescript-eslint/scope-manager/5.57.0:
resolution: {integrity: sha512-NANBNOQvllPlizl9LatX8+MHi7bx7WGIWYjPHDmQe5Si/0YEYfxSljJpoTyTWFTgRy3X8gLYSE4xQ2U+aCozSw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
'@typescript-eslint/types': 5.56.0
'@typescript-eslint/visitor-keys': 5.56.0
'@typescript-eslint/types': 5.57.0
'@typescript-eslint/visitor-keys': 5.57.0
dev: true
/@typescript-eslint/type-utils/5.56.0_vgl77cfdswitgr47lm5swmv43m:
resolution: {integrity: sha512-8WxgOgJjWRy6m4xg9KoSHPzBNZeQbGlQOH7l2QEhQID/+YseaFxg5J/DLwWSsi9Axj4e/cCiKx7PVzOq38tY4A==}
/@typescript-eslint/type-utils/5.57.0_vgl77cfdswitgr47lm5swmv43m:
resolution: {integrity: sha512-kxXoq9zOTbvqzLbdNKy1yFrxLC6GDJFE2Yuo3KqSwTmDOFjUGeWSakgoXT864WcK5/NAJkkONCiKb1ddsqhLXQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: '*'
......@@ -3027,8 +3026,8 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/typescript-estree': 5.56.0_typescript@4.9.5
'@typescript-eslint/utils': 5.56.0_vgl77cfdswitgr47lm5swmv43m
'@typescript-eslint/typescript-estree': 5.57.0_typescript@4.9.5
'@typescript-eslint/utils': 5.57.0_vgl77cfdswitgr47lm5swmv43m
debug: 4.3.4
eslint: 8.36.0
tsutils: 3.21.0_typescript@4.9.5
......@@ -3037,13 +3036,13 @@ packages:
- supports-color
dev: true
/@typescript-eslint/types/5.56.0:
resolution: {integrity: sha512-JyAzbTJcIyhuUhogmiu+t79AkdnqgPUEsxMTMc/dCZczGMJQh1MK2wgrju++yMN6AWroVAy2jxyPcPr3SWCq5w==}
/@typescript-eslint/types/5.57.0:
resolution: {integrity: sha512-mxsod+aZRSyLT+jiqHw1KK6xrANm19/+VFALVFP5qa/aiJnlP38qpyaTd0fEKhWvQk6YeNZ5LGwI1pDpBRBhtQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
/@typescript-eslint/typescript-estree/5.56.0_typescript@4.9.5:
resolution: {integrity: sha512-41CH/GncsLXOJi0jb74SnC7jVPWeVJ0pxQj8bOjH1h2O26jXN3YHKDT1ejkVz5YeTEQPeLCCRY0U2r68tfNOcg==}
/@typescript-eslint/typescript-estree/5.57.0_typescript@4.9.5:
resolution: {integrity: sha512-LTzQ23TV82KpO8HPnWuxM2V7ieXW8O142I7hQTxWIHDcCEIjtkat6H96PFkYBQqGFLW/G/eVVOB9Z8rcvdY/Vw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
typescript: '*'
......@@ -3051,8 +3050,8 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/types': 5.56.0
'@typescript-eslint/visitor-keys': 5.56.0
'@typescript-eslint/types': 5.57.0
'@typescript-eslint/visitor-keys': 5.57.0
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
......@@ -3063,8 +3062,8 @@ packages:
- supports-color
dev: true
/@typescript-eslint/utils/5.56.0_vgl77cfdswitgr47lm5swmv43m:
resolution: {integrity: sha512-XhZDVdLnUJNtbzaJeDSCIYaM+Tgr59gZGbFuELgF7m0IY03PlciidS7UQNKLE0+WpUTn1GlycEr6Ivb/afjbhA==}
/@typescript-eslint/utils/5.57.0_vgl77cfdswitgr47lm5swmv43m:
resolution: {integrity: sha512-ps/4WohXV7C+LTSgAL5CApxvxbMkl9B9AUZRtnEFonpIxZDIT7wC1xfvuJONMidrkB9scs4zhtRyIwHh4+18kw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
......@@ -3072,9 +3071,9 @@ packages:
'@eslint-community/eslint-utils': 4.4.0_eslint@8.36.0
'@types/json-schema': 7.0.11
'@types/semver': 7.3.13
'@typescript-eslint/scope-manager': 5.56.0
'@typescript-eslint/types': 5.56.0
'@typescript-eslint/typescript-estree': 5.56.0_typescript@4.9.5
'@typescript-eslint/scope-manager': 5.57.0
'@typescript-eslint/types': 5.57.0
'@typescript-eslint/typescript-estree': 5.57.0_typescript@4.9.5
eslint: 8.36.0
eslint-scope: 5.1.1
semver: 7.3.8
......@@ -3083,12 +3082,12 @@ packages:
- typescript
dev: true
/@typescript-eslint/visitor-keys/5.56.0:
resolution: {integrity: sha512-1mFdED7u5bZpX6Xxf5N9U2c18sb+8EvU3tyOIj6LQZ5OOvnmj8BVeNNP603OFPm5KkS1a7IvCIcwrdHXaEMG/Q==}
/@typescript-eslint/visitor-keys/5.57.0:
resolution: {integrity: sha512-ery2g3k0hv5BLiKpPuwYt9KBkAp2ugT6VvyShXdLOkax895EC55sP0Tx5L0fZaQueiK3fBLvHVvEl3jFS5ia+g==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
'@typescript-eslint/types': 5.56.0
eslint-visitor-keys: 3.3.0
'@typescript-eslint/types': 5.57.0
eslint-visitor-keys: 3.4.0
dev: true
/@vitejs/plugin-legacy/4.0.2_terser@5.16.8+vite@4.2.1:
......@@ -3891,7 +3890,7 @@ packages:
hasBin: true
dependencies:
caniuse-lite: 1.0.30001470
electron-to-chromium: 1.4.340
electron-to-chromium: 1.4.341
node-releases: 2.0.10
update-browserslist-db: 1.0.10_browserslist@4.21.5
dev: true
......@@ -4446,7 +4445,7 @@ packages:
dev: false
/concat-map/0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=}
dev: true
/config-chain/1.1.13:
......@@ -5266,7 +5265,7 @@ packages:
dev: true
/ee-first/1.1.1:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=}
dev: true
/ejs/3.1.9:
......@@ -5282,7 +5281,7 @@ packages:
engines: {node: '>=14.0.0'}
hasBin: true
dependencies:
'@types/yargs': 17.0.23
'@types/yargs': 17.0.24
app-builder-lib: 23.6.0
builder-util: 23.6.0
builder-util-runtime: 9.1.1
......@@ -5328,8 +5327,8 @@ packages:
- supports-color
dev: true
/electron-to-chromium/1.4.340:
resolution: {integrity: sha512-zx8hqumOqltKsv/MF50yvdAlPF9S/4PXbyfzJS6ZGhbddGkRegdwImmfSVqCkEziYzrIGZ/TlrzBND4FysfkDg==}
/electron-to-chromium/1.4.341:
resolution: {integrity: sha512-R4A8VfUBQY9WmAhuqY5tjHRf5fH2AAf6vqitBOE0y6u2PgHgqHSrhZmu78dIX3fVZtjqlwJNX1i2zwC3VpHtQQ==}
dev: true
/electron-vite/1.0.21_vite@4.2.1:
......@@ -5612,7 +5611,7 @@ packages:
- supports-color
dev: true
/eslint-module-utils/2.7.4_tf7h2azriypc3gaglz256o6pea:
/eslint-module-utils/2.7.4_s7ttrvgfvhhasgm2z4wjvde2bi:
resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==}
engines: {node: '>=4'}
peerDependencies:
......@@ -5633,7 +5632,7 @@ packages:
eslint-import-resolver-webpack:
optional: true
dependencies:
'@typescript-eslint/parser': 5.56.0_vgl77cfdswitgr47lm5swmv43m
'@typescript-eslint/parser': 5.57.0_vgl77cfdswitgr47lm5swmv43m
debug: 3.2.7
eslint: 8.36.0
eslint-import-resolver-node: 0.3.7
......@@ -5644,7 +5643,7 @@ packages:
/eslint-plugin-antfu/0.37.0_vgl77cfdswitgr47lm5swmv43m:
resolution: {integrity: sha512-Tekr9S4fkrmH88RS5XHvs3gQwQIn/2As8gYePzrPHTQEQF00pIx0sa1eQrhmvN50ubUG4WkZnpx/uR3073jLeg==}
dependencies:
'@typescript-eslint/utils': 5.56.0_vgl77cfdswitgr47lm5swmv43m
'@typescript-eslint/utils': 5.57.0_vgl77cfdswitgr47lm5swmv43m
transitivePeerDependencies:
- eslint
- supports-color
......@@ -5679,7 +5678,7 @@ packages:
htmlparser2: 8.0.2
dev: true
/eslint-plugin-import/2.27.5_cnkxirszkzb4o6ts7gbclno24e:
/eslint-plugin-import/2.27.5_74llxljztmzze2ez7aakaiqyti:
resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==}
engines: {node: '>=4'}
peerDependencies:
......@@ -5689,7 +5688,7 @@ packages:
'@typescript-eslint/parser':
optional: true
dependencies:
'@typescript-eslint/parser': 5.56.0_vgl77cfdswitgr47lm5swmv43m
'@typescript-eslint/parser': 5.57.0_vgl77cfdswitgr47lm5swmv43m
array-includes: 3.1.6
array.prototype.flat: 1.3.1
array.prototype.flatmap: 1.3.1
......@@ -5697,7 +5696,7 @@ packages:
doctrine: 2.1.0
eslint: 8.36.0
eslint-import-resolver-node: 0.3.7
eslint-module-utils: 2.7.4_tf7h2azriypc3gaglz256o6pea
eslint-module-utils: 2.7.4_s7ttrvgfvhhasgm2z4wjvde2bi
has: 1.0.3
is-core-module: 2.11.0
is-glob: 4.0.3
......@@ -5712,7 +5711,7 @@ packages:
- supports-color
dev: true
/eslint-plugin-jest/27.2.1_t2az3euonckxht7o3xjedcge5q:
/eslint-plugin-jest/27.2.1_p24d35jmojvkpl4oqhbfa2kcmq:
resolution: {integrity: sha512-l067Uxx7ZT8cO9NJuf+eJHvt6bqJyz2Z29wykyEdz/OtmcELQl2MQGQLX8J94O1cSJWAwUSEvCjwjA7KEK3Hmg==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
peerDependencies:
......@@ -5725,8 +5724,8 @@ packages:
jest:
optional: true
dependencies:
'@typescript-eslint/eslint-plugin': 5.56.0_iskin7c6dxqunwflhstekcjqmq
'@typescript-eslint/utils': 5.56.0_vgl77cfdswitgr47lm5swmv43m
'@typescript-eslint/eslint-plugin': 5.57.0_5t5646cukn2kik5kiydglap3vi
'@typescript-eslint/utils': 5.57.0_vgl77cfdswitgr47lm5swmv43m
eslint: 8.36.0
transitivePeerDependencies:
- supports-color
......@@ -5830,7 +5829,7 @@ packages:
strip-indent: 3.0.0
dev: true
/eslint-plugin-unused-imports/2.0.0_pjgbsoxltfjhart6hcjsvw66hu:
/eslint-plugin-unused-imports/2.0.0_bh3gacn4tk2wj6fu7gisfablcy:
resolution: {integrity: sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
......@@ -5840,7 +5839,7 @@ packages:
'@typescript-eslint/eslint-plugin':
optional: true
dependencies:
'@typescript-eslint/eslint-plugin': 5.56.0_iskin7c6dxqunwflhstekcjqmq
'@typescript-eslint/eslint-plugin': 5.57.0_5t5646cukn2kik5kiydglap3vi
eslint: 8.36.0
eslint-rule-composer: 0.3.0
dev: true
......@@ -5926,8 +5925,8 @@ packages:
engines: {node: '>=10'}
dev: true
/eslint-visitor-keys/3.3.0:
resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==}
/eslint-visitor-keys/3.4.0:
resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
......@@ -5950,7 +5949,7 @@ packages:
doctrine: 3.0.0
escape-string-regexp: 4.0.0
eslint-scope: 7.1.1
eslint-visitor-keys: 3.3.0
eslint-visitor-keys: 3.4.0
espree: 9.5.0
esquery: 1.5.0
esutils: 2.0.3
......@@ -5993,7 +5992,7 @@ packages:
dependencies:
acorn: 8.8.2
acorn-jsx: 5.3.2_acorn@8.8.2
eslint-visitor-keys: 3.3.0
eslint-visitor-keys: 3.4.0
dev: true
/esquery/1.5.0:
......@@ -7638,7 +7637,7 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
acorn: 8.8.2
eslint-visitor-keys: 3.3.0
eslint-visitor-keys: 3.4.0
espree: 9.5.0
semver: 7.3.8
dev: true
......@@ -10959,7 +10958,7 @@ packages:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
/utils-merge/1.0.1:
resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
resolution: {integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=}
engines: {node: '>= 0.4.0'}
dev: true
......@@ -11245,7 +11244,7 @@ packages:
debug: 4.3.4
eslint: 8.36.0
eslint-scope: 7.1.1
eslint-visitor-keys: 3.3.0
eslint-visitor-keys: 3.4.0
espree: 9.5.0
esquery: 1.5.0
lodash: 4.17.21
......@@ -11721,7 +11720,7 @@ packages:
resolution: {integrity: sha512-OmuvQd5lyIJWfFALc39K5fGqp0aWNc+EtyhVgcQIPZaUKMnTb7An3RMp+QJizJ/x0F4kpgTNe6BL/ctdvoIwIg==}
engines: {node: ^14.17.0 || >=16.0.0}
dependencies:
eslint-visitor-keys: 3.3.0
eslint-visitor-keys: 3.4.0
lodash: 4.17.21
yaml: 2.2.1
dev: true
......
......@@ -2,6 +2,14 @@ import * as path from 'node:path'
import { BrowserWindow, app, shell } from 'electron'
import { electronApp, is, optimizer } from '@electron-toolkit/utils'
// Remove electron security warnings
// This warning only shows in development mode
// Read more on https://www.electronjs.org/docs/latest/tutorial/security
process.env.ELECTRON_DISABLE_SECURITY_WARNINGS = 'true'
process.env.DIST_ELECTRON = path.join(__dirname, '..')
process.env.DIST = path.join(process.env.DIST_ELECTRON, '../dist')
process.env.PUBLIC = app.isPackaged ? __dirname : path.join(process.env.DIST_ELECTRON, '../public')
function createWindow(): void {
// Create the browser window.
const mainWindow = new BrowserWindow({
......@@ -34,7 +42,7 @@ function createWindow(): void {
if (is.dev && process.env.ELECTRON_RENDERER_URL) {
mainWindow.loadURL(process.env.ELECTRON_RENDERER_URL)
} else {
mainWindow.loadFile(path.join(__dirname, '../../index.html'))
mainWindow.loadFile(path.join(process.env.DIST as string, 'index.html'))
}
}
......
{
"compilerOptions": {
"esModuleInterop": true
},
"files": [],
"references": [{ "path": "./tsconfig.web.json" }, { "path": "./tsconfig.node.json" }]
}
......@@ -7,5 +7,13 @@
"/#/*": ["types/*"]
}
},
"include": ["package.json", "electron", "build", "vite.config.ts", "electron.vite.config.ts"]
"include": [
"package.json",
"src-electron",
"build",
"vite.config.ts",
"electron.vite.config.ts",
"types/**/*.d.ts",
"types/**/*.ts"
]
}
......@@ -43,7 +43,8 @@
"build/**/*.ts",
"build/**/*.d.ts",
"mock/**/*.ts",
"vite.config.ts"
"vite.config.ts",
"package.json"
],
"exclude": ["node_modules", "tests/server/**/*.ts", "dist", "**/*.js"]
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论