UNPKG

@simonecoelhosfo/optimizely-mcp-server

Version:

Optimizely MCP Server for AI assistants with integrated CLI tools

63 lines 2.66 kB
/** * Loader for better-sqlite3 that uses embedded binaries from npm package */ import { createRequire } from 'module'; import * as path from 'path'; import * as fs from 'fs'; import { fileURLToPath } from 'url'; const require = createRequire(import.meta.url); const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); // Synchronous binary installation (() => { const platform = process.platform; const arch = process.arch; const platformDir = `${platform}-${arch}`; const nodeVersion = process.versions.modules; // Find our package root let packageRoot = __dirname; while (!fs.existsSync(path.join(packageRoot, 'prebuilds')) && packageRoot !== path.parse(packageRoot).root) { packageRoot = path.dirname(packageRoot); } const ourBinaryPath = path.join(packageRoot, 'prebuilds', platformDir, 'better_sqlite3.node'); if (fs.existsSync(ourBinaryPath)) { try { const betterSqlitePath = require.resolve('better-sqlite3/package.json'); const betterSqliteDir = path.dirname(betterSqlitePath); // ALL possible paths from the error log const targets = [ 'build/better_sqlite3.node', 'build/Debug/better_sqlite3.node', 'build/Release/better_sqlite3.node', 'out/Debug/better_sqlite3.node', 'Debug/better_sqlite3.node', 'out/Release/better_sqlite3.node', 'Release/better_sqlite3.node', 'build/default/better_sqlite3.node', `compiled/${process.version.substring(1)}/${platform}/${arch}/better_sqlite3.node`, 'addon-build/release/install-root/better_sqlite3.node', 'addon-build/debug/install-root/better_sqlite3.node', 'addon-build/default/install-root/better_sqlite3.node', `lib/binding/node-v${nodeVersion}-${platform}-${arch}/better_sqlite3.node` ]; // Copy to ALL locations for (const relativePath of targets) { const targetPath = path.join(betterSqliteDir, relativePath); try { fs.mkdirSync(path.dirname(targetPath), { recursive: true }); fs.copyFileSync(ourBinaryPath, targetPath); } catch (e) { // Continue } } } catch (e) { // Continue } } })(); // Import better-sqlite3 import Database from 'better-sqlite3'; export default Database; //# sourceMappingURL=better-sqlite3-loader.js.map