fix main server.js
This commit is contained in:
parent
b28b0462ff
commit
72e4c71d61
File diff suppressed because one or more lines are too long
|
|
@ -29,7 +29,8 @@ export const initServer = async (
|
||||||
}
|
}
|
||||||
|
|
||||||
code.internal.server[id_site] = {
|
code.internal.server[id_site] = {
|
||||||
rebuilding: false, ts: 0,
|
rebuilding: false,
|
||||||
|
ts: 0,
|
||||||
ctx: await context({
|
ctx: await context({
|
||||||
absWorkingDir: dir.data(root),
|
absWorkingDir: dir.data(root),
|
||||||
entryPoints: ["server.ts"],
|
entryPoints: ["server.ts"],
|
||||||
|
|
@ -50,22 +51,22 @@ export const initServer = async (
|
||||||
// ],
|
// ],
|
||||||
banner: {
|
banner: {
|
||||||
js: `\
|
js: `\
|
||||||
const _fs = require('node:fs/promises');
|
const _fs = require('node:fs/promises');
|
||||||
const console =
|
const console =
|
||||||
typeof global.server_hook === "function"
|
typeof global.server_hook === "function"
|
||||||
? { ...global.console }
|
? { ...global.console }
|
||||||
: global.console;
|
: global.console;
|
||||||
|
|
||||||
let db = new Proxy({}, {
|
let db = new Proxy({}, {
|
||||||
get(_, key) {
|
get(_, key) {
|
||||||
const runtime = global.server_runtime["${id_site}"];
|
const runtime = global.server_runtime["${id_site}"];
|
||||||
if (runtime && runtime.db) {
|
if (runtime && runtime.db) {
|
||||||
return runtime.db[key];
|
return runtime.db[key];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
let api = {};
|
let api = {};
|
||||||
if (typeof global.server_hook === "function") {
|
if (typeof global.server_hook === "function") {
|
||||||
const log = global.console.log;
|
const log = global.console.log;
|
||||||
console.log = function (...arg) {
|
console.log = function (...arg) {
|
||||||
const out = "${code.path(id_site, "site", "src", "server.log")}";
|
const out = "${code.path(id_site, "site", "src", "server.log")}";
|
||||||
|
|
@ -99,18 +100,19 @@ export const initServer = async (
|
||||||
return e;
|
return e;
|
||||||
}).join(" ") + "\\n");
|
}).join(" ") + "\\n");
|
||||||
}.bind(console);
|
}.bind(console);
|
||||||
} else {
|
} else {
|
||||||
db = global.db;
|
db = global.db;
|
||||||
api = global.api;
|
api = global.api;
|
||||||
}`,
|
}
|
||||||
|
`,
|
||||||
},
|
},
|
||||||
})
|
}),
|
||||||
};
|
};
|
||||||
|
|
||||||
code.internal.server[id_site].rebuilding = true;
|
code.internal.server[id_site].rebuilding = true;
|
||||||
try {
|
try {
|
||||||
await code.internal.server[id_site].ctx.rebuild();
|
await code.internal.server[id_site].ctx.rebuild();
|
||||||
await server.init(id_site);
|
await server.init(id_site);
|
||||||
} catch (e) { }
|
} catch (e) {}
|
||||||
code.internal.server[id_site].rebuilding = false;
|
code.internal.server[id_site].rebuilding = false;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -57,13 +57,14 @@ const serverMain = () => ({
|
||||||
this.handler[site_id] = svr.server;
|
this.handler[site_id] = svr.server;
|
||||||
svr.server.site_id = site_id;
|
svr.server.site_id = site_id;
|
||||||
|
|
||||||
if (typeof svr.server.init === "function") {
|
|
||||||
await svr.server.init({});
|
|
||||||
}
|
|
||||||
Bun.write(
|
Bun.write(
|
||||||
Bun.file(code.path(site_id, "site", "src", "server.log")),
|
Bun.file(code.path(site_id, "site", "src", "server.log")),
|
||||||
""
|
""
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if (typeof svr.server.init === "function") {
|
||||||
|
await svr.server.init({});
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
const file = await Bun.file(server_src_path).text();
|
const file = await Bun.file(server_src_path).text();
|
||||||
const log_path = code.path(site_id, "site", "src", "server.log");
|
const log_path = code.path(site_id, "site", "src", "server.log");
|
||||||
|
|
|
||||||
|
|
@ -175,9 +175,14 @@ export const fetchSendDb = async (params: any, dburl: string) => {
|
||||||
let result = await cachedQueryResult[hsum].promise;
|
let result = await cachedQueryResult[hsum].promise;
|
||||||
cached = cachedQueryResult[hsum];
|
cached = cachedQueryResult[hsum];
|
||||||
try {
|
try {
|
||||||
|
if (typeof result === "string") {
|
||||||
result = JSON.parse(result);
|
result = JSON.parse(result);
|
||||||
cachedQueryResult[hsum].result = result;
|
cachedQueryResult[hsum].result = result;
|
||||||
return result;
|
return result;
|
||||||
|
} else {
|
||||||
|
cachedQueryResult[hsum].result = result;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error("DBQuery failed:", result);
|
console.error("DBQuery failed:", result);
|
||||||
}
|
}
|
||||||
|
|
@ -188,7 +193,12 @@ export const fetchSendDb = async (params: any, dburl: string) => {
|
||||||
let result = await cached.promise;
|
let result = await cached.promise;
|
||||||
if (result) {
|
if (result) {
|
||||||
try {
|
try {
|
||||||
return JSON.parse(result);
|
if (typeof result === "string") {
|
||||||
|
result = JSON.parse(result);
|
||||||
|
return result;
|
||||||
|
} else {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error("DBQuery failed:", result);
|
console.error("DBQuery failed:", result);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue