fix(electron): dereference symlinks when copying to prevent codesign failures (#609)

* fix(electron): dereference symlinks when copying to prevent codesign failures

* style: auto-format with Biome

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This commit is contained in:
Dayuan Jiang
2026-01-18 19:24:51 +09:00
committed by GitHub
parent c9e0841583
commit 56df2678bf
2 changed files with 7 additions and 4 deletions

View File

@@ -25,7 +25,10 @@ module.exports = async (context) => {
console.log(`[afterPack] Copying node_modules to ${targetNodeModules}`)
if (existsSync(sourceNodeModules) && existsSync(standaloneDir)) {
cpSync(sourceNodeModules, targetNodeModules, { recursive: true })
cpSync(sourceNodeModules, targetNodeModules, {
recursive: true,
dereference: true,
})
console.log("[afterPack] node_modules copied successfully")
} else {
console.error("[afterPack] Source or target directory not found!")

View File

@@ -30,20 +30,20 @@ mkdirSync(targetDir, { recursive: true })
// Copy standalone (includes node_modules)
console.log("Copying standalone directory...")
cpSync(standaloneDir, targetDir, { recursive: true })
cpSync(standaloneDir, targetDir, { recursive: true, dereference: true })
// Copy static files
console.log("Copying static files...")
const targetStaticDir = join(targetDir, ".next", "static")
mkdirSync(targetStaticDir, { recursive: true })
cpSync(staticDir, targetStaticDir, { recursive: true })
cpSync(staticDir, targetStaticDir, { recursive: true, dereference: true })
// Copy public folder (required for favicon-white.svg and other assets)
console.log("Copying public folder...")
const publicDir = join(rootDir, "public")
const targetPublicDir = join(targetDir, "public")
if (existsSync(publicDir)) {
cpSync(publicDir, targetPublicDir, { recursive: true })
cpSync(publicDir, targetPublicDir, { recursive: true, dereference: true })
}
console.log("Done! Files prepared in electron-standalone/")