=== NEW SERVERS ADDED (7) === - servers/closebot — 119 tools, 14 modules, 4,656 lines TS (Stage 7) - servers/google-console — Google Search Console MCP (Stage 7) - servers/meta-ads — Meta/Facebook Ads MCP (Stage 8) - servers/twilio — Twilio communications MCP (Stage 8) - servers/competitor-research — Competitive intel MCP (Stage 6) - servers/n8n-apps — n8n workflow MCP apps (Stage 6) - servers/reonomy — Commercial real estate MCP (Stage 1) === FACTORY INFRASTRUCTURE ADDED === - infra/factory-tools — mcp-jest, mcp-validator, mcp-add, MCP Inspector - 60 test configs, 702 auto-generated test cases - All 30 servers score 100/100 protocol compliance - infra/command-center — Pipeline state, operator playbook, dashboard config - infra/factory-reviews — Automated eval reports === DOCS ADDED === - docs/MCP-FACTORY.md — Factory overview - docs/reports/ — 5 pipeline evaluation reports - docs/research/ — Browser MCP research === RULES ESTABLISHED === - CONTRIBUTING.md — All MCP work MUST go in this repo - README.md — Full inventory of 37 servers + infra docs - .gitignore — Updated for Python venvs TOTAL: 37 MCP servers + full factory pipeline in one repo. This is now the single source of truth for all MCP work.
105 lines
3.1 KiB
JavaScript
Executable File
105 lines
3.1 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
|
|
import fs from "fs";
|
|
import path from "path";
|
|
import { execSync } from "child_process";
|
|
import { fileURLToPath } from "url";
|
|
|
|
const __filename = fileURLToPath(import.meta.url);
|
|
const __dirname = path.dirname(__filename);
|
|
|
|
/**
|
|
* Updates version across all package.json files in the monorepo
|
|
* Usage: node scripts/update-version.js <new-version>
|
|
* Example: node scripts/update-version.js 0.14.2
|
|
*/
|
|
|
|
const newVersion = process.argv[2];
|
|
|
|
if (!newVersion) {
|
|
console.error("❌ Please provide a version number");
|
|
console.error("Usage: node scripts/update-version.js <new-version>");
|
|
console.error("Example: node scripts/update-version.js 0.14.2");
|
|
process.exit(1);
|
|
}
|
|
|
|
// Validate version format
|
|
const versionRegex = /^\d+\.\d+\.\d+(-[\w.]+)?$/;
|
|
if (!versionRegex.test(newVersion)) {
|
|
console.error(
|
|
"❌ Invalid version format. Please use semantic versioning (e.g., 1.2.3 or 1.2.3-beta.1)",
|
|
);
|
|
process.exit(1);
|
|
}
|
|
|
|
console.log(`🔄 Updating all packages to version ${newVersion}...`);
|
|
|
|
// List of package.json files to update
|
|
const packagePaths = [
|
|
"package.json",
|
|
"client/package.json",
|
|
"server/package.json",
|
|
"cli/package.json",
|
|
];
|
|
|
|
const updatedFiles = [];
|
|
|
|
// Update version in each package.json
|
|
packagePaths.forEach((packagePath) => {
|
|
const fullPath = path.join(__dirname, "..", packagePath);
|
|
|
|
if (!fs.existsSync(fullPath)) {
|
|
console.warn(`⚠️ Skipping ${packagePath} - file not found`);
|
|
return;
|
|
}
|
|
|
|
try {
|
|
const packageJson = JSON.parse(fs.readFileSync(fullPath, "utf8"));
|
|
const oldVersion = packageJson.version;
|
|
packageJson.version = newVersion;
|
|
|
|
// Update workspace dependencies in root package.json
|
|
if (packagePath === "package.json" && packageJson.dependencies) {
|
|
Object.keys(packageJson.dependencies).forEach((dep) => {
|
|
if (dep.startsWith("@modelcontextprotocol/inspector-")) {
|
|
packageJson.dependencies[dep] = `^${newVersion}`;
|
|
}
|
|
});
|
|
}
|
|
|
|
fs.writeFileSync(fullPath, JSON.stringify(packageJson, null, 2) + "\n");
|
|
updatedFiles.push(packagePath);
|
|
console.log(
|
|
`✅ Updated ${packagePath} from ${oldVersion} to ${newVersion}`,
|
|
);
|
|
} catch (error) {
|
|
console.error(`❌ Failed to update ${packagePath}:`, error.message);
|
|
process.exit(1);
|
|
}
|
|
});
|
|
|
|
console.log("\n📝 Summary:");
|
|
console.log(`Updated ${updatedFiles.length} files to version ${newVersion}`);
|
|
|
|
// Update package-lock.json
|
|
console.log("\n🔒 Updating package-lock.json...");
|
|
try {
|
|
execSync("npm install", { stdio: "inherit" });
|
|
console.log("✅ package-lock.json updated successfully");
|
|
} catch (error) {
|
|
console.error("❌ Failed to update package-lock.json:", error.message);
|
|
console.error('Please run "npm install" manually');
|
|
process.exit(1);
|
|
}
|
|
|
|
console.log("\n✨ Version update complete!");
|
|
console.log("\nNext steps:");
|
|
console.log("1. Review the changes: git diff");
|
|
console.log(
|
|
'2. Commit the changes: git add -A && git commit -m "chore: bump version to ' +
|
|
newVersion +
|
|
'"',
|
|
);
|
|
console.log("3. Create a git tag: git tag v" + newVersion);
|
|
console.log("4. Push changes and tag: git push && git push --tags");
|