[GH-ISSUE #798] Recreate node-libofx build logic from scratch #7246

Closed
opened 2026-04-10 16:59:59 -05:00 by GiteaMirror · 2 comments
Owner

Originally created by @j-f1 on GitHub (Mar 21, 2023).
Original GitHub issue: https://github.com/actualbudget/actual/issues/798

Currently, there is some code in the packages/node-libofx directory that builds the C++ code into a Wasm file using emscripten. It does not work. I think the whole thing needs to be deleted and rebuilt from scratch — I spent several hours on trying to get things working yesterday and was thoroughly unsuccessful.

Issues:

Some options to potentially explore:

  • wait for the above issues to be fixed
  • update the C++ projects to the latest version and hope for the best
  • Use Zig’s build system instead of the existing makefiles?
  • Maybe write a wrapper in Rust and give their build system a try?

This is a blocker for debugging issues like #794.

Originally created by @j-f1 on GitHub (Mar 21, 2023). Original GitHub issue: https://github.com/actualbudget/actual/issues/798 Currently, there is some code in the `packages/node-libofx` directory that builds the C++ code into a Wasm file using emscripten. It does not work. I think the whole thing needs to be deleted and rebuilt from scratch — I spent several hours on trying to get things working yesterday and was thoroughly unsuccessful. Issues: - https://github.com/llvm/llvm-project/issues/61555 - https://github.com/emscripten-core/emscripten/issues/10719 - Probably other things? Some options to potentially explore: - wait for the above issues to be fixed - update the C++ projects to the latest version and hope for the best - Use [Zig](https://ziglang.org/)’s build system instead of the existing makefiles? - Maybe write a wrapper in Rust and give their build system a try? This is a blocker for debugging issues like #794.
GiteaMirror added the tech debt label 2026-04-10 16:59:59 -05:00
Author
Owner

@Shazib commented on GitHub (May 6, 2023):

There are a couple of other projects that implement OFX in js, is it worth exploring these as alternatives?

Libofxjs uses the same C++ library underneath, but uses node-gyp instead of emscripten, which we use anyway with better-sqlite3 etc, so perhaps we could drop the need to emscripten entirely.

There are also various pure JS implementations but these might require a bit more work to migrate and regression test.

<!-- gh-comment-id:1537167299 --> @Shazib commented on GitHub (May 6, 2023): There are a couple of other projects that implement OFX in js, is it worth exploring these as alternatives? [Libofxjs ](https://github.com/clarete/libofxjs) uses the same C++ library underneath, but uses node-gyp instead of emscripten, which we use anyway with better-sqlite3 etc, so perhaps we could drop the need to emscripten entirely. There are also various pure JS implementations but these might require a bit more work to migrate and regression test.
Author
Owner

@j-f1 commented on GitHub (May 6, 2023):

Would libofxjs work in the browser?

@sinistersnare contributed an experimental new OFX importer in #921, which we’re currently waiting for feedback on.

<!-- gh-comment-id:1537169403 --> @j-f1 commented on GitHub (May 6, 2023): Would libofxjs work in the browser? @sinistersnare contributed an experimental new OFX importer in #921, which we’re currently waiting for feedback on.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#7246