This project is a parallel fork of node-pty
providing prebuilt packages for certain Node.js and Electron versions.
Inspired by daviwil/node-pty-prebuilt.
Thanks to the excellent prebuild
, prebuild-install
modules, and prebuildify
using this module is extremely easy.
You merely have to change your node-pty
dependency to @homebridge/node-pty-prebuilt-multiarch
and then change any require
statements in your code from require('node-pty')
to require('@homebridge/node-pty-prebuilt-multiarch')
.
NOTE: We started shipping prebuilds as of node-pty version 0.8.1, no prior versions are provided! If you were using an earlier version of
node-pty
you will need to update your code to account for any API changes that may have occurred.
We maintain a parallel fork of the node-pty
codebase that will be updated as new releases are shipped.
When we merge new updates to the code into the prebuilt-multiarch
branch, new prebuilt packages for our supported Node.js and Electron versions are updated to the corresponding GitHub release.
When @homebridge/node-pty-prebuilt-multiarch
is installed as a package dependency, the installation script checks to see if there's a prebuilt package on this repo for the OS, ABI version, and architecture of the current process and then downloads it, extracting it into the module path.
If a corresponding prebuilt package is not found, node-gyp
is invoked to build the package for the current platform.
OS | Architectures |
---|---|
macOS | x64, arm64 |
Linux (glibc) | ia32, x64, armv6, aarch64 |
Linux (musl) | x64, armv6, aarch64 |
Windows | ia32, x64 |
We only provide prebuilt binaries for Node.js 16 and Electron 16.0.0 or higher. Pls note that prebuilds for Electron 28 are not supplied due to build issues.
Please note releasing this package uses GitHub actions.
This flows takes the branch selected from the workflow start drop down, and creates a GitHub and NPM Release containing the prebuild artifacts.
The version of the Release comes from the package.json, and in the case of a BETA release automatically appends the beta release version.
During processing, it leverages a branch called release-candidate
as a holding area for prebuilds.
When running the job, most times a couple of the instances of the sub step Commit & Push Changes
within Prebuild NPM and GitHub Release artifacts
fails.
When this occurs just re-run. This is due to concurrency issues between the steps and GitHub.
A typical run has 3-4 steps fail.
release-candidate
if not existing (the script deletes it before starting and will fail if it isn't present)Run prebuild's and Create GitHub and NPM release
, and select branch you wish to publish, and if it needs to be BETA tagged and versioned