glennreyes / graphpack

☄️ A minimalistic zero-config GraphQL server.

Home Page:https://codesandbox.io/s/k3qrkl8qlv

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

support for structured GraphQL Schema

vreality64 opened this issue · comments

Hi, it's a feature request not a bug.

I think GraphQL schema could be more flexible than now.
For now, I have to define all GraphQL schema and resolver to schema.graphql, resolvers.js. I know resolvers are more options but not enough.

My proper structure for GraphQL is like this. each entry has own definitions.

src/
├── definitions
│   ├── groot
│   │   ├── groot.resolvers.js
│   │   └── groot.graphql
│   └── hello
│       ├── hello.resolvers.js
│       └── hello.graphql
└── index.js

3 directories, 5 files

However, this structure is not worked with graphqlpack. code sandbox has following error message.

Error: Couldn't find any resolvers. Please add resolvers to your src/resolvers.js
    at Module../node_modules/graphpack/lib/server.js

How about your thought on above GraphQL schema structure support?
I think merge-graphql-schemas can make things works easily. this repository will show you how to use the merge-graphql-schemas and what the benefits are. 😃

You can use import definitions in GraphQL SDL to achieve your structure:

schema.graphql

# import Post from "posts.graphql"

type Query {
  posts: [Post]
}

Yes. I know. However, that has the disadvantage of writing the all Query in schema.graphql. My point is to write Query in individual entity schema to fulfill separation of concern.