🍣 A Rollup plugin which Converts .gql/.graphql(s) files to ES6 modules.
This plugin requires an LTS Node version (v14.0.0+) and Rollup v1.20.0+.
Using npm:
npm install @rollup/plugin-graphql --save-dev
Create a rollup.config.js
configuration file and import the plugin:
import graphql from '@rollup/plugin-graphql';
export default {
input: 'src/index.js',
output: {
dir: 'output',
format: 'cjs'
},
plugins: [graphql()]
};
Then call rollup
either via the CLI or the API.
With an accompanying file src/index.js
, you can import GraphQL files or named queries/mutations:
// src/index.js
// import a GraphQL Document from a GraphQL file,
import schema from './schema.graphql';
// or import named Query/Mutation
import { BatmanQuery, JokerMutation } from './schema.graphql';
Thanks to graphql-tag, fragments import is supported by using #import "..."
.
Given the following file heroFragment.graphql
:
fragment HeroFragment on Hero {
id
name
}
You can import it like this:
#import "./heroFragment.graphql"
query AllHeroes {
heros {
...HeroFragment
}
}
Type: String
| Array[...String]
Default: null
A picomatch pattern, or array of patterns, which specifies the files in the build the plugin should ignore. By default no files are ignored.
Type: String
| Array[...String]
Default: null
A picomatch pattern, or array of patterns, which specifies the files in the build the plugin should operate on. By default all files are targeted.