Building Electron with Custom Node Build

Let’s start with my goal: I want to create a FIPS enabled OpenSSL binary to be used by Node for my Electron apps network communications.

Where I’m at: My understanding from reading docs and posts online is that Electron is built with Node and Chromium, and that both have an OpenSSL implementation. I care about swapping out Node’s implementation. It’s also suggested that Node is built as a shared library when building electron. I’m completely new to the gn and ninja build tools, but I’ve followed the build instructions well so far.

One thing I’ve tried is to change the version of node being built by altering the DEPS file, and tried setting the config checkout_node: False, but these have been ignored. I’ve also manually hunted for the shared library that’s built and can’t locate it in any output. Ideally I’d manually build Node (the version checked out by gn/ninja) and just set a flag for FIPS mode and this would work, however, I’m suffering for my naivety.

Can anyway point me in the right direction, tell me if and why what I’m doing is impossible/doesn’t make sense? The build system for someone unfamiliar is ridiculously complex, I’ve been trying things out for the past 2 weeks.

Other Info - Building on MacOS VM, only release version, followed the build instructions closely