结论:完成 LinuxCNC kinematics WASM ABI 覆盖,并将 web-rtcp-5axis-sim-plan 的 RTCP frame/boundary adapter 接到 xyzac-trt kinematics SDK;Node、build、browser smoke 验证通过。
26 lines
1.0 KiB
JavaScript
26 lines
1.0 KiB
JavaScript
import { cp, mkdir, rm, readFile } from "node:fs/promises";
|
|
import { dirname, join } from "node:path";
|
|
import { fileURLToPath } from "node:url";
|
|
|
|
const appRoot = dirname(dirname(fileURLToPath(import.meta.url)));
|
|
const distDir = join(appRoot, "dist");
|
|
|
|
await rm(distDir, { recursive: true, force: true });
|
|
await mkdir(distDir, { recursive: true });
|
|
await cp(join(appRoot, "index.html"), join(distDir, "index.html"));
|
|
await cp(join(appRoot, "src"), join(distDir, "src"), { recursive: true });
|
|
|
|
const packageJson = JSON.parse(await readFile(join(appRoot, "package.json"), "utf8"));
|
|
const forbiddenDependencies = ["react", "vue", "@angular/core", "svelte"];
|
|
const dependencyNames = [
|
|
...Object.keys(packageJson.dependencies || {}),
|
|
...Object.keys(packageJson.devDependencies || {}),
|
|
];
|
|
const forbidden = dependencyNames.filter((name) => forbiddenDependencies.includes(name));
|
|
|
|
if (forbidden.length > 0) {
|
|
throw new Error(`forbidden frontend framework dependency detected: ${forbidden.join(", ")}`);
|
|
}
|
|
|
|
console.log("gmoccapy_static_build=ok");
|