Files
yaak-mountain-loop/scripts/vendor-plugins.cjs
2026-03-06 09:23:19 -08:00

38 lines
1.1 KiB
JavaScript

const { readdirSync, cpSync, existsSync, mkdirSync } = require("node:fs");
const path = require("node:path");
const pluginsDir = path.join(__dirname, "..", "plugins");
const externalPluginsDir = path.join(__dirname, "..", "plugins-external");
// Get list of external (non-bundled) plugins
const externalPlugins = new Set();
if (existsSync(externalPluginsDir)) {
for (const name of readdirSync(externalPluginsDir)) {
if (!name.startsWith(".")) {
externalPlugins.add(name);
}
}
}
console.log("Copying Yaak plugins to", pluginsDir);
for (const name of readdirSync(pluginsDir)) {
const dir = path.join(pluginsDir, name);
if (name.startsWith(".")) continue;
if (externalPlugins.has(name)) {
console.log(`Skipping ${name} (external plugin)`);
continue;
}
const destDir = path.join(
__dirname,
"../crates-tauri/yaak-app-client/vendored/plugins/",
name,
);
mkdirSync(destDir, { recursive: true });
console.log(`Copying ${name} to ${destDir}`);
cpSync(path.join(dir, "package.json"), path.join(destDir, "package.json"));
cpSync(path.join(dir, "build"), path.join(destDir, "build"), {
recursive: true,
});
}