liblib-mcp
Version:
LiblibAI MCP Server for Claude Desktop
73 lines (60 loc) • 2.04 kB
JavaScript
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!');