VienDinhCom / apollo-modulizer

πŸš€ Modularizing your Apollo GraphQL schema code

Home Page:https://www.npmjs.com/package/apollo-modulizer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

apollo-modulizer

Modularizing your Apollo GraphQL schema code

yarn add apollo-modulizer
npm install --save apollo-modulizer

Hit the Star button if you love this project ⭐️

Usage

You can get the full example here: https://github.com/Maxvien/apollo-modulizer/tree/master/example

Create A Module

const { gql } = require('apollo-server');
const { createModule } = require('apollo-modulizer');

const typeDef = gql`
  type User {
    id: ID!
    name: String
    posts: [Post]
  }
  input UserInput {
    name: String
  }
`;

const resolvers = {
  User: {
    posts: () => [
      { id: 1, title: 'Apollo Server', content: 'Hello Apollo Server!' },
    ],
  },
};

module.exports = createModule({ typeDef, resolvers });

Merge All Modules

const { allModules } = require('apollo-modulizer');

const User = require('./user.module');
const Post = require('./post.module');
const Query = require('./query.module');

module.exports = { typeDefs, resolvers } = mergeModules([User, Post, Query]);

Launch With Apollo Server

const { ApolloServer } = require('apollo-server');
const { typeDefs, resolvers } = require('./modules');

const server = new ApolloServer({ typeDefs, resolvers });

server.listen().then(({ url }) => {
  console.log(`πŸš€  Server ready at ${url}`);
});

About

πŸš€ Modularizing your Apollo GraphQL schema code

https://www.npmjs.com/package/apollo-modulizer

License:MIT License


Languages

Language:JavaScript 61.4%Language:TypeScript 38.6%