mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-03-13 13:55:25 +01:00
38 lines
1.1 KiB
JavaScript
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,
|
|
});
|
|
}
|