* Remove bin folder, leaving cli, server, and client * This fixes #315 * In .gitignore, - add .idea - remove bin/build * Remove bin and bin/cli.js * Remove bin/scripts/copy-cli.js * Refactor/move bin/scripts to cli/scripts * Refactor/move bin/src/index.ts to cli/src/cli.ts * Refactor/renamed client/bin/cli.js to client/bin/client.js * In .github/workflows/main.yml, - add run of cli tests * In cli/pacakge.json - change main and bin/mcp-inspector-cli properties to build/cli.js * In client/package.json, - change bin/mcp-inspector-client properties to build/start.js * In pacakge.json - change bin/mcp-inspector property to ./cli/build/cli.js - removed bin and cli/bin from files list - removed @modelcontextprotocol/inspector-bin dependency - rearranged and corrected scripts
30 lines
829 B
JavaScript
Executable File
30 lines
829 B
JavaScript
Executable File
/**
|
|
* Cross-platform script to make a file executable
|
|
*/
|
|
import { promises as fs } from "fs";
|
|
import { platform } from "os";
|
|
import { execSync } from "child_process";
|
|
import path from "path";
|
|
|
|
const TARGET_FILE = path.resolve("build/cli.js");
|
|
|
|
async function makeExecutable() {
|
|
try {
|
|
// On Unix-like systems (Linux, macOS), use chmod
|
|
if (platform() !== "win32") {
|
|
execSync(`chmod +x "${TARGET_FILE}"`);
|
|
console.log("Made file executable with chmod");
|
|
} else {
|
|
// On Windows, no need to make files "executable" in the Unix sense
|
|
// Just ensure the file exists
|
|
await fs.access(TARGET_FILE);
|
|
console.log("File exists and is accessible on Windows");
|
|
}
|
|
} catch (error) {
|
|
console.error("Error making file executable:", error);
|
|
process.exit(1);
|
|
}
|
|
}
|
|
|
|
makeExecutable();
|