Files
WYF-koubo/scripts/build_optimize.cjs
T
2026-06-19 18:45:55 +08:00

74 lines
2.6 KiB
JavaScript

const common = require("./common.cjs");
console.log("BuildOptimize", {
name: common.platformName(),
arch: common.platformArch(),
});
exports.default = async function (context) {
console.log("BuildOptimize.output", {
context: context,
root: context.appOutDir,
});
// copy extra electron/resources/extra/[name]-[arch] to extra
const platformName = common.platformName();
const platformArch = common.platformArch();
const name = platformName + "-" + platformArch;
const srcDir = `electron/resources/extra/${name}`;
let destDir = null;
if (platformName === 'osx') {
destDir = common.pathResolve(
context.appOutDir,
`${context.packager.appInfo.productFilename}.app`,
"Contents",
"Resources",
"extra",
name
);
} else if (platformName === 'win') {
destDir = common.pathResolve(context.appOutDir, "resources", "extra", name);
} else if (platformName === 'linux') {
destDir = common.pathResolve(context.appOutDir, "resources", "extra", name);
}
console.log("BuildOptimize.copy", {
platformName,
platformArch,
srcDir,
destDir,
});
if (srcDir && common.exists(srcDir)) {
if (process.env.OEM_BATCH_BUILD === "1" && platformName === "win" && platformArch === "x86") {
console.log("OEM batch build skips FFmpeg in NSIS payload; it is delivered as resource-bundles/ffmpeg");
return;
}
console.log(`Copying from ${srcDir} to ${destDir}`);
common.copy(srcDir, destDir, true);
console.log(`Copy completed`);
} else {
console.log(`No matching source directory found for platform: ${platformName}-${platformArch}`);
}
// common.listFiles(context.appOutDir, true).forEach((p) => {
// console.log('BuildOptimize.path', (p.isDir ? 'D:' : 'F:') + p.path);
// })
// const localeDir = context.appOutDir + "/AigcPanel.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/";
// console.log(`localeDir: ${localeDir}`);
// fs.readdir(localeDir, function (err, files) {
// if (!(files && files.length)) {
// return;
// }
// for (let f of files) {
// if (f.endsWith('.lproj')) {
// if (!(f.startsWith("en") || f.startsWith("zh"))) {
// const p = localeDir + f;
// console.log(`removeFile: ${p}`);
// fs.rmdirSync(p, {recursive: true});
// }
// }
// }
// });
};