chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
#!/usr/bin/env node
|
||||
'use strict';
|
||||
// CLI shim: resolves the downloaded binary and replaces the current process with it.
|
||||
// If the binary is missing (e.g. --ignore-scripts), attempts a one-time download.
|
||||
|
||||
const path = require('path');
|
||||
const fs = require('fs');
|
||||
const { spawnSync } = require('child_process');
|
||||
|
||||
const isWindows = process.platform === 'win32';
|
||||
const binName = isWindows ? 'codebase-memory-mcp.exe' : 'codebase-memory-mcp';
|
||||
const binPath = path.join(__dirname, 'bin', binName);
|
||||
|
||||
if (!fs.existsSync(binPath)) {
|
||||
// Binary missing — try running the install script (handles --ignore-scripts case)
|
||||
process.stderr.write('codebase-memory-mcp: binary not found, downloading...\n');
|
||||
const installResult = spawnSync(process.execPath, [path.join(__dirname, 'install.js')], {
|
||||
stdio: 'inherit',
|
||||
});
|
||||
if (installResult.status !== 0 || !fs.existsSync(binPath)) {
|
||||
process.stderr.write(
|
||||
'codebase-memory-mcp: download failed.\n' +
|
||||
'Try reinstalling: npm install -g codebase-memory-mcp\n'
|
||||
);
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
const result = spawnSync(binPath, process.argv.slice(2), {
|
||||
stdio: 'inherit',
|
||||
windowsHide: false,
|
||||
});
|
||||
|
||||
if (result.error) {
|
||||
process.stderr.write(`codebase-memory-mcp: ${result.error.message}\n`);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
process.exit(result.status ?? 0);
|
||||
Reference in New Issue
Block a user