const { readdirSync, readFileSync } = require('node:fs'); const { execSync } = require('node:child_process'); const path = require('node:path'); async function main() { console.log('Building plugins'); const pluginsDir = path.join(__dirname, '../plugins'); const pluginNames = readdirSync(pluginsDir); for (const dir of pluginNames) { const pluginDir = path.join(pluginsDir, dir); const pkg = JSON.parse(readFileSync(path.join(pluginDir, 'package.json'), 'utf8')); console.log('Building plugin', pkg.name, pluginDir); execSync(`npm install`, { cwd: pluginDir }); execSync(`npm run build`, { cwd: pluginDir }); } } main().catch(err => { console.log('Failed', err); process.exit(1); });