diff --git a/.gitignore b/.gitignore index 766c0a7..e76932b 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ node_modules dist dist-ssr dist-electron +release *.local .lagzero-dev # Editor directories and files diff --git a/package.json b/package.json index d27745c..cc6cb1d 100644 --- a/package.json +++ b/package.json @@ -16,21 +16,37 @@ "preview": "vite preview", "pack": "electron-builder --dir", "dist": "electron-builder", + "dist:win:x64:nsis": "electron-builder --win nsis --x64", + "dist:win:arm64:nsis": "electron-builder --win nsis --arm64", + "dist:win:x64:portable": "electron-builder --win portable --x64", + "dist:win:arm64:portable": "electron-builder --win portable --arm64", + "dist:win:all": "electron-builder --win nsis portable --x64 --arm64", "test": "vitest run --coverage" }, "build": { "appId": "com.lagzero.client", "productName": "LagZero", + "compression": "maximum", "directories": { "output": "release/${version}" }, "files": [ "dist", - "dist-electron" + "dist-electron", + "!**/*.map", + "!**/node_modules/better-sqlite3/deps/**", + "!**/node_modules/better-sqlite3/src/**", + "!**/node_modules/better-sqlite3/build/**/obj/**", + "!**/node_modules/better-sqlite3/build/**/obj.target/**" ], "asar": true, + "electronLanguages": [ + "en-US", + "zh-CN" + ], "win": { "icon": "public/logo.ico", + "signAndEditExecutable": false, "target": [ { "target": "nsis", @@ -38,9 +54,15 @@ "x64", "arm64" ] + }, + { + "target": "portable", + "arch": [ + "x64", + "arm64" + ] } - ], - "artifactName": "${productName}-Setup-${version}-${os}-${arch}.${ext}" + ] }, "nsis": { "oneClick": false, @@ -48,7 +70,11 @@ "allowToChangeInstallationDirectory": true, "deleteAppDataOnUninstall": true, "installerIcon": "public/logo.ico", - "uninstallerIcon": "public/logo.ico" + "uninstallerIcon": "public/logo.ico", + "artifactName": "${productName}-Setup-${version}-${os}-${arch}.${ext}" + }, + "portable": { + "artifactName": "${productName}-Portable-${version}-${os}-${arch}.${ext}" }, "mac": { "target": [ @@ -78,24 +104,16 @@ ] }, "dependencies": { - "@vueuse/core": "^14.2.0", "adm-zip": "^0.5.16", "better-sqlite3": "^12.6.2", - "echarts": "^6.0.0", "electron-updater": "^6.7.3", "fs-extra": "^11.3.3", - "js-base64": "^3.7.8", "kysely": "^0.28.11", - "pinia": "^3.0.4", - "sortablejs": "^1.15.6", "tar": "^7.5.7", - "uuid": "^13.0.0", - "vue": "^3.5.24", - "vue-i18n": "^11.2.8", - "vue-router": "^5.0.2", - "vuedraggable": "^4.1.0" + "uuid": "^13.0.0" }, "devDependencies": { + "@vueuse/core": "^14.2.0", "@iconify-json/carbon": "^1.2.18", "@iconify-json/material-symbols": "^1.2.54", "@types/adm-zip": "^0.5.7", @@ -108,11 +126,15 @@ "@vitejs/plugin-vue": "^6.0.1", "@vitest/coverage-v8": "^4.0.18", "@vue/tsconfig": "^0.8.1", + "echarts": "^6.0.0", "electron": "^40.2.1", "electron-builder": "^26.7.0", "happy-dom": "^20.5.3", + "js-base64": "^3.7.8", "naive-ui": "^2.43.2", + "pinia": "^3.0.4", "sass": "^1.97.3", + "sortablejs": "^1.15.6", "typescript": "~5.9.3", "unocss": "^66.6.0", "unplugin-auto-import": "^21.0.0", @@ -122,6 +144,10 @@ "vite-plugin-electron": "^0.29.0", "vite-plugin-electron-renderer": "^0.14.6", "vitest": "^4.0.18", + "vue": "^3.5.24", + "vue-i18n": "^11.2.8", + "vue-router": "^5.0.2", + "vuedraggable": "^4.1.0", "vue-tsc": "^3.1.4" } -} \ No newline at end of file +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 63a0aa2..daf91c3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,54 +8,27 @@ importers: .: dependencies: - '@vueuse/core': - specifier: ^14.2.0 - version: 14.2.0(vue@3.5.27(typescript@5.9.3)) adm-zip: specifier: ^0.5.16 version: 0.5.16 better-sqlite3: specifier: ^12.6.2 version: 12.6.2 - echarts: - specifier: ^6.0.0 - version: 6.0.0 electron-updater: specifier: ^6.7.3 version: 6.7.3 fs-extra: specifier: ^11.3.3 version: 11.3.3 - js-base64: - specifier: ^3.7.8 - version: 3.7.8 kysely: specifier: ^0.28.11 version: 0.28.11 - pinia: - specifier: ^3.0.4 - version: 3.0.4(typescript@5.9.3)(vue@3.5.27(typescript@5.9.3)) - sortablejs: - specifier: ^1.15.6 - version: 1.15.6 tar: specifier: ^7.5.7 version: 7.5.7 uuid: specifier: ^13.0.0 version: 13.0.0 - vue: - specifier: ^3.5.24 - version: 3.5.27(typescript@5.9.3) - vue-i18n: - specifier: ^11.2.8 - version: 11.2.8(vue@3.5.27(typescript@5.9.3)) - vue-router: - specifier: ^5.0.2 - version: 5.0.2(@vue/compiler-sfc@3.5.27)(pinia@3.0.4(typescript@5.9.3)(vue@3.5.27(typescript@5.9.3)))(vue@3.5.27(typescript@5.9.3)) - vuedraggable: - specifier: ^4.1.0 - version: 4.1.0(vue@3.5.27(typescript@5.9.3)) devDependencies: '@iconify-json/carbon': specifier: ^1.2.18 @@ -93,6 +66,12 @@ importers: '@vue/tsconfig': specifier: ^0.8.1 version: 0.8.1(typescript@5.9.3)(vue@3.5.27(typescript@5.9.3)) + '@vueuse/core': + specifier: ^14.2.0 + version: 14.2.0(vue@3.5.27(typescript@5.9.3)) + echarts: + specifier: ^6.0.0 + version: 6.0.0 electron: specifier: ^40.2.1 version: 40.2.1 @@ -102,12 +81,21 @@ importers: happy-dom: specifier: ^20.5.3 version: 20.5.3 + js-base64: + specifier: ^3.7.8 + version: 3.7.8 naive-ui: specifier: ^2.43.2 version: 2.43.2(vue@3.5.27(typescript@5.9.3)) + pinia: + specifier: ^3.0.4 + version: 3.0.4(typescript@5.9.3)(vue@3.5.27(typescript@5.9.3)) sass: specifier: ^1.97.3 version: 1.97.3 + sortablejs: + specifier: ^1.15.6 + version: 1.15.6 typescript: specifier: ~5.9.3 version: 5.9.3 @@ -135,9 +123,21 @@ importers: vitest: specifier: ^4.0.18 version: 4.0.18(@types/node@24.10.12)(happy-dom@20.5.3)(jiti@2.6.1)(sass@1.97.3)(yaml@2.8.2) + vue: + specifier: ^3.5.24 + version: 3.5.27(typescript@5.9.3) + vue-i18n: + specifier: ^11.2.8 + version: 11.2.8(vue@3.5.27(typescript@5.9.3)) + vue-router: + specifier: ^5.0.2 + version: 5.0.2(@vue/compiler-sfc@3.5.27)(pinia@3.0.4(typescript@5.9.3)(vue@3.5.27(typescript@5.9.3)))(vue@3.5.27(typescript@5.9.3)) vue-tsc: specifier: ^3.1.4 version: 3.2.4(typescript@5.9.3) + vuedraggable: + specifier: ^4.1.0 + version: 4.1.0(vue@3.5.27(typescript@5.9.3)) packages: