github-graphql-api
TypeScript icon, indicating that this package has built-in type declarations

1.0.6 • Public • Published

GitHub GraphQL API

Build Status codecov

A node client for the GitHub GraphQL API with minimal dependencies created with TypeScript.

Table of contents

Simple Queries

With this package you can more or less just copy and paste the query and the variables from the GitHub GraphQL Explorer for immediate results.

import { GitHub } from 'github-graphql-api';
const github = new GitHub({ token: 'xxx' })
github.query(`
  query {
    rateLimit {
      remaining
    }
  }
`).then(console.log);

Passing variables

With this package you can more or less just copy and paste the query and the variables from the GitHub GraphQL Explorer for immediate results.

import { GitHub } from 'github-graphql-api';
const github = new GitHub({ token: 'xxx' })
 
const getUserBio = async (username) => {
  return await github.query(`
    query (
      $username: String!
    ) {
      user(login: $username) {
        bio
      }
    }
  `, {
    username,
  });
}

Constructor options

new GitHub({
  token: 'xxx',                  // required
  apiUrl: 'https://example.com', // default: https://api.github.com/graphql
})

The GitHub API Token can be created on your Developer Settings page. You are able to define the Permissions of the Access Token.

The Api URL can be changed for GitHub Enterprise Users which run them on their own domain.

Require / Import

// ES6
import { GitHub } from 'github-graphql-api';
import GithubGraphQLApi from 'github-graphql-api';
// CommonJs
const { Github } = require('github-graphql-api');
const GithubGraphQLApi = require('github-graphql-api').default;

Changelog

See history for more details.

  • 1.0.0 2018-07-01 Initial release

Dependencies (0)

    Dev Dependencies (10)

    Package Sidebar

    Install

    npm i github-graphql-api

    Weekly Downloads

    63

    Version

    1.0.6

    License

    MIT

    Unpacked Size

    16.2 kB

    Total Files

    19

    Last publish

    Collaborators

    • tamino-martinius