mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-01-11 14:30:24 +01:00
31 lines
1.1 KiB
JavaScript
31 lines
1.1 KiB
JavaScript
const { readdirSync, cpSync, existsSync } = 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/vendored/plugins/', name);
|
|
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 });
|
|
}
|