Full Code of APIs-guru/graphql-voyager for AI

main 656b8ddb4e7b cached
114 files
1.6 MB
347.2k tokens
204 symbols
1 requests
Download .txt
Showing preview only (1,743K chars total). Download the full file or copy to clipboard to get everything.
Repository: APIs-guru/graphql-voyager
Branch: main
Commit: 656b8ddb4e7b
Files: 114
Total size: 1.6 MB

Directory structure:
gitextract__glkiko_/

├── .eslintignore
├── .eslintrc.yml
├── .github/
│   ├── FUNDING.yml
│   ├── dependabot.yml
│   └── workflows/
│       ├── changelog.yml
│       ├── ci.yml
│       ├── publish.yml
│       ├── pull_request.yml
│       ├── push.yml
│       └── scorecard.yml
├── .gitignore
├── .npmignore
├── .prettierrc
├── LICENSE
├── README.md
├── cspell.yml
├── demo/
│   ├── index.html
│   └── presets/
│       ├── github_introspection.json
│       ├── shopify_introspection.json
│       ├── swapi_introspection.json
│       └── yelp_introspection.json
├── docker-compose.yml
├── example/
│   ├── README.md
│   ├── cdn/
│   │   └── index.html
│   ├── express-server/
│   │   ├── Dockerfile
│   │   ├── index.ts
│   │   ├── package.json
│   │   ├── schema.ts
│   │   └── tsconfig.json
│   └── webpack/
│       ├── Dockerfile
│       ├── README.md
│       ├── index.html
│       ├── index.tsx
│       ├── package.json
│       ├── tsconfig.json
│       └── webpack.config.js
├── manual-types.d.ts
├── package.json
├── playwright.config.ts
├── scripts/
│   ├── gen-changelog.ts
│   ├── serve-directory.ts
│   └── utils.ts
├── src/
│   ├── components/
│   │   ├── GraphViewport.tsx
│   │   ├── IntrospectionModal.tsx
│   │   ├── MUITheme.tsx
│   │   ├── Voyager.css
│   │   ├── Voyager.tsx
│   │   ├── doc-explorer/
│   │   │   ├── Argument.css
│   │   │   ├── Argument.tsx
│   │   │   ├── Description.css
│   │   │   ├── Description.tsx
│   │   │   ├── DocExplorer.css
│   │   │   ├── DocExplorer.tsx
│   │   │   ├── EnumValue.tsx
│   │   │   ├── FocusTypeButton.css
│   │   │   ├── FocusTypeButton.tsx
│   │   │   ├── OtherSearchResults.tsx
│   │   │   ├── TypeDetails.css
│   │   │   ├── TypeDetails.tsx
│   │   │   ├── TypeDoc.css
│   │   │   ├── TypeDoc.tsx
│   │   │   ├── TypeInfoPopover.css
│   │   │   ├── TypeInfoPopover.tsx
│   │   │   ├── TypeLink.css
│   │   │   ├── TypeLink.tsx
│   │   │   ├── TypeList.css
│   │   │   ├── TypeList.tsx
│   │   │   ├── WrappedTypeName.css
│   │   │   └── WrappedTypeName.tsx
│   │   ├── settings/
│   │   │   ├── RootSelector.tsx
│   │   │   └── Settings.tsx
│   │   ├── utils/
│   │   │   ├── LoadingAnimation.tsx
│   │   │   ├── Markdown.tsx
│   │   │   ├── PoweredBy.tsx
│   │   │   ├── SearchBox.tsx
│   │   │   └── VoyagerLogo.tsx
│   │   ├── variables.css
│   │   └── viewport.css
│   ├── graph/
│   │   ├── dot.ts
│   │   ├── graphviz-worker.ts
│   │   ├── svg-renderer.ts
│   │   ├── type-graph.ts
│   │   └── viewport.ts
│   ├── index.ts
│   ├── introspection/
│   │   ├── introspection.ts
│   │   └── utils.ts
│   ├── middleware/
│   │   ├── express.ts
│   │   ├── hapi.ts
│   │   ├── index.ts
│   │   ├── koa.ts
│   │   └── render-voyager-page.ts
│   ├── standalone.ts
│   └── utils/
│       ├── collect-referenced-types.ts
│       ├── compute-hash.ts
│       ├── dom-helpers.ts
│       ├── highlight.tsx
│       ├── introspection-query.ts
│       ├── is-match.ts
│       ├── local-storage-lru-cache.ts
│       ├── mapValues.ts
│       ├── sdl-to-introspection.ts
│       ├── stringify-type-wrappers.ts
│       ├── transformSchema.ts
│       ├── unreachable.ts
│       └── usePromise.ts
├── tests/
│   ├── Dockerfile
│   ├── PageObjectModel.ts
│   ├── demo.spec.ts
│   ├── express.spec.ts
│   └── webpack.spec.ts
├── tsconfig.build.json
├── tsconfig.json
├── webpack.config.ts
└── wrangler.toml

================================================
FILE CONTENTS
================================================

================================================
FILE: .eslintignore
================================================
/example
# Copied from '.gitignore', please keep it in sync.
/.eslintcache
/.cspellcache
/node_modules
/dist
/demo-dist
/typings
/test-results
/playwright-report


================================================
FILE: .eslintrc.yml
================================================
parserOptions:
  sourceType: script
env:
  es2022: true
  browser: true
plugins: ['simple-import-sort', 'react', 'react-hooks']
settings:
  react:
    version: detect
extends:
  - 'eslint:recommended'
  - 'plugin:import/recommended'
  - 'plugin:react/recommended'
  - 'plugin:react/jsx-runtime'
  - 'plugin:react-hooks/recommended'
rules:
  'simple-import-sort/imports': error
  'simple-import-sort/exports': error
  'import/no-extraneous-dependencies':
    [error, { devDependencies: ['**/*.config.{js,ts}', 'tests/**'] }]
overrides:
  - files: '**/*.js'
    env:
      node: true

  - files: 'tests/**.ts'
    plugins: ['@typescript-eslint']
    extends:
      - 'plugin:playwright/recommended'

  - files: ['**/*.ts', '**/*.tsx']
    parser: '@typescript-eslint/parser'
    parserOptions:
      sourceType: module
      project: ['tsconfig.json']
    plugins: ['@typescript-eslint']
    settings:
      'import/extensions': ['.ts', '.tsx', '.js']
    extends:
      - 'plugin:import/typescript'
      - 'plugin:@typescript-eslint/strict'
      - 'plugin:@typescript-eslint/recommended'
      - 'plugin:@typescript-eslint/recommended-requiring-type-checking'
    rules:
      '@typescript-eslint/array-type': [error, { default: generic }]
      '@typescript-eslint/consistent-indexed-object-style':
        [error, index-signature]
      '@typescript-eslint/no-unused-vars':
        - 'error'
        - vars: all
          args: all
          argsIgnorePattern: '^_'
          varsIgnorePattern: '^_T'

      # FIXME: remove below rules
      'react/jsx-key': off
      'react/no-string-refs': off
      '@typescript-eslint/no-var-requires': off
      '@typescript-eslint/no-non-null-assertion': off
      '@typescript-eslint/no-unnecessary-boolean-literal-compare': off
      '@typescript-eslint/no-explicit-any': off
      '@typescript-eslint/dot-notation': off
      '@typescript-eslint/no-dynamic-delete': off
      '@typescript-eslint/restrict-plus-operands': off
      '@typescript-eslint/no-unsafe-call': off
      '@typescript-eslint/no-unsafe-return': off
      '@typescript-eslint/no-unsafe-argument': off
      '@typescript-eslint/no-unsafe-assignment': off
      '@typescript-eslint/no-unsafe-member-access': off
      '@typescript-eslint/no-unnecessary-condition': off
      '@typescript-eslint/restrict-template-expressions': off


================================================
FILE: .github/FUNDING.yml
================================================
open_collective: graphql-voyager


================================================
FILE: .github/dependabot.yml
================================================
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
  - package-ecosystem: 'github-actions'
    directory: '/'
    schedule:
      interval: 'weekly'
    labels:
      - 'PR: dependency 📦'
    groups:
      major_updates:
        update-types:
          - 'major'
      non_major_updates:
        update-types:
          - 'minor'
          - 'patch'


================================================
FILE: .github/workflows/changelog.yml
================================================
name: CI
on: workflow_call
permissions: {}
jobs:
  generateChangelog:
    name: Generate changelog
    runs-on: ubuntu-latest
    permissions:
      contents: read # for actions/checkout
    steps:
      - name: Checkout repo
        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
        with:
          persist-credentials: false
          show-progress: false
          fetch-depth: 0 # fetch all reachable commits
          filter: tree:0 # while fetching trees and blobs on-demand

      - name: Setup Node.js
        uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
        with:
          cache: npm
          node-version-file: 'package.json'

      - name: Install Dependencies
        run: npm ci --ignore-scripts

      - name: Generate changelog
        run: npm run changelog > changelog.txt
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

      - name: Upload npm folder
        uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
        with:
          name: changelog
          path: ./changelog.txt


