Add working production build

This commit is contained in:
2025-08-24 23:56:52 +03:00
Unverified
parent 8348547baa
commit f7829f30d8
4 changed files with 99 additions and 2 deletions
+48
View File
@@ -0,0 +1,48 @@
import { FusesPlugin } from '@electron-forge/plugin-fuses';
import { FuseV1Options, FuseVersion } from '@electron/fuses';
import type { ForgeConfig } from "@electron-forge/shared-types";
const config: ForgeConfig = {
packagerConfig: {
asar: true
},
rebuildConfig: {},
makers: [
{
name: '@electron-forge/maker-squirrel',
config: {},
},
{
name: '@electron-forge/maker-zip',
config: {},
platforms: ['darwin'],
},
{
name: '@electron-forge/maker-deb',
config: {},
},
{
name: '@electron-forge/maker-rpm',
config: {},
},
],
plugins: [
{
name: '@electron-forge/plugin-auto-unpack-natives',
config: {},
},
// Fuses are used to enable/disable various Electron functionality
// at package time, before code signing the application
new FusesPlugin({
version: FuseVersion.V1,
[FuseV1Options.RunAsNode]: false,
[FuseV1Options.EnableCookieEncryption]: true,
[FuseV1Options.EnableNodeOptionsEnvironmentVariable]: false,
[FuseV1Options.EnableNodeCliInspectArguments]: false,
[FuseV1Options.EnableEmbeddedAsarIntegrityValidation]: true,
[FuseV1Options.OnlyLoadAppFromAsar]: true,
}),
],
};
export default config;
+13
View File
@@ -0,0 +1,13 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Hello World!</title>
</head>
<body>
<h1>💖 Hello World!</h1>
<p>Welcome to your Electron application.</p>
<script type="module" src="/src/renderer.js"></script>
</body>
</html>
+33
View File
@@ -0,0 +1,33 @@
{
"name": "FromChat",
"productName": "FromChat",
"version": "1.0.0",
"description": "A 100% Open Source Messenger",
"main": "dist-electron/main.js",
"scripts": {
"package": "electron-forge package",
"make": "electron-forge make",
"publish": "electron-forge publish"
},
"keywords": [],
"author": {
"name": "denis0001-dev",
"email": "denis0001.dev@ya.ru"
},
"license": "GPL-2.0",
"devDependencies": {
"@electron-forge/cli": "^7.8.3",
"@electron-forge/maker-deb": "^7.8.3",
"@electron-forge/maker-rpm": "^7.8.3",
"@electron-forge/maker-squirrel": "^7.8.3",
"@electron-forge/maker-zip": "^7.8.3",
"@electron-forge/plugin-auto-unpack-natives": "^7.8.3",
"@electron-forge/plugin-fuses": "^7.8.3",
"@electron/fuses": "^1.8.0",
"electron": "37.3.1",
"vite": "^5.4.19"
},
"dependencies": {
"electron-squirrel-startup": "^1.0.1"
}
}
+5 -2
View File
@@ -12,16 +12,19 @@
"frontend:dev": "vite frontend",
"frontend:build": "tsc --project frontend && vite build frontend",
"frontend:electron:dev": "VITE_ELECTRON=true npm run frontend:dev",
"frontend:electron:dependencies": "cd frontend/electron/forge && npm install",
"frontend:electron:build": "VITE_ELECTRON=true npm run frontend:build && cp -r frontend/dist frontend/dist-electron frontend/electron/forge && cd frontend/electron/forge && npm run make",
"frontend:preview": "vite preview frontend",
"frontend:dependencies": "npm install --ignore-scripts",
"frontend:clean": "rm -rf frontend/dist",
"dev": "concurrently 'npm run frontend:dev' 'npm run backend:run'",
"dev:electron": "concurrently 'npm run frontend:electron:dev' 'npm run backend:run'",
"build": "npm run frontend:build",
"build:electron": "npm run frontend:electron:build",
"build": "npm run frontend:build && npm run build:electron",
"preview": "cd deployment && docker compose up --build --watch",
"preview:clean": "cd deployment && docker compose down -v",
"clean": "npm run backend:clean && npm run frontend:clean && npm run preview:clean",
"install": "npm run backend:dependencies && cp deployment/.env.example deployment/.env"
"install": "npm run backend:dependencies && npm run frontend:electron:dependencies && cp deployment/.env.example deployment/.env"
},
"devDependencies": {
"autoprefixer": "^10.4.21",