From 75e66050e5241f0fa357cb8acdbd36344dc1e9aa Mon Sep 17 00:00:00 2001 From: 0x1306a94 <0x1306a94@gmail.com> Date: Fri, 12 Dec 2025 11:44:45 +0800 Subject: [PATCH] Fix symlink preservation when copying macOS frameworks to prevent duplicate files. --- lib/Utils.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/Utils.js b/lib/Utils.js index 5ce9935..fb0cb4b 100755 --- a/lib/Utils.js +++ b/lib/Utils.js @@ -120,11 +120,19 @@ function writeFile(filePath, content) { function copyPath(source, target) { let stat = null; try { - stat = fs.statSync(source); + stat = fs.lstatSync(source); } catch (err1) { return; } - if (stat.isDirectory()) { + if (stat.isSymbolicLink()) { + let folder = path.dirname(target); + if (!fs.existsSync(folder)) { + createDirectory(folder); + } + deletePath(target); + let linkTarget = fs.readlinkSync(source); + fs.symlinkSync(linkTarget, target); + } else if (stat.isDirectory()) { let files = fs.readdirSync(source); for (let fileName of files) { let filePath = path.join(source, fileName);