import esbuild from "esbuild"; const external = ["electron", "sqlite3", "better-sqlite3", "mysql", "mysql2", "pg", "pg-query-stream", "oracledb", "tedious", "mssql"]; // 后端服务打包配置 const appBuildConfig: esbuild.BuildOptions = { entryPoints: ["src/app.ts"], bundle: true, minify: false, format: "cjs", allowOverwrite: true, outfile: `build/app.js`, platform: "node", target: "esnext", tsconfig: "./tsconfig.json", alias: { "@": "./src", }, sourcemap: false, external, }; // Electron 主进程打包配置 const mainBuildConfig: esbuild.BuildOptions = { entryPoints: ["scripts/main.ts"], bundle: true, minify: false, format: "cjs", outfile: `build/main.js`, allowOverwrite: true, platform: "node", target: "esnext", tsconfig: "./tsconfig.json", alias: { "@": "./src", }, sourcemap: false, external, }; (async () => { try { console.log("🔨 开始构建...\n"); // 并行构建 await Promise.all([esbuild.build(appBuildConfig), esbuild.build(mainBuildConfig)]); console.log("✅ 后端服务构建完成: build/app.js"); console.log("✅ Electron主进程构建完成: build/main.js"); console.log("\n🎉 所有构建任务完成!\n"); } catch (err) { console.error("❌ 构建失败:", err); process.exit(1); } })();