wip-electron

This commit is contained in:
Ramnique Singh 2025-12-23 18:26:32 +05:30
parent c637cb49ac
commit 2491bacea1
17 changed files with 8098 additions and 517 deletions

2
apps/electron/.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
node_modules/
out/

View file

@ -0,0 +1,44 @@
const { FusesPlugin } = require('@electron-forge/plugin-fuses');
const { FuseV1Options, FuseVersion } = require('@electron/fuses');
module.exports = {
packagerConfig: {
asar: true,
},
rebuildConfig: {},
makers: [
{
name: '@electron-forge/maker-squirrel',
config: {},
},
{
name: '@electron-forge/maker-zip',
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,
}),
],
};

18
apps/electron/main.js Normal file
View file

@ -0,0 +1,18 @@
const { app, BrowserWindow } = require('electron');
const path = require('node:path');
const createWindow = () => {
const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
preload: path.join(__dirname, 'preload.js')
},
});
win.loadURL('http://localhost:8080');
};
app.whenReady().then(() => {
createWindow();
});

7869
apps/electron/package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,28 @@
{
"name": "electron",
"version": "1.0.0",
"main": "main.js",
"scripts": {
"start": "electron-forge start",
"test": "echo \"Error: no test specified\" && exit 1",
"package": "electron-forge package",
"make": "electron-forge make"
},
"author": "",
"license": "ISC",
"description": "",
"devDependencies": {
"@electron-forge/cli": "^7.10.2",
"@electron-forge/maker-deb": "^7.10.2",
"@electron-forge/maker-rpm": "^7.10.2",
"@electron-forge/maker-squirrel": "^7.10.2",
"@electron-forge/maker-zip": "^7.10.2",
"@electron-forge/plugin-auto-unpack-natives": "^7.10.2",
"@electron-forge/plugin-fuses": "^7.10.2",
"@electron/fuses": "^1.8.0",
"electron": "^39.2.7"
},
"dependencies": {
"electron-squirrel-startup": "^1.0.1"
}
}

5
apps/electron/preload.js Normal file
View file

@ -0,0 +1,5 @@
const { contextBridge } = require('electron');
contextBridge.exposeInMainWorld('config', {
apiBase: process.env.API_BASE,
});