Files
openclaw/scripts/copy-hook-metadata.ts
T

53 lines
1.5 KiB
TypeScript
Raw Normal View History

2026-01-17 01:31:39 +00:00
#!/usr/bin/env tsx
/**
* Copy HOOK.md files from src/hooks/bundled to dist/bundled
2026-01-17 01:31:39 +00:00
*/
2026-01-31 21:21:09 +09:00
import fs from "node:fs";
import path from "node:path";
2026-03-26 23:05:23 +00:00
import { ensureDirectory, logVerboseCopy, resolveBuildCopyContext } from "./lib/copy-assets.ts";
2026-01-17 01:31:39 +00:00
2026-03-26 23:05:23 +00:00
const context = resolveBuildCopyContext(import.meta.url);
2026-01-17 01:31:39 +00:00
2026-03-26 23:05:23 +00:00
const srcBundled = path.join(context.projectRoot, "src", "hooks", "bundled");
const distBundled = path.join(context.projectRoot, "dist", "bundled");
2026-01-17 01:31:39 +00:00
function copyHookMetadata() {
if (!fs.existsSync(srcBundled)) {
2026-03-26 23:05:23 +00:00
console.warn(`${context.prefix} Source directory not found:`, srcBundled);
2026-01-17 01:31:39 +00:00
return;
}
2026-03-26 23:05:23 +00:00
ensureDirectory(distBundled);
2026-01-17 01:31:39 +00:00
const entries = fs.readdirSync(srcBundled, { withFileTypes: true });
2026-03-08 04:12:32 +00:00
let copiedCount = 0;
2026-01-17 01:31:39 +00:00
for (const entry of entries) {
2026-01-31 21:29:14 +09:00
if (!entry.isDirectory()) {
continue;
}
2026-01-17 01:31:39 +00:00
const hookName = entry.name;
const srcHookDir = path.join(srcBundled, hookName);
const distHookDir = path.join(distBundled, hookName);
2026-01-31 21:21:09 +09:00
const srcHookMd = path.join(srcHookDir, "HOOK.md");
const distHookMd = path.join(distHookDir, "HOOK.md");
2026-01-17 01:31:39 +00:00
if (!fs.existsSync(srcHookMd)) {
2026-03-26 23:05:23 +00:00
console.warn(`${context.prefix} No HOOK.md found for ${hookName}`);
2026-01-17 01:31:39 +00:00
continue;
}
2026-03-26 23:05:23 +00:00
ensureDirectory(distHookDir);
2026-01-17 01:31:39 +00:00
fs.copyFileSync(srcHookMd, distHookMd);
2026-03-08 04:12:32 +00:00
copiedCount += 1;
2026-03-26 23:05:23 +00:00
logVerboseCopy(context, `Copied ${hookName}/HOOK.md`);
2026-01-17 01:31:39 +00:00
}
2026-03-26 23:05:23 +00:00
console.log(`${context.prefix} Copied ${copiedCount} hook metadata files.`);
2026-01-17 01:31:39 +00:00
}
copyHookMetadata();