feat: use cross-spawn

This commit is contained in:
Haileyesus
2026-03-27 20:55:30 +03:00
parent ab72270ada
commit fa05683861
8 changed files with 8 additions and 21 deletions

View File

@@ -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';

View File

@@ -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';

View File

@@ -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';

View File

@@ -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';

View File

@@ -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';

View File

@@ -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 <scope> <name> '<json>'
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']
});

View File

@@ -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';

View File

@@ -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,