@mathquis/node-pre-gyp-github
Version:
A node-pre-gyp module which provides the ability to publish to GitHub releases.
58 lines (43 loc) • 2.5 kB
Markdown
# node-pre-gyp-github
##### A node-pre-gyp module which provides the ability to publish to GitHub releases.
[](https://coveralls.io/github/bchr02/node-pre-gyp-github?branch=master)
[](https://gitter.im/bchr02/node-pre-gyp-github?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
## Usage
Instead of ```node-pre-gyp publish``` use **```node-pre-gyp-github publish```**
## Options for publish command
* --silent : Turns verbose messages off.
* --release : Publish the GitHub Release immediately instead of creating a Draft.
For Ex. ```node-pre-gyp-github publish --release```
## Install
```javascript
npm install -g 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](https://git-scm.com/docs/git-check-ref-format) 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 NODE_PRE_GYP_GITHUB_TOKEN environment variable to it. Within your command prompt:
```
SET NODE_PRE_GYP_GITHUB_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