fix(omo-codex): reuse shared lsp mcp

This commit is contained in:
YeonGyu-Kim
2026-05-28 15:30:24 +09:00
parent 4f75a56ce5
commit 615ed40ba3
79 changed files with 378 additions and 5510 deletions
@@ -1,38 +0,0 @@
#!/usr/bin/env node
// Bootstrap the lsp-tools-mcp git submodule for local development.
// CI runs the install+build steps explicitly in the workflow, so this
// script is mostly for `npm run bootstrap` after a fresh clone and as a
// chained pre-step before typecheck / test / check so contributors do not
// have to remember it.
//
// Idempotent: skips when dist/cli.js already exists, unless --force is passed.
import { existsSync } from "node:fs";
import { execSync } from "node:child_process";
import { dirname, join } from "node:path";
import { fileURLToPath } from "node:url";
const __dirname = dirname(fileURLToPath(import.meta.url));
const submoduleDir = join(__dirname, "..", "packages", "lsp-tools-mcp");
const submodulePackageJson = join(submoduleDir, "package.json");
const submoduleDistCli = join(submoduleDir, "dist", "cli.js");
const force = process.argv.includes("--force");
if (!existsSync(submodulePackageJson)) {
console.error(
"lsp-tools-mcp submodule is missing. Run: git submodule update --init --recursive",
);
process.exit(1);
}
if (!force && existsSync(submoduleDistCli)) {
// Already built; nothing to do.
process.exit(0);
}
console.log("Installing lsp-tools-mcp dependencies...");
execSync("npm ci", { cwd: submoduleDir, stdio: "inherit" });
console.log("Building lsp-tools-mcp...");
execSync("npm run build", { cwd: submoduleDir, stdio: "inherit" });
console.log("Done.");
@@ -0,0 +1,31 @@
#!/usr/bin/env node
// Build the repository-level lsp-tools-mcp package used by codex-lsp.
import { execSync } from "node:child_process";
import { existsSync } from "node:fs";
import { dirname, join } from "node:path";
import { fileURLToPath } from "node:url";
const __dirname = dirname(fileURLToPath(import.meta.url));
const lspToolsDir = join(__dirname, "..", "..", "..", "..", "..", "lsp-tools-mcp");
const packageJson = join(lspToolsDir, "package.json");
const distCli = join(lspToolsDir, "dist", "cli.js");
const force = process.argv.includes("--force");
if (!force && existsSync(distCli)) {
process.exit(0);
}
if (!existsSync(packageJson)) {
console.error(
`lsp-tools-mcp package metadata is missing at ${packageJson}; build packages/lsp-tools-mcp before codex-lsp`,
);
process.exit(1);
}
console.log("Installing repository lsp-tools-mcp dependencies...");
execSync("npm ci", { cwd: lspToolsDir, stdio: "inherit" });
console.log("Building repository lsp-tools-mcp...");
execSync("npm run build", { cwd: lspToolsDir, stdio: "inherit" });
console.log("Done.");