gh-latest-release
Version:
Get the latest published full release for the Github repository
84 lines (67 loc) • 3.85 kB
Markdown
# gh-latest-release
[](https://www.npmjs.com/package/gh-latest-release)
[](https://travis-ci.org/shinnn/gh-latest-release)
[](https://coveralls.io/github/shinnn/is-gist-starred?branch=master)
[](https://david-dm.org/shinnn/gh-latest-release)
[](https://david-dm.org/shinnn/gh-latest-release#info=devDependencies)
A [Node](https://nodejs.org/) module to get the latest published full [release](https://help.github.com/articles/about-releases/) for the [Github](https://github.com/) repository.
```javascript
const ghLatestRelease = require('gh-latest-release');
ghLatestRelease('strongloop/fsevents', release => console.log(release));
```
```javascript
{
url: 'https://api.github.com/repos/strongloop/fsevents/releases/2265953',
assets_url: 'https://api.github.com/repos/strongloop/fsevents/releases/2265953/assets',
upload_url: 'https://uploads.github.com/repos/strongloop/fsevents/releases/2265953/assets{?name,label}',
html_url: 'https://github.com/strongloop/fsevents/releases/tag/v1.0.6',
id: 2265953,
tag_name: 'v1.0.6',
target_commitish: 'master',
name: '',
draft: false,
author: {
login: 'es128',
id: 1740641,
avatar_url: 'https://avatars.githubusercontent.com/u/1740641?v=3',
gravatar_id: '',
url: 'https://api.github.com/users/es128',
html_url: 'https://github.com/es128',
followers_url: 'https://api.github.com/users/es128/followers',
following_url: 'https://api.github.com/users/es128/following{/other_user}',
gists_url: 'https://api.github.com/users/es128/gists{/gist_id}',
starred_url: 'https://api.github.com/users/es128/starred{/owner}{/repo}',
subscriptions_url: 'https://api.github.com/users/es128/subscriptions',
organizations_url: 'https://api.github.com/users/es128/orgs',
repos_url: 'https://api.github.com/users/es128/repos',
events_url: 'https://api.github.com/users/es128/events{/privacy}',
received_events_url: 'https://api.github.com/users/es128/received_events',
type: 'User',
site_admin: false
},
prerelease: false,
created_at: '2015-12-10T14:01:28Z',
published_at: '2015-12-10T14:04:19Z',
assets: [],
tarball_url: 'https://api.github.com/repos/strongloop/fsevents/tarball/v1.0.6',
zipball_url: 'https://api.github.com/repos/strongloop/fsevents/zipball/v1.0.6',
body: 'Updated node-pre-gyp to 0.6.17'
}
```
## Installation
[Use npm.](https://docs.npmjs.com/cli/install)
```
npm install gh-latest-release
```
## API
```javascript
const ghLatestRelease = require('gh-latest-release');
```
### ghLatestRelease(*ownerRepo* [, *options*])
*ownerRepo*: `String` (`/`-separated owner and repository names, for example <https://github.com/es128/ssl-utils> → `'es128/ssl-utils'`)
*options*: `Object` ([gh-get](https://github.com/shinnn/gh-get#options) options)
Return: [`Promise`](http://www.ecma-international.org/ecma-262/6.0/#sec-promise-constructor) instance
It makes an [API](https://developer.github.com/v3/) request to [get the latest release information](https://developer.github.com/v3/repos/releases/#get-the-latest-release), and returns a promise. The promise will be [*fulfilled*](https://promisesaplus.com/#point-26) with a [JSON object](https://developer.github.com/v3/repos/releases/#response-2) if successful, otherwise [*rejected*](https://promisesaplus.com/#point-30) with an error.
## License
Copyright (c) 2016 [Shinnosuke Watanabe](https://github.com/shinnn)
Licensed under [the MIT License](./LICENSE).