@nlabs/storybook-addon-graphql

3.4.3 • Public • Published

Storybook GraphiQL Addon

Build Status on CircleCI CodeFactor Known Vulnerabilities BCH compliance codecov Storybook Slack


Storybook GraphQL Addon can be used to display the GraphiQL IDE with example queries in Storybook.

This addon works with Storybook for:

Screenshot

Getting Started

First, install the addon

npm install -D @nlabs/storybook-addon-graphql

Import the setupGraphiQL function and use it to create the graphiql helper with a base url.

import { storiesOf } from '@nlabs/storybook-react'
import { setupGraphiQL } from '@nlabs/storybook-addon-graphql'

// setup the graphiql helper which can be used with the add method later
const graphiql = setupGraphiQL({ url: 'http://localhost:3000/graphql' });

storiesOf('GraphQL Demo', module)
  .add('get user info', graphiql(`{
    user(id: "1") {
      name
    }
  }`));

Tip: try creating the helper in another file and import the configured graphiql helper from it

Advanced Setup

The setupGraphiQL function also accepts a fetcher parameter which can be used to change how graphiql gets data. If the fetcher parameter is not given, it'll create a fetcher which uses the fetch api to make requests. The above example can also be written using a custom fetcher.

import { storiesOf } from '@nlabs/storybook-react'
import { setupGraphiQL } from '@nlabs/storybook-addon-graphql'

import { url } from './settings';

const fetcher = params => {
  const options = {
    method: 'post',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify(params),
  };
  return fetch(url, options).then(res => res.json());
};

// create the helper with a custom fetcher
const graphiql = setupGraphiQL({ fetcher });

storiesOf('GraphQL Demo', module)
  .add('get user info', graphiql(`{
    user(id: "1") {
      name
    }
  }`));

Dependents (0)

Package Sidebar

Install

npm i @nlabs/storybook-addon-graphql

Weekly Downloads

2

Version

3.4.3

License

MIT

Last publish

Collaborators

  • nitrog7