fix electron builds

This commit is contained in:
Stewart Allen 2025-07-07 22:29:45 -04:00
commit b608f7bf4c
5 changed files with 44 additions and 30 deletions

View file

@ -2,6 +2,7 @@ const { app, shell, session, BrowserWindow } = require('electron');
const path = require('path');
const server = require('@gridspace/app-server');
const pkgd = app.isPackaged;
const basDir = __dirname;
const usrDir = app.getPath("userData");
const appDir = path.join(usrDir, 'gapp');
@ -28,9 +29,9 @@ server({
data: datDir,
conf: cnfDir,
logs: logDir,
cache: path.join(basDir, "data", "cache"),
single: true,
electron: true,
pkgd,
debug
});

17
app.js
View file

@ -26,7 +26,6 @@ let forceUseCache = false;
let serviceWorker = true;
let crossOrigin = false;
let setupFn;
let cacheDir;
let startTime;
let oversion;
let dversion;
@ -71,8 +70,6 @@ function init(mod) {
if (ENV.single) console.log({ cwd: process.cwd(), env: ENV });
dversion = debug ? `_${version}` : version;
cacheDir = ENV.cache || mod.util.datadir("cache");
if (ENV.single) logger.log({ cacheDir });
forceUseCache = ENV.cache ? true : false;
const approot = PATH.join("main","gapp");
@ -80,7 +77,9 @@ function init(mod) {
const callstack = [];
let xxxx = false;
if (!ENV.electron) {
generateDevices();
}
mod.on.test((req) => {
let cookie = cookieValue(req.headers.cookie, "version") || undefined;
@ -224,13 +223,18 @@ function initModule(mod, file, dir) {
logger: log.new
},
inject: (code, file, opt = {}) => {
const body = fs.readFileSync(dir + '/' + file);
const path = mod.dir + '/' + dir + '/' + file;
try {
const body = fs.readFileSync(path);
// console.log({ inject: code, file, opt });
if (opt.first) {
append[code] = body.toString() + '\n' + append[code];
} else {
append[code] += body.toString() + '\n';
}
} catch (e) {
console.log({ missing_file: path, dir, mod });
}
},
path: {
any: arg => { mod.add(arg) },
@ -388,11 +392,6 @@ function serveWasm(req, res, next) {
// pack/concat device script strings to inject into /code/ scripts
function generateDevices() {
if (process.versions.electron) {
// bail when running inside electron
console.log('skipping device generation in electron');
return;
}
let root = PATH.join(dir,"src","kiri-dev");
let devs = {};
fs.readdirSync(root).forEach(type => {

View file

@ -30,8 +30,8 @@ fs.copySync("mods", modsTmp, { dereference: true, filter:(src,dst) => {
} });
// create minified asset cache
server({
electron: true,
dryrun: true,
single: true
});
// server({
// electron: true,
// dryrun: true,
// single: true
// });

View file

@ -1,6 +1,6 @@
{
"name": "grid-apps",
"version": "4.2.0",
"version": "4.3.0",
"description": "grid.space 3d slicing & modeling tools",
"author": "Stewart Allen <sa@grid.space>",
"license": "MIT",
@ -32,7 +32,7 @@
"slicer"
],
"engines": {
"node": ">=18.0.0"
"node": ">=22.0.0"
},
"dependencies": {
"@fortawesome/fontawesome-free": "^6.1.1",
@ -178,8 +178,12 @@
"nsis": {
"oneClick": false,
"allowToChangeInstallationDirectory": true,
"differentialPackage": false,
"allowElevation": true
},
"dmg": {
"writeUpdateInfo": false
},
"mac": {
"icon": "bin/GS.icns",
"category": "public.app-category.utilities",
@ -188,8 +192,7 @@
"entitlements": "bin/electron-entitlements.plist",
"entitlementsInherit": "bin/electron-entitlements.plist",
"target": [
"dmg",
"zip"
"dmg"
]
},
"linux": {

View file

@ -47,6 +47,12 @@ async function appendExtraModules(extras, outfile, minify = false) {
console.log(`Appended ${files.length} module(s) to ${outfile}`);
}
const logOverride = {
'duplicate-class-member': 'silent',
'duplicate-object-key': 'silent',
'direct-eval': 'silent'
};
async function buildApp() {
try {
// Bundle mesh main app
@ -62,7 +68,8 @@ async function buildApp() {
platform: 'browser',
define: {
'process.env.NODE_ENV': `"${mode}"`
}
},
logOverride
});
appendExtraModules(MESH_EXTRAS, MESH_OUTFILE, isProd);
@ -80,7 +87,8 @@ async function buildApp() {
platform: 'browser',
define: {
'process.env.NODE_ENV': `"${mode}"`
}
},
logOverride
});
// Bundle kiri main app
@ -96,7 +104,8 @@ async function buildApp() {
platform: 'browser',
define: {
'process.env.NODE_ENV': `"${mode}"`
}
},
logOverride
});
appendExtraModules(KIRI_EXTRAS, KIRI_OUTFILE, isProd);
@ -114,7 +123,8 @@ async function buildApp() {
platform: 'browser',
define: {
'process.env.NODE_ENV': `"${mode}"`
}
},
logOverride
});
// Bundle kiri minion
@ -130,7 +140,8 @@ async function buildApp() {
platform: 'browser',
define: {
'process.env.NODE_ENV': `"${mode}"`
}
},
logOverride
});
console.log(`Build completed successfully in ${mode} mode!`);