#!/usr/bin/env node const { spawn } = require("child_process"); const fs = require("fs"); const path = require("path"); process.env.CONVEX_TMPDIR = "/mnt/Data1T/mnote/.convex-tmp"; const adminKey = "mnote-local|01cedce68c51e168c6aacb282a90f7d233f56eddfabb07944a1d9dd9506f73ba888fc7daff"; const repoRoot = "/mnt/Data1T/mnote"; const rootConvexDir = path.join(repoRoot, "convex"); const requiredRootFiles = ["schema.ts", "aiSessions.ts"]; for (const fileName of requiredRootFiles) { const filePath = path.join(rootConvexDir, fileName); if (!fs.existsSync(filePath)) { console.error(`[convex-deploy] 缺少当前 active Convex 文件:${filePath}`); console.error("[convex-deploy] 不允许从 recycle/wolai-frontend/convex 回退部署;需要的函数必须迁回 root convex/ 或明确退役。"); process.exit(1); } } const args = [ "deploy", "--url", "http://127.0.0.1:3210", // Backend port, NOT HTTP actions (3211) "--admin-key", adminKey, "--typecheck", "disable", "--codegen", "disable", ]; const child = spawn("npx", ["convex", ...args], { cwd: repoRoot, stdio: "inherit", env: { ...process.env, CONVEX_TMPDIR: "/mnt/Data1T/mnote/.convex-tmp" }, }); child.on("close", (code) => { process.exit(code || 0); });