Update Electron main process for production readiness and app protocol handling
- Register `app://` protocol for secure file handling in production. - Adjust icon paths to support macOS and Windows/Linux distinctions. - Enhance security by validating file paths under the `out/` directory. - Replace `file://` accesses with the `app://` protocol. - Update `package.json` build scripts for platform-specific builds and refined output directory structure. - Modify main and login window settings for improved compatibility across all platforms.
This commit is contained in:
27
package.json
27
package.json
@@ -5,17 +5,11 @@
|
||||
"type": "module",
|
||||
"main": "dist/electron/main.js",
|
||||
"scripts": {
|
||||
"dev:next": "next dev -p 4000",
|
||||
"dev:electron": "NODE_ENV=development PORT=4000 electron -r tsx/cjs electron/main.ts",
|
||||
"dev": "concurrently \"npm run dev:next\" \"wait-on http://localhost:4000 && npm run dev:electron\"",
|
||||
"build:next": "next build",
|
||||
"build:electron": "tsc --project tsconfig.electron.json && tsc --project tsconfig.preload.json",
|
||||
"build": "npm run build:next && npm run build:electron",
|
||||
"start": "electron .",
|
||||
"package": "npm run build && electron-builder build --mac --win --linux",
|
||||
"package:mac": "npm run build && electron-builder build --mac",
|
||||
"package:win": "npm run build && electron-builder build --win",
|
||||
"package:linux": "npm run build && electron-builder build --linux"
|
||||
"dev": "concurrently \"next dev -p 4000\" \"wait-on http://localhost:4000 && electron -r tsx/cjs electron/main.ts\"",
|
||||
"build:mac": "next build && tsc --project tsconfig.electron.json && tsc --project tsconfig.preload.json && electron-builder build --mac",
|
||||
"build:win": "next build && tsc --project tsconfig.electron.json && tsc --project tsconfig.preload.json && electron-builder build --win",
|
||||
"build:linux": "next build && tsc --project tsconfig.electron.json && tsc --project tsconfig.preload.json && electron-builder build --linux",
|
||||
"build:all": "next build && tsc --project tsconfig.electron.json && tsc --project tsconfig.preload.json && electron-builder build --mac --win --linux"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
@@ -71,17 +65,22 @@
|
||||
"tailwindcss": "^4.1.17"
|
||||
},
|
||||
"build": {
|
||||
"appId": "com.eritorsscribe.app",
|
||||
"productName": "EritorsScribe",
|
||||
"appId": "com.eritors.scribe.desktop",
|
||||
"productName": "ERitors Scribe",
|
||||
"files": [
|
||||
"dist/**/*",
|
||||
"out/**/*",
|
||||
"build/**/*",
|
||||
"package.json"
|
||||
],
|
||||
"asarUnpack": [
|
||||
"out/**/*"
|
||||
],
|
||||
"directories": {
|
||||
"output": "release"
|
||||
},
|
||||
"mac": {
|
||||
"icon": "build/icons/mac/icon.icns",
|
||||
"target": [
|
||||
"dmg",
|
||||
"zip"
|
||||
@@ -93,6 +92,7 @@
|
||||
"entitlementsInherit": "build/entitlements.mac.plist"
|
||||
},
|
||||
"win": {
|
||||
"icon": "build/icons/win/icon.ico",
|
||||
"target": [
|
||||
{
|
||||
"target": "nsis",
|
||||
@@ -104,6 +104,7 @@
|
||||
]
|
||||
},
|
||||
"linux": {
|
||||
"icon": "build/icons/png",
|
||||
"target": [
|
||||
"AppImage",
|
||||
"deb"
|
||||
|
||||
Reference in New Issue
Block a user