Giter Site home page Giter Site logo

novvum / graphql-birdseye Goto Github PK

View Code? Open in Web Editor NEW
699.0 699.0 21.0 13.49 MB

View any GraphQL schema as a dynamic and interactive graph. ๐Ÿฆ…

Home Page: http://birdseye.novvum.io/

License: MIT License

HTML 0.15% JavaScript 1.03% CSS 1.13% TypeScript 97.69%
graphql graphql-birdseye graphql-playground graphql-visualizer jointjs

graphql-birdseye's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

graphql-birdseye's Issues

[BUG] Schemas with different names for root query type are not working

Describe the bug
If the root query type is named something other than Query (i.e. query_root), the schema does not get built correctly.

To Reproduce
Steps to reproduce the behavior:

1. Pass in an introspection query with a non-standard query root

{
  "__schema": {
    "queryType": {
      "name": "query_root",
      "__typename": "__Type"
    },
    "mutationType": null,
    "subscriptionType": null,
    "types": [
      {
        "kind": "SCALAR",
        "name": "Boolean",
        "description": null,
        "fields": null,
        "inputFields": null,
        "interfaces": null,
        "enumValues": null,
        "possibleTypes": null,
        "__typename": "__Type"
      },
      {
        "kind": "SCALAR",
        "name": "Float",
        "description": null,
        "fields": null,
        "inputFields": null,
        "interfaces": null,
        "enumValues": null,
        "possibleTypes": null,
        "__typename": "__Type"
      },
      {
        "kind": "SCALAR",
        "name": "ID",
        "description": null,
        "fields": null,
        "inputFields": null,
        "interfaces": null,
        "enumValues": null,
        "possibleTypes": null,
        "__typename": "__Type"
      },
      {
        "kind": "SCALAR",
        "name": "Int",
        "description": null,
        "fields": null,
        "inputFields": null,
        "interfaces": null,
        "enumValues": null,
        "possibleTypes": null,
        "__typename": "__Type"
      },
      {
        "kind": "SCALAR",
        "name": "String",
        "description": null,
        "fields": null,
        "inputFields": null,
        "interfaces": null,
        "enumValues": null,
        "possibleTypes": null,
        "__typename": "__Type"
      },
      {
        "kind": "OBJECT",
        "name": "__Directive",
        "description": null,
        "fields": [
          {
            "name": "args",
            "description": null,
            "args": [],
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "LIST",
                "name": null,
                "ofType": {
                  "kind": "NON_NULL",
                  "name": null,
                  "ofType": {
                    "kind": "OBJECT",
                    "name": "__InputValue",
                    "ofType": null,
                    "__typename": "__Type"
                  },
                  "__typename": "__Type"
                },
                "__typename": "__Type"
              },
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          },
          {
            "name": "description",
            "description": null,
            "args": [],
            "type": {
              "kind": "SCALAR",
              "name": "String",
              "ofType": null,
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          },
          {
            "name": "locations",
            "description": null,
            "args": [],
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "LIST",
                "name": null,
                "ofType": {
                  "kind": "NON_NULL",
                  "name": null,
                  "ofType": {
                    "kind": "ENUM",
                    "name": "__DirectiveLocation",
                    "ofType": null,
                    "__typename": "__Type"
                  },
                  "__typename": "__Type"
                },
                "__typename": "__Type"
              },
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          },
          {
            "name": "name",
            "description": null,
            "args": [],
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "String",
                "ofType": null,
                "__typename": "__Type"
              },
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          }
        ],
        "inputFields": null,
        "interfaces": [],
        "enumValues": null,
        "possibleTypes": null,
        "__typename": "__Type"
      },
      {
        "kind": "ENUM",
        "name": "__DirectiveLocation",
        "description": null,
        "fields": null,
        "inputFields": null,
        "interfaces": null,
        "enumValues": [
          {
            "name": "ARGUMENT_DEFINITION",
            "description": null,
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__EnumValue"
          },
          {
            "name": "ENUM",
            "description": null,
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__EnumValue"
          },
          {
            "name": "ENUM_VALUE",
            "description": null,
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__EnumValue"
          },
          {
            "name": "FIELD",
            "description": null,
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__EnumValue"
          },
          {
            "name": "FIELD_DEFINITION",
            "description": null,
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__EnumValue"
          },
          {
            "name": "FRAGMENT_DEFINITION",
            "description": null,
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__EnumValue"
          },
          {
            "name": "FRAGMENT_SPREAD",
            "description": null,
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__EnumValue"
          },
          {
            "name": "INLINE_FRAGMENT",
            "description": null,
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__EnumValue"
          },
          {
            "name": "INPUT_FIELD_DEFINITION",
            "description": null,
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__EnumValue"
          },
          {
            "name": "INPUT_OBJECT",
            "description": null,
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__EnumValue"
          },
          {
            "name": "INTERFACE",
            "description": null,
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__EnumValue"
          },
          {
            "name": "MUTATION",
            "description": null,
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__EnumValue"
          },
          {
            "name": "OBJECT",
            "description": null,
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__EnumValue"
          },
          {
            "name": "QUERY",
            "description": null,
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__EnumValue"
          },
          {
            "name": "SCALAR",
            "description": null,
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__EnumValue"
          },
          {
            "name": "SCHEMA",
            "description": null,
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__EnumValue"
          },
          {
            "name": "SUBSCRIPTION",
            "description": null,
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__EnumValue"
          },
          {
            "name": "UNION",
            "description": null,
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__EnumValue"
          }
        ],
        "possibleTypes": null,
        "__typename": "__Type"
      },
      {
        "kind": "OBJECT",
        "name": "__EnumValue",
        "description": null,
        "fields": [
          {
            "name": "deprecationReason",
            "description": null,
            "args": [],
            "type": {
              "kind": "SCALAR",
              "name": "String",
              "ofType": null,
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          },
          {
            "name": "description",
            "description": null,
            "args": [],
            "type": {
              "kind": "SCALAR",
              "name": "String",
              "ofType": null,
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          },
          {
            "name": "isDeprecated",
            "description": null,
            "args": [],
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "Boolean",
                "ofType": null,
                "__typename": "__Type"
              },
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          },
          {
            "name": "name",
            "description": null,
            "args": [],
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "String",
                "ofType": null,
                "__typename": "__Type"
              },
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          }
        ],
        "inputFields": null,
        "interfaces": [],
        "enumValues": null,
        "possibleTypes": null,
        "__typename": "__Type"
      },
      {
        "kind": "OBJECT",
        "name": "__Field",
        "description": null,
        "fields": [
          {
            "name": "args",
            "description": null,
            "args": [],
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "LIST",
                "name": null,
                "ofType": {
                  "kind": "NON_NULL",
                  "name": null,
                  "ofType": {
                    "kind": "OBJECT",
                    "name": "__InputValue",
                    "ofType": null,
                    "__typename": "__Type"
                  },
                  "__typename": "__Type"
                },
                "__typename": "__Type"
              },
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          },
          {
            "name": "deprecationReason",
            "description": null,
            "args": [],
            "type": {
              "kind": "SCALAR",
              "name": "String",
              "ofType": null,
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          },
          {
            "name": "description",
            "description": null,
            "args": [],
            "type": {
              "kind": "SCALAR",
              "name": "String",
              "ofType": null,
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          },
          {
            "name": "isDeprecated",
            "description": null,
            "args": [],
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "Boolean",
                "ofType": null,
                "__typename": "__Type"
              },
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          },
          {
            "name": "name",
            "description": null,
            "args": [],
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "String",
                "ofType": null,
                "__typename": "__Type"
              },
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          },
          {
            "name": "type",
            "description": null,
            "args": [],
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "OBJECT",
                "name": "__Type",
                "ofType": null,
                "__typename": "__Type"
              },
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          }
        ],
        "inputFields": null,
        "interfaces": [],
        "enumValues": null,
        "possibleTypes": null,
        "__typename": "__Type"
      },
      {
        "kind": "OBJECT",
        "name": "__InputValue",
        "description": null,
        "fields": [
          {
            "name": "defaultValue",
            "description": null,
            "args": [],
            "type": {
              "kind": "SCALAR",
              "name": "String",
              "ofType": null,
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          },
          {
            "name": "description",
            "description": null,
            "args": [],
            "type": {
              "kind": "SCALAR",
              "name": "String",
              "ofType": null,
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          },
          {
            "name": "name",
            "description": null,
            "args": [],
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "String",
                "ofType": null,
                "__typename": "__Type"
              },
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          },
          {
            "name": "type",
            "description": null,
            "args": [],
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "OBJECT",
                "name": "__Type",
                "ofType": null,
                "__typename": "__Type"
              },
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          }
        ],
        "inputFields": null,
        "interfaces": [],
        "enumValues": null,
        "possibleTypes": null,
        "__typename": "__Type"
      },
      {
        "kind": "OBJECT",
        "name": "__Schema",
        "description": null,
        "fields": [
          {
            "name": "directives",
            "description": null,
            "args": [],
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "LIST",
                "name": null,
                "ofType": {
                  "kind": "NON_NULL",
                  "name": null,
                  "ofType": {
                    "kind": "OBJECT",
                    "name": "__Directive",
                    "ofType": null,
                    "__typename": "__Type"
                  },
                  "__typename": "__Type"
                },
                "__typename": "__Type"
              },
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          },
          {
            "name": "mutationType",
            "description": null,
            "args": [],
            "type": {
              "kind": "OBJECT",
              "name": "__Type",
              "ofType": null,
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          },
          {
            "name": "queryType",
            "description": null,
            "args": [],
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "OBJECT",
                "name": "__Type",
                "ofType": null,
                "__typename": "__Type"
              },
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          },
          {
            "name": "subscriptionType",
            "description": null,
            "args": [],
            "type": {
              "kind": "OBJECT",
              "name": "__Type",
              "ofType": null,
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          },
          {
            "name": "types",
            "description": null,
            "args": [],
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "LIST",
                "name": null,
                "ofType": {
                  "kind": "NON_NULL",
                  "name": null,
                  "ofType": {
                    "kind": "OBJECT",
                    "name": "__Type",
                    "ofType": null,
                    "__typename": "__Type"
                  },
                  "__typename": "__Type"
                },
                "__typename": "__Type"
              },
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          }
        ],
        "inputFields": null,
        "interfaces": [],
        "enumValues": null,
        "possibleTypes": null,
        "__typename": "__Type"
      },
      {
        "kind": "OBJECT",
        "name": "__Type",
        "description": null,
        "fields": [
          {
            "name": "description",
            "description": null,
            "args": [],
            "type": {
              "kind": "SCALAR",
              "name": "String",
              "ofType": null,
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          },
          {
            "name": "enumValues",
            "description": null,
            "args": [
              {
                "name": "includeDeprecated",
                "description": null,
                "type": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null,
                  "__typename": "__Type"
                },
                "defaultValue": "false",
                "__typename": "__InputValue"
              }
            ],
            "type": {
              "kind": "LIST",
              "name": null,
              "ofType": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "__EnumValue",
                  "ofType": null,
                  "__typename": "__Type"
                },
                "__typename": "__Type"
              },
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          },
          {
            "name": "fields",
            "description": null,
            "args": [
              {
                "name": "includeDeprecated",
                "description": null,
                "type": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null,
                  "__typename": "__Type"
                },
                "defaultValue": "false",
                "__typename": "__InputValue"
              }
            ],
            "type": {
              "kind": "LIST",
              "name": null,
              "ofType": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "__Field",
                  "ofType": null,
                  "__typename": "__Type"
                },
                "__typename": "__Type"
              },
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          },
          {
            "name": "inputFields",
            "description": null,
            "args": [],
            "type": {
              "kind": "LIST",
              "name": null,
              "ofType": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "__InputValue",
                  "ofType": null,
                  "__typename": "__Type"
                },
                "__typename": "__Type"
              },
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          },
          {
            "name": "interfaces",
            "description": null,
            "args": [],
            "type": {
              "kind": "LIST",
              "name": null,
              "ofType": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "__Type",
                  "ofType": null,
                  "__typename": "__Type"
                },
                "__typename": "__Type"
              },
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          },
          {
            "name": "kind",
            "description": null,
            "args": [],
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "ENUM",
                "name": "__TypeKind",
                "ofType": null,
                "__typename": "__Type"
              },
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          },
          {
            "name": "name",
            "description": null,
            "args": [],
            "type": {
              "kind": "SCALAR",
              "name": "String",
              "ofType": null,
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          },
          {
            "name": "ofType",
            "description": null,
            "args": [],
            "type": {
              "kind": "OBJECT",
              "name": "__Type",
              "ofType": null,
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          },
          {
            "name": "possibleTypes",
            "description": null,
            "args": [],
            "type": {
              "kind": "LIST",
              "name": null,
              "ofType": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "__Type",
                  "ofType": null,
                  "__typename": "__Type"
                },
                "__typename": "__Type"
              },
              "__typename": "__Type"
            },
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__Field"
          }
        ],
        "inputFields": null,
        "interfaces": [],
        "enumValues": null,
        "possibleTypes": null,
        "__typename": "__Type"
      },
      {
        "kind": "ENUM",
        "name": "__TypeKind",
        "description": null,
        "fields": null,
        "inputFields": null,
        "interfaces": null,
        "enumValues": [
          {
            "name": "ENUM",
            "description": null,
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__EnumValue"
          },
          {
            "name": "INPUT_OBJECT",
            "description": null,
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__EnumValue"
          },
          {
            "name": "INTERFACE",
            "description": null,
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__EnumValue"
          },
          {
            "name": "LIST",
            "description": null,
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__EnumValue"
          },
          {
            "name": "NON_NULL",
            "description": null,
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__EnumValue"
          },
          {
            "name": "OBJECT",
            "description": null,
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__EnumValue"
          },
          {
            "name": "SCALAR",
            "description": null,
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__EnumValue"
          },
          {
            "name": "UNION",
            "description": null,
            "isDeprecated": false,
            "deprecationReason": null,
            "__typename": "__EnumValue"
          }
        ],
        "possibleTypes": null,
        "__typename": "__Type"
      },
      {
        "kind": "OBJECT",
        "name": "query_root",
        "description": "query root",
        "fields": [],
        "inputFields": null,
        "interfaces": [],
        "enumValues": null,
        "possibleTypes": null,
        "__typename": "__Type"
      }
    ],
    "directives": [
      {
        "name": "include",
        "description": null,
        "locations": [
          "FIELD",
          "FRAGMENT_SPREAD",
          "INLINE_FRAGMENT"
        ],
        "args": [
          {
            "name": "if",
            "description": null,
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "Boolean",
                "ofType": null,
                "__typename": "__Type"
              },
              "__typename": "__Type"
            },
            "defaultValue": null,
            "__typename": "__InputValue"
          }
        ],
        "__typename": "__Directive"
      },
      {
        "name": "skip",
        "description": null,
        "locations": [
          "FIELD",
          "FRAGMENT_SPREAD",
          "INLINE_FRAGMENT"
        ],
        "args": [
          {
            "name": "if",
            "description": null,
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "Boolean",
                "ofType": null,
                "__typename": "__Type"
              },
              "__typename": "__Type"
            },
            "defaultValue": null,
            "__typename": "__InputValue"
          }
        ],
        "__typename": "__Directive"
      }
    ],
    "__typename": "__Schema"
  }
}

  1. Run the app
  2. See the blank canvas.

