Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/idurar/fast-graphql

Node.js Package to Combine Resolvers & Merge Graphql Schema
https://github.com/idurar/fast-graphql

apollo-server definitions graphql-apollo graphql-combine-resolvers graphql-merge graphql-merge-schema graphql-resolver graphql-schema graphql-schema-generator graphql-typedefs graphql-typescript nodejs-server

Last synced: about 1 month ago
JSON representation

Node.js Package to Combine Resolvers & Merge Graphql Schema

Lists

README

        

# 🚀 fast-graphql

Graphql Tools to Strucutre , Combine Resolvers , Merge Schema Definitions and generate schema file for Node.js / Next.Js / Graphql Apollo server

Topics

## Install

```
npm i fast-graphql
```

```
yarn add fast-graphql
```

## Example : Next.js Graphql Server that use fast-graphql
- [Nex.js Advanced Graphql Crud MongoDB Starter](https://github.com/idurar/starter-advanced-graphql-crud-next-js-mongodb) - Starter Generic CRUD with Advanced Apollo Graphql server with Next.js and Mongodb (TypeScript)

- [https://github.com/idurar/next-js-graphql-apollo-server-starter](https://github.com/idurar/next-js-graphql-apollo-server-starter)

## To Merge Schema

```
import { mergeSchemas } from 'fast-graphql';

const pathfiles = './backend/graphql/typeDefs/*.gql';

const mergedSchemas = mergeSchemas({ pathfiles });

export default mergedSchemas;

```

## To Combine Resolvers

```
import { combineResolvers, resolverType } from 'fast-graphql';

import user from './user';
import place from './place';
import review from './review';

const resolvers: resolverType[] = [place, user, review];

const cominedResolvers = combineResolvers({ resolvers });

export default cominedResolvers;

```

## To Generate Schema file (recomended to deploy to vercel easly)

```
./scripts/generateSchema.js

const { generateSchema } = require('fast-graphql');

const inputPath = './graphql/typeDefs/*.gql';
const schemaPath = './graphql/schema.graphql';
const typeDefsPath = './graphql/typeDefs/index.ts';

generateSchema({ inputPath, schemaPath, typeDefsPath });

```

```
# package.json

"scripts": {
"dev": "yarn generate && next dev",
...
"generate:schema": "node ./scripts/generateSchema"
},

```