Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/almilo/gql-tools
GraphQL Tools for schema handling.
https://github.com/almilo/gql-tools
Last synced: about 1 month ago
JSON representation
GraphQL Tools for schema handling.
- Host: GitHub
- URL: https://github.com/almilo/gql-tools
- Owner: almilo
- Created: 2016-07-19T10:06:06.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-03-29T15:46:18.000Z (over 7 years ago)
- Last Synced: 2024-10-31T17:39:18.404Z (about 1 month ago)
- Language: JavaScript
- Size: 23.4 KB
- Stars: 21
- Watchers: 2
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-graphql - gql-tools - Tool library with CLI for schema generation and manipulation. (Libraries / JavaScript Libraries)
- awesome-graphql - gql-tools - Tool library with CLI for schema generation and manipulation. (Libraries / JavaScript Libraries)
README
# gql-tools
This package provides several command-line tools to work with GraphQL schemas:
* generation of the introspection schema in JSON format based on a GraphQL schema file (schema language) or from a GraphQL
endpoint (introspection query)
* generation of the parsed AST in JSON format based on a GraphQL schema file (schema language) or from a GraphQL
endpoint (introspection query)
* generation of the schema language file from a GraphQL endpoint (introspection query)
* generation of a real-time visualization graph based on a GraphQL schema file (schema language)### Installation
```sh
npm install --save gql-tools
```
Installs *gql-tools* locally and saves it as production dependency to the current package.```sh
npm install -g gql-tools
```
Installs *gql-tools* globally.**Note**: this package requires *graphql* as peer dependency (either global or local, depdending on the kind of installation).
```sh
npm install [-g] graphql
```### Commands
#### gqlschema```sh
gqlschema [-iatuov]
``````sh
// schema.txttype Person {
name: String
}type Query {
people: [Person]
}schema {
query: Query
}
``````sh
gqlschema [-i]
```Generates a JSON file with the *introspection schema*. The introspection schema is usually used by GraphQL tools to
provide type support, code completion, query validation, etc.```sh
gqlschema -a
```Generates a JSON file with the *parsed AST* of the schema. The AST can be useful for debugging when doing GraphQL
language manipulation (i.e.: writing visitors).```sh
gqlschema -t
```Generates a GraphQL file (schema language) with a *schema language definition* of the schema.
For more options, see the CLI help:
```sh
gqlschema -h
```#### gqlgraph
```sh
gqlgraph [-p]
``````sh
// schema.txttype Person {
name: String
}type Query {
people: [Person]
}schema {
query: Query
}
```Generates a livereload-enabled server with a graphic visualization of the GraphQL schema and opens it in the default
browser. When the schema file is saved, the changes are reloaded.For more options, see the CLI help:
```sh
gqlgraph -h
```