Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
April 17, 2023 11:26
September 21, 2022 16:28
September 21, 2022 16:28
September 21, 2020 10:18
February 3, 2022 13:14
July 1, 2019 17:01
November 19, 2018 11:43
August 20, 2020 15:56
August 20, 2020 15:56
June 2, 2023 14:44
August 20, 2020 15:56
September 18, 2020 17:30
August 20, 2020 15:56

GraphQL Conf 2023


npm version CI Discord Chat GitHub license

GraphQL Modules is a toolset of libraries and guidelines dedicated to create reusable, maintainable, testable and extendable modules out of your GraphQL server.


  • Reusable modules - Modules are defined by their GraphQL schema (Schema first design). They can be shared between apps.
  • Scalable structure - Manage multiple teams and features, multiple micro-services and servers.
  • Gradual growth - A clear, gradual path from a very simple and fast, single-file modules, to scalable multi-file, multi-teams, multi-repo, multi-server modules.
  • Testable - A rich toolset around testing, mocking and separation.


Documentation is available at


To install graphql-modules, use the following:

$ npm install graphql-modules

# Or, with Yarn

$ yarn add graphql-modules


We are also publishing a pre-release version to NPM on each change.

Just take a look at the build status on Github Actions and find "Publish Canary" job to get the published version.


More advanced usage at

import { createModule, createApplication, gql } from 'graphql-modules'

const module = createModule({
  id: 'my-module',
  typeDefs: gql`
    type Post {
      id: ID
      title: String
      author: User

    type Query {
      posts: [Post]
  resolvers: blogResolvers

const application = createApplication({
  modules: [module]

Inside the examples directory you can find the following examples:


Contributions, issues and feature requests are very welcome. If you are using this package and fixed a bug for yourself, please consider submitting a PR!

And if this is your first time contributing to this project, please do read our Contributor Workflow Guide before you get started off.

Code of Conduct

Help us keep GraphQL Modules open and inclusive. Please read and follow our Code of Conduct as adopted from Contributor Covenant


GitHub license