From 63022c76d8a20c9a41daba40eeb7322411de1f2a Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 24 May 2025 14:29:24 +0300 Subject: [PATCH] chore(desktop): avoid forge dependencies via custom package.JSON --- apps/desktop/package.json | 2 +- scripts/electron-rebuild.mts | 41 ++++++++++++++++++------------------ 2 files changed, 22 insertions(+), 21 deletions(-) diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 634d586c3..7670e8801 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -3,7 +3,7 @@ "version": "0.0.1", "description": "Build your personal knowledge base with TriliumNext Notes", "private": true, - "main": "dist/main.cjs", + "main": "main.cjs", "dependencies": { "@electron/remote": "2.1.2", "better-sqlite3": "^11.9.1", diff --git a/scripts/electron-rebuild.mts b/scripts/electron-rebuild.mts index 848a86e5f..6c67831a9 100644 --- a/scripts/electron-rebuild.mts +++ b/scripts/electron-rebuild.mts @@ -31,23 +31,28 @@ function parsePackageJson(distDir: string) { return { electronVersion, - dependencies: packageJson?.dependencies ?? [] + packageJson }; } -function createFakePackageJson(distPath: string, dependencies: Record) { +function createFakePackageJson(distPath: string, packageJson: any) { const finalDependencies = {}; for (const dep of nativeDependencies) { - finalDependencies[dep] = dependencies[dep]; + finalDependencies[dep] = packageJson.dependencies[dep]; } - const fakePackageJson = { + const fakePackageJson: any = { name: "trilium", - version: "1.0.0", - main: "index.js", + version: packageJson.version, + main: packageJson.main, dependencies: finalDependencies, - devDependencies: {}, + devDependencies: {} }; + if (packageJson?.config?.forge) { + fakePackageJson.config = { + forge: join("..", packageJson.config.forge) + }; + } writeFileSync(distPath, JSON.stringify(fakePackageJson, null, 2), "utf-8"); } @@ -58,23 +63,19 @@ function main() { process.exit(1); } - const { electronVersion, dependencies } = parsePackageJson(distDir); + const { electronVersion, packageJson } = parsePackageJson(distDir); const packageJsonPath = join(distDir, "package.json"); - createFakePackageJson(packageJsonPath, dependencies); + createFakePackageJson(packageJsonPath, packageJson); console.log(`Rebuilding ${distDir} with version ${electronVersion}...`); - try { - rebuild({ - // We force the project root path to avoid electron-rebuild from rebuilding the monorepo-level dependency and breaking the server. - projectRootPath: distDir, - buildPath: distDir, - force: true, - electronVersion, - }); - } finally { - rmSync(packageJsonPath); - } + rebuild({ + // We force the project root path to avoid electron-rebuild from rebuilding the monorepo-level dependency and breaking the server. + projectRootPath: distDir, + buildPath: distDir, + force: true, + electronVersion, + }); } main();