change electron build context detection, move mods package deps to main package
This commit is contained in:
parent
97fd508e46
commit
99503f5072
7 changed files with 55 additions and 51 deletions
|
|
@ -32,7 +32,7 @@ function createWindow() {
|
|||
height: 900,
|
||||
webPreferences: {
|
||||
// contextIsolation: true,
|
||||
// nodeIntegration: false,
|
||||
// nodeIntegration: true,
|
||||
// sandbox: true,
|
||||
// preload: undefined
|
||||
// nodeIntegration: true,
|
||||
|
|
|
|||
60
app.js
60
app.js
|
|
@ -15,6 +15,10 @@ const license = require_fresh('./src/moto/license.js');
|
|||
const version = license.version || "rogue";
|
||||
const netdb = require('@gridspace/net-level-client');
|
||||
const PATH = require('path');
|
||||
const isElectron = !!process.versions.electron ||
|
||||
process.env.ELECTRON_RUN_AS_NODE === '1' ||
|
||||
process.env.ELECTRON_NO_ATTACH === '1' ||
|
||||
process.env.ELECTRON_BUILD === '1';
|
||||
|
||||
const append = { mesh:'', kiri:'' };
|
||||
const code = {};
|
||||
|
|
@ -32,6 +36,7 @@ let dversion;
|
|||
let lastmod;
|
||||
let logger;
|
||||
let single;
|
||||
let dryrun;
|
||||
let debug;
|
||||
let http;
|
||||
let util;
|
||||
|
|
@ -61,12 +66,14 @@ netdb.create = async function(map = {}) {
|
|||
|
||||
function init(mod) {
|
||||
const ENV = mod.env;
|
||||
const inElectron = isElectron || ENV.electron;
|
||||
|
||||
startTime = time();
|
||||
lastmod = mod.util.lastmod;
|
||||
logger = mod.log;
|
||||
pre = ENV.pre || mod.meta.pre;
|
||||
debug = ENV.debug || mod.meta.debug;
|
||||
dryrun = ENV.dryrun;
|
||||
single = ENV.single;
|
||||
oversion = ENV.over || mod.meta.over;
|
||||
crossOrigin = ENV.xorigin || mod.meta.xorigin || false;
|
||||
|
|
@ -163,8 +170,14 @@ function init(mod) {
|
|||
if (util.isfile(PATH.join(mod.dir,modpath,".disable"))) return;
|
||||
const isDebugMod = util.isfile(PATH.join(mod.dir,modpath,".debug"));
|
||||
const isElectronMod = util.isfile(PATH.join(mod.dir,modpath,".electron"));
|
||||
if (force || (ENV.electron && !isElectronMod)) return;
|
||||
if (force || (!ENV.electron && isElectronMod && !isDebugMod)) return;
|
||||
if (inElectron && !isElectronMod) {
|
||||
logger.log({ skip_non_electron_mod: modpath });
|
||||
return;
|
||||
}
|
||||
if (!inElectron && isElectronMod && !isDebugMod) {
|
||||
logger.log({ skip_electron_mod: modpath });
|
||||
return;
|
||||
}
|
||||
try {
|
||||
loadModule(mod, modpath);
|
||||
} catch (error) {
|
||||
|
|
@ -196,25 +209,30 @@ function init(mod) {
|
|||
}
|
||||
|
||||
// create alt artifacts with module extensions
|
||||
logger.log('creating artifacts', Object.keys(append));
|
||||
for (let [ key, val ] of Object.entries(append)) {
|
||||
let src = `${dir}/src/main/${key}.js`;
|
||||
if (!fs.existsSync(src)) {
|
||||
logger.log('missing', src);
|
||||
continue;
|
||||
if (dryrun || !isElectron) {
|
||||
logger.log('creating artifacts', Object.keys(append));
|
||||
for (let [ key, val ] of Object.entries(append)) {
|
||||
// append mains
|
||||
let src = `${dir}/src/main/${key}.js`;
|
||||
if (!fs.existsSync(src)) {
|
||||
logger.log('missing', src);
|
||||
continue;
|
||||
}
|
||||
fs.mkdirSync(`${dir}/alt/main`, { recursive: true });
|
||||
let body = fs.readFileSync(src);
|
||||
fs.writeFileSync(`${dir}/alt/main/${key}.js`, body + val);
|
||||
// append packed mains
|
||||
src= `${dir}/src/pack/${key}-main.js`;
|
||||
if (!fs.existsSync(src)) {
|
||||
logger.log('missing', src);
|
||||
continue;
|
||||
}
|
||||
fs.mkdirSync(`${dir}/alt/pack`, { recursive: true });
|
||||
body = fs.readFileSync(src);
|
||||
fs.writeFileSync(`${dir}/alt/pack/${key}-main.js`, body + val);
|
||||
}
|
||||
fs.mkdirSync(`${dir}/alt/main`, { recursive: true });
|
||||
let body = fs.readFileSync(src);
|
||||
fs.writeFileSync(`${dir}/alt/main/${key}.js`, body + val);
|
||||
|
||||
src= `${dir}/src/pack/${key}-main.js`;
|
||||
if (!fs.existsSync(src)) {
|
||||
logger.log('missing', src);
|
||||
continue;
|
||||
}
|
||||
fs.mkdirSync(`${dir}/alt/pack`, { recursive: true });
|
||||
body = fs.readFileSync(src);
|
||||
fs.writeFileSync(`${dir}/alt/pack/${key}-main.js`, body + val);
|
||||
} else {
|
||||
logger.log('skipping artifacts');
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -280,11 +298,9 @@ function initModule(mod, file, dir) {
|
|||
const [ path, file ] = [ ...arguments ];
|
||||
if (lastmod(file)) {
|
||||
code[path] = fs.readFileSync(file);
|
||||
// console.log({ CODE: path, file });
|
||||
} else if (lastmod(mod.dir + '/' + file)) {
|
||||
const alt = mod.dir + '/' + file;
|
||||
code[path] = fs.readFileSync(alt);
|
||||
// console.log({ CODE: path, alt });
|
||||
} else {
|
||||
console.log({ MISSING_CODE: path, file });
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,10 +2,13 @@ const fs = require('fs-extra');
|
|||
const path = require('path');
|
||||
const server = require('@gridspace/app-server');
|
||||
|
||||
const altTmp = path.join('tmp','alt');
|
||||
fs.copySync("alt", altTmp, { dereference: true });
|
||||
|
||||
// deref src, web, mod for windows
|
||||
const srcTmp = path.join('tmp','src');
|
||||
fs.copySync("src", srcTmp, { dereference: true, filter:(src) => {
|
||||
return src.indexOf('web/pack') < 0;
|
||||
return true || src.indexOf('src/main') < 0;
|
||||
} });
|
||||
|
||||
const webTmp = path.join('tmp','web');
|
||||
|
|
|
|||
|
|
@ -1,16 +0,0 @@
|
|||
{
|
||||
"name": "grid-apps-mods",
|
||||
"version": "4.1.0",
|
||||
"description": "grid.space app modules",
|
||||
"author": "Stewart Allen <sa@grid.space>",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/gridspace/apps.git"
|
||||
},
|
||||
"dependencies": {
|
||||
"@gridspace/basic-ftp": "^5.0.5",
|
||||
"aedes": "^0.51.3",
|
||||
"hexer": "^1.5.0",
|
||||
"mqtt": "^5.10.3"
|
||||
}
|
||||
}
|
||||
13
package.json
13
package.json
|
|
@ -42,6 +42,7 @@
|
|||
"@gridspace/raster-path": "^1.0.6",
|
||||
"@tracespace/parser": "^5.0.0-next.0",
|
||||
"@tweenjs/tween.js": "^16.6.0",
|
||||
"aedes": "^0.51.3",
|
||||
"base64-js": "^1.5.1",
|
||||
"bootstrap-icons": "^1.11.3",
|
||||
"buffer-crc32": "^0.2.13",
|
||||
|
|
@ -50,10 +51,12 @@
|
|||
"earcut": "^3.0.1",
|
||||
"express-useragent": "^1.0.13",
|
||||
"fast-glob": "^3.3.3",
|
||||
"hexer": "^1.5.0",
|
||||
"i": "^0.3.7",
|
||||
"jszip": "^3.7.1",
|
||||
"manifold-3d": "^3.2.1",
|
||||
"moment": "^2.29.4",
|
||||
"mqtt": "^5.10.3",
|
||||
"npm": "^11.4.2",
|
||||
"prettier": "^3.5.3",
|
||||
"react-responsive-carousel": "^3.2.23",
|
||||
|
|
@ -104,18 +107,18 @@
|
|||
"dryrun-prod": "gs-app-server --single --dryrun",
|
||||
"mac-verify": "spctl --assess -vv --type install dist/*/*.app",
|
||||
"mk-links": "find src web -type l | xargs -I{} sh -c 'echo \"{},$(readlink {})\"' > conf/links.csv",
|
||||
"pack-dev": "npm run dryrun && npm run webpack-src && npm run bundle:dev",
|
||||
"pack-prod": "npm run dryrun && npm run webpack-src prod && npm run bundle",
|
||||
"pack-dev": "npm run webpack-src && npm run dryrun && npm run bundle:dev",
|
||||
"pack-prod": "npm run webpack-src prod && npm run dryrun && npm run bundle",
|
||||
"postbuild": "node bin/electron-post.js",
|
||||
"prebuild": "npm run setup && npm run pack-dev && node bin/electron-pre.js",
|
||||
"prebuild": "export ELECTRON_BUILD=1 && npm run setup && npm run pack-dev && node bin/electron-pre.js",
|
||||
"preinstall": "node bin/install-pre.js",
|
||||
"prod": "npm run pack-prod && gs-app-server",
|
||||
"setup-mods": "cd mods && npm i",
|
||||
"setup": "npm run setup-mods && npm i && npm run clean && npm run webpack-ext",
|
||||
"setup": "npm run clean && npm run setup-mods && npm i && npm run webpack-ext",
|
||||
"start-dbg": "npm run prebuild && electron . --debugg",
|
||||
"start-ddb": "npm run prebuild && electron . --devel --debugg",
|
||||
"start-dev": "npm run prebuild prod && electron . --devel",
|
||||
"start": "npm run prebuild prod && electron .",
|
||||
"start": "npm run prebuild && electron .",
|
||||
"webpack-ext": "npm run webpack-three && npm run webpack-zip",
|
||||
"webpack-src": "node bin/esbuild.config.mjs",
|
||||
"webpack-three": "npx webpack --config bin/webpack-three-esm.js",
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ import { newSlice } from '../../core/slice.js';
|
|||
import { Slicer as topo_slicer } from './slicer_topo.js';
|
||||
import { polygons as POLY } from '../../../geo/polygons.js';
|
||||
import { Tool } from './tool.js';
|
||||
import { poly2polyEmit } from '../../../geo/paths.js';
|
||||
|
||||
const RAD2DEG = 180 / Math.PI;
|
||||
const DEG2RAD = Math.PI / 180;
|
||||
|
|
@ -122,7 +121,7 @@ export class Topo {
|
|||
}
|
||||
|
||||
if (contourY) {
|
||||
console.time('swap XY vertices');
|
||||
// console.time('swap XY vertices');
|
||||
// swap XY vertices
|
||||
for (let i=0; i<vertices.length; i+= 3) {
|
||||
let tmp = vertices[i+1];
|
||||
|
|
@ -135,8 +134,7 @@ export class Topo {
|
|||
ext.x = ext.y;
|
||||
ext.y = tmp;
|
||||
});
|
||||
console.log({ wbounds });
|
||||
console.timeEnd('swap XY vertices');
|
||||
// console.timeEnd('swap XY vertices');
|
||||
}
|
||||
|
||||
let gpu = await self.get_raster_gpu({
|
||||
|
|
|
|||
|
|
@ -74,8 +74,8 @@ self.get_raster_gpu = async function({ mode, resolution, rotationStep }) {
|
|||
resolution,
|
||||
rotationStep,
|
||||
workerName: "/lib/gpu/raster-worker.js",
|
||||
quiet: false,
|
||||
debug: true,
|
||||
quiet: true,
|
||||
debug: false,
|
||||
});
|
||||
await gpu.init();
|
||||
return gpu;
|
||||
|
|
|
|||
Loading…
Reference in a new issue