mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 11:39:01 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			116 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			116 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| const path = require('path');
 | |
| const fs = require('fs-extra');
 | |
| 
 | |
| const APP_NAME = "TriliumNext Notes";
 | |
| 
 | |
| module.exports = {
 | |
|   packagerConfig: {
 | |
|     executableName: "trilium",
 | |
|     name: APP_NAME,
 | |
|     overwrite: true,
 | |
|     asar: true,
 | |
|     icon: "./images/app-icons/icon",
 | |
|     extraResource: [
 | |
|       // Moved to root
 | |
|       ...getExtraResourcesForPlatform(),
 | |
| 
 | |
|       // Moved to resources (TriliumNext Notes.app/Contents/Resources on macOS)
 | |
|       "translations/"
 | |
|     ],
 | |
|     afterComplete: [(buildPath, _electronVersion, platform, _arch, callback) => {
 | |
|       const extraResources = getExtraResourcesForPlatform();
 | |
|       for (const resource of extraResources) {
 | |
|         const baseName = path.basename(resource);
 | |
|         let sourcePath;
 | |
|         if (platform === 'darwin') {
 | |
|           sourcePath = path.join(buildPath, `${APP_NAME}.app`, 'Contents', 'Resources', baseName);
 | |
|         } else {
 | |
|           sourcePath = path.join(buildPath, 'resources', baseName);
 | |
|         }
 | |
|         let destPath;
 | |
|         
 | |
|         if (baseName !== "256x256.png") {
 | |
|           destPath = path.join(buildPath, baseName);
 | |
|         } else {
 | |
|           destPath = path.join(buildPath, "icon.png");
 | |
|         }
 | |
| 
 | |
|         // Copy files from resources folder to root
 | |
|         fs.move(sourcePath, destPath)
 | |
|           .then(() => callback())
 | |
|           .catch(err => callback(err));
 | |
|       }
 | |
|     }]
 | |
|   },
 | |
|   rebuildConfig: {
 | |
|     force: true
 | |
|   },
 | |
|   makers: [
 | |
|     {
 | |
|       name: '@electron-forge/maker-deb',
 | |
|       config: {
 | |
|         options: {
 | |
|           icon: "./images/app-icons/png/128x128.png",
 | |
|           desktopTemplate: path.resolve("./bin/electron-forge/desktop.ejs")
 | |
|         }
 | |
|       }
 | |
|     },
 | |
|     {
 | |
|       name: '@electron-forge/maker-squirrel',
 | |
|       config: {
 | |
|         iconUrl: "https://raw.githubusercontent.com/TriliumNext/Notes/develop/images/app-icons/icon.ico",
 | |
|         setupIcon: "./images/app-icons/icon.ico",
 | |
|         loadingGif: "./images/app-icons/win/setup-banner.gif"
 | |
|       }
 | |
|     },
 | |
|     {
 | |
|       name: '@electron-forge/maker-dmg',
 | |
|       config: {
 | |
|         icon: "./images/app-icons/icon.icns",
 | |
|       }
 | |
|     },
 | |
|     {
 | |
|       name: '@electron-forge/maker-zip',
 | |
|       config: {
 | |
|         options: {
 | |
|           iconUrl: "https://raw.githubusercontent.com/TriliumNext/Notes/develop/images/app-icons/icon.ico",
 | |
|           icon: "./images/app-icons/icon.ico",
 | |
|         }
 | |
|       }
 | |
|     }
 | |
|   ],
 | |
|   plugins: [
 | |
|     {
 | |
|       name: '@electron-forge/plugin-auto-unpack-natives',
 | |
|       config: {},
 | |
|     },
 | |
|   ],
 | |
| };
 | |
| 
 | |
| 
 | |
| function getExtraResourcesForPlatform() {
 | |
|   let resources = [
 | |
|     'dump-db/',
 | |
|     './bin/tpl/anonymize-database.sql'
 | |
|   ];
 | |
|   const scripts = ['trilium-portable', 'trilium-safe-mode', 'trilium-no-cert-check']
 | |
|   switch (process.platform) {
 | |
|     case 'win32':
 | |
|       for (const script of scripts) {
 | |
|         resources.push(`./bin/tpl/${script}.bat`)
 | |
|       }
 | |
|       break;
 | |
|     case 'darwin':
 | |
|       break;
 | |
|     case 'linux':
 | |
|       resources.push("images/app-icons/png/256x256.png")
 | |
|       for (const script of scripts) {
 | |
|         resources.push(`./bin/tpl/${script}.sh`)
 | |
|       }
 | |
|       break;
 | |
|     default:
 | |
|       break;
 | |
|   }
 | |
| 
 | |
|   return resources;
 | |
| } | 
