const { readdirSync, cpSync } = require('node:fs'); const path = require('node:path'); const { execSync } = require('node:child_process'); const pluginsDir = process.env.YAAK_PLUGINS_DIR; if (!pluginsDir) { console.log('YAAK_PLUGINS_DIR is not set'); process.exit(1); } console.log('Installing Yaak plugins dependencies', pluginsDir); execSync('npm ci', { cwd: pluginsDir }); console.log('Building Yaak plugins', pluginsDir); execSync('npm run build', { cwd: pluginsDir }); console.log('Copying Yaak plugins to', pluginsDir); const pluginsRoot = path.join(pluginsDir, 'plugins'); for (const name of readdirSync(pluginsRoot)) { const dir = path.join(pluginsRoot, name); if (name.startsWith('.')) continue; const destDir = path.join(__dirname, '../src-tauri/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/index.js'), path.join(destDir, 'build/index.js')); }