| 
									
										
										
										
											2025-09-01 21:15:44 +03:00
										 |  |  | import { join } from "path"; | 
					
						
							| 
									
										
										
										
											2025-09-01 20:50:22 +03:00
										 |  |  | import BuildHelper from "../../../scripts/build-utils"; | 
					
						
							| 
									
										
										
										
											2025-09-01 21:15:44 +03:00
										 |  |  | import originalPackageJson from "../package.json" with { type: "json" }; | 
					
						
							|  |  |  | import { writeFileSync } from "fs"; | 
					
						
							| 
									
										
										
										
											2025-09-01 20:50:22 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | const build = new BuildHelper("apps/desktop"); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | async function main() { | 
					
						
							|  |  |  |     await build.buildBackend([ "src/main.ts"]); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // Copy assets.
 | 
					
						
							|  |  |  |     build.copy("src/assets", "assets/"); | 
					
						
							|  |  |  |     build.copy("/apps/server/src/assets", "assets/"); | 
					
						
							|  |  |  |     build.copy("/packages/share-theme/src/templates", "share-theme/templates/"); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // Copy node modules dependencies
 | 
					
						
							|  |  |  |     build.copyNodeModules([ "better-sqlite3", "bindings", "file-uri-to-path", "@electron/remote" ]); | 
					
						
							| 
									
										
										
										
											2025-09-16 16:13:17 +03:00
										 |  |  |     build.copy("/node_modules/ckeditor5/dist/ckeditor5-content.css", "ckeditor5-content.css"); | 
					
						
							| 
									
										
										
										
											2025-09-01 20:50:22 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  |     // Integrate the client.
 | 
					
						
							|  |  |  |     build.triggerBuildAndCopyTo("apps/client", "public/"); | 
					
						
							|  |  |  |     build.deleteFromOutput("public/webpack-stats.json"); | 
					
						
							| 
									
										
										
										
											2025-09-01 21:15:44 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  |     generatePackageJson(); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function generatePackageJson() { | 
					
						
							|  |  |  |     const { version, author, license, description, dependencies, devDependencies } = originalPackageJson; | 
					
						
							|  |  |  |     const packageJson = { | 
					
						
							|  |  |  |         name: "trilium", | 
					
						
							|  |  |  |         main: "main.cjs", | 
					
						
							|  |  |  |         version, author, license, description, | 
					
						
							|  |  |  |         dependencies: { | 
					
						
							|  |  |  |             "better-sqlite3": dependencies["better-sqlite3"], | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |         devDependencies: { | 
					
						
							|  |  |  |             electron: devDependencies.electron | 
					
						
							| 
									
										
										
										
											2025-09-02 13:59:09 +03:00
										 |  |  |         }, | 
					
						
							|  |  |  |         config: { | 
					
						
							|  |  |  |             forge: "../electron-forge/forge.config.ts" | 
					
						
							| 
									
										
										
										
											2025-09-01 21:15:44 +03:00
										 |  |  |         } | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  |     writeFileSync(join(build.outDir, "package.json"), JSON.stringify(packageJson, null, "\t"), "utf-8"); | 
					
						
							| 
									
										
										
										
											2025-09-01 20:50:22 +03:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | main(); |