gm

graphql.macro

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

Showing:

Popularity

Downloads/wk

39.6K

GitHub Stars

230

Maintenance

Last Commit

2yrs ago

Contributors

6

Package

Dependencies

4

Size (min+gzip)

213.8KB

License

MIT

Type Definitions

Built-In

Tree-Shakeable

Yes?

Categories

Readme

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 react-script@2.x) [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.

CHANGELOG

LICENSE

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

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100
Mariano Gonzalez SalazarMadrid, Spain80 Ratings95 Reviews
10 months ago

This library is useful if you want to use the loader for graphql files but it is not mantained, if you find a bug (as I did some months ago) you will need to fix by yourself.


0