@ltv/gql-merge
Tools for merging GraphQL documents
Last updated a year ago by lucduong .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @ltv/gql-merge 
SYNC missed versions from official npm registry.

gql-merge

standard-readme compliant npm npm npm

Tools for merging GraphQL documents

Table of Contents

Background

This repo contains tools for merging definitions into multiple GraphQL documents into one. For example, say you have these two files GraphQL files:

type Post {
  id: ID!
  content: String
}

type Query {
  postById(id: ID!): Post
}
type Author {
  id: ID!
  name: String
}

type Query {
  postsByAuthorId(id: ID!): [Post]
}

You can use the gql-merge CLI to combine these files into one:

$ gql-merge --out-file schema.graphql testdata/readme*

The resulting file would look like this:

type Post {
  id: ID!
  content: String
}

type Query {
  postById(id: ID!): Post
  postsByAuthorId(id: ID!): [Post]
}

type Author {
  id: ID!
  name: String
}

Installation

$ npm i -g gql-merge

CLI

$ gql-merge -h

  Usage: gql-merge [options] <glob ...>

  Tools for merging GraphQL documents

  Options:

    -h, --help             output usage information
    -V, --version          output the version number
    -o, --out-file <path>  Output GraphQL file, otherwise use stdout
    -v, --verbose          Enable verbose logging

  Examples:

    $ gql-merge **/*.graphql > schema.graphql
    $ gql-merge -o schema.graphql **/*.graphql
    $ gql-merge dir1/*.graphql dir2/*.graphql > schema.graphql

API

You can also import the package. The following example merges all files living in the data/types folder.

import fs from 'fs';
import path from 'path';
import { mergeStrings } from 'gql-merge';

const typesDir = path.resolve(__dirname, 'data/types');
const typeFiles = fs.readdirSync(typesDir);
const types = typeFiles.map(file => fs.readFileSync(path.join(typesDir, file), 'utf-8'));
const typeDefs = mergeStrings(types);

More detailed docs coming soon.

mergeFileGlob

mergeFilePaths

mergeStrings

mergeString

mergeAst

Current Tags

  • 0.1.5                                ...           latest (a year ago)

8 Versions

  • 0.1.5                                ...           a year ago
  • 0.1.4                                ...           a year ago
  • 0.1.3                                ...           a year ago
  • 0.1.2                                ...           a year ago
  • 0.1.1                                ...           a year ago
  • 0.1.0                                ...           a year ago
  • 0.0.7                                ...           a year ago
  • 0.0.6                                ...           a year ago
Downloads
Today 0
This Week 0
This Month 2
Last Day 0
Last Week 0
Last Month 2
Dependencies (4)
Dev Dependencies (1)
Dependents (1)

Copyright 2014 - 2016 © taobao.org |