Expected behavior
It should display the schema normally.

Package
core

Additional context
This mainly seems to be an issue with introspection queries.
Original issue: #27

[BUG] Can't run Birdseye as a React package

Describe the bug
I can't run graphql-birdseye as a React page in a new React project. I supplied directly the prop introspectionQuery with the dummy schema available in here and few others, but I am facing multiple errors, which after further inspection, seem related to JointJS.

To Reproduce
I provided a repository to reproduce the behavior. It was built using the create-react-app utility tool.

Steps to reproduce the behavior:

  1. git clone https://github.com/TAnas0/graphql-birdseye-example.git
  2. yarn install
  3. yarn start
  4. See error

Expected behavior
Rendering of the interface showing the schema supplied.

Screenshots
issue-birdseye

Package
React package, JointJS dependency

[BUG] Fresh clone won't compile GitHub query

Describe the bug
I just cloned GraphQL-birdseye and ran yarn install, then hit the localhost:8000 page.

To Reproduce
Steps to reproduce the behavior:

  1. Clone the repo
  2. Run yarn install with yarn 1.16 and node 10
  3. See a build error, but ignore.
  4. Go to running Birdseye server at http://locahost:8000 and see error:

GraphQL Error Unknown type "GitHub_Blob".

file: /Users/matt/Projects/graphql-birdseye/example/src/components/GetStarted.tsx

