From dc1e0e8db4123990dc115d40f9cfb3723de6ba9e Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 5 Apr 2026 22:22:58 +0300 Subject: [PATCH] fix(desktop): tesseract.js not copied --- apps/server/scripts/build.ts | 7 ------- scripts/build-utils.ts | 8 ++++++++ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/apps/server/scripts/build.ts b/apps/server/scripts/build.ts index 14401080e2..9fa1f9cb83 100644 --- a/apps/server/scripts/build.ts +++ b/apps/server/scripts/build.ts @@ -12,13 +12,6 @@ async function main() { // Copy node modules dependencies build.copyNodeModules([ "better-sqlite3", "bindings", "file-uri-to-path" ]); - - // Tesseract.js worker runs in a separate worker_thread and needs its - // source files (+ WASM core + transitive deps) on disk — they cannot be bundled. - build.copyNodeModules([ - "tesseract.js", "tesseract.js-core", "wasm-feature-detect", - "regenerator-runtime", "is-url", "bmp-js" - ]); build.copy("/node_modules/ckeditor5/dist/ckeditor5-content.css", "ckeditor5-content.css"); build.buildFrontend(); diff --git a/scripts/build-utils.ts b/scripts/build-utils.ts index 7349cecb2b..23af1db90d 100644 --- a/scripts/build-utils.ts +++ b/scripts/build-utils.ts @@ -68,6 +68,14 @@ export default class BuildHelper { minify: true }); writeFileSync(join(this.outDir, "meta.json"), JSON.stringify(result.metafile)); + + // Tesseract.js is marked as external above because its worker runs in + // a separate worker_thread. Copy the worker source, WASM core and all + // transitive runtime deps so they are available in dist/node_modules. + this.copyNodeModules([ + "tesseract.js", "tesseract.js-core", "wasm-feature-detect", + "regenerator-runtime", "is-url", "bmp-js" + ]); } buildFrontend() {