Migrate app from Tauri to Electron

Replace the Tauri/sidecar architecture with an Electron main process. Adds an electron/ directory (main, preload, handlers, core integrations for @xmcl/*), electron-builder.yml, TypeScript electron config and declarations, and updated IPC utilities (ipc.ts) so frontend uses ipcRenderer/ipcMain. Removes Tauri sidecar and src-tauri artifacts, deletes sidecar sources and keys, updates .gitignore, VSCode recommendations, package scripts and icons, and updates documentation (README, AGENTS, DEV) and frontend stores/apis to reflect the Electron-based architecture and config/auth persistence changes.
This commit is contained in:
2026-06-28 03:37:07 +08:00
parent 5b2e2860de
commit 9cb6a6e571
152 changed files with 8449 additions and 9562 deletions
+32 -20
View File
@@ -1,53 +1,65 @@
{
"name": "koring-launcher",
"private": true,
"version": "0.1.0",
"type": "module",
"version": "1.0.0",
"description": "Koring Launcher - Minecraft launcher built with Electron + React",
"author": "Lingke Koring Studio",
"main": "electron/main.js",
"scripts": {
"dev:renderer": "vite --mode development",
"dev:main": "tsc -p tsconfig.electron.json && electron .",
"dev": "pnpm build:main && concurrently \"pnpm dev:renderer\" \"electron .\"",
"build:renderer": "vite build --mode production",
"build:main": "tsc -p tsconfig.electron.json",
"build": "pnpm build:renderer && pnpm build:main",
"preview": "vite preview",
"icon:dev": "node scripts/switch-icon.js dev",
"icon:beta": "node scripts/switch-icon.js beta",
"icon:run": "node scripts/switch-icon.js run",
"dev": "node scripts/switch-icon.js dev && vite --mode development",
"build": "node scripts/switch-icon.js run && tsc && vite build --mode production",
"build:beta": "node scripts/switch-icon.js beta && tsc && vite build --mode beta",
"preview": "vite preview",
"tauri": "tauri",
"dev:t": "node scripts/switch-icon.js dev && tauri dev",
"dev:vs": "./dev-vs.cmd",
"build:vs": "./build-vs.cmd",
"build:beta:vs": "./build-vs.cmd --mode beta"
"pack": "electron-builder --dir",
"dist": "electron-builder",
"dist:win": "electron-builder --win",
"dist:mac": "electron-builder --mac",
"dist:linux": "electron-builder --linux",
"dist:dev": "pnpm icon:dev && electron-builder --win",
"dist:beta": "pnpm icon:beta && electron-builder --win",
"dist:run": "pnpm icon:run && electron-builder --win"
},
"dependencies": {
"@base-ui/react": "^1.6.0",
"@fontsource-variable/geist": "^5.2.9",
"@fontsource-variable/inter": "^5.2.8",
"@react-three/fiber": "^9.6.1",
"@tauri-apps/api": "^2",
"@tauri-apps/plugin-dialog": "^2.7.1",
"@tauri-apps/plugin-fs": "^2.5.1",
"@tauri-apps/plugin-opener": "^2",
"@tauri-apps/plugin-process": "^2.3.1",
"@tauri-apps/plugin-shell": "^2.3.5",
"@tauri-apps/plugin-updater": "^2.10.1",
"@types/three": "^0.184.1",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"js-yaml": "^4.1.0",
"lucide-react": "^1.21.0",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"shadcn": "^4.11.0",
"tailwind-merge": "^3.6.0",
"three": "^0.184.0",
"tw-animate-css": "^1.4.0",
"zustand": "^5.0.14"
},
"pnpm": {
"onlyBuiltDependencies": [
"electron",
"esbuild"
]
},
"devDependencies": {
"@tailwindcss/vite": "^4.3.1",
"@tauri-apps/cli": "^2",
"@types/js-yaml": "^4.0.9",
"@types/react": "^19.1.8",
"@types/react-dom": "^19.1.6",
"@vitejs/plugin-react": "^4.6.0",
"concurrently": "^9.1.0",
"electron": "^33.0.0",
"electron-builder": "^25.1.8",
"shadcn": "^4.11.0",
"tailwindcss": "^4.3.1",
"tsx": "^4.19.0",
"typescript": "~5.8.3",
"vite": "^7.0.4"
}