From fa056838617e6912f336af13739fc924b10ea98d Mon Sep 17 00:00:00 2001 From: Haileyesus Date: Fri, 27 Mar 2026 20:55:30 +0300 Subject: [PATCH] feat: use cross-spawn --- server/src/modules/agent/agent.routes.js | 2 +- server/src/modules/cli-auth/cli-auth.routes.js | 2 +- server/src/modules/codex/codex.routes.js | 2 +- server/src/modules/cursor/cursor.routes.js | 2 +- server/src/modules/git/git.routes.js | 2 +- server/src/modules/mcp/mcp.routes.js | 14 +------------- server/src/modules/system/system.routes.js | 2 +- server/src/modules/taskmaster/taskmaster.routes.js | 3 +-- 8 files changed, 8 insertions(+), 21 deletions(-) diff --git a/server/src/modules/agent/agent.routes.js b/server/src/modules/agent/agent.routes.js index a8212454..d35172f3 100644 --- a/server/src/modules/agent/agent.routes.js +++ b/server/src/modules/agent/agent.routes.js @@ -1,5 +1,5 @@ import express from 'express'; -import { spawn } from 'child_process'; +import spawn from 'cross-spawn'; import path from 'path'; import os from 'os'; import { promises as fs } from 'fs'; diff --git a/server/src/modules/cli-auth/cli-auth.routes.js b/server/src/modules/cli-auth/cli-auth.routes.js index 78ffa30b..fcd94106 100644 --- a/server/src/modules/cli-auth/cli-auth.routes.js +++ b/server/src/modules/cli-auth/cli-auth.routes.js @@ -1,5 +1,5 @@ import express from 'express'; -import { spawn } from 'child_process'; +import spawn from 'cross-spawn'; import fs from 'fs/promises'; import path from 'path'; import os from 'os'; diff --git a/server/src/modules/codex/codex.routes.js b/server/src/modules/codex/codex.routes.js index 2194e1a4..a9b9303d 100644 --- a/server/src/modules/codex/codex.routes.js +++ b/server/src/modules/codex/codex.routes.js @@ -1,5 +1,5 @@ import express from 'express'; -import { spawn } from 'child_process'; +import spawn from 'cross-spawn'; import { promises as fs } from 'fs'; import path from 'path'; import os from 'os'; diff --git a/server/src/modules/cursor/cursor.routes.js b/server/src/modules/cursor/cursor.routes.js index e8c80c91..35317717 100644 --- a/server/src/modules/cursor/cursor.routes.js +++ b/server/src/modules/cursor/cursor.routes.js @@ -2,7 +2,7 @@ import express from 'express'; import { promises as fs } from 'fs'; import path from 'path'; import os from 'os'; -import { spawn } from 'child_process'; +import spawn from 'cross-spawn'; import sqlite3 from 'sqlite3'; import { open } from 'sqlite'; import crypto from 'crypto'; diff --git a/server/src/modules/git/git.routes.js b/server/src/modules/git/git.routes.js index d9660db2..c5478b49 100644 --- a/server/src/modules/git/git.routes.js +++ b/server/src/modules/git/git.routes.js @@ -1,5 +1,5 @@ import express from 'express'; -import { spawn } from 'child_process'; +import spawn from 'cross-spawn'; import path from 'path'; import { promises as fs } from 'fs'; import { extractProjectDirectory } from '../../../projects.js'; diff --git a/server/src/modules/mcp/mcp.routes.js b/server/src/modules/mcp/mcp.routes.js index 080be6ab..10f0bd8c 100644 --- a/server/src/modules/mcp/mcp.routes.js +++ b/server/src/modules/mcp/mcp.routes.js @@ -4,7 +4,7 @@ import path from 'path'; import os from 'os'; import { fileURLToPath } from 'url'; import { dirname } from 'path'; -import { spawn } from 'child_process'; +import spawn from 'cross-spawn'; const router = express.Router(); const __filename = fileURLToPath(import.meta.url); @@ -17,10 +17,6 @@ router.get('/cli/list', async (req, res) => { try { console.log('📋 Listing MCP servers using Claude CLI'); - const { spawn } = await import('child_process'); - const { promisify } = await import('util'); - const exec = promisify(spawn); - const process = spawn('claude', ['mcp', 'list'], { stdio: ['pipe', 'pipe', 'pipe'] }); @@ -62,8 +58,6 @@ router.post('/cli/add', async (req, res) => { console.log(`➕ Adding MCP server using Claude CLI (${scope} scope):`, name); - const { spawn } = await import('child_process'); - let cliArgs = ['mcp', 'add']; // Add scope flag @@ -178,8 +172,6 @@ router.post('/cli/add-json', async (req, res) => { }); } - const { spawn } = await import('child_process'); - // Build the command: claude mcp add-json --scope '' const cliArgs = ['mcp', 'add-json', '--scope', scope, name]; @@ -250,8 +242,6 @@ router.delete('/cli/remove/:name', async (req, res) => { console.log('🗑️ Removing MCP server using Claude CLI:', actualName, 'scope:', actualScope); - const { spawn } = await import('child_process'); - // Build command args based on scope let cliArgs = ['mcp', 'remove']; @@ -308,8 +298,6 @@ router.get('/cli/get/:name', async (req, res) => { console.log('📄 Getting MCP server details using Claude CLI:', name); - const { spawn } = await import('child_process'); - const process = spawn('claude', ['mcp', 'get', name], { stdio: ['pipe', 'pipe', 'pipe'] }); diff --git a/server/src/modules/system/system.routes.js b/server/src/modules/system/system.routes.js index 15b5654a..09b3364e 100644 --- a/server/src/modules/system/system.routes.js +++ b/server/src/modules/system/system.routes.js @@ -2,7 +2,7 @@ import express from 'express'; import os from 'os'; import path from 'path'; import fs from 'fs'; -import { spawn } from 'child_process'; +import spawn from 'cross-spawn'; import { fileURLToPath } from 'url'; import { dirname } from 'path'; import { authenticateToken } from '../auth/auth.middleware.js'; diff --git a/server/src/modules/taskmaster/taskmaster.routes.js b/server/src/modules/taskmaster/taskmaster.routes.js index f02c0bb8..1706b5a2 100644 --- a/server/src/modules/taskmaster/taskmaster.routes.js +++ b/server/src/modules/taskmaster/taskmaster.routes.js @@ -12,7 +12,7 @@ import express from 'express'; import fs from 'fs'; import path from 'path'; import { promises as fsPromises } from 'fs'; -import { spawn } from 'child_process'; +import spawn from 'cross-spawn'; import { fileURLToPath } from 'url'; import { dirname } from 'path'; import os from 'os'; @@ -474,7 +474,6 @@ router.get('/next/:projectName', async (req, res) => { // Try to execute task-master next command try { - const { spawn } = await import('child_process'); const nextTaskCommand = spawn('task-master', ['next'], { cwd: projectPath,