Compile GraphQL AST at build-time with babel-plugin-macros.
$ yarn add graphql.macro
Note: You'll need to install and configure babel-plugin-macros if you haven't already.
evenchange4/graphql.macro-example (with [email protected]) [DEMO]
import { loader } from 'graphql.macro';
const query = loader('./fixtures/query.graphql');
↓ ↓ ↓ ↓ ↓ ↓
const query = {
"kind": "Document",
"definitions": [{
...
-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": [{
...
- Webpack preprocessing with graphql/loader
- Babel preprocessing
- https://github.com/leoasis/graphql-tag.macro
- node >= 11.10.0
- yarn >= 1.13.0
$ yarn install --pure-lockfile
$ yarn run format
$ yarn run eslint
$ yarn run flow
$ yarn run test:watch
$ yarn run build
$ npm version patch
$ npm run changelog
git commit & push
- ⇄ 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.