feat(electron): improve electron build configuration

- Add dedicated electron build scripts for each platform
- Configure Vite rollup options for electron builds
- Update electron-builder configuration with proper app metadata
- Add clean script and rimraf dependency
- Set proper appId and build settings for production builds
- Enable asar packaging for better security
This commit is contained in:
Matthew Raymer
2025-02-12 03:44:05 +00:00
parent 8d8b90ac19
commit c9f78ae09b
5 changed files with 276 additions and 71 deletions

View File

@@ -1,6 +1,10 @@
{
"name": "TimeSafari",
"version": "0.3.54-beta",
"description": "TimeSafari Desktop Application",
"author": {
"name": "TimeSafari Team"
},
"scripts": {
"dev": "vite",
"serve": "vite preview",
@@ -9,7 +13,14 @@
"lint-fix": "eslint --ext .js,.ts,.vue --ignore-path .gitignore --fix src",
"prebuild": "eslint --ext .js,.ts,.vue --ignore-path .gitignore src && node sw_combine.js",
"test-local": "npx playwright test -c playwright.config-local.ts --trace on",
"test-all": "npm run build && npx playwright test -c playwright.config-local.ts --trace on"
"test-all": "npm run build && npx playwright test -c playwright.config-local.ts --trace on",
"clean:electron": "rimraf dist-electron dist-electron-build",
"build:electron": "npm run clean:electron && vite build --mode electron && node scripts/build-electron.js",
"build:capacitor": "vite build --mode capacitor",
"build:web": "vite build",
"electron:build:linux": "npm run build:electron && electron-builder --linux",
"electron:build:mac": "npm run build:electron && npx electron-builder --mac",
"electron:build:win": "npm run build:electron && npx electron-builder --win"
},
"dependencies": {
"@capacitor/android": "^6.2.0",
@@ -104,30 +115,31 @@
"npm-check-updates": "^17.1.13",
"postcss": "^8.4.38",
"prettier": "^3.2.5",
"rimraf": "^6.0.1",
"tailwindcss": "^3.4.1",
"typescript": "~5.2.2",
"vite": "^5.2.0",
"vite-plugin-pwa": "^0.19.8"
},
"main": "main.js",
"build": {
"appId": "com.example.app",
"appId": "app.timesafari.app",
"productName": "TimeSafari",
"directories": {
"output": "dist-electron-build"
},
"files": [
"dist-electron/**",
"src/electron/**"
{
"from": "dist-electron",
"to": ".",
"filter": ["**/*"]
}
],
"mac": {
"target": "dmg"
},
"win": {
"target": "nsis"
},
"linux": {
"target": "AppImage"
"target": ["AppImage"],
"category": "Utility",
"icon": "build/icons"
},
"asar": false
"asar": true
}
}
}