mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 02:16:05 +01:00 
			
		
		
		
	feat(edit-docs): wait for import to finish before starting electron
This commit is contained in:
		| @@ -20,22 +20,9 @@ async function main() { | ||||
|     await initializeTranslations(); | ||||
|     const zipBuffer = await createImportZip(); | ||||
|     await initializeDatabase(); | ||||
|     cls.init(() => { | ||||
|         importData(zipBuffer); | ||||
|     }); | ||||
|  | ||||
|     await importData(zipBuffer); | ||||
|     await startElectron(); | ||||
|  | ||||
|  | ||||
|     const events = (await import("./src/services/events.js")).default; | ||||
|     const debouncer = debounce(() => { | ||||
|         console.log("Exporting data"); | ||||
|         exportData(); | ||||
|     }, 10_000);; | ||||
|     events.subscribe(events.ENTITY_CHANGED, async () => { | ||||
|         console.log("Got entity changed"); | ||||
|         debouncer(); | ||||
|     }); | ||||
|     await registerHandlers(); | ||||
| } | ||||
|  | ||||
| async function initializeDatabase() { | ||||
| @@ -48,37 +35,42 @@ async function initializeDatabase() { | ||||
|     }); | ||||
| } | ||||
|  | ||||
| async function importData(input: Buffer) { | ||||
|     const beccaLoader = ((await import("./src/becca/becca_loader.js")).default); | ||||
|     const notes = ((await import("./src/services/notes.js")).default); | ||||
|     beccaLoader.load(); | ||||
|     const becca = ((await import("./src/becca/becca.js")).default); | ||||
|     const utils = ((await import("./src/services/utils.js")).default); | ||||
|     const eraseService = ((await import("./src/services/erase.js")).default); | ||||
|     const deleteId = utils.randomString(10); | ||||
| function importData(input: Buffer) { | ||||
|     return new Promise<void>((resolve, reject) => { | ||||
|         cls.init(async () => { | ||||
|             const beccaLoader = ((await import("./src/becca/becca_loader.js")).default); | ||||
|             const notes = ((await import("./src/services/notes.js")).default); | ||||
|             beccaLoader.load(); | ||||
|             const becca = ((await import("./src/becca/becca.js")).default); | ||||
|             const utils = ((await import("./src/services/utils.js")).default); | ||||
|             const eraseService = ((await import("./src/services/erase.js")).default); | ||||
|             const deleteId = utils.randomString(10); | ||||
|  | ||||
|     const existingNote = becca.getNote(NOTE_ID_USER_GUIDE); | ||||
|     if (existingNote) { | ||||
|         existingNote.deleteNote(deleteId); | ||||
|     } | ||||
|     eraseService.eraseNotesWithDeleteId(deleteId); | ||||
|             const existingNote = becca.getNote(NOTE_ID_USER_GUIDE); | ||||
|             if (existingNote) { | ||||
|                 existingNote.deleteNote(deleteId); | ||||
|             } | ||||
|             eraseService.eraseNotesWithDeleteId(deleteId); | ||||
|  | ||||
|     const { note } = notes.createNewNoteWithTarget("into", "none_root", { | ||||
|         parentNoteId: "root", | ||||
|         noteId: NOTE_ID_USER_GUIDE, | ||||
|         title: "User Guide", | ||||
|         content: "The sub-children of this note are automatically synced.", | ||||
|         type: "text" | ||||
|             const { note } = notes.createNewNoteWithTarget("into", "none_root", { | ||||
|                 parentNoteId: "root", | ||||
|                 noteId: NOTE_ID_USER_GUIDE, | ||||
|                 title: "User Guide", | ||||
|                 content: "The sub-children of this note are automatically synced.", | ||||
|                 type: "text" | ||||
|             }); | ||||
|  | ||||
|             const TaskContext = (await import("./src/services/task_context.js")).default; | ||||
|             const { importZip } = ((await import("./src/services/import/zip.js")).default); | ||||
|             const context = new TaskContext("no-report"); | ||||
|             await importZip(context, input, note, { preserveIds: true }); | ||||
|  | ||||
|             const { runOnDemandChecks } = (await import("./src/services/consistency_checks.js")).default; | ||||
|             await runOnDemandChecks(true); | ||||
|             resolve(); | ||||
|         }); | ||||
|     }); | ||||
|  | ||||
|     const TaskContext = (await import("./src/services/task_context.js")).default; | ||||
|     const { importZip } = ((await import("./src/services/import/zip.js")).default); | ||||
|     const context = new TaskContext("no-report"); | ||||
|     await importZip(context, input, note, { preserveIds: true }); | ||||
|  | ||||
|     const { runOnDemandChecks } = (await import("./src/services/consistency_checks.js")).default; | ||||
|     await runOnDemandChecks(true); | ||||
|  | ||||
| } | ||||
|  | ||||
| async function createImportZip() { | ||||
| @@ -162,4 +154,16 @@ async function cleanUpMeta() { | ||||
|     await fs.writeFile(metaPath, JSON.stringify(meta, null, 4)); | ||||
| } | ||||
|  | ||||
| async function registerHandlers() { | ||||
|     const events = (await import("./src/services/events.js")).default; | ||||
|     const debouncer = debounce(() => { | ||||
|         console.log("Exporting data"); | ||||
|         exportData(); | ||||
|     }, 10_000);; | ||||
|     events.subscribe(events.ENTITY_CHANGED, async (e) => { | ||||
|         console.log("Got entity changed ", e); | ||||
|         debouncer(); | ||||
|     }); | ||||
| } | ||||
|  | ||||
| await main(); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user