Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
  LICENSE
  package.json
  README.md
  superbrain.node
Size: Mime:
  README.md

Node.js versions support (>= 14)

From node.js:

  • 14.x initial released in 2020, will be EOL 2023-04-30
  • 16.x initial released in 2021, will be EOL 2023-09-11
  • 18.x initial released in 2022, will be EOL 2025-04-30

From n-api, Node 14.17.0 supports Node-API 8 and was released on 2021-05-11 so we can safely rely on Node-API 8.

Quirks and build issues

  • --openssl-fips='' was added to node-gyp command line options to bypass an interop bug (here).
  • We're using optional dependencies as a solution to platform-specific binaries, forgoeing the option to allow the user to build the extension locally using a bundled libsuperbrain a-la prebuildify and node-pre-gyp.

libsuperbrain

With node, it's customary to put the library dependencies so the user will be able to compile a node addon when depending on the library. In our case, we take a shortcut by following this RFC, so either we'll have prebuilt binaries for our customers or we'll need to add more platforms/architectures.

developing github actions

Use act, set the necessary env vars and run something like:

act -j 'nodejs-package-release' --input 'package-type=nodejs' --input 'version=0.0.4-dev' --input 'production=false' -s DOCKERHUB_USERNAME -s DOCKERHUB_TOKEN -s GITHUB_TOKEN -s MARVINBOT_PAT -s INTERNAL_REPO_DEPLOY_TOKEN -s PROD_REPO_DEPLOY_TOKEN

Note that since the docker images run as root, they'll create artifcats as root in your (host) directory, so you'll need to chown afterwards.