@ledgerhq/node-pre-gyp-github

A node-pre-gyp module which provides the ability to publish to GitHub releases.

Usage no npm install needed!

<script type="module">
  import ledgerhqNodePreGypGithub from 'https://cdn.skypack.dev/@ledgerhq/node-pre-gyp-github';
</script>

README

node-pre-gyp-github

A node-pre-gyp module which provides the ability to publish to GitHub releases.

(Forked from https://github.com/mathquis/node-pre-gyp-github)

Usage

Instead of node-pre-gyp publish use node-pre-gyp-github publish

Options for publish command

  • --release : Publish the GitHub Release immediately instead of creating a Draft.

    For Ex. node-pre-gyp-github publish --release

Install

npm install -g @ledgerhq/node-pre-gyp-github

Configuration

This module is intended to be used with node-pre-gyp. Therefore, be sure to configure and install node-pre-gyp first. After having done that, within package.json update the binary properties host and remote_path so it matches the following format:

  "host": "https://github.com/[owner]/[repo]/releases/download/",
  "remote_path": "{version}"

Be sure to replace [owner], [repo], with actual values, but DO NOT replace {version} with actual version.

WARNING: Variable substitutions are not supported on the host property and on the remote_path only {version} placeholder is supported. The value of remote_path after substitution will become a release tag name. Do not use forbidden git tag characters for version and remote_path properties.

Within GitHub, create a new authorization:

  1. go to Settings
  2. click Personal access tokens
  3. click Generate new token
  4. Select "public_repo" and "repo_deployment"
  5. Generate Token
  6. copy the key that's generated and set GH_TOKEN environment variable to it. Within your command prompt:
SET GH_TOKEN=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Example (Publish to GitHub as a Draft Release)

  1. node-pre-gyp configure
  2. node-pre-gyp build
  3. node-pre-gyp package
  4. node-pre-gyp-github publish

Example (Publish to GitHub as a Release)

  1. node-pre-gyp configure
  2. node-pre-gyp build
  3. node-pre-gyp package
  4. node-pre-gyp-github publish --release