UNPKG

@simonecoelhosfo/optimizely-mcp-server

Version:

Optimizely MCP Server for AI assistants with integrated CLI tools

66 lines (56 loc) 2.5 kB
#!/usr/bin/env node /** * Standalone binary installer for better-sqlite3 * This runs as a separate process to ensure binaries are installed */ const fs = require('fs'); const path = require('path'); // Get paths from environment or command line const packageRoot = process.argv[2] || process.env.OPTLY_PACKAGE_ROOT || __dirname; const betterSqliteDir = process.argv[3] || process.env.BETTER_SQLITE_DIR; if (!betterSqliteDir) { console.error('Usage: install-binary.cjs <package-root> <better-sqlite3-dir>'); process.exit(1); } const platform = process.platform; const arch = process.arch; const platformDir = `${platform}-${arch}`; const nodeVersion = process.versions.modules; // Source binary const sourceBinary = path.join(packageRoot, 'prebuilds', platformDir, 'better_sqlite3.node'); if (!fs.existsSync(sourceBinary)) { console.error(`No prebuilt binary found at: ${sourceBinary}`); process.exit(1); } // All possible target locations const targets = [ path.join(betterSqliteDir, 'build', 'Release', 'better_sqlite3.node'), path.join(betterSqliteDir, 'build', 'Debug', 'better_sqlite3.node'), path.join(betterSqliteDir, 'build', 'better_sqlite3.node'), path.join(betterSqliteDir, 'compiled', process.version, platform, arch, 'better_sqlite3.node'), path.join(betterSqliteDir, 'lib', 'binding', `node-v${nodeVersion}-${platform}-${arch}`, 'better_sqlite3.node'), // Additional paths from your error log path.join(betterSqliteDir, 'out', 'Debug', 'better_sqlite3.node'), path.join(betterSqliteDir, 'out', 'Release', 'better_sqlite3.node'), path.join(betterSqliteDir, 'Debug', 'better_sqlite3.node'), path.join(betterSqliteDir, 'Release', 'better_sqlite3.node'), path.join(betterSqliteDir, 'build', 'default', 'better_sqlite3.node'), path.join(betterSqliteDir, 'addon-build', 'release', 'install-root', 'better_sqlite3.node'), path.join(betterSqliteDir, 'addon-build', 'debug', 'install-root', 'better_sqlite3.node'), path.join(betterSqliteDir, 'addon-build', 'default', 'install-root', 'better_sqlite3.node') ]; // Copy to all locations let copied = 0; for (const target of targets) { try { const dir = path.dirname(target); if (!fs.existsSync(dir)) { fs.mkdirSync(dir, { recursive: true }); } fs.copyFileSync(sourceBinary, target); copied++; } catch (e) { // Continue } } console.log(`Installed better-sqlite3 binary to ${copied} locations`);