This commit is contained in:
Rizky 2024-08-09 15:22:11 +07:00
parent ba64852760
commit 90a19fd34a
2 changed files with 6 additions and 16 deletions

View File

@ -1,18 +1,16 @@
import { code } from "../ws/sync/code/code"; import { code } from "../ws/sync/code/code";
import { initFrontEnd } from "../ws/sync/code/parts/init/frontend"; import { initFrontEnd } from "../ws/sync/code/parts/init/frontend";
import { initServer } from "../ws/sync/code/parts/init/server";
import { initTypings } from "../ws/sync/code/parts/init/typings";
export const _ = { export const _ = {
url: "/rebuild/:id_site", url: "/rebuild/:id_site",
async api(id_site: string) { async api(id_site: string) {
const { frontend, server, typings } = code.internal; const { frontend, server, typings } = code.internal;
const root = `/code/${id_site}/site/src`; const root = `/code/${id_site}/site/src`;
delete frontend[id_site]; // delete frontend[id_site];
delete server[id_site]; // delete server[id_site];
await initFrontEnd(root, id_site, true); await initFrontEnd(root, id_site, true);
await initServer(root, id_site, true); // await initServer(root, id_site, true);
await initTypings(root, id_site, true); // await initTypings(root, id_site, true);
return "ok"; return "ok";
}, },

View File

@ -99,23 +99,15 @@ export const initFrontEnd = async (
fe.rebuilding = true; fe.rebuilding = true;
clearTimeout(fe.timeout); clearTimeout(fe.timeout);
fe.timeout = setTimeout(async () => { fe.timeout = setTimeout(async () => {
const build_timeout = setTimeout(async () => {
console.log(
`Build front-end unfinished ${id_site} ${filename}`
);
await fe.ctx.dispose();
fe.ctx = await initBuildCtx({ id_site, root });
}, 3000);
try { try {
broadcastLoading(); broadcastLoading();
await fe.ctx.rebuild(); await fe.ctx.rebuild();
clearTimeout(build_timeout); fe.rebuilding = false;
} catch (e: any) { } catch (e: any) {
console.error(`Frontend failed rebuild (site: ${id_site})`); console.error(`Frontend failed rebuild (site: ${id_site})`);
console.error(e.messsage); console.error(e.messsage);
fe.rebuilding = false;
} }
fe.rebuilding = false;
}, 500); }, 500);
} }