Files
shopify-ai-backup/windows-app/scripts/sync-ui.js

46 lines
1.2 KiB
JavaScript

import fs from "fs-extra";
import path from "node:path";
import { fileURLToPath } from "node:url";
const __dirname = path.dirname(fileURLToPath(import.meta.url));
const root = path.resolve(__dirname, "..", "..");
const source = path.join(root, "chat", "public");
const dest = path.resolve(__dirname, "..", "ui-dist");
async function copyUi() {
if (!(await fs.pathExists(source))) {
throw new Error(`Source UI folder not found: ${source}`);
}
await fs.emptyDir(dest);
await fs.copy(source, dest, {
filter: (src) => !src.endsWith(".map") && !src.includes(".DS_Store"),
overwrite: true,
});
}
async function findHtmlFiles(dir) {
const entries = await fs.readdir(dir, { withFileTypes: true });
const files = await Promise.all(
entries.map(async (entry) => {
const full = path.join(dir, entry.name);
if (entry.isDirectory()) {
return findHtmlFiles(full);
}
return entry.isFile() && entry.name.endsWith(".html") ? [full] : [];
})
);
return files.flat();
}
async function main() {
await copyUi();
console.log(`UI prepared in ${dest}`);
}
main().catch((err) => {
console.error(err);
process.exit(1);
});