================================================
FILE: .github/workflows/ci.yml
================================================
name: CI
on: workflow_call
permissions: {}
jobs:
  test:
    runs-on: ubuntu-latest
    permissions:
      contents: read # for actions/checkout
    steps:
      - name: Checkout repo
        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
        with:
          persist-credentials: false

      - name: Setup Node.js
        uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
        with:
          cache: npm
          node-version-file: 'package.json'

      - name: Install Dependencies
        run: npm ci --ignore-scripts

      - name: Run tests
        run: npm run testonly

      - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
        if: always()
        with:
          name: playwright-report
          path: playwright-report/

  lint:
    name: Lint source files
    runs-on: ubuntu-latest
    permissions:
      contents: read # for actions/checkout
    steps:
      - name: Checkout repo
        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
        with:
          persist-credentials: false

      - name: Setup Node.js
        uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
        with:
          cache: npm
          node-version-file: 'package.json'

      - name: Install Dependencies
        run: npm ci --ignore-scripts

      - name: Lint ESLint
        run: npm run lint

      - name: Check Types
        run: npm run check

      - name: Lint Prettier
        run: npm run prettier:check

      - name: Spellcheck
        run: npm run check:spell

      - name: Lint GitHub Actions
        uses: docker://rhysd/actionlint:latest
        with:
          args: -color

      - name: Lint Dockerfiles
        uses: docker://hadolint/hadolint:latest-alpine
        with:
          entrypoint: /bin/sh
          args: -c "find . -type f -name 'Dockerfile*' -exec hadolint {} +"

  checkForCommonlyIgnoredFiles:
    name: Check for commonly ignored files
    runs-on: ubuntu-latest
    permissions:
      contents: read # for actions/checkout
    steps:
      - name: Checkout repo
        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
        with:
          persist-credentials: false

      - name: Check if commit contains files that should be ignored
        run: |
          git clone --depth 1 https://github.com/github/gitignore.git

          rm gitignore/Global/Images.gitignore
          rm gitignore/Global/VirtualEnv.gitignore
          cat gitignore/Node.gitignore gitignore/Global/*.gitignore > all.gitignore

          IGNORED_FILES=$(git ls-files --cached --ignored --exclude-from=all.gitignore)
          if  [[ "$IGNORED_FILES" != "" ]]; then
            echo -e "::error::Please remove these files:\n$IGNORED_FILES" | sed -z 's/\n/%0A/g'
            exit 1
          fi

  checkPackageLock:
    name: Check health of package-lock.json file
    runs-on: ubuntu-latest
    permissions:
      contents: read # for actions/checkout
    steps:
      - name: Checkout repo
        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
        with:
          persist-credentials: false

      - name: Setup Node.js
        uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
        with:
          cache: npm
          node-version-file: 'package.json'

      - name: Install Dependencies
        run: npm ci --ignore-scripts

      - name: Check that package-lock.json doesn't have conflicts
        run: npm ls --depth 999

      - name: Run npm install
        run: npm install --ignore-scripts --force --package-lock-only --engine-strict --strict-peer-deps

      - name: Check that package-lock.json is in sync with package.json
        run: git diff --exit-code package-lock.json

  codeql:
    name: Run CodeQL security scan
    runs-on: ubuntu-latest
    permissions:
      contents: read # for actions/checkout
      security-events: write # for codeql-action
    steps:
      - name: Checkout repo
        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
        with:
          persist-credentials: false

      - name: Initialize CodeQL
        uses: github/codeql-action/init@fca7ace96b7d713c7035871441bd52efbe39e27e # v3.28.19
        with:
          languages: 'javascript, typescript' # TODO: add c-cpp
          queries: security-and-quality

      - name: Perform CodeQL analysis
        uses: github/codeql-action/analyze@fca7ace96b7d713c7035871441bd52efbe39e27e # v3.28.19

  buildDemo:
    name: Build Demo
    runs-on: ubuntu-latest
    permissions:
      contents: read # for actions/checkout
    steps:
      - name: Checkout repo
        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
        with:
          persist-credentials: false

      - name: Setup Node.js
        uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
        with:
          cache: npm
          node-version-file: 'package.json'

      - name: Install Dependencies
        run: npm ci --ignore-scripts

      - name: Build demo
        run: npm run build:demo

      - name: Upload demo-dist folder
        uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3.0.1
        with:
          name: demoDist
          path: ./demo-dist

  buildRelease:
    name: Build release
    runs-on: ubuntu-latest
    permissions:
      contents: read # for actions/checkout
    steps:
      - name: Checkout repo
        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
        with:
          persist-credentials: false

      - name: Setup Node.js
        uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
        with:
          cache: npm
          node-version-file: 'package.json'

      - name: Install Dependencies
        run: npm ci --ignore-scripts

      - name: Build release
        run: npm run build:release

      - name: Upload npm folder
        uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
        with:
          name: npmDist
          path: |
            ./
            !./node_modules


================================================
FILE: .github/workflows/publish.yml
================================================
name: Publish to NPM
on:
  push:
    tags:
      - 'v[0-9]+.[0-9]+.[0-9]+*'
permissions: {}
jobs:
  ci:
    permissions:
      contents: read # for actions/checkout
      security-events: write # for codeql-action
    uses: ./.github/workflows/ci.yml

  changelog:
    permissions:
      contents: read # for actions/checkout
    uses: ./.github/workflows/changelog.yml

  npm-publish:
    environment:
      name: npm-publish
      url: https://www.npmjs.com/package/graphql-voyager/v/${{github.ref_name}}
    needs:
      - ci
      - changelog
    permissions:
      contents: read # for actions/checkout
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repo
        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
        with:
          persist-credentials: false

      - name: Setup Node.js
        uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
        with:
          cache: npm
          node-version-file: 'package.json'
          # 'registry-url' is required for 'npm publish'
          registry-url: 'https://registry.npmjs.org'

      - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
        with:
          name: npmDist
          path: npmDist

      - name: Publish package on NPM
        run: npm publish ./npmDist
        env:
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}


================================================
FILE: .github/workflows/pull_request.yml
================================================
name: PullRequest
on: pull_request
permissions: {}
jobs:
  ci:
    permissions:
      contents: read # for actions/checkout
      security-events: write # for codeql-action
    uses: ./.github/workflows/ci.yml

  dependency-review:
    name: Security check of added dependencies
    runs-on: ubuntu-latest
    permissions:
      contents: read # for actions/checkout
      pull-requests: write # for actions/dependency-review-action to publish summary
    steps:
      - name: Checkout repo
        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
        with:
          persist-credentials: false

      - name: Dependency review
        uses: actions/dependency-review-action@da24556b548a50705dd671f47852072ea4c105d9 # v4.7.1
        with:
          comment-summary-in-pr: always


================================================
FILE: .github/workflows/push.yml
================================================
name: Push
on: push
permissions: {}
jobs:
  ci:
    permissions:
      contents: read # for actions/checkout
      security-events: write # for codeql-action
    uses: ./.github/workflows/ci.yml

  changelog:
    permissions:
      contents: read # for actions/checkout
    uses: ./.github/workflows/changelog.yml

  deploy-to-gh-pages:
    name: Deploy to GitHub Pages
    needs: ci
    if: github.ref == 'refs/heads/main'
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    runs-on: ubuntu-latest
    permissions:
      pages: write # for actions/deploy-pages
      id-token: write # for actions/deploy-pages
    steps:
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4.0.5
        with:
          artifact_name: demoDist


================================================
FILE: .github/workflows/scorecard.yml
================================================
name: Scorecard supply-chain security
on:
  # For Branch-Protection check. Only the default branch is supported. See
  # https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection
  branch_protection_rule:
  # To guarantee Maintained check is occasionally updated. See
  # https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained
  schedule:
    - cron: '24 13 * * 6'
  push:
    branches: ['main']
permissions: read-all
jobs:
  analysis:
    name: Scorecard analysis
    runs-on: ubuntu-latest
    permissions:
      contents: read # for actions/checkout
      actions: read
      security-events: write # to upload the results to code-scanning dashboard
      id-token: write # to publish results and get a badge (see publish_results below)
    steps:
      - name: 'Checkout code'
        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
        with:
          persist-credentials: false

      - name: 'Run analysis'
        uses: ossf/scorecard-action@05b42c624433fc40578a4040d5cf5e36ddca8cde # v2.4.2
        with:
          results_file: results.sarif
          results_format: sarif
          publish_results: true

      - name: 'Upload artifact'
        uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
        with:
          name: SARIF file
          path: results.sarif
          retention-days: 5

      - name: "Upload to GitHub's code-scanning dashboard"
        uses: github/codeql-action/upload-sarif@fca7ace96b7d713c7035871441bd52efbe39e27e # v3.28.19
        with:
          sarif_file: results.sarif


================================================
FILE: .gitignore
================================================
# This .gitignore only ignores files specific to this repository.
# If you see other files generated by your OS or tools you use, consider
# creating a global .gitignore file.
#
# https://help.github.com/articles/ignoring-files/#create-a-global-gitignore
# https://www.gitignore.io/

/.eslintcache
/.cspellcache
/node_modules
/dist
/demo-dist
/middleware
/typings
/test-results
/playwright-report
/graphql-voyager-*.tgz


================================================
FILE: .npmignore
================================================
*
!dist/**
!typings/**
!package.json


================================================
FILE: .prettierrc
================================================
{
  "singleQuote": true,
  "overrides": [
    {
      "files": "*.svg",
      "options": { "parser": "html" }
    }
  ]
}


================================================
FILE: LICENSE
================================================
MIT License

Copyright (c) IvanGoncharov

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


================================================
FILE: README.md
================================================
# GraphQL Voyager

![graphql-voyager logo](./docs/cover.png)

Represent any GraphQL API as an interactive graph. It's time to finally see **the graph** behind GraphQL.
You can also explore number of public GraphQL APIs from [our list](https://github.com/APIs-guru/graphql-apis).

> With graphql-voyager you can visually explore your GraphQL API as an interactive graph. This is a great tool when designing or discussing your data model. It includes multiple example GraphQL schemas and also allows you to connect it to your own GraphQL endpoint. What are you waiting for, explore your API!

_[GraphQL Weekly #42](https://graphqlweekly.com/issues/42)_

## [Live Demo](https://apis.guru/graphql-voyager/)

[![voyager demo](./docs/demo-gif.gif)](https://apis.guru/graphql-voyager/)

## Features

- Quick navigation on graph
- Left panel which provides more detailed information about every type
- "Skip Relay" option that simplifies graph by removing Relay wrapper classes
- Ability to choose any type to be a root of the graph

## API

GraphQL Voyager exports `Voyager` React component and helper `init` function. If used without
module system it is exported as `GraphQLVoyager` global variable.

### Properties

`Voyager` component accepts the following properties:

- `introspection` [`object`] - the server introspection response. If `function` is provided GraphQL Voyager will pass introspection query as a first function parameter. Function should return `Promise` which resolves to introspection response object.
- `displayOptions` _(optional)_
  - `displayOptions.skipRelay` [`boolean`, default `true`] - skip relay-related entities
  - `displayOptions.skipDeprecated` [`boolean`, default `true`] - skip deprecated fields and entities that contain only deprecated fields.
  - `displayOptions.rootType` [`string`] - name of the type to be used as a root
  - `displayOptions.sortByAlphabet` [`boolean`, default `false`] - sort fields on graph by alphabet
  - `displayOptions.showLeafFields` [`boolean`, default `true`] - show all scalars and enums
  - `displayOptions.hideRoot` [`boolean`, default `false`] - hide the root type
- `allowToChangeSchema` [`boolean`, default `false`] - allow users to change schema
- `hideDocs` [`boolean`, default `false`] - hide the docs sidebar
- `hideSettings` [`boolean`, default `false`] - hide settings panel
- `hideVoyagerLogo` [`boolean`, default `true`] - hide voyager logo

## Using pre-bundled version

You can get GraphQL Voyager bundle from the following places:

- [![jsDelivr](https://data.jsdelivr.com/v1/package/npm/graphql-voyager/badge)](https://www.jsdelivr.com/package/npm/graphql-voyager)
  - some exact version - https://cdn.jsdelivr.net/npm/graphql-voyager@1.3/dist/voyager.standalone.js
  - latest version - https://cdn.jsdelivr.net/npm/graphql-voyager/dist/voyager.standalone.js
- from `dist` folder of the npm package `graphql-voyager`

**Note: `voyager.standalone.js` is bundled with react, so you just need to call
`renderVoyager` function that's it.**

### [HTML example](./example/cdn)

## Using as a dependency

Build for the web with [webpack](https://webpack.js.org/), or any other bundle.

### [Webpack example](./example/webpack)

## Middleware

GraphQL Voyager has middleware for the next frameworks:

### Properties

Middleware supports the following properties:

- `endpointUrl` [`string`] - the GraphQL endpoint url.
- `displayOptions` [`object`] - same as [here](#properties)
- `headersJS` [`string`, default `"{}"`] - object of headers serialized in string to be used on endpoint url<BR>
  **Note:** You can also use any JS expression which results in an object with header names as keys and strings as values e.g. `{ Authorization: localStorage['Meteor.loginToken'] }`

### Express

```js
import express from 'express';
import { express as voyagerMiddleware } from 'graphql-voyager/middleware';

const app = express();

app.use('/voyager', voyagerMiddleware({ endpointUrl: '/graphql' }));

app.listen(3001);
```

### Hapi

#### Version 20+

```js
import Hapi from '@hapi/hapi';
import { hapi as voyagerMiddleware } from 'graphql-voyager/middleware';

const server = new Hapi.Server({
  port: 3001,
});

const init = async () => {
  await server.register({
    plugin: voyagerMiddleware,
    options: {
      path: '/voyager',
      endpointUrl: '/graphql',
    },
  });

  await server.start();
};

init();
```

### Koa

```js
import Koa from 'koa';
import KoaRouter from 'koa-router';
import { koa as voyagerMiddleware } from 'graphql-voyager/middleware';

const app = new Koa();
const router = new KoaRouter();

router.all(
  '/voyager',
  voyagerMiddleware({
    endpointUrl: '/graphql',
  }),
);

app.use(router.routes());
app.use(router.allowedMethods());
app.listen(3001);
```

## Credits

This tool is inspired by [graphql-visualizer](https://github.com/NathanRSmith/graphql-visualizer) project.

This project is tested with BrowserStack.


================================================
FILE: cspell.yml
================================================
language: en
useGitignore: true
validateDirectives: true
ignorePaths:
  # Excluded from spelling check
  - cspell.yml
  - package.json
  - demo/presets
  - tests/*-snapshots/
dictionaries:
  - html

overrides:
  - filename: '**/*.svg'
    dictionaries:
      - css
  - filename: 'tests/*.ts'
    words:
      - pageerror
      - requestfailed

words:
  - tailport
  - dotviz
  - graphviz
  - svgr
  - reactroot # FIXME https://github.com/facebook/react/issues/10971
  - zoomer # FIXME
  - typelist # FIXME
  - positionals
  - fontname
  - rankdir
  - asynciterable
  - commonmark
  - swapi
  - cssnext
  - ranksep
  - CELLBORDER
  - QLID # GraphQLID
  - Goncharov
  - octo
  - octocat
  - pageview
  - jsdelivr
  - GraphiQL


================================================
FILE: demo/index.html
================================================
<!doctype html>
<html>
  <head itemscope itemtype="http://schema.org/WebPage">
    <!-- <link href="style.css" rel="stylesheet" /> -->
    <meta charset="utf-8" />
    <meta
      name="viewport"
      content="user-scalable=no, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"
    />
    <title>GraphQL Voyager</title>
    <meta itemprop="name" property="og:title" content="GraphQL Voyager" />
    <meta
      property="og:description"
      content="Represent any GraphQL API as an interactive graph"
    />
    <meta
      itemprop="description"
      name="description"
      content="Represent any GraphQL API as an interactive graph"
    />
    <link
      rel="icon"
      type="image/png"
      sizes="32x32"
      href="icons/favicon-32x32.png"
    />
    <link
      rel="icon"
      type="image/png"
      sizes="96x96"
      href="icons/favicon-96x96.png"
    />
    <link
      rel="icon"
      type="image/png"
      sizes="16x16"
      href="icons/favicon-16x16.png"
    />
    <meta itemprop="image" property="og:type" content="website" />
    <meta
      itemprop="image"
      property="og:url"
      content="https://apis.guru/graphql-voyager/"
    />
    <meta
      itemprop="image"
      property="og:image"
      content="https://apis.guru/graphql-voyager/images/cover-image.png"
    />
    <meta name="theme-color" content="#ffffff" />
    <style>
      body {
        padding: 0;
        margin: 0;
        width: 100%;
        height: 100vh;
        overflow: hidden;
      }

      #root {
        height: 100%;
        position: relative;
      }

      #mobile-warning {
        display: none;
      }

      #mobile-warning.hidden {
        display: none;
      }

      @media screen and (max-width: 767px) {
        #mobile-warning {
          display: block;

          position: absolute;
          left: 0;
          right: 0;
          top: 0;
          bottom: 0;
          background: rgba(255, 255, 255, 0.9);
          color: #0b2840;
          z-index: 100;
          padding: 20px;
          text-align: center;
          display: flex;
          flex-direction: column;
          justify-content: center;
        }

        #mobile-warning small {
          font-size: 1em;
        }

        #mobile-warning h1 {
          line-height: 1;
        }

        #mobile-warning a {
          display: block;
          text-decoration: none;
          margin: 1em 0;
          font-weight: bold;
          font-size: 1.4em;
          color: #42a0dd;
        }
      }
    </style>
    <link rel="stylesheet" href="./voyager.css" />
    <script src="./voyager.standalone.js"></script>
  </head>
  <body>
    <script type="module">
      // FIXME: switch to import
      const { renderVoyager, voyagerIntrospectionQuery } = GraphQLVoyager;
      const PRESETS = {
        'Star Wars': await fetchPreset('swapi'),
        Yelp: await fetchPreset('yelp'),
        'Shopify Storefront': await fetchPreset('shopify'),
        GitHub: await fetchPreset('github'),
      };

      const defaultPreset = PRESETS['Star Wars'];

      const searchParams = new URLSearchParams(window.location.search);
      const url = searchParams.get('url');
      const withCredentials = searchParams.get('withCredentials');

      const introspection =
        url != null ? fetchIntrospection(url, withCredentials) : defaultPreset;

      renderVoyager(document.getElementById('root'), {
        introspection,
        introspectionPresets: PRESETS,
        allowToChangeSchema: true,
        hideVoyagerLogo: false,
      });

      async function fetchPreset(name) {
        const response = await fetch(`./presets/${name}_introspection.json`);
        return response.json();
      }

      async function fetchIntrospection(url, withCredentials) {
        const response = await fetch(url, {
          method: 'post',
          headers: {
            Accept: 'application/json',
            'Content-Type': 'application/json',
          },
          body: JSON.stringify({ query: voyagerIntrospectionQuery }),
          ...(withCredentials === 'true'
            ? { credentials: 'include', mode: 'cors' }
            : {}),
        });
        return response.json();
      }
    </script>
    <main id="root">
      <h1 style="text-align: center; color: #5d7e86">Loading...</h1>
    </main>
    <a
      href="https://github.com/APIs-guru/graphql-voyager"
      class="github-corner"
      aria-label="View source on Github"
      ><svg
        width="80"
        height="80"
        viewBox="0 0 250 250"
        style="
          fill: #5d7e86;
          color: #fff;
          position: absolute;
          top: 0;
          border: 0;
          right: 0;
        "
        aria-hidden="true"
      >
        <path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path>
        <path
          d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2"
          fill="currentColor"
          style="transform-origin: 130px 106px"
          class="octo-arm"
        ></path>
        <path
          d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z"
          fill="currentColor"
          class="octo-body"
        ></path></svg></a
    ><style>
      .github-corner:hover .octo-arm {
        animation: octocat-wave 560ms ease-in-out;
      }
      @keyframes octocat-wave {
        0%,
        100% {
          transform: rotate(0);
        }
        20%,
        60% {
          transform: rotate(-25deg);
        }
        40%,
        80% {
          transform: rotate(10deg);
        }
      }
      @media (max-width: 500px) {
        .github-corner:hover .octo-arm {
          animation: none;
        }
        .github-corner .octo-arm {
          animation: octocat-wave 560ms ease-in-out;
        }
      }
    </style>
    <div id="mobile-warning">
      <h1>Best served on bigger screen sizes</h1>
      <small>
        This tool presents complex graphs. Use it on bigger screen size for
        better experience
      </small>
      <a id="skip_warning" href="#"> GOT IT </a>
    </div>
    <script>
      var skipBtn = document.getElementById('skip_warning');
      var warning = document.getElementById('mobile-warning');
      if (document.cookie.indexOf('skip_mobile_warning=true') > -1) {
        warning.classList.add('hidden');
      } else {
        var handler = function () {
          warning.classList.add('hidden');
          document.cookie =
            'skip_mobile_warning=true; expires=Fri, 31 Dec 9999 23:59:59 GMT';
        };
        skipBtn.addEventListener('touchstart', handler, false);
        skipBtn.addEventListener('click', handler, false);
      }
    </script>
  </body>
</html>


