22 lines
1.1 KiB
JavaScript
22 lines
1.1 KiB
JavaScript
const fs=require("fs"),path=require("path"),{pathToFileURL}=require("url");
|
|
const b=path.resolve(process.argv[2]||"build-web/configure/bin");
|
|
(async()=>{
|
|
globalThis.__dirname=`${b}${path.sep}`; globalThis.require=require;
|
|
const m=await import(pathToFileURL(path.join(b,"FreeCADWebWebRuntimeProbe.js")));
|
|
const p=await m.default({wasmBinary:fs.readFileSync(path.join(b,"FreeCADWebWebRuntimeProbe.wasm"))});
|
|
const c=(n,t="number")=>p.ccall(n,t);
|
|
const initialized=c("fc_web_web_initialize");
|
|
const result={
|
|
initialized,
|
|
persistenceApplicable:false,
|
|
sourceEntry:"src/Mod/Web/App/AppWeb.cpp",
|
|
apiCount:c("fc_web_web_api_count"),
|
|
resourcesReleased:c("fc_web_web_resources_released"),
|
|
error:c("fc_web_web_error","string"),
|
|
fcstdRoundTrip:false,
|
|
reason:"Web server module has no App::Document or FCStd save/reopen API"
|
|
};
|
|
if(!(initialized===1&&result.persistenceApplicable===false&&result.apiCount===3&&result.resourcesReleased===1&&result.error==="")) throw Error(JSON.stringify(result));
|
|
console.log(JSON.stringify(result));
|
|
})().catch(e=>{console.error(e);process.exitCode=1});
|