Rollup plugin enabling imports of operations as AST from .graphql files.
npm i -S rollup-plugin-graphql-ast-import
// rollup.config.js
import { graphql } from "rollup-plugin-graphql-ast-import";
export default {
// ...
plugins: [graphql()],
};
# myqueries.graphql:
query films {
allFilms {
title
releaseDate
characters {
name
}
}
}
query filmsWithPerson($name: String!) {
Person(name: $name) {
films {
title
releaseDate
}
}
}
// myfile.js
import { films, filmsWithPerson } from "./myqueries.graphql";
import { client } from "./ast-consuming-graphql-client";
const {
data: {
Person: { Films: filmsWithLuke },
},
} = await client(filmsWithPerson, { name: "Luke Skywalker" });
console.log("Films with Luke Skywalker: ", filmsWithLuke);
const {
data: { allFilms },
} = await client(films);
console.log("All films", allFilms);