Socket
Socket
Sign inDemoInstall

octokat

Package Overview
Dependencies
Maintainers
1
Versions
42
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

octokat - npm Package Compare versions

Comparing version 0.4.0 to 0.4.2

foo.js

2

package.json
{
"name": "octokat",
"version": "0.4.0",
"version": "0.4.2",
"description": "Javascript GitHub client for NodeJS or a browser using promises or callbacks",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -13,6 +13,7 @@ # Octokat.js [![Build Status](https://travis-ci.org/philschatz/octokat.js.png)](https://travis-ci.org/philschatz/octokat.js)

- [Usage](#usage)
- [Examples](#examples)
- [Using Callbacks or Promises](#using-callbacks-or-promises)
- [Read/Write/Remove a File](#read-write-remove-a-file)
- [Setup](#setup)
- [Promises (Optional)](#promises-optional)
- [Preview new APIs](#preview-new-apis)
- [Enterprise APIs](#enterprise-apis)
- [Advanced](#advanced-uses)

@@ -23,2 +24,4 @@ - [Promises or Callbacks](#promises-or-callbacks)

- [Paged Results](#paged-results)
- [Preview new APIs](#preview-new-apis)
- [Enterprise APIs](#enterprise-apis)
- [Development](#development)

@@ -110,30 +113,106 @@

octo.me.starred('philschatz', 'octokat.js').add(cb); // Star a repo
octo.me.starred('philschatz', 'octokat.js').remove(cb); // Un-Star a repo
```
## Using Generators in Node.js 0.11 (or EcmaScript 6 browsers)
## Using bower
This requires Node.js 0.11 with the `--harmony-generators` flag:
This file can be included using the bower package manager:
bower install octokat --save
# Examples
Here are some examples for using the library.
## Using Callbacks or Promises
```js
var co = require('co');
var Octokat = require('octokat');
var octo = new Octokat();
var fn = function *() {
var zen = yield octo.zen.read();
var info = yield octo.repos('philschatz', 'octokat.js').fetch();
// Starring a repository using callbacks
var cb = function (err, val) { console.log(val); };
octo.me.starred('philschatz', 'octokat.js').add(cb);
console.log(zen);
console.log(info);
// Starring a repository using Promises
octo.me.starred('philschatz', 'octokat.js').add()
.then(function(val) {
console.log('Starred!');
});
```
## Read/Write/Remove a File
To read the contents of a file:
```js
var octo = new Octokat();
var repo = octo.repos('philschatz', 'octokat.js');
repo.contents('README.md').read() // Use `.read` to get the raw file.
.then(function(contents) { // `.fetch` is used for getting JSON
console.log(contents);
});
```
To read the contents of a binary file:
```js
var octo = new Octokat();
var repo = octo.repos('philschatz', 'octokat.js');
repo.contents('README.md').readBinary() // Decodes the Base64-encoded content
.then(function(contents) {
console.log(contents);
});
```
To read the contents of a file and JSON metadata:
```js
var octo = new Octokat();
var repo = octo.repos('philschatz', 'octokat.js');
repo.contents('README.md').fetch()
.then(function(info) {
console.log(info.sha, info.content);
});
```
To update a file you need the **blob SHA** of the previous commit:
```js
var octo = new Octokat({token: 'API_TOKEN'});
var repo = octo.repos('philschatz', 'octokat.js');
var config = {
message: 'Updating file',
content: base64encode('New file contents'),
sha: '123456789abcdef', // the blob SHA
// branch: 'gh-pages'
};
co(fn)();
repo.contents('README.md').add(config)
.then(function(info) {
console.log('File Updated. new sha is ', info.commit.sha);
});
```
## Using bower
Creating a new file is the same as updating a file but the `sha` field in the config is omitted.
This file can be included using the bower package manager:
To remove a file:
bower install octokat --save
```js
var octo = new Octokat({token: 'API_TOKEN'});
var repo = octo.repos('philschatz', 'octokat.js');
var config = {
message: 'Removing file',
sha: '123456789abcdef',
// branch: 'gh-pages'
};
repo.contents('README.md').remove(config)
.then(function() {
console.log('File Updated');
});
```
# Setup

@@ -143,10 +222,12 @@

<script src="../dist/octokat.js"></script>
<script>
var octo = new Octokat();
octo.zen.read(function(err, message) {
if (err) { throw new Error(err); }
alert(message);
});
</script>
```html
<script src="../dist/octokat.js"></script>
<script>
var octo = new Octokat();
octo.zen.read(function(err, message) {
if (err) { throw new Error(err); }
alert(message);
});
</script>
```

@@ -165,30 +246,8 @@ ## Promises (Optional)

<script src="./node_modules/es6-promise/dist/promise-0.1.2.js"></script>
<script src="./octokat.js">
# Preview new APIs
To use the APIs available for preview just add a `acceptHeader` when instantiating Octokat.
For example:
```js
var octo = new Octokat({
token: 'API_TOKEN'
acceptHeader: 'application/vnd.github.cannonball-preview+json'
});
```html
<script src="./node_modules/es6-promise/dist/promise-0.1.2.js"></script>
<script src="./octokat.js"></script>
```
# Enterprise APIs
To use the Enterprise APIs add the root URL when instantiating Octokat:
```js
var octo = new Octokat({
token: 'API_TOKEN'
rootUrl: 'https://example.com/api/v3/'
});
```
# Testing

@@ -292,5 +351,49 @@

.then (moreCommits) ->
# Done!
console.log('2nd page of results', moreCommits)
```
## Preview new APIs
To use the APIs available for preview just add a `acceptHeader` when instantiating Octokat.
For example:
```js
var octo = new Octokat({
token: 'API_TOKEN',
acceptHeader: 'application/vnd.github.cannonball-preview+json'
});
```
## Enterprise APIs
To use the Enterprise APIs add the root URL when instantiating Octokat:
```js
var octo = new Octokat({
token: 'API_TOKEN',
rootUrl: 'https://example.com/api/v3/'
});
```
## Using Generators in Node.js 0.11 (or EcmaScript 6 browsers)
This requires Node.js 0.11 with the `--harmony-generators` flag:
```js
var co = require('co');
var Octokat = require('octokat');
var octo = new Octokat();
var fn = function *() {
var zen = yield octo.zen.read();
var info = yield octo.repos('philschatz', 'octokat.js').fetch();
console.log(zen);
console.log(info);
};
co(fn)();
```
## Development

@@ -297,0 +400,0 @@

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc