Details
-
Improvement
-
Resolution: Unresolved
-
Major
-
None
-
None
-
None
-
None
-
0
Description
It would be ideal if we could provide prebuilt binaries for the Electron runtime. This would help the development of the VS Code extension provided by Couchbase which relies on the Node.js SDK.
The problem with Electron support is that since Electron uses Chromium they link against BoringSSL but do not expose the BoringSSL headers (see this Github issue). Since the C++ SDK (used by the Node.js SDK) relies on OpenSSL we run into problems (specifically on Windows) when building our binaries. So, we needed to determine the best path forward in order to "play nice" with Electron.
The VS Code extension currently rebuilds the SDK, however it still has a dependency on OpenSSL (due to how the SDK is rebuilt) that can be a frustration to users.
*IMPORTANT*
The VS Code extension will need to pin to <= 4.2.4 of the Node.js SDK as the v4.2.5 release bumped cmake-js to be >= v7.0. The newer version of cmake-js includes significant changes to what files (headers, src, etc.) are downloaded when building and there will be significant hoops to jump through (specifically on Windows) in order to build the SDK against the Electron runtime.
Attachments
Issue Links
- relates to
-
JSCBC-1151 Address OpenSSL ABI compatibility with Node linking
- Open