mirror of https://github.com/openclaw/openclaw.git
46 lines
1.2 KiB
JavaScript
46 lines
1.2 KiB
JavaScript
import path from "node:path";
|
|
import { pathToFileURL } from "node:url";
|
|
import { writeTextFileIfChanged } from "../runtime-postbuild-shared.mjs";
|
|
import { readIfExists } from "./bundled-plugin-source-utils.mjs";
|
|
|
|
export function writeGeneratedOutput(params) {
|
|
const outputPath = path.resolve(params.repoRoot, params.outputPath);
|
|
const current = readIfExists(outputPath);
|
|
const changed = current !== params.next;
|
|
|
|
if (params.check) {
|
|
return {
|
|
changed,
|
|
wrote: false,
|
|
outputPath,
|
|
};
|
|
}
|
|
|
|
return {
|
|
changed,
|
|
wrote: writeTextFileIfChanged(outputPath, params.next),
|
|
outputPath,
|
|
};
|
|
}
|
|
|
|
export function reportGeneratedOutputCli(params) {
|
|
if (params.importMetaUrl !== pathToFileURL(process.argv[1] ?? "").href) {
|
|
return;
|
|
}
|
|
|
|
const check = process.argv.includes("--check");
|
|
const result = params.run({ check });
|
|
if (!result.changed) {
|
|
return;
|
|
}
|
|
|
|
const relativeOutputPath = path.relative(process.cwd(), result.outputPath);
|
|
if (check) {
|
|
console.error(`[${params.label}] stale generated output at ${relativeOutputPath}`);
|
|
process.exitCode = 1;
|
|
return;
|
|
}
|
|
|
|
console.log(`[${params.label}] wrote ${relativeOutputPath}`);
|
|
}
|