fix electron builds
This commit is contained in:
parent
e72ac11fbe
commit
b608f7bf4c
5 changed files with 44 additions and 30 deletions
|
|
@ -2,6 +2,7 @@ const { app, shell, session, BrowserWindow } = require('electron');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const server = require('@gridspace/app-server');
|
const server = require('@gridspace/app-server');
|
||||||
|
|
||||||
|
const pkgd = app.isPackaged;
|
||||||
const basDir = __dirname;
|
const basDir = __dirname;
|
||||||
const usrDir = app.getPath("userData");
|
const usrDir = app.getPath("userData");
|
||||||
const appDir = path.join(usrDir, 'gapp');
|
const appDir = path.join(usrDir, 'gapp');
|
||||||
|
|
@ -28,9 +29,9 @@ server({
|
||||||
data: datDir,
|
data: datDir,
|
||||||
conf: cnfDir,
|
conf: cnfDir,
|
||||||
logs: logDir,
|
logs: logDir,
|
||||||
cache: path.join(basDir, "data", "cache"),
|
|
||||||
single: true,
|
single: true,
|
||||||
electron: true,
|
electron: true,
|
||||||
|
pkgd,
|
||||||
debug
|
debug
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
29
app.js
29
app.js
|
|
@ -26,7 +26,6 @@ let forceUseCache = false;
|
||||||
let serviceWorker = true;
|
let serviceWorker = true;
|
||||||
let crossOrigin = false;
|
let crossOrigin = false;
|
||||||
let setupFn;
|
let setupFn;
|
||||||
let cacheDir;
|
|
||||||
let startTime;
|
let startTime;
|
||||||
let oversion;
|
let oversion;
|
||||||
let dversion;
|
let dversion;
|
||||||
|
|
@ -71,8 +70,6 @@ function init(mod) {
|
||||||
|
|
||||||
if (ENV.single) console.log({ cwd: process.cwd(), env: ENV });
|
if (ENV.single) console.log({ cwd: process.cwd(), env: ENV });
|
||||||
dversion = debug ? `_${version}` : version;
|
dversion = debug ? `_${version}` : version;
|
||||||
cacheDir = ENV.cache || mod.util.datadir("cache");
|
|
||||||
if (ENV.single) logger.log({ cacheDir });
|
|
||||||
forceUseCache = ENV.cache ? true : false;
|
forceUseCache = ENV.cache ? true : false;
|
||||||
|
|
||||||
const approot = PATH.join("main","gapp");
|
const approot = PATH.join("main","gapp");
|
||||||
|
|
@ -80,7 +77,9 @@ function init(mod) {
|
||||||
const callstack = [];
|
const callstack = [];
|
||||||
let xxxx = false;
|
let xxxx = false;
|
||||||
|
|
||||||
generateDevices();
|
if (!ENV.electron) {
|
||||||
|
generateDevices();
|
||||||
|
}
|
||||||
|
|
||||||
mod.on.test((req) => {
|
mod.on.test((req) => {
|
||||||
let cookie = cookieValue(req.headers.cookie, "version") || undefined;
|
let cookie = cookieValue(req.headers.cookie, "version") || undefined;
|
||||||
|
|
@ -224,12 +223,17 @@ function initModule(mod, file, dir) {
|
||||||
logger: log.new
|
logger: log.new
|
||||||
},
|
},
|
||||||
inject: (code, file, opt = {}) => {
|
inject: (code, file, opt = {}) => {
|
||||||
const body = fs.readFileSync(dir + '/' + file);
|
const path = mod.dir + '/' + dir + '/' + file;
|
||||||
// console.log({ inject: code, file, opt });
|
try {
|
||||||
if (opt.first) {
|
const body = fs.readFileSync(path);
|
||||||
append[code] = body.toString() + '\n' + append[code];
|
// console.log({ inject: code, file, opt });
|
||||||
} else {
|
if (opt.first) {
|
||||||
append[code] += body.toString() + '\n';
|
append[code] = body.toString() + '\n' + append[code];
|
||||||
|
} else {
|
||||||
|
append[code] += body.toString() + '\n';
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.log({ missing_file: path, dir, mod });
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
path: {
|
path: {
|
||||||
|
|
@ -388,11 +392,6 @@ function serveWasm(req, res, next) {
|
||||||
|
|
||||||
// pack/concat device script strings to inject into /code/ scripts
|
// pack/concat device script strings to inject into /code/ scripts
|
||||||
function generateDevices() {
|
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 root = PATH.join(dir,"src","kiri-dev");
|
||||||
let devs = {};
|
let devs = {};
|
||||||
fs.readdirSync(root).forEach(type => {
|
fs.readdirSync(root).forEach(type => {
|
||||||
|
|
|
||||||
|
|
@ -30,8 +30,8 @@ fs.copySync("mods", modsTmp, { dereference: true, filter:(src,dst) => {
|
||||||
} });
|
} });
|
||||||
|
|
||||||
// create minified asset cache
|
// create minified asset cache
|
||||||
server({
|
// server({
|
||||||
electron: true,
|
// electron: true,
|
||||||
dryrun: true,
|
// dryrun: true,
|
||||||
single: true
|
// single: true
|
||||||
});
|
// });
|
||||||
|
|
|
||||||
11
package.json
11
package.json
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "grid-apps",
|
"name": "grid-apps",
|
||||||
"version": "4.2.0",
|
"version": "4.3.0",
|
||||||
"description": "grid.space 3d slicing & modeling tools",
|
"description": "grid.space 3d slicing & modeling tools",
|
||||||
"author": "Stewart Allen <sa@grid.space>",
|
"author": "Stewart Allen <sa@grid.space>",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
|
@ -32,7 +32,7 @@
|
||||||
"slicer"
|
"slicer"
|
||||||
],
|
],
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18.0.0"
|
"node": ">=22.0.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fortawesome/fontawesome-free": "^6.1.1",
|
"@fortawesome/fontawesome-free": "^6.1.1",
|
||||||
|
|
@ -178,8 +178,12 @@
|
||||||
"nsis": {
|
"nsis": {
|
||||||
"oneClick": false,
|
"oneClick": false,
|
||||||
"allowToChangeInstallationDirectory": true,
|
"allowToChangeInstallationDirectory": true,
|
||||||
|
"differentialPackage": false,
|
||||||
"allowElevation": true
|
"allowElevation": true
|
||||||
},
|
},
|
||||||
|
"dmg": {
|
||||||
|
"writeUpdateInfo": false
|
||||||
|
},
|
||||||
"mac": {
|
"mac": {
|
||||||
"icon": "bin/GS.icns",
|
"icon": "bin/GS.icns",
|
||||||
"category": "public.app-category.utilities",
|
"category": "public.app-category.utilities",
|
||||||
|
|
@ -188,8 +192,7 @@
|
||||||
"entitlements": "bin/electron-entitlements.plist",
|
"entitlements": "bin/electron-entitlements.plist",
|
||||||
"entitlementsInherit": "bin/electron-entitlements.plist",
|
"entitlementsInherit": "bin/electron-entitlements.plist",
|
||||||
"target": [
|
"target": [
|
||||||
"dmg",
|
"dmg"
|
||||||
"zip"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"linux": {
|
"linux": {
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,12 @@ async function appendExtraModules(extras, outfile, minify = false) {
|
||||||
console.log(`Appended ${files.length} module(s) to ${outfile}`);
|
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() {
|
async function buildApp() {
|
||||||
try {
|
try {
|
||||||
// Bundle mesh main app
|
// Bundle mesh main app
|
||||||
|
|
@ -62,7 +68,8 @@ async function buildApp() {
|
||||||
platform: 'browser',
|
platform: 'browser',
|
||||||
define: {
|
define: {
|
||||||
'process.env.NODE_ENV': `"${mode}"`
|
'process.env.NODE_ENV': `"${mode}"`
|
||||||
}
|
},
|
||||||
|
logOverride
|
||||||
});
|
});
|
||||||
|
|
||||||
appendExtraModules(MESH_EXTRAS, MESH_OUTFILE, isProd);
|
appendExtraModules(MESH_EXTRAS, MESH_OUTFILE, isProd);
|
||||||
|
|
@ -80,7 +87,8 @@ async function buildApp() {
|
||||||
platform: 'browser',
|
platform: 'browser',
|
||||||
define: {
|
define: {
|
||||||
'process.env.NODE_ENV': `"${mode}"`
|
'process.env.NODE_ENV': `"${mode}"`
|
||||||
}
|
},
|
||||||
|
logOverride
|
||||||
});
|
});
|
||||||
|
|
||||||
// Bundle kiri main app
|
// Bundle kiri main app
|
||||||
|
|
@ -96,7 +104,8 @@ async function buildApp() {
|
||||||
platform: 'browser',
|
platform: 'browser',
|
||||||
define: {
|
define: {
|
||||||
'process.env.NODE_ENV': `"${mode}"`
|
'process.env.NODE_ENV': `"${mode}"`
|
||||||
}
|
},
|
||||||
|
logOverride
|
||||||
});
|
});
|
||||||
|
|
||||||
appendExtraModules(KIRI_EXTRAS, KIRI_OUTFILE, isProd);
|
appendExtraModules(KIRI_EXTRAS, KIRI_OUTFILE, isProd);
|
||||||
|
|
@ -114,7 +123,8 @@ async function buildApp() {
|
||||||
platform: 'browser',
|
platform: 'browser',
|
||||||
define: {
|
define: {
|
||||||
'process.env.NODE_ENV': `"${mode}"`
|
'process.env.NODE_ENV': `"${mode}"`
|
||||||
}
|
},
|
||||||
|
logOverride
|
||||||
});
|
});
|
||||||
|
|
||||||
// Bundle kiri minion
|
// Bundle kiri minion
|
||||||
|
|
@ -130,7 +140,8 @@ async function buildApp() {
|
||||||
platform: 'browser',
|
platform: 'browser',
|
||||||
define: {
|
define: {
|
||||||
'process.env.NODE_ENV': `"${mode}"`
|
'process.env.NODE_ENV': `"${mode}"`
|
||||||
}
|
},
|
||||||
|
logOverride
|
||||||
});
|
});
|
||||||
|
|
||||||
console.log(`Build completed successfully in ${mode} mode!`);
|
console.log(`Build completed successfully in ${mode} mode!`);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue