feat(electron): scaffold electron-vite project structure

Initialize Wave 1 Electron integration with:
- electron v40.6.1, electron-vite v5.0.0, electron-builder v26.8.1
- Main entry point: electron/main/index.ts with app:// protocol registration
- Preload placeholder: electron/preload/index.ts for Wave 2 IPC
- electron.vite.config.ts with unified renderer chunk splitting strategy
- tsconfig.electron.json with ESNext module support
- Updated package.json with electron dependencies and scripts:
  - electron:dev, electron:build, electron:preview
- All original scripts (dev, build, test, etc) remain unchanged
- TypeScript compilation verified: tsc --noEmit passes
- Ready for Wave 2: IPC bridge and contextBridge exposure
This commit is contained in:
DrSmoothl
2026-03-02 22:49:01 +08:00
parent 91765400f6
commit e6862e227b
6 changed files with 301 additions and 2 deletions

View File

@@ -3,6 +3,7 @@
"private": true,
"version": "1.0.0",
"type": "module",
"main": "./out/main/index.js",
"scripts": {
"dev": "vite",
"build": "tsc -b && vite build",
@@ -10,7 +11,10 @@
"preview": "vite preview",
"format": "prettier --write \"src/**/*.{ts,tsx,css}\"",
"test": "vitest",
"test:ui": "vitest --ui"
"test:ui": "vitest --ui",
"electron:dev": "electron-vite dev",
"electron:build": "electron-vite build",
"electron:preview": "electron-vite preview"
},
"dependencies": {
"@codemirror/lang-css": "^6.3.1",
@@ -88,6 +92,9 @@
"@vitejs/plugin-react": "^5.1.2",
"@vitest/ui": "^4.0.18",
"autoprefixer": "^10.4.22",
"electron": "^40.6.1",
"electron-builder": "^26.8.1",
"electron-vite": "^5.0.0",
"eslint": "^9.39.1",
"eslint-plugin-react-hooks": "^7.0.1",
"eslint-plugin-react-refresh": "^0.4.24",