1 |
2 | {
3 | github {
4 | repository(owner: "Novvum", name: "graphql-birdseye") {
5 | object(expression: "master:README.md") {

6 | ... on GitHub_Blob {
| ^
7 | text
8 | }
9 | }
10 | }
11 | }
12 | }
13 |
Expected behavior
I expect to see the example start up.

[BUG] Example for React project not current for 4.0.0 for createFragmentContainer syntax.

Describe the bug

Using BabelPluginRelay, introspectionQuery.tsx yields the error:

Error: babel-plugin-relay/macro: BabelPluginRelay: Expected exactly one definition per graphql tag. Learn more: https://www.npmjs.com/package/babel-plugin-relay
    at Array.forEach (<anonymous>)
    at Array.forEach (<anonymous>)

introspectionQuery.tsx

Maybe update to implement createFragmentContainer() syntax for fragments.

To Reproduce
Use declared introspection query with babel-plugin-relay/macro.
Encounter above error.

Expected behavior
Not encountering above error.

Package
react

Additional context
See:
BabelPluginRelay Error in 4.0
and
Breaking change

Caveat
I'm just getting my feet wet with React, and it is entirely possible I'm completely misunderstanding what's going on here. ::cha-grin:: If that's the case, please gently slap me and move on with your day. :)

