UNPKG

deprecopilot

Version:

Automated dependency management with AI-powered codemods

18 lines (17 loc) 702 B
import { logger } from '../lib/logger.js'; export async function safeInvokePluginHook(plugin, hookName, ...args) { try { if (typeof plugin[hookName] === 'function') { console.error(`DEBUG: calling ${hookName} for plugin "${plugin.name}"`); await plugin[hookName](...args); } } catch (err) { const errorMsg = `Plugin \"${plugin.name ?? 'unknown'}\" failed in ${hookName}: ${err.message}`; logger.error(errorMsg); logger.debug(err.stack || String(err)); // Also output to stderr for CLI tests to capture process.stderr.write(errorMsg + '\n'); process.stderr.write('', () => { }); // Flush stderr } }