chore(desktop): avoid forge dependencies via custom package.JSON

This commit is contained in:
Elian Doran 2025-05-24 14:29:24 +03:00
parent dfad73ee02
commit 63022c76d8
No known key found for this signature in database
2 changed files with 22 additions and 21 deletions

View File

@ -3,7 +3,7 @@
"version": "0.0.1", "version": "0.0.1",
"description": "Build your personal knowledge base with TriliumNext Notes", "description": "Build your personal knowledge base with TriliumNext Notes",
"private": true, "private": true,
"main": "dist/main.cjs", "main": "main.cjs",
"dependencies": { "dependencies": {
"@electron/remote": "2.1.2", "@electron/remote": "2.1.2",
"better-sqlite3": "^11.9.1", "better-sqlite3": "^11.9.1",

View File

@ -31,23 +31,28 @@ function parsePackageJson(distDir: string) {
return { return {
electronVersion, electronVersion,
dependencies: packageJson?.dependencies ?? [] packageJson
}; };
} }
function createFakePackageJson(distPath: string, dependencies: Record<string, string>) { function createFakePackageJson(distPath: string, packageJson: any) {
const finalDependencies = {}; const finalDependencies = {};
for (const dep of nativeDependencies) { for (const dep of nativeDependencies) {
finalDependencies[dep] = dependencies[dep]; finalDependencies[dep] = packageJson.dependencies[dep];
} }
const fakePackageJson = { const fakePackageJson: any = {
name: "trilium", name: "trilium",
version: "1.0.0", version: packageJson.version,
main: "index.js", main: packageJson.main,
dependencies: finalDependencies, dependencies: finalDependencies,
devDependencies: {}, devDependencies: {}
}; };
if (packageJson?.config?.forge) {
fakePackageJson.config = {
forge: join("..", packageJson.config.forge)
};
}
writeFileSync(distPath, JSON.stringify(fakePackageJson, null, 2), "utf-8"); writeFileSync(distPath, JSON.stringify(fakePackageJson, null, 2), "utf-8");
} }
@ -58,23 +63,19 @@ function main() {
process.exit(1); process.exit(1);
} }
const { electronVersion, dependencies } = parsePackageJson(distDir); const { electronVersion, packageJson } = parsePackageJson(distDir);
const packageJsonPath = join(distDir, "package.json"); const packageJsonPath = join(distDir, "package.json");
createFakePackageJson(packageJsonPath, dependencies); createFakePackageJson(packageJsonPath, packageJson);
console.log(`Rebuilding ${distDir} with version ${electronVersion}...`); console.log(`Rebuilding ${distDir} with version ${electronVersion}...`);
try { rebuild({
rebuild({ // We force the project root path to avoid electron-rebuild from rebuilding the monorepo-level dependency and breaking the server.
// We force the project root path to avoid electron-rebuild from rebuilding the monorepo-level dependency and breaking the server. projectRootPath: distDir,
projectRootPath: distDir, buildPath: distDir,
buildPath: distDir, force: true,
force: true, electronVersion,
electronVersion, });
});
} finally {
rmSync(packageJsonPath);
}
} }
main(); main();