[BUG] Does not work in a web component

Describe the bug

Hey, any reason for not just passing this.paper.svg to svgPanZoom, instead of passing the SVG ID selector? I can see that svgPanZoom supports passing the svg element and not just the selector (https://github.com/ariutta/svg-pan-zoom/blob/master/src/svg-pan-zoom.js#L940).

Currently trying to integrate birdseye as a web component but this line causes svgPanZoom to fail when it tries to get the svg element using document.querySelector when the selector is passed instead of the element, with this error (Provided selector did not find any elements. Selector: #v-26). document.querySelector doesn't search through the shadow DOM of web components which is why it doesn't find the element. Passing the SVG element directly, svgPanZoom doesn't need to query the DOM for the element.

To Reproduce
Steps to reproduce the behavior:

  1. Wrap birdseye as a web component

Expected behavior
It should work when wrapped as a web component

Package
The package this issue pertains to (i.e. core, react, etc.).
core

[FEATURE] Vue library

Is your feature request related to a problem? Please describe.
No

Describe the solution you'd like
Currently, the graphql-birdseye package is only available in React and it would be nice to have a version for Vue as well.

Describe alternatives you've considered
N/a

Additional context
N/a

[BUG] GraphqlBirdseye not in module

Describe the bug
GraphqlBirdseye does not seem to be part of "graphql-birdseye-core"

To Reproduce
Steps to reproduce the behavior:
Generate a new vue app, yarn add the lib adn then add this to the script:

import * as bs from "graphql-birdseye-core";
console.log(bs);

Looking at the console output in the browser: no 'GraphqlBirdseye'

Expected behavior

GraphqlBirdseye available.

Screenshots
If applicable, add screenshots to help explain your problem.

Package
graphql-birdseye-core

Additional context
Add any other context about the problem here.

[FEATURE] Standalone server-side

Is your feature request related to a problem? Please describe.
It is currently not possible to use a standalone version to be used with server-side frameworks.

Describe the solution you'd like
Make a new package that can be used with server-side frameworks:

  • express
  • hapi
  • koa

Describe alternatives you've considered
N/a

Additional context
N/a

[FEATURE] Authorization header support

Is your feature request related to a problem? Please describe.
It would be awesome to have this project working smoothly with private endpoints that requires an Authorization header.

Describe the solution you'd like
Add either an option to add this directly to the component as to its demo website ๐Ÿ˜ฌ

Describe alternatives you've considered
Maybe it could have a checkbox like Requires Authentication and than when the user press it it could enable another input that would accept a valid value for the Authorization header ๐Ÿค”

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.