From abcf08e68cdd02c7eac0ecb459ca958045e522cc Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 19 Apr 2025 12:34:24 +0300 Subject: [PATCH] fix(monorepo/electron): rewrite package.json to avoid flaky config implementations in electron-forge --- apps/desktop/package.json | 3 --- apps/desktop/scripts/copy-dist.ts | 17 ++++++++++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/apps/desktop/package.json b/apps/desktop/package.json index eb2fc300b..8c32dec30 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -51,8 +51,5 @@ "@electron-forge/maker-squirrel": "7.8.0", "@electron-forge/maker-zip": "7.8.0", "@electron-forge/plugin-auto-unpack-natives": "7.8.0" - }, - "packagerConfig": { - "executableName": "trilium" } } diff --git a/apps/desktop/scripts/copy-dist.ts b/apps/desktop/scripts/copy-dist.ts index 52df9b62e..4c2dd619c 100644 --- a/apps/desktop/scripts/copy-dist.ts +++ b/apps/desktop/scripts/copy-dist.ts @@ -18,12 +18,13 @@ try { */ fs.copySync("../server/build", path.join(DEST_DIR, "node_modules", "@triliumnext/server")); + copyPackageJson(); + /** * Copy assets. */ const assetsToCopy = new Set([ - "./package.json", - "./forge.config.cjs", + "./forge.config.cjs", "./scripts/electron-forge/desktop.ejs", "./scripts/electron-forge/sign-windows.cjs", ]); @@ -51,7 +52,17 @@ try { console.log("Copying complete!") } catch(err) { - console.error("Error during copy:", err.message) + console.error("Error during copy:", err) process.exit(1) } +/** + * Rewrite the name field of `package.json` since electron-forge does not support forward slashes in the name. + * Other attempts to rewrite the name field in the forge config have failed. + */ +function copyPackageJson() { + const packageJsonPath = path.join("package.json"); + const packageJson = fs.readJSONSync(packageJsonPath); + packageJson.name = "trilium"; + fs.writeJSONSync(path.join(DEST_DIR, "package.json"), packageJson, { spaces: 2 }); +}