Skip to content

Latest commit

 

History

History
123 lines (88 loc) · 2.86 KB

README.md

File metadata and controls

123 lines (88 loc) · 2.86 KB

graphql.macro

Compile GraphQL AST at build-time with babel-plugin-macros.

Travis Codecov Status npm package npm downloads

prettier license

Installation

$ yarn add graphql.macro

Note: You'll need to install and configure babel-plugin-macros if you haven't already.

Example

evenchange4/graphql.macro-example (with [email protected]) [DEMO]

Usage

loader

import { loader } from 'graphql.macro';
const query = loader('./fixtures/query.graphql');

           

const query = {
  "kind": "Document",
  "definitions": [{
    ...

gql

-import gql from 'graphql-tag';
+import { gql } from 'graphql.macro';

const query = gql`
  query User {
    user(id: 5) {
      lastName
      ...UserEntry1
    }
  }
`;

      ↓ ↓ ↓ ↓ ↓ ↓

const query = {
  "kind": "Document",
  "definitions": [{
    ...

Alternative

Development

Requirements

  • node >= 11.10.0
  • yarn >= 1.13.0
$ yarn install --pure-lockfile

Test

$ yarn run format
$ yarn run eslint
$ yarn run flow
$ yarn run test:watch
$ yarn run build

Publish

$ npm version patch
$ npm run changelog
git commit & push

CONTRIBUTING

  • ⇄ Pull requests and ★ Stars are always welcome.
  • For bugs and feature requests, please create an issue.
  • Pull requests must be accompanied by passing automated tests.

MIT: http://michaelhsu.mit-license.org