UNPKG

liblib-mcp

Version:

LiblibAI MCP Server for Claude Desktop

73 lines (60 loc) 2.04 kB
#!/usr/bin/env node const fs = require('fs'); const path = require('path'); // 复制文件的函数 function copyFileSync(src, dest) { const destDir = path.dirname(dest); if (!fs.existsSync(destDir)) { fs.mkdirSync(destDir, { recursive: true }); } fs.copyFileSync(src, dest); } // 递归复制目录 function copyDirSync(src, dest) { if (!fs.existsSync(dest)) { fs.mkdirSync(dest, { recursive: true }); } const entries = fs.readdirSync(src, { withFileTypes: true }); for (const entry of entries) { const srcPath = path.join(src, entry.name); const destPath = path.join(dest, entry.name); if (entry.isDirectory()) { copyDirSync(srcPath, destPath); } else { copyFileSync(srcPath, destPath); } } } console.log('📦 Preparing npm package...'); // 获取项目根目录 const projectRoot = path.resolve(__dirname, '..', '..'); const packageRoot = path.resolve(__dirname, '..'); const libDir = path.join(packageRoot, 'lib'); // 清理并重新创建lib目录 if (fs.existsSync(libDir)) { fs.rmSync(libDir, { recursive: true, force: true }); } fs.mkdirSync(libDir, { recursive: true }); // 复制核心文件 const filesToCopy = [ { src: 'mcp_server', dest: 'lib/mcp_server' }, { src: 'src', dest: 'lib/src' }, { src: 'config', dest: 'lib/config' }, { src: 'requirements.txt', dest: 'lib/requirements.txt' } ]; for (const { src, dest } of filesToCopy) { const srcPath = path.join(projectRoot, src); const destPath = path.join(packageRoot, dest); if (fs.existsSync(srcPath)) { if (fs.statSync(srcPath).isDirectory()) { copyDirSync(srcPath, destPath); console.log(`✅ Copied directory: ${src} -> ${dest}`); } else { copyFileSync(srcPath, destPath); console.log(`✅ Copied file: ${src} -> ${dest}`); } } else { console.warn(`⚠️ Warning: ${src} not found, skipping...`); } } console.log('✅ Package preparation complete!');