================================================
FILE: demo/presets/github_introspection.json
================================================
{
  "data": {
    "__schema": {
      "queryType": {
        "name": "Query"
      },
      "mutationType": {
        "name": "Mutation"
      },
      "subscriptionType": null,
      "types": [
        {
          "kind": "ENUM",
          "name": "DeploymentState",
          "description": "The possible deployment states.",
          "fields": null,
          "inputFields": null,
          "interfaces": null,
          "enumValues": [
            {
              "name": "PENDING",
              "description": "The deployment is pending.",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "SUCCESS",
              "description": "The deployment was successful.",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "FAILURE",
              "description": "The deployment has failed.",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "INACTIVE",
              "description": "The deployment is inactive.",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "ERROR",
              "description": "The deployment experienced an error.",
              "isDeprecated": false,
              "deprecationReason": null
            }
          ],
          "possibleTypes": null
        },
        {
          "kind": "ENUM",
          "name": "IssueEventType",
          "description": "The possible issue event types.",
          "fields": null,
          "inputFields": null,
          "interfaces": null,
          "enumValues": [
            {
              "name": "ASSIGNED",
              "description": "The issue was assigned to the actor.",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "BASE_REF_FORCE_PUSHED",
              "description": "The base branch was force pushed by the actor.",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "CLOSED",
              "description": "The issue was closed by the actor.",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "DEMILESTONED",
              "description": "The issue had a milestone removed from it.",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "DEPLOYED",
              "description": "The branch was deployed by the actor.",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "HEAD_REF_DELETED",
              "description": "The head branch was deleted by the actor.",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "HEAD_REF_FORCE_PUSHED",
              "description": "The head branch was force pushed by the actor.",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "HEAD_REF_RESTORED",
              "description": "The head branch was restored by the actor.",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "LABELED",
              "description": "A label was added to the issue.",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "LOCKED",
              "description": "The issue was locked by the actor.",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "MENTIONED",
              "description": "The pull request or issue was mentioned by the actor.",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "MERGED",
              "description": "The issue was merged by the actor.",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "MILESTONED",
              "description": "The issue had a milestone added to it.",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "REFERENCED",
              "description": "The issue was referenced from a commit message.",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "RENAMED",
              "description": "The issue's title was changed.",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "REOPENED",
              "description": "The issue was reopened by the actor.",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "REVIEW_REQUESTED",
              "description": "The actor requested review from the subject.",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "REVIEW_REQUEST_REMOVED",
              "description": "The actor removed the review request for the subject.",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "REVIEW_DISMISSED",
              "description": "The review was dismissed by the actor.",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "SUBSCRIBED",
              "description": "The pull request or issue was subscribed to by the actor.",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "UNASSIGNED",
              "description": "The issue was unassigned to the actor.",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "UNLABELED",
              "description": "A label was removed from the issue.",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "UNLOCKED",
              "description": "The issue was unlocked by the actor.",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "UNSUBSCRIBED",
              "description": "The pull request or issue was unsubscribed from by the actor.",
              "isDeprecated": false,
              "deprecationReason": null
            }
          ],
          "possibleTypes": null
        },
        {
          "kind": "ENUM",
          "name": "ReactionOrderField",
          "description": "A list of fields that reactions can be ordered by.",
          "fields": null,
          "inputFields": null,
          "interfaces": null,
          "enumValues": [
            {
              "name": "CREATED_AT",
              "description": "Allows ordering a list of reactions by when they were created.",
              "isDeprecated": false,
              "deprecationReason": null
            }
          ],
          "possibleTypes": null
        },
        {
          "kind": "INTERFACE",
          "name": "IssueEvent",
          "description": "Represents an issue event.",
          "fields": [
            {
              "name": "actor",
              "description": "Identifies the actor (user) associated with the event.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "User",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "createdAt",
              "description": "Identifies the date and time when the object was created.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "DateTime",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "issue",
              "description": "Identifies the issue associated with the event.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "Issue",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "repository",
              "description": "Identifies the repository associated with the event.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "Repository",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "type",
              "description": "Identifies the event type associated with the event.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "ENUM",
                  "name": "IssueEventType",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            }
          ],
          "inputFields": null,
          "interfaces": null,
          "enumValues": null,
          "possibleTypes": [
            {
              "kind": "OBJECT",
              "name": "AssignedEvent",
              "ofType": null
            },
            {
              "kind": "OBJECT",
              "name": "BaseRefForcePushedEvent",
              "ofType": null
            },
            {
              "kind": "OBJECT",
              "name": "ClosedEvent",
              "ofType": null
            },
            {
              "kind": "OBJECT",
              "name": "DemilestonedEvent",
              "ofType": null
            },
            {
              "kind": "OBJECT",
              "name": "DeployedEvent",
              "ofType": null
            },
            {
              "kind": "OBJECT",
              "name": "HeadRefDeletedEvent",
              "ofType": null
            },
            {
              "kind": "OBJECT",
              "name": "HeadRefForcePushedEvent",
              "ofType": null
            },
            {
              "kind": "OBJECT",
              "name": "HeadRefRestoredEvent",
              "ofType": null
            },
            {
              "kind": "OBJECT",
              "name": "LabeledEvent",
              "ofType": null
            },
            {
              "kind": "OBJECT",
              "name": "LockedEvent",
              "ofType": null
            },
            {
              "kind": "OBJECT",
              "name": "MentionedEvent",
              "ofType": null
            },
            {
              "kind": "OBJECT",
              "name": "MergedEvent",
              "ofType": null
            },
            {
              "kind": "OBJECT",
              "name": "MilestonedEvent",
              "ofType": null
            },
            {
              "kind": "OBJECT",
              "name": "ReferencedEvent",
              "ofType": null
            },
            {
              "kind": "OBJECT",
              "name": "RenamedEvent",
              "ofType": null
            },
            {
              "kind": "OBJECT",
              "name": "ReopenedEvent",
              "ofType": null
            },
            {
              "kind": "OBJECT",
              "name": "ReviewDismissedEvent",
              "ofType": null
            },
            {
              "kind": "OBJECT",
              "name": "ReviewRequestRemovedEvent",
              "ofType": null
            },
            {
              "kind": "OBJECT",
              "name": "ReviewRequestedEvent",
              "ofType": null
            },
            {
              "kind": "OBJECT",
              "name": "SubscribedEvent",
              "ofType": null
            },
            {
              "kind": "OBJECT",
              "name": "UnassignedEvent",
              "ofType": null
            },
            {
              "kind": "OBJECT",
              "name": "UnlabeledEvent",
              "ofType": null
            },
            {
              "kind": "OBJECT",
              "name": "UnlockedEvent",
              "ofType": null
            },
            {
              "kind": "OBJECT",
              "name": "UnsubscribedEvent",
              "ofType": null
            }
          ]
        },
        {
          "kind": "OBJECT",
          "name": "Issue",
          "description": "An Issue is a place to discuss ideas, enhancements, tasks, and bugs for a project.",
          "fields": [
            {
              "name": "assignees",
              "description": "A list of Users assigned to the Issue.",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "UserConnection",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "author",
              "description": "Identifies the author of the issue.",
              "args": [],
              "type": {
                "kind": "OBJECT",
                "name": "User",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "body",
              "description": "Identifies the body of the issue.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "String",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "bodyHTML",
              "description": "Identifies the body of the issue rendered to HTML.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "HTML",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "bodyText",
              "description": "Identifies the body of the issue rendered to text.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "String",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "comments",
              "description": "A list of comments associated with the Issue.",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "IssueCommentConnection",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "createdAt",
              "description": "Identifies the date and time when the object was created.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "DateTime",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "createdViaEmail",
              "description": "Check if this comment was created via an email reply.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "databaseId",
              "description": "Identifies the primary key from the database.",
              "args": [],
              "type": {
                "kind": "SCALAR",
                "name": "Int",
                "ofType": null
              },
              "isDeprecated": true,
              "deprecationReason": "Exposed database IDs will eventually be removed in favor of global Relay IDs."
            },
            {
              "name": "editor",
              "description": "The user who edited the comment.",
              "args": [],
              "type": {
                "kind": "OBJECT",
                "name": "User",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "id",
              "description": null,
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "ID",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "labels",
              "description": "A list of labels associated with the Issue or Pull Request.",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "OBJECT",
                "name": "LabelConnection",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "lastEditedAt",
              "description": "The moment the editor made the last edit",
              "args": [],
              "type": {
                "kind": "SCALAR",
                "name": "DateTime",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "liveReactionUpdatesEnabled",
              "description": "Are reaction live updates enabled for this subject.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "milestone",
              "description": "Identifies the milestone associated with the issue.",
              "args": [],
              "type": {
                "kind": "OBJECT",
                "name": "Milestone",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "number",
              "description": "Identifies the issue number.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Int",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "participants",
              "description": "A list of Users that are participating in the Issue's conversation.",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "UserConnection",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "path",
              "description": "The HTTP path for this issue",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "URI",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "reactionGroups",
              "description": "A list of reactions grouped by content left on the subject.",
              "args": [],
              "type": {
                "kind": "LIST",
                "name": null,
                "ofType": {
                  "kind": "NON_NULL",
                  "name": null,
                  "ofType": {
                    "kind": "OBJECT",
                    "name": "ReactionGroup",
                    "ofType": null
                  }
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "reactions",
              "description": "A list of Reactions left on the Issue.",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "content",
                  "description": "Allows filtering Reactions by emoji.",
                  "type": {
                    "kind": "ENUM",
                    "name": "ReactionContent",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "orderBy",
                  "description": "Allows specifying the order in which reactions are returned.",
                  "type": {
                    "kind": "INPUT_OBJECT",
                    "name": "ReactionOrder",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "ReactionConnection",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "reactionsWebsocket",
              "description": "The websocket channel ID for reaction live updates.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "String",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "repository",
              "description": "Identifies the repository associated with the issue.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "Repository",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "state",
              "description": "Identifies the state of the issue.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "ENUM",
                  "name": "IssueState",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "timeline",
              "description": "A list of events associated with an Issue or PullRequest.",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "since",
                  "description": "Allows filtering timeline events by a `since` timestamp.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "IssueTimelineConnection",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "title",
              "description": "Identifies the issue title.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "String",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "updatedAt",
              "description": "Identifies the date and time when the object was last updated.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "DateTime",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "url",
              "description": "The HTTP url for this issue",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "URI",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "viewerCanDelete",
              "description": "Check if the current viewer can delete this issue.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "viewerCanEdit",
              "description": "Check if the current viewer edit this comment.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "viewerCanReact",
              "description": "Can user react to this subject",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "viewerCannotEditReasons",
              "description": "Errors why the current viewer can not edit this comment.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "LIST",
                  "name": null,
                  "ofType": {
                    "kind": "NON_NULL",
                    "name": null,
                    "ofType": {
                      "kind": "ENUM",
                      "name": "CommentCannotEditReason",
                      "ofType": null
                    }
                  }
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "viewerDidAuthor",
              "description": "Did the viewer author this comment.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "websocket",
              "description": "The websocket channel ID for live updates.",
              "args": [
                {
                  "name": "channel",
                  "description": "The channel to use.",
                  "type": {
                    "kind": "NON_NULL",
                    "name": null,
                    "ofType": {
                      "kind": "ENUM",
                      "name": "IssuePubSubTopic",
                      "ofType": null
                    }
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "String",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            }
          ],
          "inputFields": null,
          "interfaces": [
            {
              "kind": "INTERFACE",
              "name": "Node",
              "ofType": null
            },
            {
              "kind": "INTERFACE",
              "name": "Comment",
              "ofType": null
            },
            {
              "kind": "INTERFACE",
              "name": "Issueish",
              "ofType": null
            },
            {
              "kind": "INTERFACE",
              "name": "Reactable",
              "ofType": null
            },
            {
              "kind": "INTERFACE",
              "name": "RepositoryNode",
              "ofType": null
            },
            {
              "kind": "INTERFACE",
              "name": "Timeline",
              "ofType": null
            },
            {
              "kind": "INTERFACE",
              "name": "UniformResourceLocatable",
              "ofType": null
            }
          ],
          "enumValues": null,
          "possibleTypes": null
        },
        {
          "kind": "SCALAR",
          "name": "ID",
          "description": "Represents a unique identifier that is Base64 obfuscated. It is often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `\"VXNlci0xMA==\"`) or integer (such as `4`) input value will be accepted as an ID.",
          "fields": null,
          "inputFields": null,
          "interfaces": null,
          "enumValues": null,
          "possibleTypes": null
        },
        {
          "kind": "OBJECT",
          "name": "User",
          "description": "A user is an individual's account on GitHub that owns repositories and can make new content.",
          "fields": [
            {
              "name": "avatarURL",
              "description": "A URL pointing to the user's public avatar.",
              "args": [
                {
                  "name": "size",
                  "description": "The size of the resulting square image.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "String",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "bio",
              "description": "The user's public profile bio.",
              "args": [],
              "type": {
                "kind": "SCALAR",
                "name": "String",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "bioHTML",
              "description": "The user's public profile bio as HTML.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "HTML",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "company",
              "description": "The user's public profile company.",
              "args": [],
              "type": {
                "kind": "SCALAR",
                "name": "String",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "companyHTML",
              "description": "The user's public profile company as HTML.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "HTML",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "contributedRepositories",
              "description": "A list of repositories that the user recently contributed to.",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "RepositoryConnection",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "createdAt",
              "description": "Identifies the date and time when the object was created.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "DateTime",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "databaseId",
              "description": "Identifies the primary key from the database.",
              "args": [],
              "type": {
                "kind": "SCALAR",
                "name": "Int",
                "ofType": null
              },
              "isDeprecated": true,
              "deprecationReason": "Exposed database IDs will eventually be removed in favor of global Relay IDs."
            },
            {
              "name": "email",
              "description": "The user's public profile email.",
              "args": [],
              "type": {
                "kind": "SCALAR",
                "name": "String",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "followers",
              "description": "A list of users the given user is followed by.",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "UserConnection",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "following",
              "description": "A list of users the given user is following.",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "UserConnection",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "gist",
              "description": "Find gist by repo name.",
              "args": [
                {
                  "name": "name",
                  "description": "The gist name to find.",
                  "type": {
                    "kind": "NON_NULL",
                    "name": null,
                    "ofType": {
                      "kind": "SCALAR",
                      "name": "String",
                      "ofType": null
                    }
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "OBJECT",
                "name": "Gist",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "gists",
              "description": "A list of the Gists the user has created.",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "visibility",
                  "description": "Allows filtering by gist visibility.",
                  "type": {
                    "kind": "ENUM",
                    "name": "GistVisibility",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "GistConnection",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "id",
              "description": null,
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "ID",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "isBountyHunter",
              "description": "Whether or not this user is a participant in the GitHub Security Bug Bounty.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "isDeveloperProgramMember",
              "description": "Whether or not this user is a GitHub Developer Program member.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "isEmployee",
              "description": "Whether or not this user is a GitHub employee.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "isHireable",
              "description": "Whether or not the user has marked themselves as for hire.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "isSiteAdmin",
              "description": "Whether or not this user is a site administrator.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "isViewer",
              "description": "Whether or not this user is the viewing user.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "location",
              "description": "The user's public profile location.",
              "args": [],
              "type": {
                "kind": "SCALAR",
                "name": "String",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "login",
              "description": "The username used to login.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "String",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "name",
              "description": "The user's public profile name.",
              "args": [],
              "type": {
                "kind": "SCALAR",
                "name": "String",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "organizations",
              "description": "A list of organizations the user belongs to.",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "OrganizationConnection",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "path",
              "description": "The HTTP path for this user",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "URI",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "pinnedRepositories",
              "description": "A list of repositories this user has pinned to their profile",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "RepositoryConnection",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "pullRequests",
              "description": "A list of pull requests assocated with this user.",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "PullRequestConnection",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "repositories",
              "description": "A list of repositories that the user owns.",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "privacy",
                  "description": "If non-null, filters repositories according to privacy",
                  "type": {
                    "kind": "ENUM",
                    "name": "RepositoryPrivacy",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "isFork",
                  "description": "If non-null, filters repositories according to whether they are forks of another repository",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Boolean",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "orderBy",
                  "description": "Ordering options for repositories returned from the connection",
                  "type": {
                    "kind": "INPUT_OBJECT",
                    "name": "RepositoryOrder",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "RepositoryConnection",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "repository",
              "description": "Find Repository.",
              "args": [
                {
                  "name": "name",
                  "description": "Name of Repository to find.",
                  "type": {
                    "kind": "NON_NULL",
                    "name": null,
                    "ofType": {
                      "kind": "SCALAR",
                      "name": "String",
                      "ofType": null
                    }
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "OBJECT",
                "name": "Repository",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "starredRepositories",
              "description": "Repositories the user has starred.",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "ownedByViewer",
                  "description": "Filters starred repositories to only return repositories owned by the viewer.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Boolean",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "orderBy",
                  "description": "Order for connection",
                  "type": {
                    "kind": "INPUT_OBJECT",
                    "name": "StarOrder",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "StarredRepositoryConnection",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "updatedAt",
              "description": "Identifies the date and time when the object was last updated.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "DateTime",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "url",
              "description": "The HTTP url for this user",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "URI",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "viewerCanFollow",
              "description": "Whether or not the viewer is able to follow the user.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "viewerIsFollowing",
              "description": "Whether or not this user is followed by the viewer.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "watching",
              "description": "A list of repositories the given user is watching.",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "RepositoryConnection",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "websiteURL",
              "description": "A URL pointing to the user's public website/blog.",
              "args": [],
              "type": {
                "kind": "SCALAR",
                "name": "String",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            }
          ],
          "inputFields": null,
          "interfaces": [
            {
              "kind": "INTERFACE",
              "name": "Node",
              "ofType": null
            },
            {
              "kind": "INTERFACE",
              "name": "RepositoryOwner",
              "ofType": null
            },
            {
              "kind": "INTERFACE",
              "name": "UniformResourceLocatable",
              "ofType": null
            }
          ],
          "enumValues": null,
          "possibleTypes": null
        },
        {
          "kind": "SCALAR",
          "name": "String",
          "description": "Represents textual data as UTF-8 character sequences. This type is most often used by GraphQL to represent free-form human-readable text.",
          "fields": null,
          "inputFields": null,
          "interfaces": null,
          "enumValues": null,
          "possibleTypes": null
        },
        {
          "kind": "OBJECT",
          "name": "Repository",
          "description": "A repository contains the content for a project.",
          "fields": [
            {
              "name": "commitComments",
              "description": "A list of commit comments associated with the repository.",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "CommitCommentConnection",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "createdAt",
              "description": "Identifies the date and time when the object was created.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "DateTime",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "databaseId",
              "description": "Identifies the primary key from the database.",
              "args": [],
              "type": {
                "kind": "SCALAR",
                "name": "Int",
                "ofType": null
              },
              "isDeprecated": true,
              "deprecationReason": "Exposed database IDs will eventually be removed in favor of global Relay IDs."
            },
            {
              "name": "description",
              "description": "The description of the repository.",
              "args": [],
              "type": {
                "kind": "SCALAR",
                "name": "String",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "descriptionHTML",
              "description": "The description of the repository rendered to HTML.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "HTML",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "diskUsage",
              "description": "The number of kilobytes this repository occupies on disk.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Int",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "forks",
              "description": "A list of child repositories.",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "orderBy",
                  "description": "Ordering options for repositories returned from the connection",
                  "type": {
                    "kind": "INPUT_OBJECT",
                    "name": "RepositoryOrder",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "RepositoryConnection",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "hasIssuesEnabled",
              "description": "Indicates if the repository has issues feature enabled.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "hasWikiEnabled",
              "description": "Indicates if the repository has wiki feature enabled.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "homepageURL",
              "description": "The repository's URL.",
              "args": [],
              "type": {
                "kind": "SCALAR",
                "name": "String",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "id",
              "description": null,
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "ID",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "isFork",
              "description": "Identifies if the repository is a fork.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "isLocked",
              "description": "Indicates if the repository has been locked or not.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "isMirror",
              "description": "Identifies if the repository is a mirror.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "isPrivate",
              "description": "Identifies if the repository is private.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "issue",
              "description": "Returns a single issue from the current repository by number.",
              "args": [
                {
                  "name": "number",
                  "description": "The number for the issue to be returned.",
                  "type": {
                    "kind": "NON_NULL",
                    "name": null,
                    "ofType": {
                      "kind": "SCALAR",
                      "name": "Int",
                      "ofType": null
                    }
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "OBJECT",
                "name": "Issue",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "issueish",
              "description": "Returns a single issue-like object from the current repository by number.",
              "args": [
                {
                  "name": "number",
                  "description": "The number for the issue to be returned.",
                  "type": {
                    "kind": "NON_NULL",
                    "name": null,
                    "ofType": {
                      "kind": "SCALAR",
                      "name": "Int",
                      "ofType": null
                    }
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "INTERFACE",
                "name": "Issueish",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "issues",
              "description": "A list of issues that have been opened in the repository.",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "states",
                  "description": "A list of states to filter the issues by.",
                  "type": {
                    "kind": "LIST",
                    "name": null,
                    "ofType": {
                      "kind": "NON_NULL",
                      "name": null,
                      "ofType": {
                        "kind": "ENUM",
                        "name": "IssueState",
                        "ofType": null
                      }
                    }
                  },
                  "defaultValue": null
                },
                {
                  "name": "labels",
                  "description": "A list of label names to filter the issues by.",
                  "type": {
                    "kind": "LIST",
                    "name": null,
                    "ofType": {
                      "kind": "NON_NULL",
                      "name": null,
                      "ofType": {
                        "kind": "SCALAR",
                        "name": "String",
                        "ofType": null
                      }
                    }
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "IssueConnection",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "label",
              "description": "Returns a single label by name",
              "args": [
                {
                  "name": "name",
                  "description": "Label name",
                  "type": {
                    "kind": "NON_NULL",
                    "name": null,
                    "ofType": {
                      "kind": "SCALAR",
                      "name": "String",
                      "ofType": null
                    }
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "OBJECT",
                "name": "Label",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "labels",
              "description": "A list of labels associated with the repository.",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "OBJECT",
                "name": "LabelConnection",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "languages",
              "description": "A list containing a breakdown of the language composition of the repository.",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "orderBy",
                  "description": "Order for connection",
                  "type": {
                    "kind": "INPUT_OBJECT",
                    "name": "LanguageOrder",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "OBJECT",
                "name": "LanguageConnection",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "license",
              "description": "The license associated with the repository",
              "args": [],
              "type": {
                "kind": "SCALAR",
                "name": "String",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "lockReason",
              "description": "The reason the repository has been locked.",
              "args": [],
              "type": {
                "kind": "ENUM",
                "name": "RepositoryLockReason",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "mentionableUsers",
              "description": "A list of Users that can be mentioned in the context of the repository.",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "UserConnection",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "milestone",
              "description": "Returns a single milestone from the current repository by number.",
              "args": [
                {
                  "name": "number",
                  "description": "The number for the milestone to be returned.",
                  "type": {
                    "kind": "NON_NULL",
                    "name": null,
                    "ofType": {
                      "kind": "SCALAR",
                      "name": "Int",
                      "ofType": null
                    }
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "OBJECT",
                "name": "Milestone",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "milestones",
              "description": "A list of milestones associated with the repository.",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "OBJECT",
                "name": "MilestoneConnection",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "mirrorURL",
              "description": "The repository's original mirror URL.",
              "args": [],
              "type": {
                "kind": "SCALAR",
                "name": "String",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "name",
              "description": "The name of the repository.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "String",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "object",
              "description": "A Git object in the repository",
              "args": [
                {
                  "name": "oid",
                  "description": "The Git object ID",
                  "type": {
                    "kind": "SCALAR",
                    "name": "GitObjectID",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "expression",
                  "description": "A Git revision expression suitable for rev-parse",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "INTERFACE",
                "name": "GitObject",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "owner",
              "description": "The User owner of the repository.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "INTERFACE",
                  "name": "RepositoryOwner",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "parent",
              "description": "The repository parent, if this is a fork.",
              "args": [],
              "type": {
                "kind": "OBJECT",
                "name": "Repository",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "path",
              "description": "The HTTP path for this repository",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "URI",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "primaryLanguage",
              "description": "The primary language of the repository's code.",
              "args": [],
              "type": {
                "kind": "OBJECT",
                "name": "Language",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "project",
              "description": "Find project by number.",
              "args": [
                {
                  "name": "number",
                  "description": "The project number to find.",
                  "type": {
                    "kind": "NON_NULL",
                    "name": null,
                    "ofType": {
                      "kind": "SCALAR",
                      "name": "Int",
                      "ofType": null
                    }
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "OBJECT",
                "name": "Project",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "projects",
              "description": "A list of projects under the owner.",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "orderBy",
                  "description": "Ordering options for projects returned from the connection",
                  "type": {
                    "kind": "INPUT_OBJECT",
                    "name": "ProjectOrder",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "search",
                  "description": "Query to search projects by, currently only searching by name.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "ProjectConnection",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "projectsPath",
              "description": "The HTTP path listing repository's projects",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "URI",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "projectsUrl",
              "description": "The HTTP url listing repository's projects",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "URI",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "pullRequest",
              "description": "Returns a single pull request from the current repository by number.",
              "args": [
                {
                  "name": "number",
                  "description": "The number for the pull request to be returned.",
                  "type": {
                    "kind": "NON_NULL",
                    "name": null,
                    "ofType": {
                      "kind": "SCALAR",
                      "name": "Int",
                      "ofType": null
                    }
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "OBJECT",
                "name": "PullRequest",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "pullRequests",
              "description": "A list of pull requests that have been opened in the repository.",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "states",
                  "description": "A list of states to filter the pull requests by.",
                  "type": {
                    "kind": "LIST",
                    "name": null,
                    "ofType": {
                      "kind": "NON_NULL",
                      "name": null,
                      "ofType": {
                        "kind": "ENUM",
                        "name": "PullRequestState",
                        "ofType": null
                      }
                    }
                  },
                  "defaultValue": null
                },
                {
                  "name": "labels",
                  "description": "A list of label names to filter the pull requests by.",
                  "type": {
                    "kind": "LIST",
                    "name": null,
                    "ofType": {
                      "kind": "NON_NULL",
                      "name": null,
                      "ofType": {
                        "kind": "SCALAR",
                        "name": "String",
                        "ofType": null
                      }
                    }
                  },
                  "defaultValue": null
                },
                {
                  "name": "headRefName",
                  "description": "The head ref name to filter the pull requests by.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "baseRefName",
                  "description": "The base ref name to filter the pull requests by.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "PullRequestConnection",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "pushedAt",
              "description": "Identifies when the repository was last pushed to.",
              "args": [],
              "type": {
                "kind": "SCALAR",
                "name": "DateTime",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "ref",
              "description": "Fetch a given ref from the repository",
              "args": [
                {
                  "name": "qualifiedName",
                  "description": "The ref to retrieve.Fully qualified matches are checked in order (`refs/heads/master`) before falling back onto checks for short name matches (`master`).",
                  "type": {
                    "kind": "NON_NULL",
                    "name": null,
                    "ofType": {
                      "kind": "SCALAR",
                      "name": "String",
                      "ofType": null
                    }
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "OBJECT",
                "name": "Ref",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "refs",
              "description": "Fetch a list of refs from the repository",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "refPrefix",
                  "description": "A ref name prefix like `refs/heads/`, `refs/tags/`, etc.",
                  "type": {
                    "kind": "NON_NULL",
                    "name": null,
                    "ofType": {
                      "kind": "SCALAR",
                      "name": "String",
                      "ofType": null
                    }
                  },
                  "defaultValue": null
                },
                {
                  "name": "direction",
                  "description": "The ordering direction.",
                  "type": {
                    "kind": "ENUM",
                    "name": "OrderDirection",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "OBJECT",
                "name": "RefConnection",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "releases",
              "description": "List of releases which are dependent on this repository.",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "ReleaseConnection",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "stargazers",
              "description": "A list of users who have starred this repository.",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "orderBy",
                  "description": "Order for connection",
                  "type": {
                    "kind": "INPUT_OBJECT",
                    "name": "StarOrder",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "StargazerConnection",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "updatedAt",
              "description": "Identifies the date and time when the object was last updated.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "DateTime",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "url",
              "description": "The HTTP url for this repository",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "URI",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "viewerCanCreateProjects",
              "description": "Can the current viewer create new projects on this owner.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "viewerCanSubscribe",
              "description": "Check if the viewer is able to change their subscription status for the repository.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "viewerHasStarred",
              "description": "Returns a boolean indicating whether the viewing user has starred this repository.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "viewerSubscription",
              "description": "Identifies if the viewer is watching, not watching, or ignoring the repository.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "ENUM",
                  "name": "SubscriptionState",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "watchers",
              "description": "A list of users watching the repository.",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "UserConnection",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            }
          ],
          "inputFields": null,
          "interfaces": [
            {
              "kind": "INTERFACE",
              "name": "Node",
              "ofType": null
            },
            {
              "kind": "INTERFACE",
              "name": "ProjectOwner",
              "ofType": null
            },
            {
              "kind": "INTERFACE",
              "name": "Subscribable",
              "ofType": null
            },
            {
              "kind": "INTERFACE",
              "name": "UniformResourceLocatable",
              "ofType": null
            },
            {
              "kind": "INTERFACE",
              "name": "RepositoryInfo",
              "ofType": null
            }
          ],
          "enumValues": null,
          "possibleTypes": null
        },
        {
          "kind": "OBJECT",
          "name": "Project",
          "description": "Projects manage issues, pull requests and notes within a project owner.",
          "fields": [
            {
              "name": "body",
              "description": "The project's description body.",
              "args": [],
              "type": {
                "kind": "SCALAR",
                "name": "String",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "bodyHTML",
              "description": "The projects description body rendered to HTML.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "HTML",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "columns",
              "description": "List of columns in the project",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "ProjectColumnConnection",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "createdAt",
              "description": "Identifies the date and time when the object was created.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "DateTime",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "creator",
              "description": "The user that originally created the project.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "User",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "databaseId",
              "description": "Identifies the primary key from the database.",
              "args": [],
              "type": {
                "kind": "SCALAR",
                "name": "Int",
                "ofType": null
              },
              "isDeprecated": true,
              "deprecationReason": "Exposed database IDs will eventually be removed in favor of global Relay IDs."
            },
            {
              "name": "id",
              "description": null,
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "ID",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "name",
              "description": "The project's name.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "String",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "number",
              "description": "The project's number.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Int",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "owner",
              "description": "The project's owner. Currently limited to repositories and organizations.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "INTERFACE",
                  "name": "ProjectOwner",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "path",
              "description": "The HTTP path for this project",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "URI",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "updatedAt",
              "description": "Identifies the date and time when the object was last updated.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "DateTime",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "url",
              "description": "The HTTP url for this project",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "URI",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "viewerCanEdit",
              "description": "Can the current viewer edit this project.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            }
          ],
          "inputFields": null,
          "interfaces": [
            {
              "kind": "INTERFACE",
              "name": "Node",
              "ofType": null
            }
          ],
          "enumValues": null,
          "possibleTypes": null
        },
        {
          "kind": "SCALAR",
          "name": "Int",
          "description": "Represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",
          "fields": null,
          "inputFields": null,
          "interfaces": null,
          "enumValues": null,
          "possibleTypes": null
        },
        {
          "kind": "SCALAR",
          "name": "DateTime",
          "description": "An ISO-8601 encoded UTC date string.",
          "fields": null,
          "inputFields": null,
          "interfaces": null,
          "enumValues": null,
          "possibleTypes": null
        },
        {
          "kind": "SCALAR",
          "name": "URI",
          "description": "An RFC 3986, RFC 3987, and RFC 6570 (level 4) compliant URI string.",
          "fields": null,
          "inputFields": null,
          "interfaces": null,
          "enumValues": null,
          "possibleTypes": null
        },
        {
          "kind": "SCALAR",
          "name": "HTML",
          "description": "A string containing HTML code.",
          "fields": null,
          "inputFields": null,
          "interfaces": null,
          "enumValues": null,
          "possibleTypes": null
        },
        {
          "kind": "SCALAR",
          "name": "Boolean",
          "description": "Represents `true` or `false` values.",
          "fields": null,
          "inputFields": null,
          "interfaces": null,
          "enumValues": null,
          "possibleTypes": null
        },
        {
          "kind": "INTERFACE",
          "name": "ProjectOwner",
          "description": "Represents an owner of a Project.",
          "fields": [
            {
              "name": "id",
              "description": null,
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "ID",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "project",
              "description": "Find project by number.",
              "args": [
                {
                  "name": "number",
                  "description": "The project number to find.",
                  "type": {
                    "kind": "NON_NULL",
                    "name": null,
                    "ofType": {
                      "kind": "SCALAR",
                      "name": "Int",
                      "ofType": null
                    }
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "OBJECT",
                "name": "Project",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "projects",
              "description": "A list of projects under the owner.",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "orderBy",
                  "description": "Ordering options for projects returned from the connection",
                  "type": {
                    "kind": "INPUT_OBJECT",
                    "name": "ProjectOrder",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "search",
                  "description": "Query to search projects by, currently only searching by name.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "ProjectConnection",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "projectsPath",
              "description": "The HTTP path listing owners projects",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "URI",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "projectsUrl",
              "description": "The HTTP url listing owners projects",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "URI",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "viewerCanCreateProjects",
              "description": "Can the current viewer create new projects on this owner.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            }
          ],
          "inputFields": null,
          "interfaces": null,
          "enumValues": null,
          "possibleTypes": [
            {
              "kind": "OBJECT",
              "name": "Organization",
              "ofType": null
            },
            {
              "kind": "OBJECT",
              "name": "Repository",
              "ofType": null
            }
          ]
        },
        {
          "kind": "OBJECT",
          "name": "ProjectConnection",
          "description": "The connection type for Project.",
          "fields": [
            {
              "name": "edges",
              "description": "A list of edges.",
              "args": [],
              "type": {
                "kind": "LIST",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "ProjectEdge",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "nodes",
              "description": "A list of nodes.",
              "args": [],
              "type": {
                "kind": "LIST",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "Project",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "pageInfo",
              "description": "Information to aid in pagination.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "PageInfo",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "totalCount",
              "description": "Identifies the total count of items in the connection.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Int",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            }
          ],
          "inputFields": null,
          "interfaces": [],
          "enumValues": null,
          "possibleTypes": null
        },
        {
          "kind": "OBJECT",
          "name": "ProjectEdge",
          "description": "An edge in a connection.",
          "fields": [
            {
              "name": "cursor",
              "description": "A cursor for use in pagination.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "String",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "node",
              "description": "The item at the end of the edge.",
              "args": [],
              "type": {
                "kind": "OBJECT",
                "name": "Project",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            }
          ],
          "inputFields": null,
          "interfaces": [],
          "enumValues": null,
          "possibleTypes": null
        },
        {
          "kind": "OBJECT",
          "name": "PageInfo",
          "description": "Information about pagination in a connection.",
          "fields": [
            {
              "name": "endCursor",
              "description": "When paginating forwards, the cursor to continue",
              "args": [],
              "type": {
                "kind": "SCALAR",
                "name": "String",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "hasNextPage",
              "description": "Indicates if there are more pages to fetch",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "hasPreviousPage",
              "description": "Indicates if there are any pages prior to the current page",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "startCursor",
              "description": "When paginating backwards, the cursor to continue",
              "args": [],
              "type": {
                "kind": "SCALAR",
                "name": "String",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            }
          ],
          "inputFields": null,
          "interfaces": [],
          "enumValues": null,
          "possibleTypes": null
        },
        {
          "kind": "INPUT_OBJECT",
          "name": "ProjectOrder",
          "description": "Ways in which lists of projects can be ordered upon return.",
          "fields": null,
          "inputFields": [
            {
              "name": "field",
              "description": "The field in which to order projects by.",
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "ENUM",
                  "name": "ProjectOrderField",
                  "ofType": null
                }
              },
              "defaultValue": null
            },
            {
              "name": "direction",
              "description": "The direction in which to order projects by the specified field.",
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "ENUM",
                  "name": "OrderDirection",
                  "ofType": null
                }
              },
              "defaultValue": null
            }
          ],
          "interfaces": null,
          "enumValues": null,
          "possibleTypes": null
        },
        {
          "kind": "ENUM",
          "name": "ProjectOrderField",
          "description": "Properties by which project connections can be ordered.",
          "fields": null,
          "inputFields": null,
          "interfaces": null,
          "enumValues": [
            {
              "name": "CREATED_AT",
              "description": "Order projects by creation time",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "UPDATED_AT",
              "description": "Order projects by update time",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "NAME",
              "description": "Order projects by name",
              "isDeprecated": false,
              "deprecationReason": null
            }
          ],
          "possibleTypes": null
        },
        {
          "kind": "ENUM",
          "name": "OrderDirection",
          "description": "Possible directions in which to order a list of items when provided an `orderBy` argument.",
          "fields": null,
          "inputFields": null,
          "interfaces": null,
          "enumValues": [
            {
              "name": "ASC",
              "description": "Specifies an ascending order for a given `orderBy` argument.",
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "DESC",
              "description": "Specifies a descending order for a given `orderBy` argument.",
              "isDeprecated": false,
              "deprecationReason": null
            }
          ],
          "possibleTypes": null
        },
        {
          "kind": "OBJECT",
          "name": "ProjectColumnConnection",
          "description": "The connection type for ProjectColumn.",
          "fields": [
            {
              "name": "edges",
              "description": "A list of edges.",
              "args": [],
              "type": {
                "kind": "LIST",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "ProjectColumnEdge",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "nodes",
              "description": "A list of nodes.",
              "args": [],
              "type": {
                "kind": "LIST",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "ProjectColumn",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "pageInfo",
              "description": "Information to aid in pagination.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "PageInfo",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "totalCount",
              "description": "Identifies the total count of items in the connection.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "Int",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            }
          ],
          "inputFields": null,
          "interfaces": [],
          "enumValues": null,
          "possibleTypes": null
        },
        {
          "kind": "OBJECT",
          "name": "ProjectColumnEdge",
          "description": "An edge in a connection.",
          "fields": [
            {
              "name": "cursor",
              "description": "A cursor for use in pagination.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "String",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "node",
              "description": "The item at the end of the edge.",
              "args": [],
              "type": {
                "kind": "OBJECT",
                "name": "ProjectColumn",
                "ofType": null
              },
              "isDeprecated": false,
              "deprecationReason": null
            }
          ],
          "inputFields": null,
          "interfaces": [],
          "enumValues": null,
          "possibleTypes": null
        },
        {
          "kind": "OBJECT",
          "name": "ProjectColumn",
          "description": "A column inside a project.",
          "fields": [
            {
              "name": "cards",
              "description": "List of cards in the column",
              "args": [
                {
                  "name": "first",
                  "description": "Returns the first _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "after",
                  "description": "Returns the elements in the list that come after the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "last",
                  "description": "Returns the last _n_ elements from the list.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "Int",
                    "ofType": null
                  },
                  "defaultValue": null
                },
                {
                  "name": "before",
                  "description": "Returns the elements in the list that come before the specified global ID.",
                  "type": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  },
                  "defaultValue": null
                }
              ],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "ProjectCardConnection",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "createdAt",
              "description": "Identifies the date and time when the object was created.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "DateTime",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "databaseId",
              "description": "Identifies the primary key from the database.",
              "args": [],
              "type": {
                "kind": "SCALAR",
                "name": "Int",
                "ofType": null
              },
              "isDeprecated": true,
              "deprecationReason": "Exposed database IDs will eventually be removed in favor of global Relay IDs."
            },
            {
              "name": "id",
              "description": null,
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "ID",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "name",
              "description": "The project column's name.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "String",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "project",
              "description": "The project that contains this column.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "Project",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "updatedAt",
              "description": "Identifies the date and time when the object was last updated.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "SCALAR",
                  "name": "DateTime",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            }
          ],
          "inputFields": null,
          "interfaces": [
            {
              "kind": "INTERFACE",
              "name": "Node",
              "ofType": null
            }
          ],
          "enumValues": null,
          "possibleTypes": null
        },
        {
          "kind": "OBJECT",
          "name": "ProjectCardConnection",
          "description": "The connection type for ProjectCard.",
          "fields": [
            {
              "name": "edges",
              "description": "A list of edges.",
              "args": [],
              "type": {
                "kind": "LIST",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "ProjectCardEdge",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "nodes",
              "description": "A list of nodes.",
              "args": [],
              "type": {
                "kind": "LIST",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "ProjectCard",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReason": null
            },
            {
              "name": "pageInfo",
              "description": "Information to aid in pagination.",
              "args": [],
              "type": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "PageInfo",
                  "ofType": null
                }
              },
              "isDeprecated": false,
              "deprecationReas
Download .txt
gitextract__glkiko_/

├── .eslintignore
├── .eslintrc.yml
├── .github/
│   ├── FUNDING.yml
│   ├── dependabot.yml
│   └── workflows/
│       ├── changelog.yml
│       ├── ci.yml
│       ├── publish.yml
│       ├── pull_request.yml
│       ├── push.yml
│       └── scorecard.yml
├── .gitignore
├── .npmignore
├── .prettierrc
├── LICENSE
├── README.md
├── cspell.yml
├── demo/
│   ├── index.html
│   └── presets/
│       ├── github_introspection.json
│       ├── shopify_introspection.json
│       ├── swapi_introspection.json
│       └── yelp_introspection.json
├── docker-compose.yml
├── example/
│   ├── README.md
│   ├── cdn/
│   │   └── index.html
│   ├── express-server/
│   │   ├── Dockerfile
│   │   ├── index.ts
│   │   ├── package.json
│   │   ├── schema.ts
│   │   └── tsconfig.json
│   └── webpack/
│       ├── Dockerfile
│       ├── README.md
│       ├── index.html
│       ├── index.tsx
│       ├── package.json
│       ├── tsconfig.json
│       └── webpack.config.js
├── manual-types.d.ts
├── package.json
├── playwright.config.ts
├── scripts/
│   ├── gen-changelog.ts
│   ├── serve-directory.ts
│   └── utils.ts
├── src/
│   ├── components/
│   │   ├── GraphViewport.tsx
│   │   ├── IntrospectionModal.tsx
│   │   ├── MUITheme.tsx
│   │   ├── Voyager.css
│   │   ├── Voyager.tsx
│   │   ├── doc-explorer/
│   │   │   ├── Argument.css
│   │   │   ├── Argument.tsx
│   │   │   ├── Description.css
│   │   │   ├── Description.tsx
│   │   │   ├── DocExplorer.css
│   │   │   ├── DocExplorer.tsx
│   │   │   ├── EnumValue.tsx
│   │   │   ├── FocusTypeButton.css
│   │   │   ├── FocusTypeButton.tsx
│   │   │   ├── OtherSearchResults.tsx
│   │   │   ├── TypeDetails.css
│   │   │   ├── TypeDetails.tsx
│   │   │   ├── TypeDoc.css
│   │   │   ├── TypeDoc.tsx
│   │   │   ├── TypeInfoPopover.css
│   │   │   ├── TypeInfoPopover.tsx
│   │   │   ├── TypeLink.css
│   │   │   ├── TypeLink.tsx
│   │   │   ├── TypeList.css
│   │   │   ├── TypeList.tsx
│   │   │   ├── WrappedTypeName.css
│   │   │   └── WrappedTypeName.tsx
│   │   ├── settings/
│   │   │   ├── RootSelector.tsx
│   │   │   └── Settings.tsx
│   │   ├── utils/
│   │   │   ├── LoadingAnimation.tsx
│   │   │   ├── Markdown.tsx
│   │   │   ├── PoweredBy.tsx
│   │   │   ├── SearchBox.tsx
│   │   │   └── VoyagerLogo.tsx
│   │   ├── variables.css
│   │   └── viewport.css
│   ├── graph/
│   │   ├── dot.ts
│   │   ├── graphviz-worker.ts
│   │   ├── svg-renderer.ts
│   │   ├── type-graph.ts
│   │   └── viewport.ts
│   ├── index.ts
│   ├── introspection/
│   │   ├── introspection.ts
│   │   └── utils.ts
│   ├── middleware/
│   │   ├── express.ts
│   │   ├── hapi.ts
│   │   ├── index.ts
│   │   ├── koa.ts
│   │   └── render-voyager-page.ts
│   ├── standalone.ts
│   └── utils/
│       ├── collect-referenced-types.ts
│       ├── compute-hash.ts
│       ├── dom-helpers.ts
│       ├── highlight.tsx
│       ├── introspection-query.ts
│       ├── is-match.ts
│       ├── local-storage-lru-cache.ts
│       ├── mapValues.ts
│       ├── sdl-to-introspection.ts
│       ├── stringify-type-wrappers.ts
│       ├── transformSchema.ts
│       ├── unreachable.ts
│       └── usePromise.ts
├── tests/
│   ├── Dockerfile
│   ├── PageObjectModel.ts
│   ├── demo.spec.ts
│   ├── express.spec.ts
│   └── webpack.spec.ts
├── tsconfig.build.json
├── tsconfig.json
├── webpack.config.ts
└── wrangler.toml
Download .txt
SYMBOL INDEX (204 symbols across 53 files)

FILE: example/express-server/index.ts
  constant PORT (line 7) | const PORT = 9090;

FILE: scripts/gen-changelog.ts
  function genChangeLog (line 63) | async function genChangeLog(): Promise<string> {
  function graphqlRequest (line 138) | async function graphqlRequest(query: string) {
  type CommitInfo (line 163) | interface CommitInfo {
  function batchCommitToPR (line 176) | async function batchCommitToPR(
  type AuthorInfo (line 215) | interface AuthorInfo {
  type PRInfo (line 221) | interface PRInfo {
  function batchPRInfo (line 233) | async function batchPRInfo(
  function commitInfoToPR (line 274) | function commitInfoToPR(commit: CommitInfo): number {
  function getPRsInfo (line 301) | async function getPRsInfo(
  function splitBatches (line 311) | async function splitBatches<I, R>(

FILE: scripts/serve-directory.ts
  function consoleError (line 23) | function consoleError(msg: string) {

FILE: scripts/utils.ts
  type GITOptions (line 3) | interface GITOptions extends SpawnOptions {
  function git (line 7) | function git(options?: GITOptions) {
  type SpawnOptions (line 33) | interface SpawnOptions {
  function spawnOutput (line 38) | function spawnOutput(
  function spawn (line 57) | function spawn(

FILE: src/components/GraphViewport.tsx
  type GraphViewportProps (line 17) | interface GraphViewportProps {
  type GraphViewportState (line 27) | interface GraphViewportState {
  class GraphViewport (line 32) | class GraphViewport extends Component<
    method getDerivedStateFromProps (line 43) | static getDerivedStateFromProps(
    method componentDidMount (line 56) | componentDidMount() {
    method componentDidUpdate (line 60) | componentDidUpdate(
    method componentWillUnmount (line 88) | componentWillUnmount() {
    method _renderSvgAsync (line 93) | _renderSvgAsync(typeGraph: TypeGraph | null | undefined) {
    method render (line 147) | render() {
    method focusNode (line 204) | focusNode(type: GraphQLNamedType): void {
    method _cleanupSvgViewport (line 211) | _cleanupSvgViewport() {

FILE: src/components/IntrospectionModal.tsx
  type InputType (line 21) | enum InputType {
  type IntrospectionModalProps (line 27) | interface IntrospectionModalProps {
  function IntrospectionModal (line 34) | function IntrospectionModal(props: IntrospectionModalProps) {
  type IntrospectionDialogProps (line 121) | interface IntrospectionDialogProps {
  function IntrospectionDialog (line 128) | function IntrospectionDialog(props: IntrospectionDialogProps) {
  type PresetsTabProps (line 169) | interface PresetsTabProps {
  function PresetsTab (line 175) | function PresetsTab(props: PresetsTabProps) {
  type SDLTabProps (line 205) | interface SDLTabProps {
  function SDLTab (line 210) | function SDLTab(props: SDLTabProps) {
  type IntrospectionTabProps (line 228) | interface IntrospectionTabProps {
  function IntrospectionTab (line 233) | function IntrospectionTab(props: IntrospectionTabProps) {
  function PrivacyNote (line 276) | function PrivacyNote() {

FILE: src/components/MUITheme.tsx
  type Palette (line 7) | interface Palette {
  type PaletteOptions (line 10) | interface PaletteOptions {
  type Theme (line 14) | interface Theme {
  type ThemeOptions (line 17) | interface ThemeOptions {

FILE: src/components/Voyager.tsx
  type VoyagerDisplayOptions (line 32) | interface VoyagerDisplayOptions {
  type VoyagerProps (line 41) | interface VoyagerProps {
  type NavStackTypeList (line 55) | interface NavStackTypeList {
  type NavStackType (line 63) | interface NavStackType {
  type NavStack (line 71) | type NavStack = NavStackTypeList | NavStackType;
  function Voyager (line 73) | function Voyager(props: VoyagerProps) {
  function PanelHeader (line 307) | function PanelHeader(props: { children: ReactNode }) {

FILE: src/components/doc-explorer/Argument.tsx
  type ArgumentProps (line 9) | interface ArgumentProps {
  function Argument (line 16) | function Argument(props: ArgumentProps) {

FILE: src/components/doc-explorer/Description.tsx
  type DescriptionProps (line 5) | interface DescriptionProps {
  function Description (line 10) | function Description(props: DescriptionProps) {

FILE: src/components/doc-explorer/DocExplorer.tsx
  type DocExplorerProps (line 14) | interface DocExplorerProps {
  constant TYPE_LIST (line 27) | const TYPE_LIST = 'Type List';
  function DocExplorer (line 29) | function DocExplorer(props: DocExplorerProps) {

FILE: src/components/doc-explorer/EnumValue.tsx
  type EnumValueProps (line 5) | interface EnumValueProps {
  function EnumValue (line 9) | function EnumValue(props: EnumValueProps) {

FILE: src/components/doc-explorer/FocusTypeButton.tsx
  function FocusTypeButton (line 7) | function FocusTypeButton(props: { onClick: () => void }) {

FILE: src/components/doc-explorer/OtherSearchResults.tsx
  type OtherSearchResultsProps (line 8) | interface OtherSearchResultsProps {
  function OtherSearchResults (line 20) | function OtherSearchResults(props: OtherSearchResultsProps) {

FILE: src/components/doc-explorer/TypeDetails.tsx
  type TypeDetailsProps (line 14) | interface TypeDetailsProps {
  function TypeDetails (line 19) | function TypeDetails(props: TypeDetailsProps) {

FILE: src/components/doc-explorer/TypeDoc.tsx
  type TypeDocProps (line 21) | interface TypeDocProps {
  class TypeDoc (line 34) | class TypeDoc extends Component<TypeDocProps> {
    method componentDidUpdate (line 37) | componentDidUpdate(prevProps: TypeDocProps) {
    method componentDidMount (line 43) | componentDidMount() {
    method ensureActiveVisible (line 47) | ensureActiveVisible() {
    method render (line 54) | render() {

FILE: src/components/doc-explorer/TypeInfoPopover.tsx
  type ScalarDetailsProps (line 10) | interface ScalarDetailsProps {
  type ScalarDetailsState (line 15) | interface ScalarDetailsState {
  class ScalarDetails (line 19) | class ScalarDetails extends Component<
    method constructor (line 23) | constructor(props: ScalarDetailsProps) {
    method close (line 27) | close() {
    method render (line 33) | render() {

FILE: src/components/doc-explorer/TypeLink.tsx
  type TypeLinkProps (line 12) | interface TypeLinkProps {
  function TypeLink (line 18) | function TypeLink(props: TypeLinkProps) {

FILE: src/components/doc-explorer/TypeList.tsx
  type TypeListProps (line 11) | interface TypeListProps {
  function TypeList (line 18) | function TypeList(props: TypeListProps) {

FILE: src/components/doc-explorer/WrappedTypeName.tsx
  type WrappedTypeNameProps (line 17) | interface WrappedTypeNameProps {
  function WrappedTypeName (line 22) | function WrappedTypeName(props: WrappedTypeNameProps) {
  function wrapRelayIcon (line 39) | function wrapRelayIcon() {

FILE: src/components/settings/RootSelector.tsx
  type RootSelectorProps (line 7) | interface RootSelectorProps {
  function RootSelector (line 12) | function RootSelector(props: RootSelectorProps) {

FILE: src/components/settings/Settings.tsx
  type SettingsProps (line 8) | interface SettingsProps {
  function Settings (line 14) | function Settings(props: SettingsProps) {

FILE: src/components/utils/LoadingAnimation.tsx
  function LoadingAnimation (line 6) | function LoadingAnimation() {

FILE: src/components/utils/Markdown.tsx
  type MarkdownProps (line 6) | interface MarkdownProps {
  function Markdown (line 11) | function Markdown(props: MarkdownProps) {

FILE: src/components/utils/PoweredBy.tsx
  function PoweredBy (line 4) | function PoweredBy() {

FILE: src/components/utils/SearchBox.tsx
  type SearchBoxProps (line 8) | interface SearchBoxProps {
  function SearchBox (line 14) | function SearchBox(props: SearchBoxProps) {

FILE: src/components/utils/VoyagerLogo.tsx
  function VoyagerLogo (line 9) | function VoyagerLogo() {

FILE: src/graph/dot.ts
  function getDot (line 25) | function getDot(typeGraph: TypeGraph): Graph {
  function HtmlId (line 151) | function HtmlId(id: string) {
  function TEXT (line 155) | function TEXT(str: string) {
  function typeToKind (line 161) | function typeToKind(type: GraphQLNamedType): string {

FILE: src/graph/graphviz-worker.ts
  type RenderArgs (line 14) | interface RenderArgs {
  class VizWorker (line 19) | class VizWorker {
    method constructor (line 27) | constructor() {
    method render (line 50) | async render(renderArgs: RenderArgs): Promise<string> {
    method generateCacheKey (line 77) | async generateCacheKey(renderArgs: RenderArgs): Promise<string | null> {
    method _render (line 82) | _render(renderArgs: RenderArgs): Promise<string> {
  function decompressFromDataURL (line 110) | async function decompressFromDataURL(dataURL: string): Promise<string> {
  function compressToDataURL (line 126) | async function compressToDataURL(str: string): Promise<string> {
  function blobToDataURL (line 138) | function blobToDataURL(blob: Blob): Promise<string> {
  function streamToBlob (line 156) | function streamToBlob(stream: ReadableStream, mimeType: string): Promise...

FILE: src/graph/svg-renderer.ts
  function renderSvg (line 12) | async function renderSvg(typeGraph: TypeGraph) {
  function preprocessVizSVG (line 25) | function preprocessVizSVG(svgString: string): string {
  function svgToSymbol (line 128) | function svgToSymbol(svg: string, id: string): SVGSymbolElement {

FILE: src/graph/type-graph.ts
  type TypeGraph (line 15) | interface TypeGraph {
  function isNode (line 22) | function isNode(type: GraphQLNamedType): type is GraphQLCompositeType {
  function getTypeGraph (line 30) | function getTypeGraph(

FILE: src/graph/viewport.ts
  type Point (line 7) | interface Point {
  type Instance (line 12) | interface Instance {
  class Viewport (line 24) | class Viewport {
    method constructor (line 36) | constructor(
    method enableZoom (line 63) | enableZoom() {
    method bindClick (line 77) | bindClick() {
    method bindHover (line 105) | bindHover() {
    method selectNodeById (line 131) | selectNodeById(id: string | null) {
    method selectNode (line 147) | selectNode(node: SVGElement) {
    method selectEdgeById (line 161) | selectEdgeById(id: string | null | undefined) {
    method removeClass (line 176) | removeClass(selector: string, className: string) {
    method focusElement (line 182) | focusElement(id: string) {
    method animatePanAndZoom (line 205) | animatePanAndZoom(x: number, y: number, zoomEnd: number) {
    method zoomIn (line 219) | zoomIn() {
    method zoomOut (line 223) | zoomOut() {
    method reset (line 227) | reset() {
    method destroy (line 231) | destroy() {
  function getParent (line 241) | function getParent(elem: SVGElement, className: string): SVGElement | nu...
  function isNode (line 249) | function isNode(elem: SVGElement): boolean {
  function isEdge (line 253) | function isEdge(elem: SVGElement): boolean {
  function isLink (line 257) | function isLink(elem: SVGElement): boolean {
  function isEdgeSource (line 261) | function isEdgeSource(elem: SVGElement): boolean {
  function isControl (line 265) | function isControl(elem: SVGElement) {
  function edgeSource (line 270) | function edgeSource(edge: SVGElement): SVGElement {
  function edgeTarget (line 275) | function edgeTarget(edge: SVGElement): SVGElement {
  function edgeFrom (line 280) | function edgeFrom(id: string): SVGElement {
  function edgesFromNode (line 285) | function edgesFromNode($node: SVGElement) {
  function edgesTo (line 294) | function edgesTo(id: string): NodeListOf<SVGElement> {
  function animate (line 298) | function animate<OBJ extends { [key: string]: number }>(

FILE: src/introspection/introspection.ts
  type GraphQLFieldExtensions (line 28) | interface GraphQLFieldExtensions<_TSource, _TContext, _TArgs> {
  type GraphQLObjectTypeExtensions (line 32) | interface GraphQLObjectTypeExtensions<_TSource, _TContext> {
  type GraphQLInterfaceTypeExtensions (line 36) | interface GraphQLInterfaceTypeExtensions {
  function removeRelayTypes (line 43) | function removeRelayTypes(schema: GraphQLSchema) {
  function removeDeprecated (line 208) | function removeDeprecated(type: GraphQLNamedType) {
  function getSchema (line 252) | function getSchema(

FILE: src/introspection/utils.ts
  function typeObjToId (line 12) | function typeObjToId(type: GraphQLNamedType) {
  function typeNameToId (line 16) | function typeNameToId(name: string) {
  function extractTypeName (line 20) | function extractTypeName(typeID: string): string {
  function mapFields (line 25) | function mapFields<R>(
  function mapPossibleTypes (line 42) | function mapPossibleTypes<R>(
  function mapDerivedTypes (line 59) | function mapDerivedTypes<R>(
  function mapInterfaces (line 78) | function mapInterfaces<R>(

FILE: src/middleware/express.ts
  function expressMiddleware (line 3) | function expressMiddleware(options: MiddlewareOptions) {

FILE: src/middleware/hapi.ts
  method register (line 8) | register(server: any, options: any) {

FILE: src/middleware/koa.ts
  function koaMiddleware (line 3) | function koaMiddleware(

FILE: src/middleware/render-voyager-page.ts
  type MiddlewareOptions (line 9) | interface MiddlewareOptions {
  function renderVoyagerPage (line 15) | function renderVoyagerPage(options: MiddlewareOptions) {

FILE: src/standalone.ts
  function renderVoyager (line 9) | function renderVoyager(rootElement: HTMLElement, props: VoyagerProps) {

FILE: src/utils/collect-referenced-types.ts
  function collectDirectlyReferencedTypes (line 11) | function collectDirectlyReferencedTypes(

FILE: src/utils/compute-hash.ts
  function computeHash (line 3) | async function computeHash(str: string): Promise<string | null> {

FILE: src/utils/dom-helpers.ts
  function stringToSvg (line 1) | function stringToSvg(svgString: string): SVGSVGElement {

FILE: src/utils/highlight.tsx
  function highlightTerm (line 3) | function highlightTerm(content: string, term: string) {
  function escapeRegExp (line 21) | function escapeRegExp(string: string) {

FILE: src/utils/is-match.ts
  function isMatch (line 1) | function isMatch(sourceText: string, searchValue: string) {

FILE: src/utils/local-storage-lru-cache.ts
  class LocalStorageLRUCache (line 1) | class LocalStorageLRUCache {
    method constructor (line 5) | constructor(options: { localStorageKey: string; maxSize: number }) {
    method set (line 10) | public set(key: string, value: string): void {
    method get (line 17) | public get(key: string): string | null {
    method readLRU (line 30) | private readLRU(): Map<string, string> {
    method writeLRU (line 36) | private writeLRU(lru: Map<string, string>): void {

FILE: src/utils/mapValues.ts
  function mapValues (line 1) | function mapValues<T, R>(

FILE: src/utils/sdl-to-introspection.ts
  function sdlToSchema (line 15) | function sdlToSchema(sdl: string) {

FILE: src/utils/stringify-type-wrappers.ts
  function stringifyTypeWrappers (line 10) | function stringifyTypeWrappers(type: GraphQLType): [string, string] {

FILE: src/utils/transformSchema.ts
  type NamedTypeTransformer (line 31) | type NamedTypeTransformer = (
  type DirectiveTransformer (line 35) | type DirectiveTransformer = (
  function transformSchema (line 39) | function transformSchema(

FILE: src/utils/unreachable.ts
  function unreachable (line 1) | function unreachable(_: never): never {

FILE: src/utils/usePromise.ts
  type PromiseState (line 3) | type PromiseState<T> =
  type MaybePromise (line 8) | type MaybePromise<T> = Promise<T> | T;
  function usePromise (line 10) | function usePromise<T>(

FILE: tests/PageObjectModel.ts
  type VoyagerURLParams (line 4) | interface VoyagerURLParams {
  function gotoVoyagerPage (line 10) | async function gotoVoyagerPage(
  class PlaywrightVoyagerPage (line 71) | class PlaywrightVoyagerPage {
    method constructor (line 78) | constructor(page: Page) {
    method waitForGraphToBeLoaded (line 91) | async waitForGraphToBeLoaded(): Promise<void> {
    method getGraphSVG (line 96) | async getGraphSVG(): Promise<string> {
    method submitSDL (line 102) | async submitSDL(sdl: string) {
  class PlaywrightChangeSchemaDialog (line 114) | class PlaywrightChangeSchemaDialog {
    method constructor (line 125) | constructor(page: Page) {
  class PlaywrightChangeSchemaBaseTab (line 142) | class PlaywrightChangeSchemaBaseTab {
    method constructor (line 146) | constructor(dialog: Locator, name: string) {
  class PlaywrightChangeSchemaPresetsTab (line 158) | class PlaywrightChangeSchemaPresetsTab extends PlaywrightChangeSchemaBas...
    method constructor (line 161) | constructor(dialog: Locator) {
  class PlaywrightChangeSchemaSDLTab (line 171) | class PlaywrightChangeSchemaSDLTab extends PlaywrightChangeSchemaBaseTab {
    method constructor (line 174) | constructor(dialog: Locator) {
  class PlaywrightChangeSchemaIntrospectionTab (line 181) | class PlaywrightChangeSchemaIntrospectionTab extends PlaywrightChangeSch...
    method constructor (line 185) | constructor(dialog: Locator) {

FILE: webpack.config.ts
  constant BANNER (line 10) | const BANNER = `GraphQL Voyager - Represent any GraphQL API as an intera...
  function externals (line 133) | function externals({ request }: ExternalItemFunctionData) {
Condensed preview — 114 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,888K chars).
[
  {
    "path": ".eslintignore",
    "chars": 162,
    "preview": "/example\n# Copied from '.gitignore', please keep it in sync.\n/.eslintcache\n/.cspellcache\n/node_modules\n/dist\n/demo-dist\n"
  },
  {
    "path": ".eslintrc.yml",
    "chars": 2346,
    "preview": "parserOptions:\n  sourceType: script\nenv:\n  es2022: true\n  browser: true\nplugins: ['simple-import-sort', 'react', 'react-"
  },
  {
    "path": ".github/FUNDING.yml",
    "chars": 33,
    "preview": "open_collective: graphql-voyager\n"
  },
  {
    "path": ".github/dependabot.yml",
    "chars": 510,
    "preview": "# Please see the documentation for all configuration options:\n# https://docs.github.com/code-security/dependabot/dependa"
  },
  {
    "path": ".github/workflows/changelog.yml",
    "chars": 1115,
    "preview": "name: CI\non: workflow_call\npermissions: {}\njobs:\n  generateChangelog:\n    name: Generate changelog\n    runs-on: ubuntu-l"
  },
  {
    "path": ".github/workflows/ci.yml",
    "chars": 6231,
    "preview": "name: CI\non: workflow_call\npermissions: {}\njobs:\n  test:\n    runs-on: ubuntu-latest\n    permissions:\n      contents: rea"
  },
  {
    "path": ".github/workflows/publish.yml",
    "chars": 1398,
    "preview": "name: Publish to NPM\non:\n  push:\n    tags:\n      - 'v[0-9]+.[0-9]+.[0-9]+*'\npermissions: {}\njobs:\n  ci:\n    permissions:"
  },
  {
    "path": ".github/workflows/pull_request.yml",
    "chars": 807,
    "preview": "name: PullRequest\non: pull_request\npermissions: {}\njobs:\n  ci:\n    permissions:\n      contents: read # for actions/check"
  },
  {
    "path": ".github/workflows/push.yml",
    "chars": 861,
    "preview": "name: Push\non: push\npermissions: {}\njobs:\n  ci:\n    permissions:\n      contents: read # for actions/checkout\n      secur"
  },
  {
    "path": ".github/workflows/scorecard.yml",
    "chars": 1609,
    "preview": "name: Scorecard supply-chain security\non:\n  # For Branch-Protection check. Only the default branch is supported. See\n  #"
  },
  {
    "path": ".gitignore",
    "chars": 420,
    "preview": "# This .gitignore only ignores files specific to this repository.\n# If you see other files generated by your OS or tools"
  },
  {
    "path": ".npmignore",
    "chars": 37,
    "preview": "*\n!dist/**\n!typings/**\n!package.json\n"
  },
  {
    "path": ".prettierrc",
    "chars": 122,
    "preview": "{\n  \"singleQuote\": true,\n  \"overrides\": [\n    {\n      \"files\": \"*.svg\",\n      \"options\": { \"parser\": \"html\" }\n    }\n  ]\n"
  },
  {
    "path": "LICENSE",
    "chars": 1065,
    "preview": "MIT License\n\nCopyright (c) IvanGoncharov\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\no"
  },
  {
    "path": "README.md",
    "chars": 4923,
    "preview": "# GraphQL Voyager\n\n![graphql-voyager logo](./docs/cover.png)\n\nRepresent any GraphQL API as an interactive graph. It's ti"
  },
  {
    "path": "cspell.yml",
    "chars": 724,
    "preview": "language: en\nuseGitignore: true\nvalidateDirectives: true\nignorePaths:\n  # Excluded from spelling check\n  - cspell.yml\n  "
  },
  {
    "path": "demo/index.html",
    "chars": 7281,
    "preview": "<!doctype html>\n<html>\n  <head itemscope itemtype=\"http://schema.org/WebPage\">\n    <!-- <link href=\"style.css\" rel=\"styl"
  },
  {
    "path": "demo/presets/github_introspection.json",
    "chars": 863137,
    "preview": "{\n  \"data\": {\n    \"__schema\": {\n      \"queryType\": {\n        \"name\": \"Query\"\n      },\n      \"mutationType\": {\n        \"n"
  },
  {
    "path": "demo/presets/shopify_introspection.json",
    "chars": 408509,
    "preview": "{\n  \"data\": {\n    \"__schema\": {\n      \"queryType\": {\n        \"name\": \"QueryRoot\"\n      },\n      \"mutationType\": {\n      "
  },
  {
    "path": "demo/presets/swapi_introspection.json",
    "chars": 199470,
    "preview": "{\n  \"data\": {\n    \"__schema\": {\n      \"queryType\": {\n        \"name\": \"Root\"\n      },\n      \"mutationType\": null,\n      \""
  },
  {
    "path": "demo/presets/yelp_introspection.json",
    "chars": 57247,
    "preview": "{\n  \"data\": {\n    \"__schema\": {\n      \"queryType\": {\n        \"name\": \"Query\"\n      },\n      \"mutationType\": null,\n      "
  },
  {
    "path": "docker-compose.yml",
    "chars": 265,
    "preview": "services:\n  playwright-server:\n    build:\n      context: .\n      dockerfile: ./tests/Dockerfile\n      args:\n        PLAY"
  },
  {
    "path": "example/README.md",
    "chars": 906,
    "preview": "# Example GraphQL-Voyager Install\n\n---\n\n**Attribution:** the contents of this folder was copied from [GraphiQL](https://"
  },
  {
    "path": "example/cdn/index.html",
    "chars": 1381,
    "preview": "<!doctype html>\n<html>\n  <head>\n    <style>\n      body {\n        height: 100%;\n        margin: 0;\n        width: 100%;\n "
  },
  {
    "path": "example/express-server/Dockerfile",
    "chars": 263,
    "preview": "# syntax=docker/dockerfile:1\n\nFROM node:20\n\nWORKDIR /app\n\nCOPY ./graphql-voyager-*.tgz graphql-voyager.tgz\n\nCOPY ./examp"
  },
  {
    "path": "example/express-server/index.ts",
    "chars": 531,
    "preview": "import express from 'express';\nimport { createHandler } from 'graphql-http/lib/use/express';\nimport { express as voyager"
  },
  {
    "path": "example/express-server/package.json",
    "chars": 408,
    "preview": "{\n  \"private\": \"true\",\n  \"description\": \"An example using GraphQL-Voyager\",\n  \"type\": \"module\",\n  \"scripts\": {\n    \"star"
  },
  {
    "path": "example/express-server/schema.ts",
    "chars": 1918,
    "preview": "import { buildSchema } from 'graphql';\n\nexport const schema = buildSchema(`\n  enum TestEnum {\n    \"A rosy color\"\n    RED"
  },
  {
    "path": "example/express-server/tsconfig.json",
    "chars": 254,
    "preview": "{\n  \"compilerOptions\": {\n    \"strict\": true,\n    \"noEmit\": true,\n    \"module\": \"nodenext\",\n    \"moduleResolution\": \"node"
  },
  {
    "path": "example/webpack/Dockerfile",
    "chars": 242,
    "preview": "# syntax=docker/dockerfile:1\n\nFROM node:24\n\nWORKDIR /app\n\nCOPY ./graphql-voyager-*.tgz graphql-voyager.tgz\n\nCOPY ./examp"
  },
  {
    "path": "example/webpack/README.md",
    "chars": 592,
    "preview": "# Example GraphQL-Voyager Install\n\nThis example uses the version of GraphQL-Voyager found in the parent directory, rathe"
  },
  {
    "path": "example/webpack/index.html",
    "chars": 443,
    "preview": "<!doctype html>\n<html>\n  <head>\n    <style>\n      body {\n        height: 100%;\n        margin: 0;\n        width: 100%;\n "
  },
  {
    "path": "example/webpack/index.tsx",
    "chars": 740,
    "preview": "import { Voyager, voyagerIntrospectionQuery } from 'graphql-voyager';\nimport { StrictMode } from 'react';\nimport * as Re"
  },
  {
    "path": "example/webpack/package.json",
    "chars": 523,
    "preview": "{\n  \"private\": \"true\",\n  \"description\": \"An example using GraphQL-Voyager\",\n  \"scripts\": {\n    \"start\": \"webpack-dev-ser"
  },
  {
    "path": "example/webpack/tsconfig.json",
    "chars": 210,
    "preview": "{\n  \"compilerOptions\": {\n    \"strict\": true,\n    \"noEmit\": true,\n    \"module\": \"nodenext\",\n    \"moduleResolution\": \"node"
  },
  {
    "path": "example/webpack/webpack.config.js",
    "chars": 710,
    "preview": "import path from 'node:path';\n\nconst config = {\n  devServer: {\n    port: 9090,\n    allowedHosts: 'all',\n    static: { di"
  },
  {
    "path": "manual-types.d.ts",
    "chars": 287,
    "preview": "declare module '*.svg' {\n  import React from 'react';\n  const SVG: React.FC<React.SVGProps<SVGSVGElement>>;\n  export def"
  },
  {
    "path": "package.json",
    "chars": 3643,
    "preview": "{\n  \"name\": \"graphql-voyager\",\n  \"version\": \"2.1.0\",\n  \"description\": \"GraphQL introspection viewer\",\n  \"author\": \"IvanG"
  },
  {
    "path": "playwright.config.ts",
    "chars": 2695,
    "preview": "import playwrightPackage from 'playwright/package.json' with { type: 'json' };\nimport { devices, type PlaywrightTestConf"
  },
  {
    "path": "scripts/gen-changelog.ts",
    "chars": 8117,
    "preview": "import packageJSON from '../package.json' with { type: 'json' };\nimport { git } from './utils.ts';\n\nconst labelsConfig: "
  },
  {
    "path": "scripts/serve-directory.ts",
    "chars": 2063,
    "preview": "// Copied from https://developer.mozilla.org/en-US/docs/Learn/Server-side/Node_server_without_framework\nimport * as fs f"
  },
  {
    "path": "scripts/utils.ts",
    "chars": 1981,
    "preview": "import childProcess from 'node:child_process';\n\ninterface GITOptions extends SpawnOptions {\n  quiet?: boolean;\n}\n\nexport"
  },
  {
    "path": "src/components/GraphViewport.tsx",
    "chars": 6071,
    "preview": "import Box from '@mui/material/Box';\nimport IconButton from '@mui/material/IconButton';\nimport Stack from '@mui/material"
  },
  {
    "path": "src/components/IntrospectionModal.tsx",
    "chars": 7984,
    "preview": "import ContentCopyIcon from '@mui/icons-material/ContentCopy';\nimport TabContext from '@mui/lab/TabContext';\nimport TabL"
  },
  {
    "path": "src/components/MUITheme.tsx",
    "chars": 1858,
    "preview": "import { cyan } from '@mui/material/colors';\nimport { createTheme } from '@mui/material/styles';\n\nimport variables from "
  },
  {
    "path": "src/components/Voyager.css",
    "chars": 599,
    "preview": "@import './variables.css';\n\n/* fix height of element */\n[data-reactroot] {\n  height: 100%;\n}\n\n.graphql-voyager {\n  font:"
  },
  {
    "path": "src/components/Voyager.tsx",
    "chars": 8240,
    "preview": "import './Voyager.css';\nimport './viewport.css';\n\nimport Box from '@mui/material/Box';\nimport Button from '@mui/material"
  },
  {
    "path": "src/components/doc-explorer/Argument.css",
    "chars": 992,
    "preview": "@import '../variables.css';\n\n.args-wrap {\n  &:before {\n    content: '( ';\n    display: inline;\n  }\n\n  &:after {\n    cont"
  },
  {
    "path": "src/components/doc-explorer/Argument.tsx",
    "chars": 1076,
    "preview": "import './Argument.css';\n\nimport { GraphQLArgument, GraphQLNamedType } from 'graphql/type';\n\nimport { highlightTerm } fr"
  },
  {
    "path": "src/components/doc-explorer/Description.css",
    "chars": 580,
    "preview": "@import '../variables.css';\n\n.description-box {\n  & blockquote {\n    border-left: 2px solid color(var(--secondary-color)"
  },
  {
    "path": "src/components/doc-explorer/Description.tsx",
    "chars": 484,
    "preview": "import './Description.css';\n\nimport Markdown from '../utils/Markdown.tsx';\n\ninterface DescriptionProps {\n  text: string "
  },
  {
    "path": "src/components/doc-explorer/DocExplorer.css",
    "chars": 1353,
    "preview": "@import '../variables.css';\n\n.doc-wrapper {\n  position: relative;\n  z-index: 1;\n  background: white;\n}\n\n.doc-panel {\n  &"
  },
  {
    "path": "src/components/doc-explorer/DocExplorer.tsx",
    "chars": 3989,
    "preview": "import './DocExplorer.css';\n\nimport { type GraphQLNamedType } from 'graphql/type';\nimport { useCallback, useEffect, useS"
  },
  {
    "path": "src/components/doc-explorer/EnumValue.tsx",
    "chars": 581,
    "preview": "import { GraphQLEnumValue } from 'graphql/type';\n\nimport Markdown from '../utils/Markdown.tsx';\n\ninterface EnumValueProp"
  },
  {
    "path": "src/components/doc-explorer/FocusTypeButton.css",
    "chars": 322,
    "preview": "@import '../variables.css';\n\n.eye-button {\n  height: var(--icons-size);\n  width: var(--icons-size);\n  min-width: var(--i"
  },
  {
    "path": "src/components/doc-explorer/FocusTypeButton.tsx",
    "chars": 363,
    "preview": "import './FocusTypeButton.css';\n\nimport IconButton from '@mui/material/IconButton';\n\nimport EyeIcon from '../icons/remov"
  },
  {
    "path": "src/components/doc-explorer/OtherSearchResults.tsx",
    "chars": 2948,
    "preview": "import { getNamedType, GraphQLNamedType } from 'graphql/type';\n\nimport { TypeGraph } from '../../graph/type-graph.ts';\ni"
  },
  {
    "path": "src/components/doc-explorer/TypeDetails.css",
    "chars": 141,
    "preview": ".type-details {\n  display: flex;\n  flex-direction: column;\n  height: 100%;\n\n  & > .doc-categories {\n    flex: 1;\n    ove"
  },
  {
    "path": "src/components/doc-explorer/TypeDetails.tsx",
    "chars": 1945,
    "preview": "import {\n  GraphQLEnumType,\n  GraphQLInputObjectType,\n  GraphQLNamedType,\n  isEnumType,\n  isInputObjectType,\n} from 'gra"
  },
  {
    "path": "src/components/doc-explorer/TypeDoc.css",
    "chars": 3030,
    "preview": "@import '../variables.css';\n\n/* common type doc styling */\n.field-name {\n  color: var(--field-name-color);\n}\n\n.type-name"
  },
  {
    "path": "src/components/doc-explorer/TypeDoc.tsx",
    "chars": 4936,
    "preview": "import './TypeDoc.css';\n\nimport { getNamedType, GraphQLField, GraphQLNamedType } from 'graphql/type';\nimport React, { Co"
  },
  {
    "path": "src/components/doc-explorer/TypeInfoPopover.css",
    "chars": 734,
    "preview": "@import '../variables.css';\n\n.type-doc > .type-info-popover {\n  z-index: 0;\n  position: absolute;\n}\n\n.type-info-popover "
  },
  {
    "path": "src/components/doc-explorer/TypeInfoPopover.tsx",
    "chars": 1483,
    "preview": "import './TypeInfoPopover.css';\n\nimport IconButton from '@mui/material/IconButton';\nimport { GraphQLNamedType } from 'gr"
  },
  {
    "path": "src/components/doc-explorer/TypeLink.css",
    "chars": 404,
    "preview": "@import '../variables.css';\n\n.type-link {\n  fill: var(--link-color);\n}\n\n.type-link:hover {\n  fill: var(--link-hover-colo"
  },
  {
    "path": "src/components/doc-explorer/TypeLink.tsx",
    "chars": 869,
    "preview": "import './TypeLink.css';\n\nimport {\n  GraphQLNamedType,\n  isInputObjectType,\n  isScalarType,\n  isSpecifiedScalarType,\n} f"
  },
  {
    "path": "src/components/doc-explorer/TypeList.css",
    "chars": 354,
    "preview": "@import '../variables.css';\n\n.typelist-item > .type-name {\n  padding-left: var(--panel-spacing);\n}\n\n.typelist-item.-root"
  },
  {
    "path": "src/components/doc-explorer/TypeList.tsx",
    "chars": 1462,
    "preview": "import './TypeList.css';\n\nimport { GraphQLNamedType } from 'graphql/type';\n\nimport { TypeGraph } from '../../graph/type-"
  },
  {
    "path": "src/components/doc-explorer/WrappedTypeName.css",
    "chars": 368,
    "preview": "@import '../variables.css';\n\n.wrapped-type-name::before {\n  content: ': ';\n}\n\n.relay-icon {\n  height: var(--icons-size);"
  },
  {
    "path": "src/components/doc-explorer/WrappedTypeName.tsx",
    "chars": 1262,
    "preview": "import './WrappedTypeName.css';\n\nimport IconButton from '@mui/material/IconButton';\nimport Tooltip from '@mui/material/T"
  },
  {
    "path": "src/components/settings/RootSelector.tsx",
    "chars": 1556,
    "preview": "import MenuItem from '@mui/material/MenuItem';\nimport Select from '@mui/material/Select';\nimport { GraphQLNamedType } fr"
  },
  {
    "path": "src/components/settings/Settings.tsx",
    "chars": 2183,
    "preview": "import Checkbox from '@mui/material/Checkbox';\nimport Stack from '@mui/material/Stack';\n\nimport { TypeGraph } from '../."
  },
  {
    "path": "src/components/utils/LoadingAnimation.tsx",
    "chars": 858,
    "preview": "import { SvgIcon, Typography } from '@mui/material';\nimport Stack from '@mui/material/Stack';\n\nimport VoyagerIcon from '"
  },
  {
    "path": "src/components/utils/Markdown.tsx",
    "chars": 473,
    "preview": "import { HtmlRenderer, Parser } from 'commonmark';\n\nconst parser = new Parser();\nconst renderer = new HtmlRenderer({ saf"
  },
  {
    "path": "src/components/utils/PoweredBy.tsx",
    "chars": 515,
    "preview": "import Link from '@mui/material/Link';\nimport Typography from '@mui/material/Typography';\n\nexport default function Power"
  },
  {
    "path": "src/components/utils/SearchBox.tsx",
    "chars": 1368,
    "preview": "import CloseIcon from '@mui/icons-material/Close';\nimport Box from '@mui/material/Box';\nimport IconButton from '@mui/mat"
  },
  {
    "path": "src/components/utils/VoyagerLogo.tsx",
    "chars": 1161,
    "preview": "import Box from '@mui/material/Box';\nimport Link from '@mui/material/Link';\nimport Stack from '@mui/material/Stack';\nimp"
  },
  {
    "path": "src/components/variables.css",
    "chars": 1460,
    "preview": ":root {\n  --monospace-font-family:\n    'Consolas', 'Inconsolata', 'Droid Sans Mono', 'Monaco', monospace;\n  --base-font-"
  },
  {
    "path": "src/components/viewport.css",
    "chars": 1854,
    "preview": "@import './variables.css';\n\ng.graph > polygon {\n  fill: transparent;\n}\n\n/* Nodes Styling */\n.node {\n  pointer-events: bo"
  },
  {
    "path": "src/graph/dot.ts",
    "chars": 4846,
    "preview": "// eslint-disable-next-line import/no-unresolved\nimport { Edge, Graph, Node } from 'dotviz';\nimport {\n  getNamedType,\n  "
  },
  {
    "path": "src/graph/graphviz-worker.ts",
    "chars": 5046,
    "preview": "import {\n  type Graph,\n  RenderOptions,\n  type RenderResult,\n  WASM_HASH as DotVizWorkerHash,\n  // eslint-disable-next-l"
  },
  {
    "path": "src/graph/svg-renderer.ts",
    "chars": 4787,
    "preview": "// eslint-disable-next-line import/no-unresolved\nimport DeprecatedIconSvg from '../components/icons/deprecated-icon.svg?"
  },
  {
    "path": "src/graph/type-graph.ts",
    "chars": 1908,
    "preview": "import {\n  assertCompositeType,\n  getNamedType,\n  GraphQLCompositeType,\n  GraphQLNamedOutputType,\n  GraphQLNamedType,\n  "
  },
  {
    "path": "src/graph/viewport.ts",
    "chars": 9628,
    "preview": "import svgPanZoom from 'svg-pan-zoom';\n\nimport { typeNameToId } from '../introspection/utils.ts';\nimport { stringToSvg }"
  },
  {
    "path": "src/index.ts",
    "chars": 226,
    "preview": "export {\n  default as Voyager,\n  type VoyagerProps,\n} from './components/Voyager.tsx';\nexport { voyagerIntrospectionQuer"
  },
  {
    "path": "src/introspection/introspection.ts",
    "chars": 7779,
    "preview": "import {\n  getNamedType,\n  getNullableType,\n  GraphQLFieldConfig,\n  GraphQLFieldConfigMap,\n  GraphQLInputFieldConfig,\n  "
  },
  {
    "path": "src/introspection/utils.ts",
    "chars": 2363,
    "preview": "import {\n  GraphQLField,\n  GraphQLInterfaceType,\n  GraphQLNamedType,\n  GraphQLObjectType,\n  GraphQLSchema,\n  isInterface"
  },
  {
    "path": "src/middleware/express.ts",
    "chars": 303,
    "preview": "import renderVoyagerPage, { MiddlewareOptions } from './render-voyager-page.ts';\n\nexport default function expressMiddlew"
  },
  {
    "path": "src/middleware/hapi.ts",
    "chars": 705,
    "preview": "import renderVoyagerPage, { MiddlewareOptions } from './render-voyager-page.ts';\n\n// eslint-disable-next-line @typescrip"
  },
  {
    "path": "src/middleware/index.ts",
    "chars": 263,
    "preview": "import { default as express } from './express.ts';\nimport { default as hapi } from './hapi.ts';\nimport { default as koa "
  },
  {
    "path": "src/middleware/koa.ts",
    "chars": 434,
    "preview": "import renderVoyagerPage, { MiddlewareOptions } from './render-voyager-page.ts';\n\nexport default function koaMiddleware("
  },
  {
    "path": "src/middleware/render-voyager-page.ts",
    "chars": 1802,
    "preview": "import { readFileSync } from 'node:fs';\n\nconst voyagerCSS = readFileSync(require.resolve('../voyager.css'), 'utf-8');\nco"
  },
  {
    "path": "src/standalone.ts",
    "chars": 479,
    "preview": "/* eslint-disable import/no-extraneous-dependencies */\n// All dependencies are bundled for this entry point\n\nimport * as"
  },
  {
    "path": "src/utils/collect-referenced-types.ts",
    "chars": 1011,
    "preview": "import {\n  getNamedType,\n  GraphQLNamedType,\n  GraphQLType,\n  isInputObjectType,\n  isInterfaceType,\n  isObjectType,\n  is"
  },
  {
    "path": "src/utils/compute-hash.ts",
    "chars": 455,
    "preview": "const textEncoder = new TextEncoder();\n\nexport async function computeHash(str: string): Promise<string | null> {\n  if (c"
  },
  {
    "path": "src/utils/dom-helpers.ts",
    "chars": 259,
    "preview": "export function stringToSvg(svgString: string): SVGSVGElement {\n  const svgDoc = new DOMParser().parseFromString(svgStri"
  },
  {
    "path": "src/utils/highlight.tsx",
    "chars": 620,
    "preview": "import { Fragment } from 'react';\n\nexport function highlightTerm(content: string, term: string) {\n  if (term === '') {\n "
  },
  {
    "path": "src/utils/introspection-query.ts",
    "chars": 134,
    "preview": "import { getIntrospectionQuery } from 'graphql/utilities';\n\nexport const voyagerIntrospectionQuery: string = getIntrospe"
  },
  {
    "path": "src/utils/is-match.ts",
    "chars": 357,
    "preview": "export function isMatch(sourceText: string, searchValue: string) {\n  if (searchValue === '') {\n    return true;\n  }\n\n  t"
  },
  {
    "path": "src/utils/local-storage-lru-cache.ts",
    "chars": 1471,
    "preview": "export class LocalStorageLRUCache {\n  private _localStorageKey;\n  private _maxSize;\n\n  constructor(options: { localStora"
  },
  {
    "path": "src/utils/mapValues.ts",
    "chars": 296,
    "preview": "export function mapValues<T, R>(\n  obj: { [key: string]: T },\n  mapper: (value: T, key: string) => R | null,\n): { [key: "
  },
  {
    "path": "src/utils/sdl-to-introspection.ts",
    "chars": 951,
    "preview": "import { parse } from 'graphql/language';\nimport { buildSchema } from 'graphql/utilities';\nimport { KnownDirectivesRule "
  },
  {
    "path": "src/utils/stringify-type-wrappers.ts",
    "chars": 489,
    "preview": "import {\n  GraphQLType,\n  isListType,\n  isNamedType,\n  isNonNullType,\n} from 'graphql/type';\n\nimport { unreachable } fro"
  },
  {
    "path": "src/utils/transformSchema.ts",
    "chars": 5406,
    "preview": "import {\n  assertNamedType,\n  GraphQLDirective,\n  GraphQLEnumType,\n  GraphQLFieldConfigArgumentMap,\n  GraphQLFieldConfig"
  },
  {
    "path": "src/utils/unreachable.ts",
    "chars": 112,
    "preview": "export function unreachable(_: never): never {\n  throw Error('graphql-voyager: Unreachable code triggered!');\n}\n"
  },
  {
    "path": "src/utils/usePromise.ts",
    "chars": 1399,
    "preview": "import { useCallback, useEffect, useState } from 'react';\n\ntype PromiseState<T> =\n  | { loading: true; error: null; valu"
  },
  {
    "path": "tests/Dockerfile",
    "chars": 194,
    "preview": "# syntax=docker/dockerfile:1\nFROM node:24\n\nARG PLAYWRIGHT_VERSION=\"missing PLAYWRIGHT_VERSION arg\"\nRUN npm -g install \"p"
  },
  {
    "path": "tests/PageObjectModel.ts",
    "chars": 5584,
    "preview": "import { type Locator, type Page } from 'playwright/test';\nimport { format } from 'prettier';\n\ninterface VoyagerURLParam"
  },
  {
    "path": "tests/demo.spec.ts",
    "chars": 6750,
    "preview": "import { buildSchema, graphqlSync } from 'graphql';\nimport { expect, test } from 'playwright/test';\n\nimport { gotoVoyage"
  },
  {
    "path": "tests/express.spec.ts",
    "chars": 368,
    "preview": "import { expect, test } from 'playwright/test';\n\nimport { gotoVoyagerPage } from './PageObjectModel.ts';\n\ntest.fixme('op"
  },
  {
    "path": "tests/webpack.spec.ts",
    "chars": 346,
    "preview": "import { expect, test } from 'playwright/test';\n\nimport { gotoVoyagerPage } from './PageObjectModel.ts';\n\ntest.fixme('op"
  },
  {
    "path": "tsconfig.build.json",
    "chars": 268,
    "preview": "{\n  \"extends\": \"./tsconfig.json\",\n  \"compilerOptions\": {\n    \"noEmit\": false,\n    \"rootDir\": \"src\",\n    \"outDir\": \"dist\""
  },
  {
    "path": "tsconfig.json",
    "chars": 1257,
    "preview": "{\n  \"compilerOptions\": {\n    // copy of https://github.com/tsconfig/bases/blob/main/bases/strictest.json\n    \"strict\": t"
  },
  {
    "path": "webpack.config.ts",
    "chars": 3430,
    "preview": "import 'webpack-dev-server';\n\nimport path from 'node:path';\n\nimport MiniCssExtractPlugin from 'mini-css-extract-plugin';"
  },
  {
    "path": "wrangler.toml",
    "chars": 195,
    "preview": "name = \"graphql-voyager\"\ncompatibility_date = \"2025-08-26\"\n\n[[routes]]\npattern = \"apis.guru/graphql-voyager*\"\nzone_name "
  }
]

About this extraction

This page contains the full source code of the APIs-guru/graphql-voyager GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 114 files (1.6 MB), approximately 347.2k tokens, and a symbol index with 204 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!