mirror of
https://github.com/openclaw/openclaw.git
synced 2026-02-08 21:09:23 +08:00
34 lines
796 B
JavaScript
Executable File
34 lines
796 B
JavaScript
Executable File
#!/usr/bin/env node
|
|
|
|
import module from "node:module";
|
|
|
|
// https://nodejs.org/api/module.html#module-compile-cache
|
|
if (module.enableCompileCache && !process.env.NODE_DISABLE_COMPILE_CACHE) {
|
|
try {
|
|
module.enableCompileCache();
|
|
} catch {
|
|
// Ignore errors
|
|
}
|
|
}
|
|
|
|
const tryImport = async (specifier) => {
|
|
try {
|
|
await import(specifier);
|
|
return true;
|
|
} catch (err) {
|
|
// Only swallow missing-module errors; rethrow real runtime errors.
|
|
if (err && typeof err === "object" && "code" in err && err.code === "ERR_MODULE_NOT_FOUND") {
|
|
return false;
|
|
}
|
|
throw err;
|
|
}
|
|
};
|
|
|
|
if (await tryImport("./dist/entry.js")) {
|
|
// OK
|
|
} else if (await tryImport("./dist/entry.mjs")) {
|
|
// OK
|
|
} else {
|
|
throw new Error("openclaw: missing dist/entry.(m)js (build output).");
|
|
}
|