What's the go-to library for using Electron with PureScript?

Is there a library that’s maintained for Electron integration. I found purescript-electron but it’s no longer maintained.

4 Likes

I’m not aware of any actively maintained Electron bindings. I think your best bet in this case is to write your app normally, writing any needed bindings as you go.

That was my thought too, but wanted to ask before I embarked on such an effort.

An alternative is to fork purescript-electron and maintain and update it yourself. Unless there’s a lot of breakage between Electron versions (I never used Electron before), a lot of the work will have been already done for you.

Edit: you can also ask the library’s previous maintainer if they can let you become the maintainer, thus removing the need for a fork.

I’ve ventured down this path a little bit and IMO, it seems easiest to just use FFI for whatever electron functions you need. I’ve been working on and off on a toy etsy app using halogen and electron. I did the initial electron setup in plain js and then used FFI for sending IPC messages (or whatever they’re called) from halogen components and that gave me great milage.

I think the difficulty with wrapper libraries is it can be hard to maintain a lib if the upstream changes a lot. Aside from this, it doesn’t really seem like you need the full generality of electron wrapped in a ps lib to accomplish your goals, this is the case for me atleast.

The ps lib we do have, purescript-electron, is based on a pretty old version of purescript back when they were using an extensible effect system. I spent time modernizing it and had it compiling on 0.13.8, but I didn’t test it so it’s possible I broke something :sweat_smile:.

I could push my changes up on a fork if you’re interested though

1 Like

The API doesn’t look like it changed that much, but come out with 10 versions in the last 3 years, which makes maintaining the library a headache.
I’ll probably just FFI out the parts I need for now.

1 Like