Skip to content

taezos/graphql-schema-seamstress

Repository files navigation

Graphql Stitch-Vomit

This CLI tool will stitch your schemas if and only if they are organized this way

+--my-schema-dir
   |--person.gql
   |--dog.gql
   |--post.gql
   ( etc.. )

Commands

Graphql Stitch-Vomit: A graphql schema stitcher.

Usage: graphql-stitch-vomit --src-dir ARG --output ARG
  Graphql Stitch-Vomit is a cli tool that will stitch all your schemas and vomit
  them into one file.

Available options:
  -h,--help                Show this help text
  --src-dir ARG            Schema source directory path.
  --output ARG             Output path for the schema stitched result.

In Action

Running this command will result in stitching all the schemas in test/test-schema

graphql-stitch-vomit --src-dir test/test-schema --output my-schema.gql

The result will look like

"""
File generated by Graphql Stitch-Vomit
"""
type Person {
  firstName: String
  lastName: String
}

type Post {
  author: String
  comment: String
}

type Dog {
  name: String
}

type Query {
  dog: String
  posts: [Post]
  getPerson(name: String): Person
}

type Mutation {
  addPost(author: String, comment: String): Post
  setDogName(name: String): Dog
  setPersonName(name: String): Person
}

type Subscription {
  postAdded: Post
}

schema {
  query: Query
  mutation: Mutation
  subscription: Subscription
}

Building it yourself

With Nix

nix-shell

Once you are in a nix shell

cabal build
cabal install # installs in .cabal/bin

If you want to build the static binary yourself

Without going into a nix-shell

nix-build static.nix